Вариант
1
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 15;
n := 99;
while n > s do begin
s := s + 3;
n := n - 2
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл).Ниже
на записан рекурсивный алгоритм F:
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1)+F(n-2)+F(n-3)
else
F := n;
end;
Чему будет равно значение, вычисленное алгоритмом при выполнении
вызова F(6)?
3. (ЕГЭ-19,
1 балл). В
программе используется одномерный целочисленный массив A с индексами от 0 до 9.
Ниже представлен фрагмент программы, в котором значения элементов сначала
задаются, а затем меняются.
for i:=0
to 9 do
A[i]:=9-i;
for i:=0 to
4 do begin
k:=A[i];
A[i]:=A[9-i];
A[9-i]:=k;
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл). Ниже представлен фрагмент
программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до
10.
s := 32;
n := 10;
for i:=0 to n-1 do begin
s:=s+A[i+1]-A[i]+1
end;
Известно, что в начале выполнения этого фрагмента в массиве
находилась возрастающая последовательность чисел, то есть A[0] < A[1] < …
< A[10]. Какое наименьшее значение может иметь переменная s после выполнения
данной программы?
5. (ЕГЭ-20,
1 балл). Укажите наименьшее
натуральное число, при вводе которого эта программа напечатает сначала 2, потом
– 7.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 0;
while x > 0 do begin
if x mod 2 = 0 then
a := a + 1
else
b := b + x mod 4;
x := x div 4;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла).
На вход
программы поступает натуральное число. Требуется определить сумму цифр в
десятичной записи этого числа, которые не кратны 3 (считается, что 0 кратно
любому числу). Для решения этой задачи ученик написал программу, но, к
сожалению, его программа неправильная.
var N, digit, sum: longint;
begin
readln(N);
sum := N mod 10;
while N > 0 do begin
digit := N mod 10;
if digit mod 3 > 0 then
sum := digit;
N := N div 10;
end;
if sum > 0 then
writeln(sum)
else
writeln('NO')
end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 654.
2. Укажите одно трёхзначное число, при вводе которого
программа выведет правильный ответ.
3. Найдите в программе все ошибки (их
может быть одна или несколько). Для каждой ошибки выпишите строку, в которой
она допущена, и приведите эту же строку в исправленном виде.
7.
(ЕГЭ-25,
2 балла). Дан целочисленный массив из 200 элементов, в
котором записаны значения последовательных результатов измерений. Элементы
массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на
одном из языков программирования алгоритм, который выполняет выбраковку данных
в массиве: заменяет на 0 значения всех элементов, которые отличаются от
среднего арифметического всех четных элементов более, чем на половину этого
значения. Гарантируется, что хотя бы один чётный положительный элемент в массиве
есть. Например, для исходного массива из восьми элементов:
6 1 6 10 11 7 2
9
программа должна вывести (по одному
числу в строке) числа
6 0 6 0 0 7 0 9
Паскаль
|
Алгоритмический
язык
|
const N = 200;
var
a: array [1..N] of
integer;
i, k: integer;
s: real;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 200
целтаб a[1:N]
цел i, k
вещ s
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант 2
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 6;
n := 60;
while n > s do begin
s := s + 1;
n := n - 2
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Ниже
записаны две рекурсивные процедуры, F и G:
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
if n > 0 then
G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then begin
writeln('*');
F(n - 2);
end;
end;
Сколько
символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)?
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10. В
приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
A[i]:= i + 1;
for i:=10 downto 0 do
A[i]:= A[10-i];
Чему будут равны элементы этого массива после выполнения
фрагмента программы?
4. (ЕГЭ-19,
1 балл). Ниже
представлен фрагмент программы, обрабатывающей одномерный целочисленный массив
с индексами от 0 до 10.
s := 15;
n := 10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]+3
end;
Известно, что в начале выполнения
этого фрагмента в массиве находилась возрастающая последовательность чисел, то
есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь
переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наибольшее натуральное число, при вводе которого эта программа напечатает
сначала 3, потом – 6.
var x, L, M: integer;
begin
readln(x);
L:=0; M:=0;
while x > 0 do begin
L:=L + 1;
if (x mod 8) <> 0 then
M:= M + x mod 8;
x:= x div 8;
end;
writeln(L); write(M);
end.
6. (ЕГЭ-24,
3 балла). На
вход программы поступает натуральное число. Требуется определить сумму цифр в
десятичной записи этого числа, которые кратны 3 (считается, что 0 кратно любому
числу). Для решения этой задачи ученик написал программу, но, к сожалению, его
программа неправильная.
Pascal
|
Python
|
var N, digit, sum: longint;
begin
readln(N);
sum := N mod 10;
while N > 0 do begin
digit := N mod 10;
if digit mod 3 = 0 then
sum := digit;
N := N div 10;
end;
if sum > 0 then
writeln(sum)
else
writeln('NO')
end.
|
N = int(input())
sum = N % 10
while N > 0:
digit = N
% 10
if digit
% 3 == 0:
sum
= digit
N = N //
10
if sum > 0:
print(sum)
else:
print('NO')
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 653.
2. Укажите одно трёхзначное число, при вводе которого
программа выведет правильный ответ. Укажите это ответ.
3. Найдите в программе все ошибки (их может быть одна или
несколько). Для каждой ошибки выпишите строку, в которой она допущена, и
приведите эту же строку в исправленном виде.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 200 элементов, в
котором записаны значения последовательных результатов измерений. Элементы
массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на
одном из языков программирования алгоритм, который выполняет выбраковку данных
в массиве: если максимальный чётный элемент массива меньше максимального
нечётного, все чётные элементы заменяются на единицу, иначе все нечётные
элементы заменяются на нули. Например, для исходного массива из восьми
элементов:
7 1 3 2 14 5 9
6
программа должна вывести (по одному
числу в строке) числа
0 0 0 2 14 0 0
6
Паскаль
|
Алгоритмический
язык
|
const N = 200;
var
a: array [1..N] of
integer;
i, j, k, s: integer;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 200
целтаб a[1:N]
цел i, j, k, s
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная работа по
информатике за II
семестр 2018-2019 уч.года
Вариант 3
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 10;
n := 55;
while n > s do begin
s := s + 1;
n := n - 1
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Дан
рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n > 1 then begin
writeln(n);
F(n-1);
F(n-4)
end
end;
Найдите
сумму чисел, которые будут выведены при вызове F(7).
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=10 downto 0 do begin
k:=A[10-i];
A[10-i]:=A[i];
A[i]:=k;
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже
представлен фрагмент программы, обрабатывающей данный массив:
s:=29;
n:=10;
for i:=0 to n-1 do begin
s:= s + A[i] -
A[i+1]
end;
Известно, что в начале выполнения этого фрагмента в массиве
находилась возрастающая последовательность чисел, то есть A[0] < A[1] < …
< A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной
программы?
5. (ЕГЭ-20,
1 балл). Укажите
наибольшее натуральное число, при вводе которого эта программа напечатает
сначала 14, потом – 3.
var x, L, M: integer;
begin
readln(x);
L := 0;
M := 0;
while x > 0 do begin
M := M + 1;
if x mod 2 <> 0 then
L := L + x mod 8;
x := x div 8
end;
writeln(L);
writeln(M)
end.
6. (ЕГЭ-24,
3 балла). Дано
натуральное число A>0. Требуется вывести такое минимально возможное нечётное
натуральное число K, при котором сумма 1*2 + 3*4 + … + K*(K+1) окажется больше
A. Приведённая ниже программа содержит ошибки.
Pascal
|
Python
|
var A, s, k: integer;
begin
read(A);
s := 0;
k := 0;
while s <= A do begin
s := s + k*(k+1);
k := k + 1;
end;
writeln(k)
end.
|
A = int(input())
s = 0
k = 0
while s <= A:
s = s +
k*(k+1)
k = k + 1
print(k)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 15.
2. Укажите два наименьших значения A,
большие, чем 10, при которых программа выведет верный ответ.
3. Найдите в программе все ошибки (их может быть одна или
несколько). Для каждой ошибки выпишите строку, в которой она допущена, и
приведите эту же строку в исправленном виде.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 200 элементов, в
котором записаны значения последовательных результатов измерений. Элементы
массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на
одном из языков программирования алгоритм, который выполняет выбраковку данных
в массиве: если количество чётных элементов меньше, чем количество нечётных
элементов, все чётные элементы заменяются на максимальный из них. Иначе все
нечётные элементы заменяются на минимальный из них. Например, для исходного
массива из восьми элементов:
7 1 3 2 14 5 9
6
программа должна вывести (по одному
числу в строке) числа
7 1 3 14 14 5 9
14
Паскаль
|
Алгоритмический
язык
|
const N = 200;
var
a: array [1..N] of
integer;
i, j, k, s: integer;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 200
целтаб a[1:N]
цел i, j, k, s
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная работа по
информатике за II
семестр 2018-2019 уч.года
Вариант 4
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 0;
n := 20;
while n > s do begin
s := s + 1;
n := n - 1
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Ниже
записаны две рекурсивные процедуры, F и G:
procedure F(n: integer); forward;
procedure G(n: integer); forward;
procedure F(n: integer);
begin
writeln('*');
if n > 0 then
G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n > 1 then
F(n - 2);
end;
Сколько
символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)?
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to
10 do A[i]:=i+5;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[10-i];
A[10-i]:=k;
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл).В
программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже
представлен фрагмент программы, обрабатывающей данный массив:
s:=27;
n:=10;
for i:=0 to n-1 do begin
s:= s + A[i] -
A[i+1]
end;
Известно, что в начале
выполнения этого фрагмента в массиве находилась убывающая последовательность
чисел, то есть A[0] > A[1] >…> A[10]. Какое наименьшее значение может
иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наибольшее трёхзначное натуральное число, при вводе которого эта программа
напечатает сначала 2, потом – 8.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + x mod 8
else
b := b * (x mod 8);
x := x div 8;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). На
вход программы поступает натуральное число, не превышающее 109.
Нужно написать программу, которая выводит на экран максимальную цифру числа,
меньшую 5. Если в числе нет цифр, меньших 5, требуется на экран вывести «NO». В приведённой программе есть
ошибки.
Pascal
|
Python
|
var N, d, m: longint;
begin
readln(N);
m := N mod 10;
while N > 0 do begin
d := N mod 10;
if d < 5 then
if d > m then m := d;
N := N div 10;
end;
if m = 0 then
writeln('NO')
else writeln( m )
end.
|
N = int(input())
m = N % 10
while N > 0:
d = N %
10
if d <
5:
if
d > m:
m
= d
N = N //
10
if m == 0:
print('NO')
else:
print(m)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 157.
2. Укажите наибольшее трёхзначное значение входной переменной
n, при вводе которого
программа выведет правильный ответ. Укажите это ответ.
3. Найдите в программе все ошибки (их
может быть одна или несколько). Для каждой ошибки выпишите строку, в которой
она допущена, и приведите эту же строку в исправленном виде.
7. (ЕГЭ-25, 2
балла)..Дан целочисленный
массив из 200 элементов, в котором записаны значения последовательных
результатов измерений. Элементы массива могут принимать целые значения от 0 до
10 000 включительно. Опишите на одном из языков программирования алгоритм,
который выполняет выбраковку данных в массиве: если элементов, заканчивающихся
на цифру 3, меньше, чем элементов, заканчивающихся на цифру 5, все элементы,
заканчивающие на цифру 3 заменяются на минимальный из них. Иначе все элементы,
заканчивающиеся на цифру 5, заменяются на максимальный из них. Например, для
исходного массива из восьми элементов:
15 13 3 27 145
5 93 65
программа должна вывести (по одному
числу в строке) числа
15 3 3 27 145 5
3 65
Паскаль
|
Алгоритмический
язык
|
const N = 200;
var
a: array [1..N] of
integer;
i, j, k, s: integer;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 200
целтаб a[1:N]
цел i, j, k, s
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант 5
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var n, s: integer;
begin
n := 0;
s := 200;
while s > 0 do begin
s := s - 15;
n := n + 3;
end;
write(n)
end.
2. (ЕГЭ-11,
1 балл). Дан
рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln(n);
if n < 6 then begin
n:= n + 1;
F(n + 1);
F( n*2 );
writeln ( n );
end
end;
Найдите
сумму чисел, которые будут выведены при вызове F(1).
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to
10 do A[i]:=2*i;
for i:=0 to 10 do begin
k:=A[i];
A[i]:=A[10-i];
k:=A[10-i];
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже
представлен фрагмент программы, обрабатывающей данный массив:
s:=0;
n:=10;
for i:=0 to n-3 do begin
s:=s+A[i]-A[i+3]
end;
В начале выполнения этого фрагмента в
массиве находились двухзначные натуральные числа. Какое наибольшее значение
может иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наименьшее натуральное число, при вводе которого эта программа напечатает
сначала 2, потом – 24.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + x mod 8
else
b := b * (x mod 8);
x := x div 8;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). На
вход программы поступает натуральное число, не превышающее 109.
Нужно написать программу, которая выводит на экран максимальную цифру числа,
кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «NO». В приведённой программе есть
ошибки.
Pascal
|
Python
|
var N, d, m: longint;
begin
readln(N);
m := 0;
while N > 0 do begin
d := N mod 10;
if d mod 3 = 0 then
if d > m then m := d;
N := N div 10;
end;
if m = 0 then
writeln('NO')
else writeln( m )
end.
|
N = int(input())
m = 0
while N > 0:
d = N %
10
if d % 3
== 0:
if
d > m:
m
= d
N = N //
10
if m == 0:
print('NO')
else:
print(m)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 170.
2. Укажите наименьшее трёхзначное
значение входной переменной n, при вводе которого программа
выведет правильный ответ. Укажите это ответ.
3. Найдите в программе все ошибки (их
может быть одна или несколько). Для каждой ошибки выпишите строку, в которой
она допущена, и приведите эту же строку в исправленном виде.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 30 элементов.
Элементы массива могут принимать целые значения от 0 до 10 000 включительно.
Опишите на одном из языков программирования алгоритм, который находит все
минимальные значения и заменяет их на максимальные. Гарантируется, что в
массиве есть хотя бы два разных элемента. В качестве результата необходимо
вывести измененный массив, каждый элемент массива выводится с новой строчки.
Например, для массива из восьми элементов:
29 4 115 7 195
25 4 106
программа должна вывести (по одному
числу в строке) числа:
29 195 115 7
195 25 195 106
Паскаль
|
Алгоритмический
язык
|
const N = 30;
var a: array [1..N] of
longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант 6
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var n, s: integer;
begin
n := 0;
s := 355;
while s > 0 do begin
s := s - 20;
n := n + 2;
end;
write(n)
end.
2. (ЕГЭ-11,
1 балл). Даны
две рекурсивные функции:
function F(n: integer): integer;
begin
if n > 1 then
F := F(n - 1) + G(n - 1)
else
F := n + 1;
end;
function G(n: integer): integer;
begin
if n > 1 then
G := G(n - 1) + F(n)
else
G := n - 1;
end;
Чему
будет равно значение, вычисленное при выполнении вызова F(5)?
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to
10 do A[i]:=2*i+1;
for i:=0 to 4 do begin
k:=A[10-i];
A[10-i]:=A[i];
k:=A[i];
end;
Чему будут равны элементы этого массива после выполнения
фрагмента программы?
- (ЕГЭ-19,
1 балл). В программе описан одномерный целочисленный массив с индексами от 0
до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:
s:=0;
n:=10;
for i:=0 to n-2 do begin
s:=s+A[i]-A[i+2]
end;
В начале выполнения этого фрагмента в
массиве находились двухзначные натуральные числа. Какое наибольшее значение
может иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наибольшее трёхзначное натуральное число, при вводе которого эта программа
напечатает сначала 2, потом – 7.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + x mod 6
else
b := b + (x mod 6);
x := x div 6;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). Факториалом
натурального числа n называется произведение всех натуральных чисел от 1 до n.
Например, 4! = 1·2·3·4 = 24. На вход программы поступает положительное число
A. Необходимо вывести минимальное натуральное K, для которого 1! + 2! + … + K!
> A. К сожалению, приведённая ниже программа неправильная.
Pascal
|
Python
|
var A, k, f, s: integer;
begin
read(a);
k := 1;
f := 1;
s := 1;
while s <= A do begin
f := f * k;
k := k + 1;
s := s + f
end;
writeln(k)
end.
|
A = int(input())
k = 1
f = 1
s = 1
while s <= A:
f *= k
k += 1
s += f
print(k)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 8.
2. Назовите минимальное A, большее 5, при котором программа
выведет верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 30 элементов.
Элементы массива могут принимать целые значения от 0 до 10 000 включительно.
Опишите на одном из языков программирования алгоритм, который находит самую
большую сумму двух соседних элементов и заменяет на эту сумму все элементы,
кратные 3. Гарантируется, что в массиве есть хотя бы один элемент, кратный 3. В
качестве результата необходимо вывести измененный массив в обратном порядке,
каждый элемент массива выводится с новой строчки. Например, для массива из восьми
элементов:
1 2 6 3 2 7 3 4
программа должна вывести (по одному
числу в строке) числа:
4 10 7 2 10 10
2 1
Паскаль
|
Алгоритмический
язык
|
const N = 30;
var a: array [1..N] of
longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант 7
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 20;
n := 0;
while 151 < s*s do begin
s := s - 1;
n := n + 2
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Даны
две рекурсивные функции:
function F(n: integer): integer;
begin
if n > 1 then
F := F(n - 1) + G(n - 1)
else
F := 2*n;
end;
function G(n: integer): integer;
begin
if n > 1 then
G := G(n - 1) + F(n)
else
G := n - 2;
end;
Чему
будет равно значение, вычисленное при выполнении вызова F(5)?
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to
10 do A[i]:=i*i+2;
for i:=0 to 4 do begin
k:=A[i];
A[i]:=A[i+5];
A[i+5]:=k;
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
- (ЕГЭ-19, 1 балл). В программе описан
одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен
фрагмент программы, обрабатывающей данный массив:
s:=0;
n:=10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]
end;
В начале выполнения этого фрагмента в
массиве находились двухзначные натуральные числа. Какое наибольшее значение
может иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наименьшее трёхзначное натуральное число, при вводе которого эта программа
напечатает сначала 2, потом – 9.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + x mod 6
else
b := b + (x mod 6);
x := x div 6;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). Факториалом
натурального числа n называется произведение всех натуральных чисел от 1 до n.
Например, 4! = 1 · 2 · 3 · 4 = 24. На вход программы поступает положительное
число A. Необходимо вывести минимальное натуральное K, для которого 1! + 2! + …
+ K! > A. К сожалению, приведённая ниже программа неправильная.
Pascal
|
Python
|
var A, k, f, s: integer;
begin
read(a);
k := 1;
f := 1;
s := 0;
while f <= A do begin
k := k + 1;
f := f * k;
s := s + f
end;
writeln(k)
end.
|
A = int(input())
k = 1
f = 1
s = 0
while f <= A:
k += 1
f *= k
s += f
print(k)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 10.
2. Назовите минимальное A, большее
15, при котором программа выведет неверный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 30 элементов.
Элементы массива могут принимать целые значения от 0 до 10 000 включительно.
Опишите на одном из языков программирования алгоритм, который подсчитывает
количество пар соседних элементов, разница между которыми не кратна 7, а затем
заменяет каждый элемент, кратный 7 на число, равное найденному количеству.
Гарантируется, что в массиве есть хотя бы один элемент, кратный 7. В качестве
результата необходимо вывести сначала первую половину массива по одному
элементу в строке, а затем вывести вторую половину массива в обратном порядке
по одному элементу в строке. Например, для массива из восьми элементов:
21 2 9 3 2 7 14
4
программа должна получить массив
5 2 9 3 2 5 5 4
вывести (по одному числу в строке)
числа:
5 2 9 3 4 5 5 2
Паскаль
|
Алгоритмический
язык
|
const N = 30;
var a: array [1..N] of
longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант
8
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 20;
n := 0;
while 121 < s*s do begin
s := s - 1;
n := n + 3
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Определите, что выведет на экран
программа при вызове F(4).
procedure F(n: integer);
begin
if n > 0 then begin
f(n div 4);
write(1);
f(n - 3);
end;
write(2);
end;
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10 и
целочисленные переменные k, i. В приведенном ниже
фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[10-i]:=i+2;
k:=A[9];
for i:=0 to 9 do
A[10-i]:=A[9-i];
A[1]:=k;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл).В
программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже
представлен фрагмент, обрабатывающей данный массив:
s:=0;
n:=10;
for i:=0 to n-3 do begin
s:=s+A[i]-A[i+3]
end;
В начале выполнения этого фрагмента в
массиве находились трёхзначные натуральные числа. Какое наибольшее значение
может иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наибольшее трёхзначное натуральное число, при вводе которого эта программа
напечатает сначала 2, потом – 6.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + 1
else
b := b + (x mod 5);
x := x div 5;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). На
вход программы поступает натуральное число N, не превышающее 109.
Требуется найти и наибольшую нечётную цифру в десятичной записи этого числа или
вывести «NO», если таких цифр нет. К сожалению, приведённая ниже программа
неправильная.
Pascal
|
Python
|
var N, d, m, t: longint;
begin
read(N);
t := 0;
m := t;
while N > 1 do begin
d := N mod 10;
if (d mod 2 = 1) or (d >
m) then
m := d;
N := N div 10
end;
if m = t then
writeln('NO')
else writeln(m)
end.
|
N = int(input())
t = 0
m = t
while N > 1:
d = N % 10
if d % 2 == 1 or d > m:
m = d
N = N // 10
if m == t:
print("NO")
else:
print(m)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 815.
2. Какое наименьшее число может быть выведено при работе этой
программы? Приведите пример числа N, при вводе которого программа выведет такой
ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
7. (ЕГЭ-25, 2
балла). Дан целочисленный
массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до
10 000 включительно. Опишите на одном из языков программирования алгоритм,
который подсчитывает сумму первых цифр двузначных нечётных элементов, а затем
заменяет каждый двузначный нечётный элемент на число, равное найденной сумме.
Гарантируется, что в массиве есть хотя бы один двузначный нечётный элемент. В
качестве результата необходимо вывести сначала вторую половину массива, а затем
первую, по одному элементу в строке. Например, для массива из восьми элементов:
7 15 9 333 22
71 14 95
программа должна получить массив
7 17 9 333 22
17 14 17
и вывести (по одному числу в строке)
числа:
22 17 14 17 7
17 9 333
Паскаль
|
Алгоритмический
язык
|
const N = 30;
var a: array [1..N] of
longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
Зачетная
работа по информатике за II
семестр 2018-2019 уч.года
Вариант 9
1. (ЕГЭ-8,
1 балл). Запишите число, которое будет выведено в результате работы
программы:
var s, n: integer;
begin
s := 20;
n := 0;
while 150 < s*s do begin
s := s - 1;
n := n + 3
end;
writeln(n)
end.
2. (ЕГЭ-11,
1 балл). Определите, что выведет на экран
программа при вызове F(9).
procedure F(n: integer);
begin
if n > 3 then begin
write(n);
F(n-3);
n:=n+1;
F(n div 3)
end
else
write(n);
end;
3. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже
представлен фрагмент этой программы, в котором значения элементов массива
сначала задаются, а затем меняются.
for i:=0 to
10 do
A[i]:=i;
for i:=0 to 5 do begin
A[5-i]:=A[5+i];
A[2+i]:=A[10-i];
end;
Чему
будут равны элементы этого массива после выполнения фрагмента программы?
4. (ЕГЭ-19,
1 балл). В
программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже
представлен фрагмент, обрабатывающей данный массив:
s:=0;
n:=10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]
end;
В начале выполнения этого
фрагмента в массиве находились трёхзначные натуральные числа. Какое наибольшее
значение может иметь переменная s после выполнения данной программы?
5. (ЕГЭ-20,
1 балл). Укажите
наименьшее трёхзначное натуральное число, при вводе которого эта программа
напечатает сначала 2, потом – 9.
var x, a, b: longint;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
if x mod 2 > 0 then
a := a + 1
else
b := b + (x mod 5);
x := x div 5;
end;
writeln(a); write(b);
end.
6. (ЕГЭ-24,
3 балла). На
вход программы поступает натуральное число N, не превышающее 109.
Требуется найти и вывести наибольшую чётную цифру в десятичной записи этого
числа или вывести «NO», если таких цифр нет. К сожалению, приведённая ниже
программа неправильная.
Pascal
|
Python
|
var N, d, m, t: longint;
begin
read(N);
t := 0;
m := t;
while N > 1 do begin
d := N mod 10;
if (d mod 2 = 0) or (d
> m) then
m := m + d;
N := N div 10
end;
if m = t then
writeln('NO')
else writeln(m)
end.
|
N = int(input())
t = 0
m = t
while N > 1:
d = N % 10
if d % 2 == 0 or d >
m:
m = m + d
N = N // 10
if m == t:
print("NO")
else:
print(m)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 132.
2. Какое наибольшее число может быть выведено при вводе
трёхзначного числа? Сколько существует таких чисел N, при вводе которого
программа выведет такой ответ?
3. Найдите допущенные программистом ошибки и исправьте их.
7. (ЕГЭ-25, 2
балла). Дан целочисленный массив из 30 элементов.
Элементы массива могут принимать целые значения от 0 до 10 000 включительно.
Напишите на одном из языков программирования программу, которая находит
минимальный элемент массива, затем удваивает все элементы массива, которые
меньше, чем удвоенный минимальный, и выводит изменённый массив в обратном
порядке, по одному числу в строке. Например, из массива
7, 5, 9, 4, 8,
7, 14, 9
программа должна получить массив
14, 10, 9, 8,
8, 14, 14, 9
и вывести (по одному числу в строке)
числа:
9 14 14 8 8 9
10 14
Паскаль
|
Алгоритмический
язык
|
const N = 30;
var a: array [1..N] of
longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.
|
алг
нач
цел N = 30
целтаб a[1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон
|
КЛЮЧ
|
№1
(1 балл)
|
№2
(1
балл)
|
№3
(1 балл)
|
№4
(1
балл)
|
№5
(1 балл)
|
Вариант 1
|
65
|
20
|
0 1 2 3 4 5 6 7
8 9
|
52
|
271
|
Вариант 2
|
24
|
9
|
1 2 3 4 5 6 5 4
3 2 1
|
35
|
384
|
Вариант 3
|
32
|
64
|
0 1 2 3 4 5 6 7
8 9 10
|
19
|
510
|
Вариант 4
|
10
|
10
|
15 14 13 12 11
10 9 8 7 6 5
|
37
|
785
|
Вариант 5
|
42
|
73
|
20 18 16 14 12
10 12 14 16 18 20
|
267
|
614
|
Вариант 6
|
36
|
26
|
1 3 5 7 9 11 9 7
5 3 1
|
178
|
943
|
Вариант 7
|
16
|
5
|
27 38 51 66 83
23 6 11 18 102
|
89
|
280
|
Вариант 8
|
27
|
2122121222
|
12 3 11 10 9 8 7
6 5 4 3
|
2697
|
960
|
Вариант 9
|
24
|
96323
|
10 9 8 7 8 7 6 7
8 9 10
|
899
|
605
|
№1-5 (по 1 баллу)
задания базового уровня
№6 (3балла)
задание повышенного уровня
№7 (2 балла) задание
высокого уровня
Критерии
оценивания:
0-3 балла оценка «2»
4-6 баллов оценка «3»
7-8 баллов оценка «4»
9-10 баллов оценка «5»
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.