Подготовка к ЕГЭ по информатике. Решение задания 24

Содержание

Слайд 3

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число,

Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число,
которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Программист написал программу неправильно.

Слайд 4

N = 1984
d=4
m=10*4+m=40
n=(1984-4) div 10=1980

n:= (n-d) div 10;

m := 10*d + m;

d

N = 1984 d=4 m=10*4+m=40 n=(1984-4) div 10=1980 n:= (n-d) div 10;
:= n mod 10;

N = 198
d=8
m=80+40=120
n=(198-8) div 10=19

N = 19
d=9
m=90+120=210
n=(19-9) div 10=1

Слайд 5

На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди

На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди
которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, кратных трёх, программа должна вывести слово «NO». Программист написал программу неправильно.

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 2 9 4 3. 2. Приведите пример такой последовательности, содержащей число, кратное 3, при вводе которой программа выведет правильный ответ.

Слайд 6

3. Найдите все ошибки в этой программе (их может быть одна или

3. Найдите все ошибки в этой программе (их может быть одна или
несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Слайд 7

25 задание – 2 балла

25 задание – 2 балла

Слайд 9

Дан массив, содержащий 2019 положительных целых чисел, не превышающих 15000. Необходимо найти

Дан массив, содержащий 2019 положительных целых чисел, не превышающих 15000. Необходимо найти
количество чётных элементов массива, не кратных 3, заменить все нечётные элементы, кратные 3, на это количество и вывести изменённый массив. Например, для исходного массива из пяти элементов 20, 89, 27, 92, 48 программа должна вывести числа 20, 89, 2, 92, 48.
Напишите на одном из языков программирования программу для решения этой задачи.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

const
N=2019;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);

end.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.

Слайд 10

const
N=5;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for

const N=5; var a: array [1..N] of integer; i, m, k: integer;
i:=1 to N do
readln(a[i]);
k:=0;
for i:=1 to N do
if (A[i] mod 2=0) and (A[i] mod 3<>0) then
k:=k+1;
for i:=1 to N do
if (A[i] mod 2<>0) and (A[i] mod 3=0) then
a[i]:=k;
for i:=1 to N do
writeln (A[i]);
end.

Слайд 11

Дан массив, содержащий 2019 положительных целых чисел, не превышающих 15000.
Необходимо найти минимальный

Дан массив, содержащий 2019 положительных целых чисел, не превышающих 15000. Необходимо найти
и максимальный чётные элементы (если в массиве нет чётных элементов, минимум и максимум считаются равными нулю), вычислить их среднее арифметическое, уменьшить все нечётные элементы, превышающие это среднее, на величину этого среднего и вывести изменённый массив.
Например, для исходного массива из пяти элементов 30, 89, 27, 90, 68 программа должна вывести числа 30, 29, 27, 90, 68 (минимум и максимум равны 30 и 90, их среднее равно 60, все нечётные элементы, превышающие 60, уменьшены на 60).
Напишите на одном из языков программирования программу для решения этой задачи.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

const
N=2019;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
...
end.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия.

Слайд 12

m := 15001; k := 0;
for i:=1 to N do
begin
if

m := 15001; k := 0; for i:=1 to N do begin
(a[i] mod 2 = 0) and (a[i] < m) then m := a[i];
if (a[i] mod 2 = 0) and (a[i] > k) then k := a[i];
end;
if m > 15000 then m := 0;
m := (m+k) div 2;
for i:=1 to N do begin
if (a[i] mod 2 = 1) and (a[i] > m) then
a[i] := a[i] – m;
writeln(a[i])
end;

Слайд 16

6

1 ≤ S ≤

Завершение игры >=68

+1
*3

 

6 1 ≤ S ≤ Завершение игры >=68 +1 *3

Слайд 17

6

1 ≤ S ≤

Завершение игры >=68

+1
*3

S=20
(6,20)

(7,20)

+1 Петя 1 ход

(8,20)

(7,21)

(21,20)

(7,60)

+1 Ваня 1

6 1 ≤ S ≤ Завершение игры >=68 +1 *3 S=20 (6,20)
ход

Петя *3 и выигрывает вторым ходом