Блог учителя Информатики

Комментарии отключены

 Решение задач блока ExamBegin 21-30

Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока ExamBegin: «ЕГЭ по информатике: базовые алгоритмы».

Задача ExamBegin21

На вход подаются три числа: целое число N (> 1) и вещественные числа A и D — соответственно первый член и знаменатель геометрической прогрессии (каждое число вводится с новой строки). Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: AA·DA·D2A·D3, … . Каждое число выводить на новой строке.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of real;
  n, i: integer;
  a, d: real;
 
begin
  Task('ExamBegin21');
  Read(n, a, d);
  for i := 1 to n do
  begin
    m[i] := a;
    Writeln(m[i]:4:2);
    a := a * d;  
  end;
end.
Pascal
uses PT4Exam;
 
var
  n, i: integer;
  a, d: real;
 
begin
  Task('ExamBegin21');
  Read(n, a, d);
  for i := 1 to n do
  begin
    Writeln(a:4:2);
    a := a * d;  
  end;
end.
Pascal

Задача ExamBegin22

На вход подается целое число N (> 2). Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи FK:

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

Все числа выводить в одной строке, для каждого числа отводить 4 экранные позиции.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of integer;
  a, i: integer;
 
begin
  Task('ExamBegin22');
  Read(a);
  m[1] := 1; m[2] := 1;
  for i := 3 to a do
    m[i] := m[i - 1] + m[i - 2];
  for i := 1 to a do
    Write(m[i]:4);
end.
Pascal

Задача ExamBegin23

На вход подаются три целых числа: N (> 2), A и B (все числа расположены в одной строке). Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих. Каждое число выводить на новой строке.

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of integer;
  n, a, b, i, j: integer;
 
begin
  Task('ExamBegin23');
  Read(n, a, b);
  m[1] := a; m[2] := b;
  for i := 3 to n do
    for j := 1 to i - 1 do
      m[i] := m[i] + m[j];
  for i := 1 to n do
    Writeln(m[i]);
end.
Pascal

Задача ExamBegin24

На вход подаются два целых положительных числа M и N (каждое число вводится с новой строки). Сформировать и вывести двумерный целочисленный массив размера M × N, у которого все элементы I-й строки имеют значение 10·I (I = 1, …, M). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 6 экранных позиций.

uses PT4Exam;
const
  R = 100;
  S = 100;
var
  a:array[1..R,1..S] of integer;
  m,n,i,j:integer;
begin
  Task('ExamBegin24');
  Read(m, n);
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=i*10;
      Write(a[i,j]:6);
    end;
    Writeln;
  end;
end.
Pascal

Задача ExamBegin25

На вход подаются два целых положительных числа M и N (числа располагаются в одной строке). Сформировать и вывести двумерный целочисленный массив размера M × N, у которого все элементы J-го столбца имеют значение 5·J (J = 1, …, N). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 6 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
  S = 100;
 
var
  a: array[1..R, 1..S] of integer;
  m, n, i, j: integer;
 
begin
  Task('ExamBegin25');
  Read(m, n);
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i, j] := j * 5;
      Write(a[i, j]:6);
    end;
    Writeln;
  end;
end.
Pascal

Задача ExamBegin26

На вход в первой строке подаются два целых положительных числа M и N, а во второй строке — набор из M вещественных чисел. Сформировать и вывести двумерный вещественный массив размера M × N, у которого в каждом столбце содержатся все числа из исходного набора (в том же порядке). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 7 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
  S = 100;
 
var
  a: array[1..R, 1..S] of real;
  m, n, i, j: integer;
  k: real;
 
begin
  Task('ExamBegin26');
  Readln(m, n);
  for i := 1 to m do
  begin
    Read(k);
    for j := 1 to n do
    begin
      a[i, j] := k;
      Write(a[i, j]:7:2);
    end;
    Writeln;
  end;
end.
Pascal

Задача ExamBegin27

На вход в первой строке подаются два целых положительных числа M и N, а во второй строке — набор из N вещественных чисел. Сформировать и вывести двумерный вещественный массив размера M × N, у которого в каждой строке содержатся все числа из исходного набора (в том же порядке). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 7 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
  S = 100;
 
var
  a: array[1..R, 1..S] of real;
  m, n, i, j: integer;
  k: real;
 
begin
  Task('ExamBegin27');
  Readln(m, n);
  for i := 1 to n do
  begin
    Read(k);
    for j := 1 to m do
      a[j, i] := k;
  end;
  for i := 1 to m do
  begin
    for j := 1 to n do
      Write(a[i, j]:7:2);
    Writeln;
  end;
end.
Pascal

Задача ExamBegin28

На вход в первой строке подаются два целых положительных числа M и N, во второй строке — вещественное число D, а в третьей строке — набор из M вещественных чисел. Сформировать и вывести двумерный вещественный массив размера M × N, у которого первый столбец совпадает с исходным набором чисел, а элементы каждого следующего столбца равны сумме соответствующего элемента предыдущего столбца и числа D (в результате каждая строка массива будет содержать элементы арифметической прогрессии). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 7 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
  S = 100;
 
var
  a: array[1..R, 1..S] of real;
  m, n, i, j: integer;
  k: real;
 
begin
  Task('ExamBegin28');
  Read(m, n, k);
  for i := 1 to m do
  begin
    Read(a[i, 1]);
    for j := 1 to n do
    begin
      if j > 1 then a[i, j] := a[i, j - 1] + k;
      Write(a[i, j]:7:2);
    end;
    Writeln;
  end;
end.
Pascal

Задача ExamBegin29

На вход в первой строке подаются два целых положительных числа M и N и вещественное число D, а во второй строке — набор из N вещественных чисел. Сформировать и вывести двумерный вещественный массив размера M × N, у которого первая строка совпадает с исходным набором чисел, а элементы каждой следующей строки равны соответствующему элементу предыдущей строки, умноженному на D (в результате каждый столбец массива будет содержать элементы геометрической прогрессии). Каждую строку элементов массива выводить на новой экранной строке, для каждого числа отводить 8 экранных позиций.

uses PT4Exam;
 
const
  R = 100;
  S = 100;
 
var
  a: array[1..R, 1..S] of real;
  m, n, i, j: integer;
  d: real;
 
begin
  Task('ExamBegin29');
  Readln(m, n, d);
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      if i < 2 then Read(a[i, j])
      else a[i, j] := a[i - 1, j] * d;
      Write(a[i, j]:8:2);
    end;
    Writeln;
  end;
end.
Pascal

Задача ExamBegin30

На вход в первой строке подается целое число A, во второй строке — целое положительное число N, а в третьей строке — массив из N целых чисел. Определить, содержит ли массив элемент со значением A. Если содержит, то вывести текст «YES», если не содержит, то вывести «NO».

uses PT4Exam;
 
const
  R = 100;
 
var
  m: array[1..R] of integer;
  a, n, i: integer;
  k: boolean;
 
begin
  Task('ExamBegin30');
  k := false;
  Read(a, n);
  for i := 1 to n do
  begin
    Read(m[i]);
    if m[i] = a then k := true;
  end;
  if k = true then Write('YES')
  else Write('NO')
end.
Pascal

Поделиться:
Вам также может понравится
Решение экзамена первой волны ОГЭ по Информатике | Часть 1
Решение пробника ОГЭ по Информатике | Вариант 24
Решение пробника ОГЭ по Информатике | Вариант 17
Округление чисел в Python