СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Контрольная работа на тему "Алгоритмы"

Категория: Информатика

Нажмите, чтобы узнать подробности

Контрольая работа на тему "Алгоритмы" для 9 класса

Просмотр содержимого документа
«Контрольная работа на тему "Алгоритмы"»

Вариант №1.

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 а := 5

b := 4

b := 100 - a*b

a := b/16*a. В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. У ис­пол­ни­те­ля Квад­ра­тор две команды, ко­то­рым при­сво­е­ны номера:

1. зачеркни справа

2. возведи в квадрат

 Первая из них уда­ля­ет край­нюю пра­вую цифру числа на экране, вто­рая — воз­во­дит число во вто­рую степень. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 24 числа 25, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.  Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

3. Запишите зна­че­ние переменной y, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы.

var y, i: integer;

begin

    y := 0;

    for i := 1 to 3 do

        y := y + 4 * i;

    writeln(y);

end.

4. В таблице Dat хранятся данные измерений среднесуточной температуры за неделю в градусах (Dat[1] — данные за понедельник, Dat[2] — за вторник и т.д.). Определите число, которое будет напечатано в результате выполнения следующего алгоритма.

Var k, m, day: integer;

Dat: array[1..7] of integer;

Begin

   Dat[1] := 7; Dat[2] := 9;

   Dat[3] := 10; Dat[4] := 8;

   Dat[5] := 6; Dat[6] := 7;

   Dat[7] := 6;

   day := 1;

   m := Dat[1];

   for k := 2 to 7 do

      if Dat[k] m then

       begin

          day := k;

          m := Dat[k];

       end;

   writeln(day);

End.

5. Автомат по­лу­ча­ет на вход четырёхзначное де­ся­тич­ное число. По по­лу­чен­но­му числу стро­ит­ся новое де­ся­тич­ное число по сле­ду­ю­щим правилам.

1. Вы­чис­ля­ют­ся два числа — сумма пер­вой и вто­рой цифр и сумма тре­тьей и четвёртой цифр за­дан­но­го числа.

2. По­лу­чен­ные два числа за­пи­сы­ва­ют­ся друг за дру­гом в по­ряд­ке не­воз­рас­та­ния (без разделителей).

 Пример. Ис­ход­ное число: 2177. По­раз­ряд­ные суммы: 3, 14. Результат: 143.

 Определите, сколь­ко из приведённых ниже чисел могут по­лу­чить­ся в ре­зуль­та­те ра­бо­ты автомата.

 1119 110 201 20 1112 1211 1911 121 1111

 В от­ве­те за­пи­ши­те толь­ко ко­ли­че­ство чисел.

6. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число — сумму чисел, крат­ных 3.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

3
12
25
9

21










Вариант №2.

1. В алгоритме, за­пи­сан­ном ниже, ис­поль­зу­ют­ся пе­ре­мен­ные a и b. Сим­вол «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 а := 10

b := 110

b := 110 + b/a

a := b/11*a

 В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. У ис­пол­ни­те­ля Квад­ра­тор две команды, ко­то­рым при­сво­е­ны номера:

 1. вычти 4

2. возведи в квадрат

 Первая из них умень­ша­ет число на экра­не на 4, вто­рая — воз­во­дит число во вто­рую степень. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 7 числа 21, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.  Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

3. Запишите зна­че­ние переменной k, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы.

var k, i: integer;

begin

    k := 4;

    for i := 1 to 3 do

        k := i + 2 * k;

    writeln(k);

end.

4. В таблице Ball хранятся баллы, набранные участниками школьного тура олимпиады по математике (Ball[1] — балл 1 ученика, Ball[2] — балл 2 ученика и т.д.). Определите, что будет напечатано в результате работы следующей программы. 

Var k, m: integer;

Ball: array[1..10] of integer;

Begin

   Ball[1]:=42;Ball[2]:=25;

   Ball[3]:=13;Ball[4]:=18;

   Ball[5]:=15;Ball[6]:=55;

   Ball[7]:=48;Ball[8]:=13;

   Ball[9]:=64;Ball[10]:=45;

   m := Ball[1];

   for k := 1 to 10 do

      if Ball[k] m then

       begin

          m := Ball[k];

       end;

   writeln(m);

End.

5. Автомат получает на вход трёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.

1. Вычисляются два числа — сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.

2. Полученные два числа записываются друг за другом в порядке невозрастания (без разделителей).

 Пример. Исходное число: 277. Поразрядные суммы: 9, 14. Результат: 149.

 Определите, сколько из приведённых ниже чисел может получиться в результате работы автомата.

 1515 159 153 1915 1519 315 915 115

 В ответе запишите только количество чисел.

6. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

3
18
26
24

2










Вариант №3.

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной b после вы­пол­не­ния алгоритма:

 а := 7

b := 5

а := b*4 - a*2

b := а*4 - 4

 В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной b.

2. У ис­пол­ни­те­ля Вы­чис­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

 1. умножь на 3

2. вычти 5

 Первая из них уве­ли­чи­ва­ет число на экра­не в 3 раза, вто­рая умень­ша­ет его на 5. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 8 числа 36, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.  Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

3. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы.

var s,n: integer;

begin

    s := 2;

    for n := 2 to 5 do

        s := s*2 + n;

    writeln(s);

end.

4. Известная авиа­ком­па­ния за­но­си­ла дан­ные о ко­ли­че­стве уте­рян­но­го ба­га­жа за год в таб­ли­цу Lose. Всего были за­не­се­ны дан­ные за по­след­ние 10 лет ра­бо­ты ком­па­нии (Lose[1] — ко­ли­че­ство уте­рян­но­го ба­га­жа за пер­вый год работы, Lose[2] — за вто­рой год и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. 

Var t, m: integer;

Lose: array[1..10] of integer;

Begin

   Lose[1]:=1;Lose[2]:=5;

   Lose[3]:=3;Lose[4]:=6;

   Lose[5]:=7;Lose[6]:=12;

   Lose[7]:=1;Lose[8]:=3;

   Lose[9]:=3;Lose[10]:=1;

   m := 0;

   for t := 1 to 10 do

      if Lose[t] 6 then

       begin

          m := m + Lose[t];

       end;

   writeln(m);

End.

5. Автомат получает на вход пятизначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.

1. Вычисляются два числа — сумма первой, третьей и пятой цифр и сумма второй и четвёртой цифр заданного числа.

2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).

 Пример. Исходное число: 15177. Поразрядные суммы: 9, 12. Результат: 912.

 Определите, сколько из приведённых ниже чисел может получиться в результате работы автомата.

 30 1528 116 1519 2019 1920 1915 316 2815

 В ответе запишите только количество чисел.

6. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — сумму чисел, окан­чи­ва­ю­щих­ся на 4.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

3

14

25

24

38








Вариант №4.

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной b после вы­пол­не­ния алгоритма:

 

b := -5

a := 2

а := 11 - 2*a - b

b := a/3 - 3*b

В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной b.

2. У ис­пол­ни­те­ля Де­ли­тель две команды, ко­то­рым при­сво­е­ны номера:

 1. раз­де­ли на 2

2. вычти 1

 Первая из них умень­ша­ет число на экра­не в 2 раза, вто­рая умень­ша­ет его на 1. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 65 числа 4, со­дер­жа­щий не более 5 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд. (Например, 12112 — это алгоритм: раз­де­ли на 2, вычти 1, раз­де­ли на 2, раз­де­ли на 2, вычти 1, ко­то­рый пре­об­ра­зу­ет число 42 в число 4). Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.

3. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы.

var s,n: integer;

begin

    s := 1;

    for n := 2 to 5 do

        s := s * 3;

    writeln(s);

end.

4. Известная авиа­ком­па­ния за­но­си­ла дан­ные о ко­ли­че­стве уте­рян­но­го ба­га­жа за год в таб­ли­цу Lose. Всего были за­не­се­ны дан­ные за по­след­ние 10 лет ра­бо­ты ком­па­нии (Lose[1] — ко­ли­че­ство уте­рян­но­го ба­га­жа за пер­вый год работы, Lose[2] — за вто­рой год и т. д.). Определите, какое число будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. 

Var t, m: integer;

Lose: array[1..10] of integer;

Begin

   Lose[1]:=1;Lose[2]:=5;

   Lose[3]:=3;Lose[4]:=6;

   Lose[5]:=7;Lose[6]:=12;

   Lose[7]:=1;Lose[8]:=3;

   Lose[9]:=3;Lose[10]:=1;

   m := 0;

   for t := 1 to 10 do

      if Lose[t] 3 then

       begin

          m := m + Lose[t];

       end;

   writeln(m);

End.

5. Цепочка из четырёх бусин, по­ме­чен­ных ла­тин­ски­ми буквами, фор­ми­ру­ет­ся по сле­ду­ю­ще­му правилу:

– на тре­тьем месте це­поч­ки стоит одна из бусин H, E;

– на вто­ром месте — одна из бусин D, E, C, ко­то­рой нет на тре­тьем месте;

– в на­ча­ле стоит одна из бусин D, H, B, ко­то­рой нет на вто­ром месте;

– в конце — одна из бусин D, E, C, не сто­я­щая на пер­вом месте.

Определите, сколь­ко из пе­ре­чис­лен­ных це­по­чек со­зда­ны по этому правилу?

 

DEHD HEHC DCEE DDHE DCHE HDHD BHED EDHC DEHE

 

В от­ве­те за­пи­ши­те толь­ко ко­ли­че­ство цепочек.

6. Напишите программу, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в последовательности, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Введённые числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число — количество чисел, окан­чи­ва­ю­щих­ся на 3.

 

Пример ра­бо­ты программы:

 

Входные данные

Выходные данные

3
13
23
24

2




Вариант №5.

1. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной a после вы­пол­не­ния алгоритма:

 а := 6

b := 2

b := a/2*b

a := 2*a + 3*b

 В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной a.

2. У исполнителя Конструктор две команды, которым присвоены номера:

1. приписать 2

2. разделить на 2

Первая из них приписывает к числу на экране справа цифру 2, вторая делит его на 2.

Составьте алгоритм получения из числа 14 числа 9, содержащий не более 5 команд. В ответе запишите только номера команд.

(Например, 22212 − это алгоритм: разделить на 2разделить на 2разделить на 2приписать 2разделить на 2,который преобразует число 8 в число 6.)

Если таких алгоритмов более одного, запишите любой из них.

3. Запишите значение переменной d, полученное в результате работы следующей программы.

var d, n, i: integer;

begin

    n := 3;

    d := n*3;

    for i := 1 to 3 do

        d := d + i;

    writeln(d);

end.

4. В таблице Dat хранятся отметки учащихся 9 класса за самостоятельную работу (Dat[1] – отметка первого учащегося, Dat[2] – второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы.

Var k, m: integer;

Dat: array[1..10] of integer;

Begin

   Dat[1] := 4; Dat[2] := 5;

   Dat[3] := 4; Dat[4] := 3;

   Dat[5] := 2; Dat[6] := 3;

   Dat[7] := 4; Dat[8] := 5;

   Dat[9]:=5; Dat[10]:=3;

   m := 0;

   for k := 1 to 10 do

      if Dat[k] 4 then

       begin

          m := m + Dat[k];

       end;

   writeln(m);

End.

5. Автомат получает на вход четырёхзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам.

1. Вычисляются два числа – сумма четных цифр и сумма нечетных цифр заданного числа.

2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей).

Пример. Исходное число: 2177. Сумма четных цифр — 2, сумма нечетных цифр — 15. Результат: 215.

Определите, сколько из приведённых ниже чисел могут получиться в результате работы автомата.

 

419 1319 2014 1811 1212 205 322 294 55

 

В ответе запишите только количество чисел.

6. Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 5.

 Пример работы программы:

 

Входные данные

Выходные данные

3
15
25
6

40



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!