High Arsen Gonian Academy. Arsen Gonian

Читать онлайн.
Название High Arsen Gonian Academy
Автор произведения Arsen Gonian
Жанр
Серия
Издательство
Год выпуска 2023
isbn



Скачать книгу

результат для малых значений длины окружности.

      : B14 ( L -> R S )      \ R=L/(2*Pi) S=Pi*R^2

      628e-2 F/                  \ L -> R=L/6.28 где 6,28=2*Pi=D

      FDUP FDUP F* 314e-2 F*      \ R -> R Pi*R^2

      ;

      Посчитаем R и S для L=25,37

      2537E-2 B14 F. F.

      51.244976 4.0398089 Ok

      R=25.37/6.28= 4,0398 и S=3,14* 4,0398^2= 51,244. Тест прошел успешно.

      Пример 15. Зная площадь круга, вычислить его диаметр и длину.

      : B15 ( S -> D L )                  \ D=Квадратный_Корень(4*S/Pi) L=Pi*D

      4E F*                  \ S -> 4*S

      314E-2 F/            \ 4*S -> 4*S/Pi

      FSQRT                  \ 4*S/Pi -> Квадратный_Корень(4*S/Pi)=D

      FDUP 314E-2 F*      \ D -> D D*Pi=L

      ;

      Посчитаем диаметр и длину круга площадью равной 12,345.

      12345E-3 B15 F. F.

      12.452036 3.9656166 Ok

      Квадратный корень из (12,345*4/3.14) равно 3,965616, а 3,965616*3,14=12,4520, то ест ь ИСТИНА. Пример довольно простой и нет других причин писать код для целочисленного варианта аргументов. В случае необходимости несложно самостоятельно решить эту задачу.

      Пример 16. Вычислим расстояние между двумя точками на числовой оси, зная координаты.

      : B16 ( X1 X2 -> |X1-X2| )

      – ABS      \ X1 X2 -> |X1-X2|

      ;

      Для вещественных аргументов.

      : B16 ( X1 X2 -> |X1-X2| )

      F- FABS      \ X1 X2 -> |X1-X2|

      ;

      31E-1 -12E1 B16 F.

      123.10000 Ok                  \ |3.1-(-120)|=123.1

      Пример 17. По трем координатам на числовой оси (X1, X2, X3) вычислить следующие расстояния: |x1-x3|, |x2-x3| и их сумму. Сперва для целых чисел.

      : B17 ( X1 X2 X3 -> |x1-x3| |x2-x3| {|x1-x3|+|x2-x3|} )

      SWAP OVER            \ X1 X2 X3 -> X1 X3 X2 X3

      – ABS                  \ X1 X3 X2 X3 -> X1 X3 |X2-X3|

      ROT ROT – ABS SWAP      \ X1 X3 |X2-X3| -> | X1-X3| |X2-X3|

      2DUP +                  \ | X1-X3| |X2-X3|-> | X1-X3| |X2-X3| (| X1-X3|+|X2-X3|)

      ;

      Для вещественных.

      : B17 ( X1 X2 X3 -> |x1-x3| |x2-x3| {|x1-x3|+|x2-x3|} )

      FSWAP FOVER                  \ X1 X2 X3 -> X1 X3 X2 X3

      F- FABS                        \ X1 X3 X2 X3 -> X1 X3 |X2-X3|

      FROT FROT F– FABS FSWAP      \ X1 X3 |X2-X3| -> | X1-X3| |X2-X3|

      FOVER FOVER F+            \ | X1-X3| |X2-X3|-> | X1-X3| |X2-X3| (| X1-X3|+|X2-X3|)

      ;

      Тест на координатах

      –1E1 1E-1 3E2 B17 F. F. F.

      609.90000 299.90000 310.00000 Ok

      |X1-X3|=|-10-300|=310; |X2-X3|=|0.1-300|=299.9; (|X1-X3|+|X2-X3|)=310+299.9=609.9.

      Пример 18. Схож с предыдущей задачей. Сумма заменяется произведением.

      : B18 ( X1 X2 X3 -> {|x1-x3|*|x2-x3|} )

      SWAP OVER            \ X1 X2 X3 -> X1 X3 X2 X3

      – ABS                  \ X1 X3 X2 X3 -> X1 X3 |X2-X3|

      ROT ROT – ABS *      \ X1 X3 |X2-X3| -> {|x1-x3|*|x2-x3|}

      ;

      –5 2 7 B18

      Ok ( 60 )

      |-5-7|*|2-7|= 12*5=60

      Для вещественных чисел.

      : B18 ( X1 X2 X3 -> {|x1-x3|*|x2-x3|} )

      FSWAP FOVER            \ X1 X2 X3 -> X1 X3 X2 X3

      F- FABS                  \ X1 X3 X2 X3 -> X1 X3 |X2-X3|

      FROT FROT F– FABS F*      \ X1 X3 |X2-X3| -> {|x1-x3|*|x2-x3|}

      ;

      –1E1 2E-1 23E1 B18 F.

      55152.000 Ok

      |-10-230|*|0.2-230|=240*229.8=55152

      Пример 19. По координатам противоположенных вершин прямоугольника вычислить его периметр и площадь, стороны параллельны координатным осям.

      : B19 ( X1 Y1 X2 Y2 -> P S )      \ P=2*[A+B] S=A*B

      ROT – ABS            \ X1 Y1 X2 Y2 -> X1 X2 |Y2-Y1|

      SWAP ROT – ABS      \ X1 X2 |Y2-Y1| -> |Y2-Y1|=A |X2-X1|=B

      2DUP + 2*            \ A B -> A B 2*(A+B)=P

      ROT ROT *            \ A B P -> P A*B=S

      ;

      1 3 7 8 B19 . .

      30 22 Ok

      A=|1-7|=6 B=|3-8|=5. P=2*(A+B)=2*(6+5)=22. S=A*B=6*5=30.

      Вариант с вещественными аргументами не сильно отличается от целочисленного.

      : B19 ( X1 Y1 X2 Y2 -> P S )            \ P=2*[A+B] S=A*B

      FROT