Найти первое х деленное на у - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Всем привет, не могу вот решить задачу, помогите пожалуйста. Вот задача: Даны положительные действительные числа a,b,e. Последовательности х1,х2,...., у1,у2,...., образованы по закону: Хn=a+bcos(0.5n), Уn=0.5an-ba1n(0.5n). Найти первое Хn/Уn, такое что |Уn|>е и n<100. Понял что нужно использовать цикл,а вот как его применить не знаю.

Решение задачи: «Найти первое х деленное на у»

textual
Листинг программы
var a,b,e,x,y:real;
    n:integer;
begin
writeln('Введите 3 положительных действительных числа');
readln(a,b,e);
n:=1;
y:=0;
while(abs(y)<=e)and(n<100) do
 begin
  x:=a+b*cos(0.5*n);
  y:=0.5*a*n-b*a*ln(0.5*n);
  n:=n+1;
 end;
if n>=100 then write('Меньше чем за 100 итераций результат не достижим')
else writeln('|y|=',abs(y):0:2,' xn/yn=',x/y:0:2,' n=',n);
end.

Объяснение кода листинга программы

  1. В начале кода объявляются переменные: a, b, e, x, y и n, которые представляют собой действительные числа и переменную для счета итераций.
  2. Затем идет команда readln(a, b, e), которая считывает три положительных действительных числа от пользователя.
  3. Переменная n инициализируется значением 1.
  4. Затем запускается цикл while, который выполняется до тех пор, пока значение y не превысит e или n меньше 100.
  5. Внутри цикла вычисляются значения x и y по формулам a + b cos(0.5 n) и 0.5 a n - b a ln(0.5 * n) соответственно.
  6. После каждой итерации значение n увеличивается на 1.
  7. Если n превышает 100, то выводится сообщение о том, что результат не достижим за 100 итераций.
  8. В противном случае выводятся значения abs(y), x/y и n.
  9. Конец программы.

Оцени полезность:

15   голосов , оценка 3.467 из 5
Похожие ответы