Выполнение алгоритмов для исполнителя Робот Ответами к заданиям являются слово, словосочетание, число или последовательность слов, чисел. 1 1 Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. Команды-приказы: вверх | вниз | влево | вправо При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ^, вниз v, влево . Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся. Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно | снизу свободно | слева свободно | справа свободно Цикл ПОКА условие последовательность команд КОНЕЦ ЦИКЛАвыполняется, пока условие истинно.В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и окажется в закрашенной клетке (клетка А1)? НАЧАЛОПОКА слева свободно ИЛИ сверху свободно ЕСЛИ сверху свободно ТО вверх ИНАЧЕ влево КОНЕЦ ЕСЛИКОНЕЦ ПОКАКОНЕЦ 2 2 Ниже приведён фрагмент программы, записанный на разных языках программирования. При каком наибольшем введённом числе а после выполнения программы значение переменной с будет равно 45? Бейсик INPUT аb = 15а = b - 5 * аIF а * b < 0 THEN с = b + 4ELSE с = 3 * bEND IF Паскаль readln(а);b := 15;а : = b - 5 * а;if а * b < 0 then с : = b + 4else с := 3 * b; Си scanf("%d", &a);b = 15;a = b - 5 * a;if (a * b < 0) c = b + 4;else c = 3 * b; Алгоритмический язык ввод аb := 15a := b - 5 * aесли a * b < 0 то c := b + 4 иначе c := 3 * bвсе 3 3 Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (555, 63) преобразует строку 12555550 в строку 1263550. Если в строке нет вхождений цепочки и, то выполнение команды заменить (и, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка и в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда 1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 1000 идущих подряд цифр 8? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (999) ИЛИ нашлось (888) ЕСЛИ нашлось (888) ТО заменить (888, 9) ИНАЧЕ заменить (999, 8) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ 4 4 Ниже приведён фрагмент программы, записанный на разных языках программирования. При каком наименьшем введённом числе а после выполнения программы значение переменной с будет равно 17? Бейсик INPUT аb = 15а = - а - 3 * bIF а > b THEN c = b + 1ELSE с = b + 2END IF Паскаль readln(a);b := 15;a := - a - 3 * b;if a > b then c : = b + 1elsec : = b + 2; Си scanf("%d", &а);b = 15;a = - a - 3 * b;if (a > b) c = b + 1;else c = b + 2; Алгоритмический язык ввод ab:= 15a:= - a - 3 * bесли a > b то c := b + 1 иначе c := b + 2все 5 5 Определите значение переменной с после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Бейсик а = 50b = 100b = 400 - (50 * а - 5 * Ь)IF а > b THEN с = b + 10 * аELSE с = а + 2 * bEND IF Паскаль a := 50;b := 100;b := 400 - (50 * а - 5 * Ь);if а > b then с := b + 10 * а else с : = а + 2 * b; Си а = 50;b = 100;b = 400 - (50 * а - 5 * b) ;if (а > b) с = b +10 * а;else с = а + 2 * b; Алгоритмический язык а := 50b := 100b := 400 - (50 * а - 5 * b)если а > b то с := b + 10 * а иначе с := а + 2 * b все 6 6 Ниже приведён фрагмент программы, записанный на разных языках программирования. При каком наименьшем введённом числе а после выполнения программы значение переменной с будет равно 45? Бейсик INPUT аb = - 15а = b - 3 * аIF а * b < 0 THEN с = b + 4ELSE с = - 3 * bEND IF Паскаль readln(a);b := -15;a := b - 3 * a;if a * b < 0 then c : = b + 4else c := - 3 * b; Си scanf("%d", &а);b = - 15;а = b - 3 * а;if (а * b < 0) с = b + 4;else с = - 3 * b; Алгоритмический язык ввод ab := - 15a : = b - 3 * aесли a * b < 0 то c := b + 4 иначе c := - 3 * bвсе 7 7 Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (555, 63) преобразует строку 12555550 в строку 1263550. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда 1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 1000 идущих подряд цифр 9? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (999) ИЛИ нашлось (888) ЕСЛИ нашлось (888) ТО заменить (888, 9) ИНАЧЕ заменить (999, 8) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ 8 8 Ниже приведён фрагмент программы, записанный на разных языках программирования. При каком наибольшем введённом числе а после выполнения программы значение переменной с будет равно 60? Бейсик INPUT аb = 30а = b - 3 * аIF а < b THEN с = b + 20ELSE с = 2 * bEND IF Паскаль readln(a);b := 30;a := b - 3 * a;if a < b then c := b + 20else c := 2 * b; Си scanf("%d", &а);b = 30;а = b - 3 * а;if (а < b) с = b + 20;else с = 2 * b; Алгоритмический язык ввод ab := 30a : = b - 3 * aесли a < b то c := b + 20 иначе c := 2 * bвсе 9 9 Ниже приведён фрагмент программы, записанный на разных языках программирования. При каком наибольшем введённом числе а после выполнения программы значение переменной с будет равно —20? Бейсик INPUT аb = 30а = - а - 3 * bIF а < b THEN с = b + 45ELSE с = b - 50END IF Алгоритмический язык ввод ab := 30a : = - a - 3 * bесли a < b то c := b + 45 иначе c := b - 50все Паскаль readln(a);b := 30;a:= - a - 3 * b;if a < b then c := b + 45else c := b - 50; Си scanf("%d", &а);b = 30;a= - a - 3 * b;if (a < b) c = b + 45;elsec = b - 50; 10 10 Определите значение переменной с после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Бейсик а = 300b = 200b = 900 - (а - 5 * b)IF а < b THEN с = b - 10 * аELSE с = а + 2 * bEND IF Паскаль а := 300;b := 200;b := 900 - (а - 5 * b) ;if а < b then с := b - 10 * аelse с : = а + 2 * b; Си а = 300;b = 200;b = 900 - (а - 5 * b) ;if (а < b) с = b - 10 * а;else с = а + 2 * b; Алгоритмический язык а := 300b := 200b := 900 - (а - 5 * b)если а < b то с := b - 10 * а иначе с := а + 2 * bвсе 0 из 10 № Ваш ответ Правильный ответ Здесь появится результат тестовой части. Нажмите на кнопку «Завершить работу», чтобы увидеть правильные ответы. Завершить работу