Помогите слставить задачу в Turbo Pascal
пожалуйста помогите буду благодарен
Составьте программу, выводящую на экран первые n элементов последовательности fn, если f1=0, f2=1, а для n>2 значение fn=fn-2+fn-1, (n>1 вводится пользователем с клавиатуры).
использовать операторов while
По дате
По рейтингу
https://pastebin.com/jsRwvvkJ
1234567891011121314
program q;
var f: array [0..1] of integer;
i, n: integer;
begin
f[0] := 0; {вероятно, эту строчку можно убрать}
f[1] := 1;
i := 0; {вероятно, эту строчку можно убрать}
read(n);
while i < n do begin
writeln(f[i mod 2]);
f[i mod 2] := f[0] + f[1];
inc(i)
end
end.
Не помню, как в Turbo Pascal с инициализацией переменных. Если они автоматически инициализируются нулями, присваивание начальных нулей не требуется.
12345678910111213141516171819202122232425262728293031323334353637383940
program FibonacciSequence;
var
n, i, fn, fn1, fn2: integer;
begin
// Ввод количества элементов последовательности
write('Введите количество элементов последовательности (n > 1): ');
readln(n);
// Проверка на корректность ввода
if n <= 1 then
begin
writeln('Ошибка: n должно быть больше 1.');
exit;
end;
// Инициализация первых двух элементов последовательности
fn1 := 0; // f1
fn2 := 1; // f2
// Вывод первых двух элементов
writeln('f1 = ', fn1);
writeln('f2 = ', fn2);
// Вычисление и вывод остальных элементов последовательности
i := 3;
while i <= n do
begin
fn := fn1 + fn2; // Вычисление следующего элемента
writeln('f', i, ' = ', fn);
// Обновление значений для следующего шага
fn1 := fn2;
fn2 := fn;
// Увеличение счетчика
i := i + 1;
end;
end.