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

a
A

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


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





Елена Теплоухова

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





Введение


В ЕГЭ по предмету информатика одной из главных тем является программирование. Тема сложная для самостоятельного изучения и требующая понимания ее сути. В программе Паскаль.ABC для тренировки представлены сотни задач различных уровней сложности. Вроде бы столько возможностей хорошо подготовиться к ЕГЭ, много систематизированных заданий – берите и решайте. Но, прочитывая задачи, вы понимаете, что не знаете как их решить. На занятиях с репетитором вы разбирали подобные задачи, но немного измененные условия в задаче вводят в ступор. И появляется страх, что на экзамене попадется именно эта формулировка задачи.

Вы начинаете поиск подобных задач на программирование, которыми пестрят книги и сайты по подготовке к ЕГЭ, но объяснения представлены сложными способами, мало пояснений к решениям, не все нюансы разных условий задач отражены. После поисков в интернете, зачастую безрезультатных, и блужданий по сомнительным форумам, чаще всего приходится ждать следующей консультации с репетитором. Все, что вам нужно в этой ситуации для экономии времени и денег – это иметь простые и понятные решения, чтобы решать любые формулировки заданий и понимать суть их решения. Это дает уверенность в своих силах, систематизирует знания и формирует опыт решения таких задач.

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

Сборник позволит вам с минимальными временными и финансовыми затратами на репетитора самим освоить тему. Он выстроен таким образом, что вы ощутите себя на индивидуальном занятии и сможете продвигаться в своем темпе.




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





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.




Формирование массивов





ExamBegin21


На вход подаются три числа: целое число N (> 1) и вещественные числа A и D – соответственно первый член и знаменатель геометрической прогрессии (каждое число вводится с новой строки). Сформировать и вывести массив размера N, содержащий N первых членов данной прогрессии: A, A·D, A·D


, A·D


, … . Каждое число выводить на новой строке.

uses PT4Exam;

const R = 100;

var

m: array[1..R] of real;

n, i: integer;

a, d: real;

begin

Task('ExamBegin21');





Конец ознакомительного фрагмента. Получить полную версию книги.


Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию (https://www.litres.ru/elena-leonidovna-tep/ege-2021-informatika-programmirovanie-kak-reshat-zada/) на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.



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

Как скачать книгу - "ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?" в fb2, ePub, txt и других форматах?

  1. Нажмите на кнопку "полная версия" справа от обложки книги на версии сайта для ПК или под обложкой на мобюильной версии сайта
    Полная версия книги
  2. Купите книгу на литресе по кнопке со скриншота
    Пример кнопки для покупки книги
    Если книга "ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?" доступна в бесплатно то будет вот такая кнопка
    Пример кнопки, если книга бесплатная
  3. Выполните вход в личный кабинет на сайте ЛитРес с вашим логином и паролем.
  4. В правом верхнем углу сайта нажмите «Мои книги» и перейдите в подраздел «Мои».
  5. Нажмите на обложку книги -"ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?", чтобы скачать книгу для телефона или на ПК.
    Аудиокнига - «ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?»
  6. В разделе «Скачать в виде файла» нажмите на нужный вам формат файла:

    Для чтения на телефоне подойдут следующие форматы (при клике на формат вы можете сразу скачать бесплатно фрагмент книги "ЕГЭ 2021. Информатика. Программирование. Как решать задачи ExamBegin 1-80?" для ознакомления):

    • FB2 - Для телефонов, планшетов на Android, электронных книг (кроме Kindle) и других программ
    • EPUB - подходит для устройств на ios (iPhone, iPad, Mac) и большинства приложений для чтения

    Для чтения на компьютере подходят форматы:

    • TXT - можно открыть на любом компьютере в текстовом редакторе
    • RTF - также можно открыть на любом ПК
    • A4 PDF - открывается в программе Adobe Reader

    Другие форматы:

    • MOBI - подходит для электронных книг Kindle и Android-приложений
    • IOS.EPUB - идеально подойдет для iPhone и iPad
    • A6 PDF - оптимизирован и подойдет для смартфонов
    • FB3 - более развитый формат FB2

  7. Сохраните файл на свой компьютер или телефоне.

Последние отзывы
Оставьте отзыв к любой книге и его увидят десятки тысяч людей!
  • константин александрович обрезанов:
    3★
    21.08.2023
  • константин александрович обрезанов:
    3.1★
    11.08.2023
  • Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *