Другие языки программирования и технологии

Напишите программу!!! Разработать процедуру для вычисления чисел Фибаначи(1+2+3+5+8+13...)

Количество чисел задается входным параметром nЧисла Фибаначи -- следующее число состоит из суммы 2х предыдущих
Доброго времени суток.

Чот не понял, вам надо найти сумму заданного числа членов последовательности Фибоначи или просто получить заданный член последовательности?

Вот функция, возвращающая заданный член последовательности. Переделать для вычисления суммы легко.

function Fibo(n: Integer): Longint;
var
A, A1, A2, i : Longint;

begin
A1 := 1;
A2 := 1;
for i:=3 to n do begin
A := A1 + A2;
A1 := A2;
A2 := A;
end;
Fibo := A;
end;

Удачи!
Владік Волкотруб
Владік Волкотруб
59 613
Лучший ответ
Айдос Абылханов а через процедуру сможешь ?
(define (fibonacci-sequencer)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))

(define fs (fibonacci-sequencer))
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)
(display (fs))(newline)

Результат:
1
1
2
3
5
8

Или тебе сумма последовательности нужна?
Тогда так:
(define (fibonacci-sequencer)
(let ((an-2 1) (an-1 1))
(lambda ()
(let ((res an-2)
(an (+ an-2 an-1)))
(set! an-2 an-1)
(set! an-1 an) res))))

(define fibsum
(lambda (n)
(let ((fs (fibonacci-sequencer)))
(apply + (map (lambda(i) (fs)) (make-list n 0))))))

(display "Enter n:")(define N (read))
(for-each display (list "Sum of " N " first Fibonacci numbers is " (fibsum N)))
(newline)
Леван Моргошиа
Леван Моргошиа
84 351
Айдос Абылханов а на паскале можешь ?
на каком языке? за 5 баллов окей, без проблем, если язык знаю
void fib(n)
{
int f[100];
f[0]=1; f[1]=2;
for(int i=2;i<n;i++)>=f[i-1]+f[i-2];
for(i=0;i<n;i++)><<" ";
}

Это функция на С++.
Её потом в программе вызвать - она просто выведет последоавательность чисел.
Айдос Абылханов а на паскале можешь ?
Леван Моргошиа Во-первых, вставляй пробелы в квадратные скобки, чтобы движок ответов код не корявил.
Во-вторых, что у тебя будет, если нужно 200 элементов?