Подготовка к проверочной работе «Программирование. ЕГЭ»


Определите, что будет напечатано в результате работы следующего фрагмента программы:

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?


Ниже записан алгоритм. Сколько существует таких чисел, при вводе которых алгоритм печатает сначала 2, а потом 12?

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. Найдите допущенные программистом ошибки и исправьте их.