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

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

 Решение задач блока ExamBegin 61-70

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

Задача ExamBegin61

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of real;
  m, n, i, j, k: integer;
  count: boolean;
 
begin
  Task('ExamBegin61');
  Readln(m, n);
  k := 0; count := true;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      Read(arr[i, j]);
      if arr[i, j] > 0 then count := false;
    end;
    if count = true then k := k + 1;
    count := true;
  end;
  Write(k);
end.
Pascal

Задача ExamBegin62

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of integer;
  m, n, i, j, sum: integer;
 
begin
  Task('ExamBegin62');
  Readln(m, n);
  sum := 0;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      Read(arr[i, j]);
      sum := sum + arr[i, j];
    end;
    Writeln(sum);
    sum := 0;
  end;
end.
Pascal

Задача ExamBegin63

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of real;
  m, n, i, j: integer;
  sum: real;
 
begin
  Task('ExamBegin63');
  Readln(m, n);
  for i := 1 to m do
    for j := 1 to n do
      Read(arr[i, j]);
  sum := 0;
  for i := 1 to n do
  begin
    for j := 1 to m do
      sum := sum + arr[j, i];
    Write(sum / m:6:2);
    sum := 0;
  end;
end.
Pascal

Задача ExamBegin64

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of integer;
  m, n, i, j, sum, max: integer;
 
begin
  Task('ExamBegin64');
  Readln(m, n);
  sum := 0; max := -10000;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      Read(arr[i, j]);
      if max < arr[i, j] then max := arr[i, j];
    end;
    sum := sum + max;
    max := -10000;
  end;
  Write(sum);
end.
Pascal

Задача ExamBegin65

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of real;
  m, n, i, j: integer;
  min, k: real;
 
begin
  Task('ExamBegin65');
  read(m, n);
  for i := 1 to m do
    for j := 1 to n do
      read(arr[i, j]);
  k := 1;
  for i := 1 to n do
  begin
    min := maxint;
    for j := 1 to m do
    begin
      if arr[j, i] < min then min := arr[j, i];
    end;
    k := k * min;
  end;
  write(k:1:2);
end.
Pascal

Задача ExamBegin66

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of integer;
  m, n, i, j, sum, min, k: integer;
 
begin
  Task('ExamBegin66');
  Readln(m, n);
  sum := 0; min := 10000;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      Read(arr[i, j]);
      sum := sum + arr[i, j];
    end;
    if sum < min then begin
      min := sum;
      k := i;
    end;
    sum := 0;
  end;
  Write(k);
end.
Pascal

Задача ExamBegin67

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of integer;
  m, n, i, j, sum, min, max, k: integer;
 
begin
  Task('ExamBegin67');
  Readln(m, n);
  for i := 1 to m do
    for j := 1 to n do
    begin
      Read(arr[i, j]);
      if arr[i, j] < min then min := arr[i, j];
    end;
  sum := 0; max := min;
  for i := 1 to n do
  begin
    for j := 1 to m do
      sum := sum + arr[j, i];
    if sum >= max then begin
      max := sum;
      k := i;
    end;
    sum := 0;
  end;
  Write(k);
end.
Pascal

Задача ExamBegin68

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P, 1..P] of real;
  m, n, i, j, k: integer;
  max, min: real;
 
begin
  Task('ExamBegin68');
  read(m, n);
  for i := 1 to m do
    for j := 1 to n do
      read(arr[i, j]);
  max := -maxint;
  for i := 1 to n do
  begin
    min := maxint;
    for j := 1 to m do
    begin
      if arr[j, i] < min then min := arr[j, i];
    end;
    if max < min then
    begin
      max := min;
      k := i;
    end;
  end;
  write(k);
end.
Pascal

Задача ExamBegin69

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P] of real;
  n, i: integer;
  t: real;
 
begin
  Task('ExamBegin69');
  Readln(n);
  for i := 1 to n do
    Read(arr[i]);
  for i := 1 to n - 1 do
  begin
    if i = 1 then t := arr[1];
    arr[i] := arr[i + 1];
    if i = n - 1 then arr[n] := t;
  end;
  for i := 1 to n do
    Write(arr[i]:7:2);
end.
Pascal

Задача ExamBegin70

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

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P] of real;
  n, i: integer;
  t: real;
 
begin
  Task('ExamBegin70');
  Readln(n);
  for i := 1 to n do
    Read(arr[i]);
  for i := n downto 2 do
  begin
    if i = n then t := arr[n];
    arr[i] := arr[i - 1];
    if i = 2 then arr[1] := t;
  end;
  for i := 1 to n do
    Write(arr[i]:7:2);
end.
Pascal

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