Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/44: Рейтинг темы: голосов - 44, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 02.03.2009
Сообщений: 8
1

Вычислить первые 20 членов последовательности чисел Фибоначчи

02.03.2009, 20:16. Просмотров 8649. Ответов 10
Метки нет (Все метки)

Извините, ну я никак не могу понять программирование циклов на Турбо паскале
Помогите, чем можете... Вот одна из программ, которую мне необходимо написать:
Вычислить первые 20 членов последовательности чесел Фибоначчи:
u1=1; u2=2; u(n)=u(n-1)+u(n-2), а также значение золотого сечения V(n)=u(n)/u(n-1)


0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2009, 20:16
Ответы с готовыми решениями:

Вычислить первые 20 членов последовательности
Последовательность Фибоначчи определяется следующими рекуррентными соотношениями: а1=а2=1, аk=аk-1=...

Вывести первые 10 членов последовательности и найти количество четных чисел
Задана последовательность формулой: an= n2-1. Вывести первые 10 членов последовательности и найти...

Посчитать и вывести первые 30 чисел последовательности Фибоначчи через массив
Всем привет. Не могу понять, где тут ошибка, может быть в компиляторе? Пытаюсь посчитать и вывести...

Получить первые n членов последовательности Фибоначчи.
Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1,...

10
3062 / 722 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
02.03.2009, 21:39 2
ну как бы вам так сказать, посмотрите здесь и вы увидите что первое число из ряда Фибоначчи =1 и второе тоже =1, уточните задание...
0
0 / 0 / 0
Регистрация: 02.03.2009
Сообщений: 8
02.03.2009, 22:00  [ТС] 3
да, действительно%) но у меня в задании именно так.. u2=2.
Тогда получается, что это не числа Фиббоначи)) Ну допустим, что это просто последовательность) ну мне главное составить программу, чтобы она работала
0
20 / 20 / 10
Регистрация: 26.02.2009
Сообщений: 49
02.03.2009, 22:44 4
Проверяй. Но смотри, для слишком большого числа элементов это уже не прокатит, придётся длинную арифметику мутить!

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const nmax = 20;
 
var i:integer;
    u:array[1..nmax] of integer;
    v:array[2..nmax] of real;
 
begin
u[1]:=1;
u[2]:=2;
for i:=3 to nmax do u[i]:=u[i-1]+u[i-2];
for i:=2 to nmax do v[i]:=u[i]/u[i-1];
writeln('u(1) = ',u[1]);
for i:=2 to nmax do writeln('u(',i,') = ',u[i],'   v(',i,') = ',v[i]:2:2);
readln;
end.
0
3062 / 722 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
03.03.2009, 00:21 5
Extremall, ну вообщем-то надо только до 20-го числа, так что я думаю не надо там будет использовать длинную арифметику.
Ну и ещё хотелось бы сказать, что чаще всего такие программы просят сделать без использования массивов...
Тут есть написанная мною программа для нахождения чисел фибоначчи, при помощи рекурсии, осталось её немного разобрать и переделать.
0
20 / 20 / 10
Регистрация: 26.02.2009
Сообщений: 49
03.03.2009, 15:34 6
Ну вот вариант без использования массивов:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const nmax = 20;
 
var i:integer;
    u1,u2,u3:integer;
    v:real;
 
begin
u1:=1;
u2:=2;
v:=u2/u1;
writeln('u(1) = ',u1);
writeln('u(2) = ',u2,'    v(2) = ',v:2:2);
for i:=3 to nmax do begin
  u2:=u2+u1;
  u1:=u2-u1;
  v:=u2/u1;
  writeln('u(',i,') = ',u2,'    v(',i,') = ',v:2:2);
end;
readln;
end.
Добавлено через 10 минут 50 секунд
Ну и для любителей рекурсии:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const nmax = 20;
 
{Число Фибоначчи по заданному n}
function fib(n:integer):integer;
begin
if (n=1) then begin fib:=1;exit;end;
if (n=2) then begin fib:=2;exit;end;
fib:=fib(n-1)+fib(n-2);
end;
 
{Значение золотого сечения по заданному n}
function sech(n:integer):real;
begin
sech:=fib(n)/fib(n-1);
end;
 
var i:integer;
 
begin
writeln('u(1) = ',fib(1));
for i:=2 to nmax do
  writeln('u(',i,') = ',fib(i),'    v(',i,') = ',sech(i):2:2);
readln;
end.
0
0 / 0 / 0
Регистрация: 02.03.2009
Сообщений: 8
04.03.2009, 19:21  [ТС] 7
Спасибо вам всем бальшое))) ща посмотрю,, что мне больше подойдёт) а что здесь значит NMAX?
0
20 / 20 / 10
Регистрация: 26.02.2009
Сообщений: 49
04.03.2009, 21:38 8
nmax - константа. В вашем случае она равна 20, а в общем можно поставить другое число. Такие константы считаются хорошим стилем, так как в случае чего - можно быстро поменять её значение!
0
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 4
05.04.2012, 21:29 9
Помогите пожалуйста по этому же заданию но еще сделать 2 программы- одну с предусловием,другую с постусловием
0
Модератор
60218 / 45347 / 31288
Регистрация: 18.05.2008
Сообщений: 108,938
05.04.2012, 21:48 10
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var a,b,c,i:longint;
begin
clrscr;
a:=1;{1 и 2 числа = 1}
b:=1;
write('1 1 ');
i:=2;
repeat
c:=a+b;
write(c,' ');
i:=i+1;
a:=b;
b:=c;
until i>19;{19-е это 20-е}
readln
end.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var a,b,c,i:longint;
begin
clrscr;
a:=1;{1 и 2 числа = 1}
b:=1;
write('1 1 ');
i:=2;
while i<20 do
 begin
  c:=a+b;
  write(c,' ');
  i:=i+1;
  a:=b;
  b:=c;
 end;
readln
end.
0
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 4
05.04.2012, 23:01 11
Огромное спасибо )))))))))))))))))))))))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2012, 23:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Получить первые n членов последовательности Фибоначчи
Последовательность Фибоначчи образуется так: первый и второй члены последовательности рав¬ны 1,...

Получить первые n членов последовательности фибоначчи.
Последовательность Фибоначчи образуется так: первый и второй члены последовательности равны 1,...

Вывести первые 11 членов последовательности Фибоначчи
Доброго времени суток, уважаемые программисты. Хотел бы попросить Вас о помощи в решении программ...

Определите первые n членов последовательности Фибоначчи, начиная с третьего
Определите первые n членов последовательности Фибоначчи, начиная с третьего, число n задается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.