Решение задач. День двадцать первый. For31-35


for31-35

Приветствуем читателей нашего сайта! Сегодня мы с вами решим задачи for31-35.

For31-35

For31. Дано целое число N (> 0). Последовательность вещественных чисел AK определяется следующим образом:
A0 = 2, AK = 2 + 1/AK−1, K = 1, 2, ….
Вывести элементы A1, A2, …, AN.

program for31;

var
  N, i: integer;
  A1, A2: real;


begin
  write('Введите N: ');
  readln(N);
  A1 := 2; // A[0]
  for i := 1 to N do
  begin
    A2 := 2 + 1 / A1;
    A1 := A2;
    writeln('[A', i, '] = ', A2)
  end
end.

For32. Дано целое число N (> 0). Последовательность вещественных чисел AK определяется следующим образом:
A0 = 1, AK = (AK−1 + 1)/K, K = 1, 2, ….
Вывести элементы A1, A2, …, AN.

program for32;

var
  N, i: integer;
  A1, A2: real;


begin
  write('Введите N: ');
  readln(N);
  A1 := 1; // A[0]
  for i := 1 to N do
  begin
    A2 := (A1 + 1) / i;
    A1 := A2;
    writeln('A[', i, '] = ', A2:0:5)
  end
end.

For33°. Дано целое число N (> 1). Последовательность чисел Фибоначчи FK (целого типа) определяется следующим образом:
F1 = 1, F2 = 1, FK = FK−2 + FK−1, K = 3, 4, ….
Вывести элементы F1, F2, …, FN.

program for33;

var
  N, i, F1, F2, tmp: integer;

begin
  write('Введите N: ');
  readln(N);
  F1 := 1;
  F2 := 1;
  writeln('Последовательность Фибоначчи: ');
  writeln('F[1] = 1'); //выводим два первых числа Фибоначчи
  writeln('F[2] = 1');
  for i := 3 to N do //начинаем счет с третьего элемента
  begin
    tmp := F2; //запоминаем больший элемент
    F2 := F2 + F1; // узнаем значение нового большего элемента
    F1 := tmp; // записываем бывший большой элемент в меньший 
    writeln('F[', i, '] = ', F2)
  end
end.

For34. Дано целое число N (> 1). Последовательность вещественных чисел AK определяется следующим образом:
A1 = 1, A2 = 2, AK = (AK−2 + 2·AK−1)/3, K = 3, 4, ….
Вывести элементы A1, A2, …, AN.

program for34;

var
  N, i: integer;
  A1, A2, tmp: real;


begin
  write('Введите N: ');
  readln(N);
  A1 := 1;
  A2 := 2;
  writeln('A[1] = 1'); //выводим два первых числа 
  writeln('A[2] = 2');
  for i := 3 to N do
  begin
    tmp := A2;
    A2 := (A1 + 2 * A2) / 3;
    A1 := tmp;
    writeln('A[', i, '] = ', A2:0:5)
  end
end.

For35. Дано целое число N (> 2). Последовательность целых чисел AK определяется следующим образом:
A1 = 1, A2 = 2, A3 = 3, AK = AK−1 + AK−2 − 2·AK−3, K = 4, 5, ….
Вывести элементы A1, A2, …, AN.

program for35;

var
  N, i, A1, A2, A3, tmp: integer;

begin
  write('Введите N: ');
  readln(N);
  A1 := 1;
  A2 := 2;
  A3 := 3;
  writeln('A[1] = 1'); //выводи два первых числа 
  writeln('A[2] = 2');
  writeln('A[3] = 3');
  for i := 4 to N do
  begin
    tmp := A3;
    A3 := A3 + A2 - 2 * A1;
    A1 := A2;
    A2 := tmp;
    writeln('A[', i, '] = ', A3)
  end
end.

На сегодня всё! Если у вас возникли вопросы, задавайте их в комментариях. И не забывайте рассказывать о нашем сайте своим друзьям, кликая по кнопочкам, которые расположены чуть-чуть ниже этих строк.

  1. tmp в этом примере играет роль «временной переменной», с помощью которой переменной A2 присваивается «старое»(до изменения во второй строке) значение переменной A3.

  2. В задании For34, в конце 18-й строки, ошибка:
    в место «i» нужно поставить «3» по соответствию с условиями задания.

  3. Здравствуйте. Объясните пожалуйста, что означает tmp в этом примере
    tmp := A3;
    A3 := A3 + A2 — 2 * A1;
    A1 := A2;
    A2 := tmp; ?

  4. Здравствуйте помогите пожалуйста составить блок-схему. Пусть последовательность чисел образована по следующему закону: а1=1; ak=k*ak-1+1/k; k=1,2,… Дано целое число n. Получить an.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *