Вычислить "семиэтажную" дробь - QBasic
Формулировка задачи:
Дано выражение, которое надо вычислить
Это только три "этажа" дроби. А всего 7.
Дробь содержит 127 синусов. От sin1 до sin127 строго по-порядку
подсказка
маленькие дроби имеют вид:
где 1 < n < 64
Программа решает эту задачу. Ответ: 2.778758
Автор просит оценить эту задачу по семибальной шкале
(код, нестандартность, сложность)
Вопросы
Решали ли вы что-либо подобное?
Есть ли рекурсивное решение?
Есть ли иное решение?
Решение задачи: «Вычислить "семиэтажную" дробь»
textual
Листинг программы
DIM i AS LONG, s(1 TO 127) AS DOUBLE FOR i = 127 TO 1 STEP -1 IF i > 63 THEN s(i) = SIN(i) ELSE s(i) = SIN(i) / (s(i * 2) + s(i * 2 + 1)) NEXT i PRINT s(1)
Объяснение кода листинга программы
- Объявляются две переменные: i типа LONG и s типа DOUBLE с размером массива 127.
- Задаётся шаг цикла от 127 до 1 с шагом -1.
- Условие проверяет, что значение переменной i больше 63.
- Значение переменной s при условии от 64 до 127 присваивается SIN(i), иначе s(i) = SIN(i) / (s(i 2) + s(i 2 + 1)).
- После завершения цикла выводится значение переменной s(1).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д