Root /ArchiveAbout
()

Вывод элементов последовательности

Вывод элементов последовательности

На этой странице мы решаем задачи For31 - For35 из задачника Абрамяна, в которых рассматривается вычисление членов последовательностей действительного и целого типов, используя начальные данные.

For31. Дано целое число N (> 0). Последовательность вещественных чисел AK определяется следующим образом:

A0 = 2, AK = 2 + 1/AK−1, K = 1, 2, … .

Вывести элементы A1, A2, …, AN.

var
  k, N: integer;
  A: real;

begin
  write('N = ');
  readln(N);
  writeln;
  writeln('Первые ', N, ' элементов последовательности:');
  writeln;
  A := 2; { <== Начальное значение последовательности }
  for k := 1 to N do
  begin
    A := 2 + 1 / A; { <== k-е значение последовательности }
    { Выводим A[k], выделяя 5 знаков после запятой: }
    writeln(' A[', k, '] = ', A) 
  end;
  readln
end.

**type** integer;: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 **type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For32. Дано целое число N (> 0). Последовательность вещественных чисел AK определяется следующим образом:

A0 = 1, AK = (AK−1 + 1)/K, K = 1, 2, … .

Вывести элементы A1, A2, …, AN.

var
  k, N: integer;
  A: real;

begin
  write('N = ');
  readln(N);
  A := 1; { <== начальное значение }
  writeln;
  writeln('Выводим элементы A[1], ..., A[', N, 
          '] последовательности:');
  writeln;
  for k := 1 to N do
  begin
    A := (A + 1) / K; { <== k-е значение последовательности }
    { Выводим A[k], выделяя 5 знаков после запятой: }
    writeln(' A[', K, '] = ', A:0:5)
  end;
  readln
end.

**type** integer;: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 **type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For33. Дано целое число N (> 1). Последовательность чисел Фибоначчи FK (целого типа) определяется следующим образом:

F1 = 1, F2 = 1, FK = FK−2 + FK−1, K = 3, 4, … .

Вывести элементы F1, F2, …, FN.

var
  k, N, F1, F2, Fk: integer;

begin
  write('N = ');
  readln(N);
  { 1-е и 2-е значения последовательности Фибоначчи: }
  F1 := 1; F2 := 1;
  writeln;
  writeln('Выводим элементы F[1], ..., F[', N, 
          '] последовательности Фибоначчи:');
  writeln;
  { Выводим 1-е и 2-е значения: } 
  writeln(' F[1] = ', F1);
  writeln(' F[2] = ', F2);
  { Вычисляем и выводим все остальные значения: } 
  for k := 3 to N do
  begin
    { k-е значение последовательности Фибоначчи: }
    Fk := F1 + F2;
    { Выводим A[k], выделяя 5 знаков после запятой: }
    writeln(' F[', K, '] = ', Fk); 
    F1 := F2; { <== F1 заменяем на F2 }
    F2 := Fk  { <== F2 заменяем на Fk }
  end;
  readln
end.

**type** integer;: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 For34. Дано целое число N (> 1). Последовательность вещественных чисел AK определяется следующим образом:

A1 = 1, A2 = 2, AK = (AK−2 + 2·AK−1)/3, K = 3, 4, … .

Вывести элементы A1, A2, …, AN.

var
  k, N: word;
  A1, A2, Ak: real;

begin
  write('N = ');
  readln(N);
  A1 := 1; { <== 1-й элемент последовательности }
  A2 := 2; { <== 2-й элемент последовательности }
  writeln;
  writeln('Выводим последовательность ', N, 
          ' вещественных чисел:');
  writeln;
  write(' ', A1:0:5, '  ', A2:0:5); { <-- Выводим A1 и A2 }
  for k := 3 to N do
  begin
    { Находим k-й элемент и выводим его: }
    Ak := (A1 + 2 * A2) / 3;
    write('  ', Ak:0:5);
    A1 := A2; { <== A1 меняем на A2 }
    A2 := Ak  { <== A2 меняем на Ak }
  end;
  readln
end.

**type** word;: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 **type** real;: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 For35. Дано целое число N (> 2). Последовательность целых чисел AK определяется следующим образом:

A1 = 1, A2 = 2, A3 = 3, AK = AK−1 + AK−2 − 2·AK−3, K = 4, 5, … .

Вывести элементы A1, A2, …, AN.

var
  k, N: word;
  A1, A2, A3, Ak: Integer;

begin
  writeln('Введите целое число N (> 2):');
  write(' N = ');
  readln(N);
  A1 := 1; { <== 1-й элемент последовательности }
  A2 := 2; { <== 2-й элемент }
  A3 := 3; { <== 3-й элемент }
  writeln;
  writeln('Выводим последовательность ', N, ' целых чисел:');
  writeln;
  write('  ', A1, ' ', A2, ' ', A3); { <== Выводим A1, A2, A3 }
  { Для всех остальных элементов имеем: } 
  for k := 4 to N do
  begin
    { Находим и выводим k-й элемент: }
    Ak := A3 + A2 - 2 * A1;
    write(' ', Ak);
    A1 := A2; { <== A1 меняем на A2 }
    A2 := A3; { <== A2 меняем на A3 }
    A3 := Ak  { <== A3 меняем на Ak }
  end;
  readln
end.

**type** word;: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535 **type** integer;: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647