Контрольная работа 8 класс ФГОС
Раздел «Алгоритмы и элементы программирования»
Тема «Алгоритмы и элементы программирования»
1. В программе «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствует правилам арифметики.
Определите значение переменной a после выполнения данного алгоритма:
a := 3
b := 7
b := 9+a*b
a := b/5*a
В ответе укажите одно целое число — значение переменной a.
2.В алгоритме, записанном ниже, используются переменные a и b. Символ «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» — соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной a после выполнения алгоритма:
a := 10
b := 5
b := 100 + a/b
a := b/6*a
В ответе укажите одно целое число — значение переменной a.
3.В программе «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» — соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной a после выполнения алгоритма:
v := 4
n := 13
v := n–v*3
n := v*14–n
В ответе укажите одно целое число — значение переменной n.
4.Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
Алгоритмический язык | Бейсик | Паскаль |
алг нач цел s, k s := 0 нц для k от 8 до 12 s := s + 12 кц вывод s кон | DIM k, s AS INTEGER s = 0 FOR к = 8 TO 12 s = s + 12 NEXT k PRINT s | Var s,k: integer; Begin s := 0; for k := 8 to 12 do s := s + 12; writeln(s); End. |
5.Запишите значение переменной s, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
Алгоритмический язык | Бейсик | Паскаль |
алг нач цел s, k s := 0 нц для k от 3 до 7 s := s + 6 кц вывод s кон | DIM k, s AS INTEGER s = 0 FOR к = 3 TO 7 s = s + 6 NEXT k PRINT s | Var s,k: integer; Begin s := 0; for k := 3 to 7 do s := s + 6; writeln(s); End. |
6.Запишите значение переменной k, полученное в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
Алгоритмический язык | Бейсик | Паскаль |
алг нач цел k, i k := 2 нц для i от 0 до 2 k := i + 3*k кц вывод k кон | DIM i, k AS INTEGER k = 2 FOR i = 0 TO 2 k = i + 3*k NEXT i PRINT k | Var k, i: integer; Begin k := 2; For i := 0 to 2 do k := i + 3*k; Writeln(k); End. |
7.Известная авиакомпания заносила данные о количестве утерянного багажа за год в таблицу Lose. Всего были занесены данные за последние 10 лет работы компании (Lose[1] — количество утерянного багажа за первый год работы, Lose[2] — за второй год и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
Алгоритмический язык | Бейсик | Паскаль |
алг нач целтаб Lose[1:10] цел t, m 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 нц для t от 1 до 10 если Lose[t] 3 то m := m + Lose[t] все кц вывод m кон | DIM Lose(10) AS INTEGER DIM t,m AS INTEGER 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 IF Lose(t) 3 THEN m = m + Lose(t) END IF NEXT k PRINT m | 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. |
8.В таблице Dat хранятся данные о количестве краткосрочных командировок, в которые приходилось ездить сотруднику за последний год (Dat[1] — количество командировок в январе, Dat[2] — количество командировок в феврале и т. д.). Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на трёх алгоритмических языках.
Алгоритмический язык | Бейсик | Паскаль |
алг нач целтаб Dat[1:12] цел к, m, month Dat[1] := 5 Dat[2] := 5 Dat[3] := 6 Dat[4] := 8 Dat[5] := 4 Dat[6] := 5 Dat[7] := 4 Dat[8] := 7 Dat[9] := 4 Dat[10] := 4 Dat[11] := 8 Dat[12] := 7 month:=1; m := Dat[1] нц для к от 2 до 12 если Dat[к] m:= Dat[k]; month := k все КЦ вывод month КОН | DIM Dat(12) AS INTEGER Dat[1] = 5 Dat[2] = 5 Dat[3] = 6 Dat[4] = 8 Dat[5] = 4 Dat[6] = 5 Dat[7] = 4 Dat[8] = 7 Dat[9] := 4 Dat[10] := 4 Dat[11] := 8 Dat[12] := 7 month = 1: m = Dat(1) FOR k = 2 TO 12 IF Dat(k) m = Dat(k) month = k END IF NEXT k PRINT month END | Var k, m, month: integer; Dat: array[1..12] of integer; Begin Dat[1] := 5; Dat[2] := 5; Dat[3] := 6; Dat[4] := 8; Dat[5] := 4; Dat[6] := 5; Dat[7] := 4; Dat[8] := 7; Dat[9] := 4; Dat[10] := 4; Dat[11] := 8; Dat[12] := 7; month: = 1; m := Dat[1]; for k := 2 to 12 do if Dat[k] begin m:= Dat[k]; month := k; end; write(month); End. |
9.В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat[1] — количество голосов, поданных за первого исполнителя; Dat[2] — за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования.
Алгоритмический язык | Бейсик | Паскаль |
алг нач целтаб Dat[1:10] цел k, m Dat[1] := 16 Dat[2] := 20 Dat[3] := 20 Dat[4] := 41 Dat[5] := 14 Dat[6] := 21 Dat[7] := 28 Dat[8] := 12 Dat[9] := 15 Dat[10] := 35 m := 0 нц для k от 1 до 10 если Dat[k]m то m := Dat[k] все кц вывод m кон | DIM Dat(10) AS INTEGER DIM k,m AS INTEGER Dat(1) = 16: Dat(2) = 20 Dat(3) = 20: Dat(4) = 41 Dat(5) = 14: Dat(6) = 21 Dat(7) = 28: Dat(8) = 12 Dat(9) = 15:Dat(10) = 35 m = 0 FOR k = 1 TO 10 IF Dat(k)m THEN m = Dat(k) ENDIF NEXT k PRINT m | Var k, m: integer; Dat: array[1..10] of integer; Begin Dat[1] := 16; Dat[2] := 20; Dat[3] := 20; Dat[4] := 41; Dat[5] := 14; Dat[6] := 21; Dat[7] := 28; Dat[8] := 12; Dat[9] := 15; Dat[10] := 35; m := 0; for k := 1 to 10 do if Dat[k]m then begin m := Dat[k] end; writeln(m); End. |
10.У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. вычти 3
Первая из них возводит число на экране во вторую степень, вторая — вычитает из числа 3. Составьте алгоритм получения из числа 14 числа 58, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 21221 — это алгоритм
вычти 3
возведи в квадрат
вычти 3
вычти 3
возведи в квадрат,
который преобразует число 7 в 100.)
Если таких алгоритмов более одного, то запишите любой из них.
11.У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. вычти 1
Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 27 числа 3, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 12121 — это алгоритм: раздели на 2, вычти 1, раздели на 2, вычти 1, раздели на 2, который преобразует число 30 в 3.) Если таких алгоритмов более одного, то запишите любой из них.
12.У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. вычти 1
Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 65 числа 4, содержащий не более 5 команд. В ответе запишите только номера команд.
Если таких алгоритмов более одного, то запишите любой из них.
13.Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечётна, то удаляется первый символ цепочки, а если чётна, то в середину цепочки добавляется символ Т. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А — на Б, Б — на В и т. д., а Я — на А). Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной была цепочка НОГА, то результатом работы алгоритма будет цепочка ОПУДБ, а если исходной была цепочка СОН, то результатом работы алгоритма будет цепочка ПО.
Дана цепочка символов КОЛ. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.
14.Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она чётна, то в начало цепочки символов добавляется цифра 1, а если нечётна, то средний символ цепочки удаляется. В полученной цепочке символов каждая цифра заменяется следующей за ней цифрой (1 — на 2, 2 — на 3 и т. д., а 9 — на 0). Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной была цепочка 2ВМ, то результатом работы алгоритма будет цепочка 3М, а если исходной была цепочка П9, то результатом работы алгоритма будет цепочка 2ПО.
Дана цепочка символов 28МАЯ. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?
15.Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она чётна, то в середину цепочки символов добавляется символ А, а если нечётна, то в начало цепочки добавляется символ Б. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А — на Б, Б — на В и т. д., а Я — на А). Получившаяся таким образом цепочка является результатом работы алгоритма.
Например, если исходной была цепочка ВРМ, то результатом работы алгоритма будет цепочка ВГСН, а если исходной была цепочка ПД, то результатом работы алгоритма будет цепочка РБЕ.
Дана цепочка символов ФТОР. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ.