Инфоурок Информатика Другие методич. материалыЗачётная работа по информатике по программированию (углубленный уровень) за 2 семестр 10 класса

Зачётная работа по информатике по программированию (углубленный уровень) за 2 семестр 10 класса

Скачать материал

Зачетная работа по информатике за II семестр 2018-2019 уч.года

Вариант 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;

Чему будут равны элементы этого массива после выполнения фрагмента программы?

  1. (ЕГЭ-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;

Чему будут равны элементы этого массива после выполнения фрагмента программы?

 

  1. (ЕГЭ-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»

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Зачётная работа по информатике по программированию (углубленный уровень) за 2 семестр 10 класса"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по кредитованию

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Зачетная работа состоит из 7 заданий ЕГЭ (№№8,11,19,20,24,25) по программированию, взятых с сайта Полякова К.Ю.

№1-5 (по 1 баллу)задания базового уровня

№6 (3балла) задание повышенного уровня

№7 (2 балла) задание высокого уровня

Критерии оценивания:

0-3 балла оценка«2»

4-6 баллов оценка «3»

7-8 баллов оценка «4»

9-10 баллов оценка «5»

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 668 232 материала в базе

Материал подходит для УМК

  • «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

    «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

    Тема

    Глава 8. Алгоритмизация и программирование

    Больше материалов по этой теме
Скачать материал

Другие материалы

Учебно-методический комплекс ученика по информатике (10 класс). Цикл с условием
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 8. Алгоритмизация и программирование
Рейтинг: 1 из 5
  • 10.01.2019
  • 495
  • 1
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Учебно-методический комплекс ученика по информатике (10 класс). Цикл с параметром
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 8. Алгоритмизация и программирование
Рейтинг: 1 из 5
  • 10.01.2019
  • 989
  • 3
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Учебно-методический комплекс ученика по информатике (10 класс). Алгоритм и его свойства
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 8. Алгоритмизация и программирование
  • 10.01.2019
  • 699
  • 0
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Учебно-методический комплекс ученика по информатике (10 класс). Алгоритм и его свойства
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 8. Алгоритмизация и программирование
  • 10.01.2019
  • 667
  • 2
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 18.09.2019 6850
    • DOCX 210.5 кбайт
    • 27 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Алиакбярова Линара Надеровна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Алиакбярова Линара Надеровна
    Алиакбярова Линара Надеровна
    • На сайте: 8 лет и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 37630
    • Всего материалов: 6

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 98 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Мини-курс

Современные тенденции в искусстве: от постмодернизма до поп-культуры

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 16 регионов
  • Этот курс уже прошли 13 человек

Мини-курс

Проведение и применение трансформационных игр

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 109 человек из 48 регионов
  • Этот курс уже прошли 58 человек

Мини-курс

Поиск работы: карьерные ориентиры и мотивы выбора профессии

6 ч.

780 руб. 390 руб.
Подать заявку О курсе