LINUX.ORG.RU

ты скажи что оно делает, может тебе кто и алгоритм скажет

Reset ★★★★★
()

Ну кто так текст форматирует?

ados ★★★★★
()

Скачай какую-нибудь книгу, где эти команды подробно разобраны. Потом пошагово просмотри что в какой момент в каком из 15 регистров памяти 0-9, А-Е и 4 регистров стека X, Y, Z, T (X1 и недокументированные в этой программе не задействованы).

00. В/О — возврат из подпрограммы. Если подпрограмм нет, переход на адрес 01. Глючит при вложении более 4 подпрограмм.

01. ПД — ввод содержимого регистра X (с которым запустил программу) в регистр Д.

02. С/П — остановка для ввода следующего числа. При его вводе X переместится в Y, Y в Z, Z в T.

03-04. ПП; 11 — перейти к подпрограмме по адресу 11. Из неё вернётся на адрес 05.

05. + — сложить X и Y. При этом Т скопируется в Z, а Z в Y.

06. ПД — занести результат в Д.

07. ИПВ — извлечь В в Х, с перемещением чисел в стеке X->Y->Z->T.

08. ИПА — извлечь А в Х, с перемещением чисел в стеке X->Y->Z->T.

09. + — сложить Х и Y. С перемещением T->Z->Y.

10. ПВ — занести результат в В.

11-12. ПП; 22 — перейти к подпрограмме по адресу 22. Из неё вернётся на адрес 13.

13. ИПА — извлечь А в Х, X->Y->Z->T.

14. × — Перемножить Х и У. T->Z->Y.

15. 2 — ввести в Х 2. X->Y->Z->T.

16. ÷ — разделить Y на Х. T->Z->Y.

17. Стрелка вверх — копирование Х в Y. X->Y->Z->T.

18. ИПС — извлечь С в X. X->Y->Z->T.

19. + — сложить Х и Y. T->Z->Y.

20. ПС — занести результат в С.

21. В/О — возврат из подпрограммы.

22. ИПД — извлечь Д в X. X->Y->Z->T.

23. F sin — вычислить синус X. Заменяет содержимое Х, остальные не трогает.

24. ИП9 — извлечь из регистра 9 в X. X->Y->Z->T.

25. ИПД — извлечь Д в X. X->Y->Z->T.

26. F cos — вычислить косинус Х.

27. × — перемножить Х и Y. T->Z->Y.

28. ИП7 — извлечь из регистра 7 в X. X->Y->Z->T.

29. - — вычесть Х из Y. T->Z->Y.

30. ÷ — разделить Y на Х. T->Z->Y.

31. 1 — Ввести 1 в Х. X->Y->Z->T.

32. + — сложить Х и Y. T->Z->Y.

33. В/О — возврат из подпрограммы.

question4 ★★★★★
()

Здесь рекурсии какие-то...

ados ★★★★★
()

В общем такая последовательность вычислений

C=(sin D/(P_9*cos D-P_7)+1)*A/2+B
D=(sin D/(P_9*cos D-P_7)+1)*A+B
B=A+B   
C=(sin D/(P_9*cos D-P_7)+1)*A/2+B
D=C
ados ★★★★★
()
Ответ на: комментарий от ados

Спасибо.
//И товарищу question4 спасибо огромное.

unikoid ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.