Top.Mail.Ru
Ответы

Помогите слставить задачу в Turbo Pascal

пожалуйста помогите буду благодарен
Составьте программу, выводящую на экран первые n элементов последовательности fn, если f1=0, f2=1, а для n>2 значение fn=fn-2+fn-1, (n>1 вводится пользователем с клавиатуры).
использовать операторов while

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
3мес

https://pastebin.com/jsRwvvkJ

Аватар пользователя
Высший разум
3мес
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 с инициализацией переменных. Если они автоматически инициализируются нулями, присваивание начальных нулей не требуется.

Аватар пользователя
Мыслитель
3мес
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.