Подготовка к проверочной работе «Программирование. ЕГЭ»
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
k:=5;
s:=2;
while k < 120 do begin
s:=s+k; k:=k+2; end;
write(s);
end.
При каком наименьшем введенном числе d после выполнения программы будет напечатано 121?
var n, s, d: integer;
begin
readln(d);
n := 1;
s := 46;
while s <= 2700 do begin
s := s + d; n := n + 4 end;
write(n) end.
Сколько различных значений числа d можно ввести, чтобы после выполнения программы было напечатано 246?
var n, s, d: integer;
begin
readln(d);
n := 8; s := 6;
while s <= 1800 do begin
s := s + d; n := n + 7 end;
write(n)
end.
Запишите число, которое будет выведено в результате работы программы:
var s, n: integer;
begin
s := 0;
n := 0;
while s*s <= 8*s do begin
s := s + 1; n := n + 3 end;
writeln(n) end.
В программе используется одномерный целочисленный массив A с индексами от 1 до 25. Ниже представлен фрагмент программы, в котором задаются значения элементов:
n:= 25;
A[1]:= 2;
for i:= 2 to n do begin
A[i]:= 2*A[i–1] mod 10;
end;
Чему будет равно значение A[25] после выполнения фрагмента программы?
В программе используется одномерный целочисленный массив 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;
Чему будут равны элементы этого массива после выполнения фрагмента программы?
1) 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9
3) 9 8 7 6 5 5 6 7 8 9
4) 0 1 2 3 4 4 3 2 1 0
Дан фрагмент программы, обрабатывающей двухмерный массив A размера nЧn.
k := 1;
for i:=1 to n do begin
c := A[i, i];
A[i, i] := A[k, i];
A[k, i] := c;
end
Представим массив в виде квадратной таблицы, в которой для элемента массива A[i, j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами:
1) два столбца в таблице
2) две строки в таблице
3) элементы диагонали и k-ой строки таблицы
4) элементы диагонали и k-го столбца таблицы
Значения элементов двухмерного массива A[1..10,1..10] задаются с помощью следующего фрагмента программы:
for i:=1 to 10 do
for k:=1 to 10 do
if i > k then
A[i, k] := 1
else A[i, k] := 0;
Чему равна сумма элементов массива после выполнения этого фрагмента программы?
Значения элементов двухмерного массива A[1..10,1..10] сначала равны 5. Затем выполняется следующий фрагмент программы:
for i:=1 to 5 do
for j:=1 to 4 do begin
A[i, j]:=A[i, j]+5; { 1 }
A[j, i]:=A[j, i]+5; { 2 }
end;
Сколько элементов массива будут равны 10?
Ниже записан алгоритм. Сколько существует таких чисел
var x, a, b: longint;
begin
readln(x);
a:=0; b:=0;
while x>0 do begin
a:=a + 1; b:=b + (x mod 10); x:=x div 10;
end;
writeln(a); write(b); end.
Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 26.
var x, L, M: longint;
begin
readln(x);
L := x;
M := 65;
if L mod 2 = 0 then M := 52;
while L <> M do
if L > M then L := L – M else M := M – L;
writeln(M);
end.
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит не менее трёх цифр и оканчивается на букву C. Если таких чисел нет, нужно вывести ответ 0.
Паскаль | Python |
const N = 40; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end. | #допускается также использовать #две целочисленные переменные #j и k а = [] n = 40 for і in range(n): a. append(int(input())) |
Дан массив, содержащий 2018 положительных целых чисел, не превышающих 30000. Необходимо уменьшить (или увеличить) все чётные элементы на одно и то же значение, так чтобы при этом минимальный из них стал равен 20. Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов
16 91 22 112 41
программа должна вывести (по одному числу в строке) числа
20 91 26 116 41
(все чётные элементы увеличены на 4, минимальный из них стал равен 20).
Паскаль | Python |
const N = 2018; var a: array [1..N] of integer; i, k, s: integer; begin for i := 1 to N do readln(a[i]); ... end. | #допускается также использовать #две целочисленные переменные #k и s а = [] n = 2018 for і in range(n): a. append(int(input())) |
Факториалом натурального числа 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. Найдите допущенные программистом ошибки и исправьте их.


