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

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

 Решение задач блока ExamBegin 71-80

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

Задача ExamBegin71

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

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

Задача ExamBegin72

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

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

Задача ExamBegin73

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

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

Задача ExamBegin74

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

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

Задача ExamBegin75

На вход в первой строке подается целое положительное число N, а во второй строке — массив из N целых чисел. Удалить из массива все четные числа. Вывести в первой строке размер преобразованного массива. Если полученный массив не пуст, то вывести во второй строке его элементы; для каждого элемента отводить 4 экранные позиции.

uses PT4Exam;
 
const
  P = 100;
 
var
  arr: array[1..P] of integer;
  n, i, j, k: integer;
 
begin
  Task('ExamBegin75');
  read(n);
  for i := 1 to n do
    read(arr[i]);
  k := n;  
  i := 1;
  while i <= k do
  begin
    if (arr[i] mod 2 = 0) and (arr[i] <> 0) then
    begin
      for j := i to k do
        arr[j] := arr[j + 1];
      k := k - 1;
    end
    else i := i + 1;
  end;
  writeln(k);
  for i := 1 to k do
    write(arr[i]:4);
end.
Pascal

Задача ExamBegin76

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

uses PT4Exam;
 
const
  P = 100;
 
var
  n, m, k, x, i, j: integer;
  arr: array[1..P] of integer;
 
begin
  Task('ExamBegin76');
  read(n);
  m := 1;
  read(arr[m]);
  for i := 2 to n do
  begin
    read(x);
    k := 0;
    for j := 1 to m do
      if arr[j] = x then k := k + 1;
    if k = 0 then
    begin
      m := m + 1;
      arr[m] := x;
    end;
  end;
  for i := 1 to m do
    write(arr[i]:4); 
end.
Pascal

Задача ExamBegin77

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

uses PT4Exam;
 
const
  P = 100;
 
var
  k, n, i: integer;
  arr: array[1..P] of real;
 
begin
  Task('ExamBegin77');
  read(k, n);
  for i := 1 to n do
    read(arr[i]);
  i := n;
  while i >= k do
  begin
    arr[i + 1] := arr[i];
    i := i - 1;
  end;
  for i := 1 to n + 1 do
    write(arr[i]:7:2);
end.
Pascal

Задача ExamBegin78

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

uses PT4Exam;
 
const
  P = 100;
 
var
  k, n, i: integer;
  arr: array[1..P] of real;
 
begin
  Task('ExamBegin78');
  read(k, n);
  for i := 1 to n do
    read(arr[i]);
  i := n;
  while i >= k do
  begin
    arr[i + 1] := arr[i];
    i := i - 1;
  end;
  arr[k] := 1.0;
  for i := 1 to n + 1 do
    write(arr[i]:7:2);
end.
Pascal

Задача ExamBegin79

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

uses PT4Exam;
 
const
  P = 100;
 
var
  k, n, i: integer;
  arr: array[1..P] of real;
 
begin
  Task('ExamBegin79');
  read(k, n);
  for i := 1 to n do
    read(arr[i]);
  i := n;
  while i > k do
  begin
    arr[i + 1] := arr[i];
    i := i - 1;
  end;
  arr[k + 1] := 2.0;
  for i := 1 to n + 1 do
    write(arr[i]:7:2);
end.
Pascal

Задача ExamBegin80

На вход в первой строке подаются целые положительные числа KM и N (K ≤ NM ≤ 10), а во второй строке — массив из N целых чисел. Вставить M элементов со значением 0 перед элементом массива с порядковым номером K (элементы нумеруются от 1). Вывести преобразованный массив в одной строке, для каждого элемента отводить 4 экранные позиции.

uses PT4Exam;
 
const
  P = 100;
 
var
  k, m, n, i: integer;
  arr: array[1..P] of integer;
 
begin
  Task('ExamBegin80');
  read(k, m, n);
  for i := 1 to n do
    read(arr[i]);
  i := n;
  while i >= k do
  begin
    arr[i + m] := arr[i];
    arr[i] := 0;
    i := i - 1;
  end;
  for i := 1 to n + m do
    write(arr[i]:4);
end.
Pascal

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