1. У исполнителя Удвоитель две команды, которым присвоены номера:
1. прибавь 1
2. умножь на 2.
Первая из них увеличивает число на экране на 1, вторая удваивает его. Например, 2121 – это программа
умножь на 2
прибавь 1
умножь на 2
прибавь 1,
которая преобразует число 1 в число 7.
Запишите порядок команд в программе преобразования числа 3 в число 63, содержащей не более 8 команд, указывая лишь номера команд. Если таких программ более одной, то запишите любую из них.
2. Саша и Женя играют в такую игру. Саша пишет слово русского языка. Женя заменяет в нем каждую букву на другую букву так, чтобы были выполнены такие правила.
Гласная буква меняется на согласную, согласная – на гласную.
В получившемся слове буквы следуют в алфавитном порядке.
Пример. Саша написала: ЖЕНЯ. Женя может написать, например, ЕНОТ или АБУЧ. Но не может написать МАМА или ИВАН.
Для справки. В алфавите буквы идут в таком порядке: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯСаша написала: КОТ.
Укажите, какое из следующих слов может написать Женя.
1) ЕЛЬ
2) ЕНОТ
3) АНЯ
4) ЭЛЯ
3. У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 2
2. умножь на 3
Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, утраивает его. Запишите порядок команд в программе получения из 0 числа 56, содержащей не более 5 команд, указывая лишь номера команд.
(Например, программа 21211 – это программа:
умножь на 3
прибавь 2
умножь на 3
прибавь 2
прибавь 2,
которая преобразует число 2 в 28).
4. У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 3,
2. умножь на 4.
Выполняя первую из них, Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе, которая преобразует число 4 в число 37 и содержит не более 5 команд. Указывайте лишь номера команд. (Например, программа 21211 — это программа умножь на 4, прибавь 3, умножь на 4, прибавь 3, прибавь 3. Эта программа преобразует число 2 в число 50.)
5. Автомат получает на вход четырёхзначное десятичное число. По этому числу строится новое число по следующим правилам.
1. Складываются первая и вторая, а также третья и четвёртая цифры.
2. Полученные два числа записываются друг за другом в порядке возрастания (без разделителей).
Пример. Исходное число: 8754. Суммы: 8+7 =15; 5+4 = 9. Результат: 915.
Определите, сколько из приведённых ниже чисел могут быть получены, как результат работы автомата.
1) 1
2) 2
3) 3
4) 4
6. Маша пригласила свою подругу Веру в гости, но не сказала ей код от цифрового замка своего подъезда, а послала следующее сообщение: «В последовательности 4, 1, 9, 3, 6, 9 все числа больше 4 разделить на 3, а затем удалить из полученной последовательности все чётные цифры». Выполнив указанные в сообщении действия, Вера получила следующий код для цифрового замка:
1) 1, 3, 1, 3
2) 1, 3, 1
3) 1, 3, 3, 3
4) 3, 1
7. Учитель предлагает детям три цифры. Ученики должны сначала найти сумму первой и второй цифр, потом — сумму второй и третьей цифр. Затем полученные числа записываются друг за другом в порядке невозрастания (правое число меньше или равно левому). Пример. Исходные цифры: 6, 3, 9. Суммы: 6 + 3 = 9; 3 + 9 = 12. Результат: 129.
Укажите, какая из следующих последовательностей символов может быть получена в результате.
1) 1915
2) 1815
3) 188
4) 1518
8. У исполнителя Троечник две команды, которым присвоены номера:
1. прибавь 3,
2. умножь на 2.
Первая из этих команд увеличивает число на экране на 3, вторая — умножает его на 2. Программа для исполнителя Троечник — это последовательность номеров команд. (Например, программа 1211 — это программа прибавь 3, умножь на 2, прибавь 3, прибавь 3.Эта программа преобразует число 2 в число 16.)
Запишите программу, которая преобразует число 11 в число 103 и содержит не более 5 команд. Если таких программ более одной, то запишите любую из них.
9. Цепочка из трёх бусин, помеченных латинскими буквами, формируется по следующему правилу. В начале цепочки стоит одна из бусин А, В, Е. На втором месте — одна из бусин В, D, Е, которой нет на третьем месте. На третьем месте — одна из бусин А, В, С, D не стоящая на первом месте.
Какая из перечисленных цепочек создана по этому правилу?
1) ADE
2) ААЕ
3) BED
4) ADA
10. У исполнителя Удвоитель две команды, которым присвоены номера:
1. вычти 1,
2. умножь на 2.
Первая из них уменьшает число на экране на 1, вторая удваивает его. Запишите порядок команд в программе, которая преобразует число 17 в число 135 и содержит не более 4 команд. Указывайте лишь номера команд.
(Например, программа 212 — это программа
умножь на 2,
вычти 1,
умножь на 2,
Эта программа преобразует число 3 в число 10.)
11. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM N, S AS INTEGER
N = 1 S = 0 WHILE N <= 150 S = S + 30 N = N * 5
WEND
PRINT S
|
n = 1
s = 0 while n <= 150: s = s + 30 n = n * 5 print(s) |
Паскаль | Алгоритмический язык |
var n, s: integer;
begin n := 1; s := 0; while n <= 150 do begin s := s + 30; n := n * 5 end; write(s) end. |
алг
нач цел n, s n := 1 s := 0 нц пока n <= 150 s := s + 30 n := n * 5 кц вывод s кон |
Си | |
#include<stdio.h>
int main() { int n, s; n = 1; s = 0; while (n <= 150) { s = s + 30; n = n * 5; } printf("%d", s); return 0; } |
12. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var n, s: integer;
begin
n := 24;
s := 0;
while n <= 28 do begin
s := s + 20;
n := n + 2
end;
write(s)
end.
13. Определите число, которое будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).
Бейсик | Паскаль |
---|---|
DIM N, S AS INTEGER
N = 40 S = 0 WHILE S <= 257
S = S + 25
N = N + 4
WENDPRINT N |
var n, s: integer;
begin n := 40; s := 0; while s <= 257 do begin s := s + 25; n := n + 4 end; write(n) end. |
Си | Алгоритмический язык |
#include <stdio.h>
void main() { int n, s; n = 40; s = 0; while (s <= 257) { s = s + 25; n = n + 4; } printf("%d", n); } |
алг
нач цел n, s n := 40 s := 0 нц пока s <= 257 s := s + 25 n := n + 4 кц вывод n кон |
14. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=2;
k:=2;
while s < 50 do begin
s:=s+k;
k:=k+2;
end;
write(k);
end.
15. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):
Бейсик | Паскаль |
---|---|
DIM N, S AS INTEGER
N = 0 S = 512 WHILE S >= 0 S = S - 20 N = N + 1 WEND PRINT N |
var n, s: integer;
begin n := 0; s := 512; while s >= 0 do begin s := s - 20; n := n + 1 end; write(n) end. |
Си | Алгоритмический язык |
#include
void main() { int n, s; n = 0; s = 512; while (s >= 0) { s = s - 20; n = n + 1; } printf("%d", n); } |
алг
нач цел n, s n := 0 s := 512 нц пока s >= 0 s := s - 20 n := n + 1 кц вывод n кон |
16. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):
Бейсик | Паскаль |
---|---|
DIM N, S AS INTEGER
N = 4 S = 0 WHILE N <= 13
S = S + 15
N = N + 1
WENDPRINT S |
var n, s: integer;
begin n := 4; s := 0; while n <= 13 do begin s := s + 15; n := n + 1 end; write(s) end. |
Си | Алгоритмический язык |
#include <stdio.h>
void main() { int n, s; n = 4; s = 0; while (n <= 13) { s = s + 15; n = n + 1; } printf("%d", s); } |
алг
нач цел n, s n := 4 s := 0 нц пока n <= 13 s := s + 15 n := n + 1 кц вывод s кон |
17. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=1;
while s < 66 do begin
k:=k+3;
s:=s+k;
end;
write(k);
end.
18. Определите число, которое будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):
Бейсик | Паскаль |
---|---|
DIM N, S AS INTEGER
N = 0 S = 0 WHILE S <= 249 S = S + 25 N = N + 4 WEND PRINT N |
var n, s: integer;
begin n := 0; s := 0; while s <= 249 do begin s := s + 25; n := n + 4; end; write(n) end. |
Си | Алгоритмический язык |
#include <stdio.h>
void main() { int n, s; n = 0; s = 0; while (s <= 249) { s = s + 25; n = n + 4; } printf("%d", n); } |
алг
нач цел n, s n : = 0 s : = 0 нц пока s <= 249 s : = s + 25 n : = n + 4 кц вывод n кон |
19. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM S, N AS INTEGER
S = 0 N = 0 WHILE 2*S*S < 123 S = S + 1 N = N + 3 WEND PRINT N |
s = 0
n = 0 while 2*s*s < 123: s = s + 1 n = n + 3 print(n) |
Паскаль | Алгоритмический язык |
var s, n: integer;
begin s := 0; n := 0; while 2*s*s < 123 do begin s := s + 1; n := n + 3 end; writeln(n) end. |
алг
нач цел n, s n := 0 s := 0 нц пока 2*s*s < 123 s := s + 1 n := n + 3 кц вывод n кон |
Си | |
#include<stdio.h>
int main() { int s = 0, n = 0; while (2*s*s < 123) { s = s + 1; n = n + 3; } printf("%d\n", n); return 0; } |
20. Запишите число, которое будет напечатано в результате выполнения программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM S, N AS INTEGER
S = 301 N = 0 WHILE S > 0 S = S - 10 N = N + 2 WEND PRINT N |
s = 301
n = 0 while s > 0: s = s - 10 n = n + 2 print(n) |
Паскаль | Алгоритмический язык |
var s, n: integer;
begin s := 301; n := 0; while s > 0 do begin s := s - 10; n := n + 2; end; writeln(n) end. |
алг
нач цел n, s s := 301 n := 0 нц пока s > 0 s := s - 10 n := n + 2 кц вывод n кон |
Си | |
#include <stdio.h>
int main() { int s = 301, n = 0; while (s > 0) { s = s - 10; n = n + 2; } printf("%d\n", n); return 0; } |
21. Алгоритм вычисления значений функций F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1; F(2) = 2; F(3) = 3;
F(n) = F(n − 3)*n при n >2
Чему равно значение функции F(10)? В ответе запишите только натуральное число.
22. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1
F(n) = F(n–1) + 2n–1 , если n > 1.
Чему равно значение функции F(10)?
В ответе запишите только натуральное число.
23. Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
---|---|
SUB F(n)
PRINT n IF n > 0 THEN F(n - 1) F(n - 3) END IF END SUB |
def F(n):
print(n) if n > 0: F(n - 1) F(n - 3) |
Паскаль | Алгоритмический язык |
procedure F(n: integer);
begin writeln(n); if n > 0 then begin F(n - 1); F(n - 3) end end |
алг F(цел n)
нач вывод n, нс если n > 0 то F(n - 1) F(n - 3) все кон |
Си | |
void F(int n)
{ printf("%d\n", n); if (n > 0) { F(n - 1); F(n - 3); } } |
Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(5)?
24. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(1) = 1;
F(n) = F(n − 1) + n если n>1
Чему равно значение функции F(30)? В ответе запишите только натуральное число.
25. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(1) = 1
F(n) = 5*F(n–1) + 3*n, при n >1
Чему равно значение функции F(4)?
В ответе запишите только натуральное число.
26. Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
---|---|
FUNCTION F(n)
IF n > 2 THEN F = F(n - 1) + F(n-2) ELSE F = n END IF END FUNCTION |
def F(n):
if n > 2: return F(n-1)+ F(n-2) else: return n |
Паскаль | Алгоритмический язык |
function F(n: integer): integer;
begin if n > 2 then F := F(n - 1) + F(n - 2) else F := n; end; |
алг цел F(цел n)
нач если n > 2 то знач := F(n - 1)+F(n - 2) иначе знач := n все кон |
Си | |
int F(int n)
{ if (n > 2) return F(n-1) + F(n-2); else return n; } |
Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?
27. Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n =< 2;
F(n) = 2 · F(n − 1) + F(n − 2) при n > 2.
Чему равно значение функции F(6)? В ответе запишите только натуральное число.
28. Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик | Python |
---|---|
FUNCTION F(n)
IF n > 2 THEN F = F(n-1)+G(n-1)+F(n-2) ELSE F = n END IF END FUNCTION FUNCTION G(n) IF n > 2 THEN G = G(n-1)+F(n-1)+G(n-2) ELSE G = 3-n END IF END FUNCTION |
def F(n):
if n > 2: return F(n-1)+G(n-1)+F(n-2) else: return n def G(n): if n > 2: return G(n-1)+F(n-1)+G(n-2) else: return 3-n |
Алгоритмический язык | Паскаль |
алг цел F(цел n)
нач если n > 2 то знач := F(n-1)+G(n-1)+F(n-2) иначе знач := n все кон алг цел G(цел n) нач если n > 2 то знач := G(n-1)+F(n-1)+G(n-2) иначе знач := 3-n все кон |
function F(n: integer): integer;
begin if n > 2 then F := F(n-1)+G(n-1)+F(n-2) else F := n; end; function G(n: integer): integer; begin if n > 2 then G := G(n-1)+F(n-1)+G(n-2) else G := 3-n; end; |
Си | |
int F(int n){
if (n > 2) return F(n-1)+G(n-1)+F(n-2); else return n; } int G(int n){ if (n > 2) return G(n-1)+F(n-1)+G(n-2); else return 3-n; } |
Чему будет равно значение, вычисленное при выполнении вызова F(5)?
29. Алгоритм вычисления значения функции F(n) и G(n), где n – натуральное число, задан следующими соотношениями:
F(1) = 0
F(n) = F(n–1) + n, при n >1
G(1) = 1
G(n) = G(n–1) * n, при n >1
Чему равно значение функции F(5) + G(5)?
В ответе запишите только натуральное число.
30. Алгоритм вычисления значения функции F(n). где n - натуральное число, задан следующими соотношениями:
F(1)= 1; F(2)=1;
F(n) = F(n-2) * n при n >2.
Чему равно значение функции F(7)? В ответе запишите только натуральное число.
31. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия.
Команды-приказы:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА условие
последовательность командКОНЕЦ ПОКА
выполняется, пока условие истинно. В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА справа свободно ИЛИ снизу свободно
ЕСЛИ справа свободно
ТО вправо
ИНАЧЕ вниз
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
32. Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.
Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Запись
Повтори k раз
Команда1 Команда2 КомандаЗ
Конец
означает, что последовательность команд Команда1 Команда2 КомандаЗ повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Сместиться на (−1,1) Повтори 4 раз
Сместиться на (3,1) Сместиться на (0, 2) Сместиться на (−1, 4) конец
На какую команду можно заменить этот алгоритм?
1) Сместиться на (8, 28)
2) Сместиться на (7, 29)
3) Сместиться на (−8, −28)
4) Сместиться на (−7, −29)
33. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия.
Команды-приказы:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F1)?
НАЧАЛО
ПОКА сверху свободно ИЛИ справа свободно
ЕСЛИ сверху свободно
ТО вверх
ИНАЧЕ вправо
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
34. Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Цикл
ПОВТОРИ число РАЗ
последовательность команд
КОНЕЦ ПОВТОРИ
означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).
Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны):
НАЧАЛО
сместиться на (1, 2)
ПОВТОРИ … РАЗ
сместиться на (…, …)сместиться на (-1, -2)
КОНЕЦ ПОВТОРИ
сместиться на (-26, -12)
КОНЕЦ
В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?
35. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
ЦиклПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условиеТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 69 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (3333) ИЛИ нашлось (8888)
ЕСЛИ нашлось (3333)ТО заменить (3333, 88)
ИНАЧЕ заменить (8888, 33)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
36. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия.
Команды-приказы:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА < условие >
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ < условие >
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).Сколько клеток лабиринта соответствуют требованию, что, начав движение в этой клетке и выполнив предложенную программу, Робот уцелеет и остановится в закрашенной клетке (клетка А6)?
НАЧАЛО
ПОКА <слева свободно> ИЛИ снизу свободно>
ЕСЛИ <слева свободно>
ТО <влево>
ИНАЧЕ <вниз>
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
37. Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.
Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Запись
Повтори k раз
Команда1 Команда2 КомандаЗ
Конец
означает, что последовательность команд Команда1 Команда2 КомандаЗ повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 2 раз
Команда1 Сместиться на (3, 2) Сместиться на (2, 1) Конец
Сместиться на (−6, −4)
После выполнения этого алгоритма Чертёжник вернулся в исходную точку. Какую команду надо поставить вместо команды Команда1?
1) Сместиться на (−2, −1)
2) Сместиться на (1, 1)
3) Сместиться на (−4, −2)
4) Сместиться на (2, 1)
38. Исполнитель КОРАБЛИК «живет» в ограниченном прямоугольном водоеме-лабиринте, разделенном на клетки и изображенном на рисунке (вид сверху). Серые клетки — скалистые берега, светлые — свободное пространство, безопасное для передвижения КОРАБЛИКА. По краю водоема-лабиринта также находятся скалы с нанесенными на них номерами и буквами для удобства идентификации клеток.
Система команд исполнителя КОРАБЛИК:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд КОРАБЛИК перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится КОРАБЛИК (также по отношению к наблюдателю):
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА < условие > команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
При попытке передвижения на любую серую клетку КОРАБЛИК разбивается о скалы.
Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную ниже программу, КОРАБЛИК не разобьется?
НАЧАЛО
ПОКА <сверху свободно> вверх
ПОКА <слева свободно> влево
вверх
влево
КОНЕЦ
39. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
ЦиклПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условиеТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Ниже приведена программа для исполнителя Редактор.
НАЧАЛО
ПОКА нашлось (722) ИЛИ нашлось (557)
ЕСЛИ нашлось (722)ТО заменить (722, 57)
ИНАЧЕ заменить (557, 72)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подается строка, состоящая из 55 цифр; последняя цифра в строке — цифра 7, а остальные цифры — пятёрки. Какая строка получится в результате применения программы к этой строке? В ответе запишите полученную строку.
40. Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена. Клетка в лабиринте может быть чистая или закрашенная. Закрашенные клетки на рисунке выделены серым цветом.
Система команд исполнителя РОБОТ содержит восемь команд. Четыре команды – это команды перемещения:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ (также по отношению к наблюдателю):
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА <условие>
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ <условие>
ТО команда
КОНЕЦ ЕСЛИ
выполняется команда только, если условие истинно. В противном случае ничего не происходит.
В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ.
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА<справа свободно ИЛИ снизу свободно>
ПОКА <снизу свободно>вниз
КОНЕЦ ПОКА
ПОКА <справа свободно>
вправо
КОНЕЦ ПОКА
КОНЕЦ ПОКА
КОНЕЦ
41. Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках программирования).
Бейсик | Паскаль |
---|---|
DIM A, B, T, N, P AS INTEGER
A = -25: B = 25 P = 0 N = 0 FOR T = A TO B IF F(T) > P THEN N = N+1 END IF NEXT T PRINT N FUNCTION F(x) F = 16*(9-x)*(9-x)+127 END FUNCTION |
var a, b, t, N, P :integer;
Function F(x: integer):integer; begin F := 16*(9-x)*(9-x)+127; end; BEGIN a := -25; b := 25; P := 0; N := 0; for t := a to b do begin if (F(t) > P) then begin N := N+1; end; end; write(N); END. |
Си | Алгоритмический |
#include <stdio.h>
int F(int x) { return 16*(9-x)*(9-x)+127; } void main() { int a, b, t, N, P; a = -25; b = 25; P = 0; N = 0; for (t=a; t<=b; t++){ if (F(t) > P) { N++; } } printf("%d", N); } |
алг
нач цел a, b, t, N, P a := -25; b := 25
P := 0
N := 0
нц для t от a до bесли F(t) > P то N := N+1 все кц вывод N кон алг цел F(цел x) нач знач := 16*(9-x)*(9-x)+127 кон |
42. Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для вашего удобства алгоритм представлен на четырёх языках).
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER
A = -21: B = 21 M = A: R = F(A) FOR T = A TO B IF F(T) > R THEN M = T R = F(T) END IF NEXT T PRINT M FUNCTION F(x) F = 12 *(9+x)*(9+x)+7 END FUNCTION |
var a,b,t,M,R :integer;
Function F(x: integer):integer; begin F := 12*(9+x)*(9+x)+7; end;
BEGIN
a := -21; b := 21;M := a; R := F(a); for t := a to b do begin if (F(t) > R) then begin M := t; R := F(t); end; end; write(M); END. |
Си | Алгоритмический |
#include <stdio.h>
int F(int x) { return 12*(9+x)*(9+x)+7; } void main() { int a, b, t, M, R; a = -21; b = 21; M = a; R = F(a); for (t=a; t<=b; t++){ if (F(t) > R) { M = t; R = F(t); } } printf ("%d", M); } |
алг
нач цел a, b, t, R, M a := -21; b := 21
M := a; R := F(a)
нц для t от a до bесли F(t) > R то M := t; R := F(t) все кц вывод M кон алг цел F(цел x) нач знач := 12 *(9+x)*(9+x)+7 кон |
43. При каком наименьшем значении входной переменной k программа выдаёт тот же ответ, что и при входном значении k = 64? Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM K, I AS LONG
INPUT K I = 12 WHILE I > 0 AND F(I) >= K I = I - 1 WEND PRINT I FUNCTION F(N) F = N * N - 20 END FUNCTION |
def f(n):
return n * n - 20 k = int(input()) i = 12 while i > 0 and f(i) >= k: i = i - 1 print(i) |
Алгоритмический язык | Паскаль |
алг
нач цел i, k ввод k i := 12 нц пока i > 0 и f(i) >= k i := i - 1 кц вывод i кон алг цел f(цел n) нач знач := n * n - 20 кон |
var k, i : longint;
function f(n: longint) : longint; begin f := n * n - 20 end; begin readln(k); i := 12; while (i>0) and (f(i) >= k) do i := i-1; writeln(i) end. |
Си | |
#include <stdio.h>
long f(long n) { return n * n - 20; } int main() { long k, i; scanf("%ld", &k); i = 12; while (i > 0 && f(i) >= k) i––; printf("%ld", i); return 0; } |
44. Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках).
Бейсик | Python |
---|---|
DIM A, B, T, M, R AS INTEGER
A = -10: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) END IF NEXT T PRINT M+10 FUNCTION F(x) F = 2*(x*x-1)*(x*x-1)+7 END FUNCTION |
def F(x):
return 2*(x*x-1)*(x*x-1)+7 a=-10; b=20
M=a; R=F(a)
for t in range(a,b+1):if F(t) < R: M=t; R=F(t) print(M+10) |
Паскаль | Алгоритмический язык |
var a,b,t,M,R: integer;
Function F(x:integer):integer; begin F := 2*(x*x-1)*(x*x-1)+7; end; BEGIN a := -10; b := 20; M := a; R := F(a); for t := a to b do begin if F(t) < R then begin M := t; R := F(t); end; end; write(M+10); END. |
алг
нач цел a, b, t, M, R a := -10; b := 20 M := a; R := F(a) нц для t от a до b если F(t) < R то M := t; R := F(t) все кц вывод M+10 кон алг цел F(цел x) нач знач := 2*(x*x-1)*(x*x-1)+7 кон |
Си | |
#include<stdio.h>
int F(int x) { return 2*(x*x-1)*(x*x-1)+7; } int main() { int a, b, t, M, R; a = -10; b = 20; M = a; R = F(a); for (t=a; t<=b; t++) { if (F(t) < R) { M = t; R = F(t); } } printf("%d", M+10); return 0; } |
45. Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках).
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER
A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) ENDIF NEXT T PRINT M FUNCTION F(x) F = 3*(x-8)*(x-8) END FUNCTION |
var a,b,t,M,R :integer;
Function F(x:integer):integer; begin F := 3*(x-8)*(x-8) end; begin a := -20; b := 20; M := a; R := F(a); for t := a to b do begin if (F(t) < R) then begin M := t; R := F(t) ;end end; write(M); end. |
Си | Алгоритмический язык |
#include<stdio.h>
int F(int x) { return 3*(x-8)*(x-8); } void main() { int a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t=a; t<=b; t++){ if (F(t) < R) { M = t; R = F(t); } } printf("%d", M); } |
алг
нач цел a, b, t, R, M a := -20; b := 20
M := a; R := F(a)
нц для t от a до bесли F(t)< R то
M := t; R := F(t)
всекц вывод M кон алг цел F(цел x) нач знач := 3*(x-8)*(x-8) кон |
46. Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырех языках):
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER
A = -20: B = 20 M = A: R = F(A) FOR T = A TO B IF F(T) < R THEN M = T R = F(T) ENDIF NEXT T PRINT M FUNCTION F(x) F = 9 * (x + 19) * (x - 19) + 1; END FUNCTION |
var a,b,t,M,R :integer;
Function F(x:integer):integer; begin F : = 9 * (x + 19) * (x - 19) + 1; end; begin a : = -20; b : = 20; M : = a; R : = F(a); for t : = a to b do begin if (F(t) < R ) then begin M : = t; R : = F(t) end end; write(M); end. |
Си | Алгоритмический язык |
#include<stdio.h>
int F(int x) { return 9 * (x + 19) * (x - 19) + 1; } void main() { int a, b, t, M, R; a = -20; b = 20; M = a; R = F(a); for (t = a; t <= b; t++){ if (F(t) < R) { M = t; R = F(t); } } printf("%d", M); } |
алгнач
цел a, b, t, R, M a : = -20; b : = 20
M : = a; R : = F(a)
нц для t от a до bесли F(t) < R то
M : = t; R : = F(t)
всекц вывод M кон алг цел F(цел x) нач знач: = 9 * (x + 19) * (x - 19) + 1 кон |
47. Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 20. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM K, I AS LONG
INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 3*N + 3 END FUNCTION |
def f(n):
return n*n*n def g(n): return 3*n+3 k = int(input()) i = 1 while f(i) < g(k): i+=1 print (i) |
Паскаль | Алгоритмический язык |
var
k, i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := 3*n + 3; end; begin readln(k); i := 1; while f(i) < g(k) do i := i+1; writeln(i) end. |
алг
нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 3*n + 3 кон |
Си | |
#include
long f(long n) { return n * n * n; } long g(long n) { return 3*n + 3; } int main() { long k, i; scanf("%ld", &k); i = 1; while(f(i) < g(k)) i++; printf("%ld", i); return 0; } |
48. Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 20. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM K, I AS LONG
INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N END FUNCTION FUNCTION G(N) G = 3*N + 3 END FUNCTION |
def f(n):
return n*n def g(n): return 3*n+3 k = int(input()) i = 1 while f(i) < g(k): i+=1 print (i) |
Паскаль | Алгоритмический язык |
var
k, i : longint; function f(n: longint): longint; begin f := n * n; end; function g(n: longint): longint; begin g := 3*n + 3; end; begin readln(k); i := 1; while f(i) < g(k) do i := i+1; writeln(i) end. |
алг
нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n кон алг цел g(цел n) нач знач := 3*n + 3 кон |
Си | |
#include
long f(long n) { return n * n; } long g(long n) { return 3*n + 3; } int main() { long k, i; scanf("%ld", &k); i = 1; while(f(i) < g(k)) i++; printf("%ld", i); return 0; } |
49. Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Var a, b, t, M, R : integer;
Function F(x : integer) : integer;
begin
F:=4*(x-5)*(x+3);
end;
BEGIN
a:= −20; b:=0;
M:=a; R:=F(a);
for t:=a to b do begin
if (F(t)< R) then begin
M:=t;
R:=F(t);
end;
end;
write(R);
END.
50. Определите, какое число будет напечатано в результате выполнения следующего алгоритма.
var a,b,t,M,R :integer;
Function F(x: integer):integer;
begin
F := 3*(17+x)*(17+x)+214;
end;
BEGIN
a := -7; b := 25;
M := a; R := F(a) ;
for t := a to b do begin
if (F(t) < R) then begin
M := t;
R := F(t);
end;
end;
write(R);
END.
51. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бейсик | Паскаль |
---|---|
a = 30
b = 6 a = a * 3 / b
IF a < b THEN
c = 3*a - 5 * (b+3)
ELSE
c = 3*a + 5 * (b+3)
END IF
|
a := 30;
b := 6; a := a * 3 / b; if a < b then c := 3*a - 5 *(b+3) else c := 3*a + 5 * (b+3); |
Си | Алгоритмический язык |
a = 30;
b = 6; a = a * 3 / b; if (a < b) c = 3*a - 5 * (b+3); else c = 3*a + 5 * (b+3); |
a := 30b := 6
a := a * 3 / b если a < b то c := 3*a - 5*(b+3) иначе c := 3*a + 5*(b+3) все |
52. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа:
Бэйсик | Паскаль |
---|---|
a = 30
b = 6 a = a * 3 / b IF a < b THEN c = 2 * a – 5 * (b + 2) ELSE c = 2 * a + 5 * (b + 2) END IF |
a := 30;
b := 6; a := a * 3 / b; if a < b then c := 2 * a – 5 * (b + 2) else c := 2 * a + 5 * (b + 2); |
Си | Алгоритмический |
a = 30;
b = 6; a = a * 3 / b; if (a < b) c = 2 * a – 5 * (b + 2); else c = 2 * a + 5 * (b + 2); |
a := 30
b := 6 a := a * 3 / b если a < b то c := 2 * a – 5 * (b + 2) иначе c := 2 * a + 5 * (b + 2) все |
53. Определите значение переменной с после выполнения следующего фрагмента программы {записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бэйсик | Паскаль |
---|---|
a = 25
b = 7 a = a - 3 * b IF a > b THEN с = a + 2 * b ELSE с = b + 2 * a ENDIF |
a := 25;
b := 7; a := a - 3 * b; if a > b then c := a + 2 * b else c := b + 2 * a; |
Си | Алгоритмический язык |
a = 25;
b = 7; a = a - 3 * b; if (a > b) с = a + 2 * b; else с = b + 2 * a; |
a := 25
b := 7 a := a - 3 * b если a > b то c := a + 2 * b иначе с := b + 2 * a все |
54. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бейсик | Паскаль |
---|---|
а = 33
b = 5 а = а - 6 * b IF a < b THEN с = 15 * а - 5 * (b + 3) ELSE с = 15 * а + 5 * (b + 3) ENDIF |
a : = 33;
b : = 5; a : = а - 6 * b; if a < b then с : = 15 * a - 5 * (b + 3) else c : = 15 * а + 5 * (b + 3); |
Си | Алгоритмический язык |
a = 33;
b = 5; a = а - 6 * b; if (a < b) с = 15 * а - 5 * (b + 3); else с = 15 * а + 5 * (b + 3); |
a : = 33
b : = 5 a : = а - 6 * b если a < b то с : = 15 * а - 5 * (b + 3) иначе с : = 15 * а + 5 * (b + 3) все |
55. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бейсик | Паскаль |
---|---|
a = 25
b = 6 a = a - 3 * b IF a > b THEN c = a - b ELSE c = 2 * a - b ENDIF |
a := 25;
b := 6; a := a - 3 * b; if a > b then c := a - b else c := 2 * a - b; |
Си | Алгоритмический язык |
a = 25;
b = 6; a = a - 3 * b; if (a > b) c = a - b; else c = 2 * a - b; |
a := 25
b := 6 a := a - 3 * b если a > b то c := a - b иначе c := 2 * a - b все |
56. Определите значение переменной с после выполнения следующего фрагмента программы {записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бэйсик | Паскаль |
---|---|
a = 20
b = 6 a = a - 3 * b IF a > b THEN с = a + 2 * b ELSE с = b + 2 * a ENDIF |
a := 20;
b := 6; a := a - 3 * b; if a > b then c := a + 2 * b else c := b + 2 * a; |
Си | Алгоритмический язык |
a = 20;
b = 6; a = a - 3 * b; if (a > b) с = a + 2 * b; else с = b + 2 * a; |
a := 20
b := 6 a := a - 3 * b если a > b то c := a + 2 * b иначе с := b + 2 * a все |
57. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бейсик | Паскаль |
---|---|
a = 16
b = 4 a = a / b * 2 IF a > b THEN c = a + b ELSE c = b - 2 * a ENDIF |
a := 16;
b := 4; a := a / b * 2; if a > b then c := a + b else c := b - 2 * a; |
Си | Алгоритмический язык |
a = 16;
b = 4; a = a / b * 2; if (a > b) c = a + b; else c = b - 2 * a; |
a := 16
b := 4 a := a / b * 2 если a > b то c := a + b иначе c := b - 2 * a все |
58. У исполнителя Прибавитель две команды, которым присвоены номера:
1. прибавь 1,
2. увеличь старшую цифру числа на 1.
Первая из них увеличивает число на экране на 1, вторая увеличивает на 1 старшую (левую) цифру числа, например число 23 с помощью такой команды превратится в число 33. Если старшая цифра числа равна 9, то вторая команда оставляет это число неизменным. Программа для Прибавителя — это последовательность команд. Сколько есть программ, которые число 15 преобразуют в число 37?
59. Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите с точностью до целого
Бейсик | Паскаль |
---|---|
a = 56
b = 2 k = 5 a = a / 7 - b
IF a > b THEN
c = 10 * a – k * b
ELSE
c = 10 * a + k * b
END IF
|
a:= 56;
b := 2; k := 5; a := a/7 - b; if a > b then c := 10*a - k*b else c := 10*a + k*b; |
Си | Алгоритмический язык |
a = 56;
b = 2; k = 5; a = a/7 - b; if (a > b) c = 10*a - k*b; else c = 10*a + k*b; |
a := 56
b := 2 k := 5 a := a/7 - b если a > b то c := 10*a - k*b иначе c := 10*a + k*b все |
60. Определите значение переменной с после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Бейсик | Паскаль |
---|---|
а = 30
b = 6 а = а * 3 / b IF a < b THEN с = 2 * а - 10 * b ELSE с = 2 * а + 10 * b ENDIF |
a : = 30;
b : = 6; a : = a * 3 / b; if a < b then с : = 2 * a - 10 * b else c : = 2 * a + 10 * b; |
Си | Алгоритмический язык |
a = 30;
b = 6; a = a * 3 / b if (a < b) с = 2 * a - 10 * b; else с = 2 * a + 10 * b; |
a : = 30
b : = 6 a : = a * 3 / b если a < b то с : = 2 * a - 10 * b иначе с : = 2 * a + 10 * b все |
Комментариев нет:
Отправить комментарий