Помощь - Поиск - Пользователи - Календарь
Полная версия: итерационный цикл
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-олег-
помогите найти ошибку
Код

program c;
var N:integer; YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN:=YN1;YN1:=YN2;
N:=1;
repeat
N:=N+1;YN:=0.352*YN1+ cos(1.57 + YN2)
until ABS (YN - YN1)<E;
writeln ('predel ',YN:12:8)
end.
мисс_граффити
 YN:=YN1;

а чему равно YN1?
Гость
YN:=Y(n-1); это вписать?
мисс_граффити
еще б знать, что такое Y и что должна делать программа... совсем круто было бы
Гость
Код
program c;
var N:integer; Y,YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN:=YN1;
YN1:=Yn-1;
YN1:=YN2;

N:=1;
repeat
N:=N+1;YN:=0.352*YN1+ cos(1.57 + YN2)
until ABS (YN - YN1)<E;
writeln ('predel ',YN:12:8)
end.

вычислить предел последовательности .но результат один и тот же выходит
мисс_граффити
ну естественно!!!
вот в этом месте чему у тебя равен YN1?
YN:=YN1;

Что ты пытаешься записать в YN?
С высокой степенью вероятности 0, хотя не факт.
Гость
Код
program c;
var N:integer; Y,YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN1:=Yn-1;
YN2:=YN-2;
N:=1;
repeat
N:=N+1;YN:=0.352*YN1+ cos(1.57 + YN2)
until ABS (YN - YN1)<E;
writeln ('predel ',YN:12:8)
end.


если тока вот так
Malice
Сдается мне ты вот такое хотел изобразить:
program c;
var N:integer; Y,YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN1:=0; yn:=0;
repeat
YN2:=YN1;
YN1:=YN;
YN:=0.352*YN1+ cos(1.57 + YN2);
until ABS (YN - YN1)<E;
writeln ('predel ',Yn:12:8)
end.

Но если просят условие, трудно ответить ?
Archon
lol.gif Извини, но приведи задание, а?
Гость
задание привел надо выщитать предел YN:=0.352*YN1+ cos(1.57 + YN2);
ну запутался малость dry.gif
Гость
Код
program c;
var N:integer; Y,YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN1:=0; yn:=0;
repeat
YN2:=YN1;
YN1:=YN;
YN:=0.352*YN1+ cos(1.57 + YN2);
until ABS (YN - YN1)<E;
writeln ('predel ',Yn:12:8)
end.

это неправильно!
результат один и тотже
мисс_граффити
blink.gif
это какой-то вычислительный рекурсивный метод?
а как ты определяешь, что ответ неправильный?
что должно получиться?
Гость
ээээ вводиш разные е результат разный
или так должно быть?
Гость
результат одинаковый всмысле
Archon
E - это точность. Чем меньше E, тем результат точнее.
Цитата
это какой-то вычислительный рекурсивный метод?
Это сходящаяся рекурентная последовательность (ряд).
Гость
так чо с самого начало моя прога выдавала првильный результат ????
Archon
Нет. С самого начала твоя прога вязла в бесконечном цикле.
Гость
Код
program c;
var N:integer; Y,YN,YN1,YN2,e:real;
begin
writeln('vvedite e');
readln (e);
YN1:=0; yn:=0;
repeat
YN2:=YN1;
YN1:=YN;
YN:=0.352*YN1+ cos(1.57 + YN2);
until ABS (YN - YN1)<E;
writeln ('predel ',Yn:12:8)
end.

а это правильно хоть?
Гость
ктонить знает как посчитать глубину рекуретной формулы? huh.gif
Код
YN:=0.352*YN1+ cos(1.57 + YN2);
Гость
обясните хоть что такое глубина рекурентной формулы
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.