Задачи на использование меток и оператора перехода GoTo - Turbo Pascal
Формулировка задачи:
Вот задачу 35) из Самоучителя я сделал сам. Думаю, что правильно.
35) "Таблицы Брадиса" – вычислить и непечатать с 6 десятичными знаками квадраты чисел 0.01 0.02 0.03 … 0.09 0.10
На выходе имеем:
А задачу 36) не сумел сделать. Ряд для Х с первым членом 2700 я правильно напечатал? А дальше … проблема.
Вот эта задача:
36) Для х = 2700, 900, 300, 100, … и т. д. вычислить и печатать
у = х / 4 + 20 и z = 2y + 0.23 до тех пор, пока yz не станет
меньше 1 / х.
Вот только это я и сумел сделать:
На выходе имеем:
Вы могли бы сделать эту задачу?
Решение задачи: «Задачи на использование меток и оператора перехода GoTo»
textual
Листинг программы
uses Crt; Label m1,m2; var x,y,z:real; begin clrscr; x:=2700; y:=x/4+20; z:=2*y+0.23; writeln('x=',x:8:3,' y=',y:8:3,' z=',z:8:3); m1: if y*z<1/x then goto m2;{выход из цикла} x:=x/3; y:=x/4+20; z:=2*y+0.23; writeln('x=',x:8:3,' y=',y:8:3,' z=',z:8:3); goto m1;{цикл} m2: readln end.
Объяснение кода листинга программы
- Объявлены переменные x, y, z типа real.
- Задаются начальные значения переменным x и y.
- Вычисляется значение переменной z на основе переменных x и y.
- Выводятся значения переменных x, y и z с заданной точностью.
- Проверяется условие, при котором выполняется переход к метке m2.
- Выполняются действия, которые должны быть выполнены при первом цикле.
- Вычисляются новые значения переменных x, y и z.
- Выводятся новые значения переменных x, y и z.
- Выполняется переход к метке m1, начиная новый цикл.
- Выполняются действия, которые должны быть выполнены при втором цикле.
- Вычисляются новые значения переменных x, y и z.
- Выводятся новые значения переменных x, y и z.
- Выполняется переход к метке m1, начиная новый цикл.
- Цикл повторяется до тех пор, пока условие в пункте 5 не будет выполнено.
- После окончания цикла программа переходит к метке m2.
- Пользователю предлагается ввести данные.
- Программа завершается.