Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Turbo Pascal 7.0 Ряд Фибоначчи

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Первый вопрос] >> Turbo Pascal 7.0 Ряд Фибоначчи
Имя
Сообщение << Старые топики   Новые топики >>
Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-17 21:59:39.706666   
Sashko_Milashko

Сообщений: 2
Оценки: 0
Присоединился: 2010-02-17 21:49:33.673333
Использовать цикл с заданным числом повторений

Найдите n-й член ряда Фибоначчи, элементы которого вычисляются по формулам: a1 = a2 = 1; ai = ai-1 + ai-2, (i > 2).
П р и м е ч а н и е. Для нахождения членов ряда используйте только ДВЕ переменные а и b.
Post #: 1
RE: Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-17 22:55:34.893333   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
И с чем возникли трудности?
С вычислением следующего элемента небось, да? Смотри сюда. Для начала я обозначения сменю слегка, чтобы меньше путаницы было.
Определение последовательности чисел фибоначчи я запишу так: f[n+1] = f[n] + f[n-1] (я буковку a сменил на f, чтобы не путать с переменной a, и нумерацию чуть сдвинул, мне кажется так удобнее).
теперь, пускай a=f[n-1], b=f[n]. Нам надо что-то сделать, чтобы стало так: a=f[n], b=f[n+1].
Первый шаг напрашивается, мы сосчитаем по формуле f[n+1] (мы ведь знаем f[n-1] и f[n]) и положим результат в b, где он и должен лежать.b := a + b;Теперь у нас такая ситуация: a=f[n-1], b=f[n+1]. Нам надо как-то сосчитать f[n] и положить его в a. Зырим в формулу f[n+1]=f[n]+f[n-1] и видим, что f[n]=f[n+1]-f[n-1] так ведь? Ну дык то что справа от =, это ведь b-a, не так ли? А слева мы поставим a, поскольку результат туда сохранять будем:a := b - a; Ну и всё вместе:b := a + b; a := b - a;Вот и вся проблема.
Post #: 2
RE: Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-17 23:02:13.580000   
Sashko_Milashko

Сообщений: 2
Оценки: 0
Присоединился: 2010-02-17 21:49:33.673333
эммм… как-то я всё равно особо не въехала….((((
а можно как прога в целом выглядит? и цикл использовать

я ток учусь прогарммировать и возникают трудности…..
Post #: 3
RE: Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-17 23:20:00.150000   
DenisaN

Сообщений: 184
Оценки: 0
Присоединился: 2009-12-25 17:40:45.006666
Приблизительно так, только если вдруг синтаксические ошибки есть не суди строго, просто давно я паскаля не видел=)

a:=1
b:=1
write ('введите n');
readln (n);
for i to n do
begin
b:=a+b;
a:=b-a;
i:=i+1;
end;
writeln ('ваш ответ a=',a,'b=',b)
Post #: 4
RE: Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-18 00:33:02.340000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: DenisaN
Приблизительно так, только если вдруг синтаксические ошибки есть не суди строго, просто давно я паскаля не видел=)

write ('введте n');

То есть тебя паскаль так поражает с непривычки, что пальцы по клавишам не попадают? :D
Post #: 5
RE: Turbo Pascal 7.0 Ряд Фибоначчи - 2010-02-18 09:01:12.990000   
DenisaN

Сообщений: 184
Оценки: 0
Присоединился: 2009-12-25 17:40:45.006666
Ну с кем не бывает, уже исправил
Post #: 6
Страниц:  [1]
Все форумы >> [Первый вопрос] >> Turbo Pascal 7.0 Ряд Фибоначчи







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.