ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?

Елена Леонидовна Теплоухова, 2020

Если вы планируете сдавать ЕГЭ по информатике, то наверняка задачи на программирование представляют для вас самую большую проблему. В этой книге доступно даётся пошаговый алгоритм решения 80 первых задач из ExamBegin. С этим сборником задачи на программирование больше не будут вас пугать, и вы сможете получить максимальный балл на экзамене.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80? предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Условные операторы и циклы

ExamBegin1

На вход подаются два целых числа; числа расположены в одной строке. Вывести вначале максимальное, а затем минимальное из них. Числа должны выводиться в одной строке и разделяться одним пробелом.

uses PT4Exam;

var

a, b: integer;

begin

Task('ExamBegin1');

Read(a, b);

if a > b then Write(a, ' ', b)

else Write(b, ' ', a);

end.

ExamBegin2

На вход подаются три вещественных числа; числа расположены в одной строке. Вывести вначале минимальное, а затем максимальное из них. Каждое число должно выводиться на новой строке и снабжаться комментарием: «MIN=» для минимального, «MAX=» для максимального.

uses PT4Exam;

var

x, max, min: real;

i: integer;

begin

Task('ExamBegin2');

min:= maxreal;

max:= — maxreal;

for i:= 1 to 3 do

begin

read(x);

if x > max then max:= x;

if x < min then min:= x;

end;

WriteLn('MIN=', min:4:2);

WriteLn('MAX=', max:4:2);

end.

ExamBegin3

На вход подаются четыре целых числа; каждое число вводится с новой строки. Вывести минимальное из них.

uses PT4Exam;

var

i, a, min: integer;

begin

Task('ExamBegin3');

min:= 32768;

for i:= 1 to 4 do

begin

Read(a);

if a < min then min:= a;

end;

Write(min);

end.

ExamBegin4

На вход подаются три целых числа — коэффициенты A, B, C квадратного уравнения A·x2 + B·x + C = 0 (A не равно 0). Каждое число вводится с новой строки. Найти корни данного уравнения. Корни вычисляются как вещественные числа. Если имеются два различных корня, то вначале выводить меньший, а затем больший (каждый на новой строке). Если корней нет, то вывести текст «NO».

uses PT4Exam;

var

a, b, c: integer;

d, x, x1, x2: real;

begin

Task('ExamBegin4');

Read(a, b, c);

d:= sqr(b) — 4 * a * c;

if d < 0 then Write('NO')

else begin

if d = 0 then begin

x:= — (b / (2 * a));

WriteLn(x:4:2);

end

else begin

x1:= — (b + sqrt(d)) / (2 * a);

x2:= — (b — sqrt(d)) / (2 * a);

if x1 > x2 then begin

WriteLn(x2:4:2);

WriteLn(x1:4:2);

end

else begin

WriteLn(x1:4:2);

WriteLn(x2:4:2);

end;

end;

end;

end.

ExamBegin5

На вход подаются два целых положительных числа; каждое число вводится с новой строки. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если B ≠ 0; НОД(A, 0) = A, где «mod» обозначает операцию взятия остатка от деления.

uses PT4Exam;

var

a, b: integer;

begin

Task('ExamBegin5');

Read(a, b);

while a <> b do

begin

if a > b then a:= a — b

else b:= b — a;

end;

Write(a);

end.

ExamBegin6

На вход подаются два целых положительных числа; числа расположены в одной строке. Найти их наименьшее общее кратное (НОК), используя формулу НОК(A, B) = A·(B/НОД(A, B)), где НОД(A, B) — наибольший общий делитель, а символ «/» обозначает операцию деления нацело. НОД находить с помощью алгоритма Евклида (см. задание ExamBegin5).

uses PT4Exam;

var

a, b, nod: integer;

begin

Task('ExamBegin6');

Read(a, b);

nod:= a * b;

while a <> b do

begin

if a > b then a:= a — b

else b:= b — a;

end;

Write(nod div a);

end.

ExamBegin7

На вход подаются два целых положительных числа: A и D (2 ≤ D ≤ 9); числа расположены в одной строке. Вывести строку, изображающую запись числа A в системе счисления с основанием D(полученная строка не должна содержать незначащих нулей).

uses PT4Exam;

var

a, b, rem, num, k: integer;

begin

Task('ExamBegin7');

Read(a, b);

num:= 0; k:= 1;

while a > 0 do

begin

rem:= a mod b;

a:= a div b;

num:= num + rem * k;

k:= k * 10;

end;

Write(num);

end.

ExamBegin8

На вход в первой строке подается целое число D (2 ≤ D ≤ 9), а во второй строке — текст, изображающий запись целого положительного числа A в системе счисления с основанием D. Вывести число A в десятичной системе счисления.

uses PT4Exam;

var

a, num, k, m: integer;

b: string;

begin

Task('ExamBegin8');

Readln(a);

Readln(b);

num:= 0; m:= 1;

while length(b) > 0 do

begin

k:= StrToInt(Copy(b, length(b), 1));

Delete(b, length(b), 1);

num:= num + k * m;

m:= m * a;

end;

Write(num);

end.

ExamBegin9

На вход подается целое положительное число. Если оно является степенью числа 2, то вывести текст «YES», иначе вывести «NO».

uses PT4Exam;

var

a, x: integer;

num: boolean;

begin

Task('ExamBegin9');

ReadLn(a);

x:= 1; num:= false;

while x <= a do

begin

x:= x * 2;

if (x = a) or (a = 1) then num:= true;

end;

if num = true then Write('YES')

else Write('NO');

end.

ExamBegin10

На вход подаются два целых положительных числа A и K; каждое число располагается на новой строке. Если число A является степенью числа K, т. е. A = KN, то вывести показатель этой степени N, иначе вывести текст «NO».

uses PT4Exam;

var

a, k, x, n: integer;

z: boolean;

begin

Task('ExamBegin10');

Read(a, k);

x:= 1; n:= 0; z:= false;

while x < a do

begin

x:= x * k;

n:= n + 1;

if x = a then z:= true;

end;

if (z = true) or (a = 1) then write(n)

else write('NO');

end.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Другое решение 19 задачи.

uses 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.

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.

Другое решение 20 задачи.

uses 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.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80? предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я