Решение задач блока ExamBegin 11-20
Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока ExamBegin: «ЕГЭ по информатике: базовые алгоритмы».
Задача ExamBegin11
На вход подается целое число, большее 1. Вывести наименьший делитель данного числа, больший 1.

uses PT4Exam;
var
a, x: integer;
begin
Task('ExamBegin11');
Read(a);
x := 2;
while a mod x <> 0 do
x := x + 1;
Write(x);
end.
PascalЗадача ExamBegin12
На вход подается целое число, большее 1. Если оно является простым, т. е. не имеет положительных делителей, кроме 1 и самого себя, то вывести текст «YES», иначе вывести «NO».

uses PT4Exam;
var
a, i, k: integer;
begin
Task('ExamBegin12');
Read(a);
k := 0;
for i := 1 to a do
if a mod i = 0 then k := k + 1;
if k > 2 then Write('NO')
else Write('YES');
end.
PascalЗадача ExamBegin13
На вход подается целое число, большее 1. Разложить данное число на простые множители и вывести все множители в порядке возрастания (каждое число выводить на новой строке, среди выводимых чисел могут быть одинаковые).

uses PT4Exam;
var
a, k: integer;
begin
Task('ExamBegin13');
Read(a);
k := 2;
while a <> 1 do
begin
if a mod k = 0 then begin
Writeln(k);
a := a div k;
end
else k := k + 1;
end;
end.
PascalЗадача ExamBegin14
На вход в первой строке подается целое положительное число N, а во второй строке — набор из N целых чисел. Вывести сумму всех чисел из исходного набора.

uses PT4Exam;
var
a, n, i, sum: integer;
begin
Task('ExamBegin14');
Read(n);
sum := 0;
for i := 1 to n do
begin
read(a);
sum := sum + a;
end;
Write(sum);
end.
PascalЗадача ExamBegin15
На вход в первой строке подается целое положительное число N, а в следующих N строках — набор из N вещественных чисел (по одному числу в строке). Вывести произведение всех чисел из исходного набора.

uses PT4Exam;
var
x, i: integer;
a, p: real;
begin
Task('ExamBegin15');
Read(x);
p := 1;
for i := 1 to x do
begin
read(a);
p := p * a;
end;
Write(p:4:2);
end.
PascalЗадача ExamBegin16
На вход подается набор целых чисел, содержащий одно или более ненулевых чисел и завершающийся числом 0; каждое число располагается на новой строке. Вывести сумму всех чисел из исходного набора.

uses PT4Exam;
var
a, sum: integer;
begin
Task('ExamBegin16');
sum := 0;
ReadLn(a);
while a <> 0 do
begin
sum := sum + a;
Readln(a);
end;
WriteLn(sum);
end.
PascalЗадача ExamBegin17
На вход подается набор вещественных чисел, содержащий одно или более положительных чисел и завершающийся отрицательным числом; каждое число располагается на новой строке. Вывести произведение всех положительных чисел из исходного набора.

uses PT4Exam;
var
a, sum: real;
begin
Task('ExamBegin17');
sum := 1;
ReadLn(a);
while a > 0 do
begin
sum := sum * a;
readln(a);
end;
WriteLn(sum:4:2);
end.
PascalЗадача ExamBegin18
На вход подается целое положительное число N. Сформировать и вывести целочисленный массив размера N, содержащий N первых положительных нечетных чисел: 1, 3, 5, … . Каждое число выводить на новой строке.

uses PT4Exam;
const
R = 100;
var
m: array[1..R] of integer;
a, k, n: integer;
begin
Task('ExamBegin18');
Read(a);
k := 1; n := 0;
while n < a do
begin
if k mod 2 = 1 then begin
m[k] := k;
n := n + 1;
Writeln(m[k]);
end;
k := k + 1;
end;
end.
PascalЗадача ExamBegin19
На вход подается целое положительное число N. Сформировать и вывести целочисленный массив размера N, содержащий степени двойки от первой до N-й: 2, 4, 8, 16, … . Выводить все числа в одной строке, для каждого числа отводить 5 экранных позиций.

uses PT4Exam;
const
R = 100;
var
m: array[0..R] of integer;
a, i: integer;
begin
Task('ExamBegin19');
Read(a);
m[0] := 1;
for i := 1 to a do
begin
m[i] := m[i - 1] * 2;
Write(m[i]:5);
end;
end.
Pascaluses PT4Exam;
var
a, i, p: integer;
begin
Task('ExamBegin19');
Read(a);
p := 1;
for i := 1 to a do
begin
p := p * 2;
Write(p:5);
end;
end.
PascalЗадача ExamBegin20
На вход подаются три числа: целое число N (> 1) и вещественные числа A и D — соответственно первый член и разность арифметической прогрессии (каждое число вводится с новой строки). Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A, A + D, A + 2·D, A + 3·D, … . Все числа выводить в одной строке, для каждого числа отводить 7 экранных позиций.

uses PT4Exam;
const
R = 100;
var
m: array[1..R] of real;
n, i: integer;
a, d: real;
begin
Task('ExamBegin20');
Read(n, a, d);
for i := 1 to n do
begin
m[i] := a;
Write(m[i]:7:2);
a := a + d;
end;
end.
Pascaluses PT4Exam;
var
n, i: integer;
a, d: real;
begin
Task('ExamBegin20');
Read(n, a, d);
for i := 1 to n do
begin
Write(a:7:2);
a := a + d;
end;
end.
Pascal