Решение задач блока 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
На вход в первой строке подаются целые положительные числа K1, K2 и 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
На вход в первой строке подаются целые положительные числа K1, K2 и 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
На вход в первой строке подаются целые положительные числа K, M и N (K ≤ N, M ≤ 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