Задание Д1.1 (тема Д1, №5424)
Варианты
Текст задания
Некоторый алфавит содержит три различные буквы. Сколько трёхбуквенных слов можно составить из букв данного алфавита (буквы в слове могут повторяться)?
Д1, Д1, 5, 6, 7, 7, Д7, Д9, 11, Д11, Д12, Д12, 13, 14, 16, Д17, Д18, Д21, 22, 23, Д23, Д24 C1, Д25 C2, Д26 C3, Д27 C4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Некоторый алфавит содержит три различные буквы. Сколько трёхбуквенных слов можно составить из букв данного алфавита (буквы в слове могут повторяться)?
Некоторый алфавит содержит три различные буквы. Сколько трёхбуквенных слов можно составить из букв данного алфавита (буквы в слове могут повторяться)?
У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 2,
2. умножь на 3.
Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, утраивает его. Запишите порядок команд в программе, которая преобразует число 2 в число 28 и содержит не более 5 команд. Указывайте лишь номера команд.
(Например, программа 21221 — это программа
умножь на 3,
прибавь 2,
умножь на 3,
умножь на 3,
прибавь 2.
Эта программа преобразует число 1 в число 47.)
Определите число, которое будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):
Бейсик | Паскаль |
---|---|
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 <iostream> using namespace std; int main() { int n, s; n = 0; s = 0; while (s <= 249) { s = s + 25; n = n + 4; } cout « n « endl; } | алг нач цел n, s n : = 0 s : = 0 нц пока s <= 249 s : = s + 25 n : = n + 4 кц вывод n кон |
Python | |
n = 0 s = 0 while s <= 249: s += 25 n += 4 print(n)
|
Документ объёмом 16 Мбайт можно передать с одного компьютера на другой двумя способами.
А. Сжать архиватором, передать архив по каналу связи, распаковать.
Б. Передать по каналу связи без использования архиватора.
Какой способ быстрее и насколько, если:
· средняя скорость передачи данных по каналу связи составляет 222 бит в секунду;
· объём сжатого архиватором документа равен 75% исходного;
· время, требуемое на сжатие документа, — 14 секунд, на распаковку — 3 секунды?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите число, обозначающее, на сколько секунд один способ быстрее другого. Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Единицы измерения «секунд», «сек.», «с.» к ответу добавлять не нужно.
Документ объёмом 16 Мбайт можно передать с одного компьютера на другой двумя способами.
А. Сжать архиватором, передать архив по каналу связи, распаковать.
Б. Передать по каналу связи без использования архиватора.
Какой способ быстрее и насколько, если:
· средняя скорость передачи данных по каналу связи составляет 222 бит в секунду;
· объём сжатого архиватором документа равен 75% исходного;
· время, требуемое на сжатие документа, — 14 секунд, на распаковку — 3 секунды?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите число, обозначающее, на сколько секунд один способ быстрее другого. Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Единицы измерения «секунд», «сек.», «с.» к ответу добавлять не нужно.
Дан фрагмент электронной таблицы:
A | B | C | |
1 | 9 | 7 | |
2 | =(C1+1)/(A1-1) | =(A1-B1)/(C1+1) | =(A1-4)/(C1+7) |
Какое целое число должно быть записано в ячейке С1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек А2:С2 соответствовала рисунку?
Известно, что все значения диапазона, по которым построена диаграмма, имеют один и тот же знак.
В некоторой информационной системе информация кодируется двоичными шестиразрядными словами. При передаче данных возможны их искажения, поэтому в конец каждого слова добавляется седьмой (контрольный) разряд таким образом, чтобы сумма разрядов нового слова, считая контрольный, была чётной. Например, к слову 110011 справа будет добавлен 0, а к слову 101100 — 1.
После приёма слова производится его обработка. При этом проверяется сумма его разрядов, включая контрольный. Если она нечётна, это означает, что при передаче этого слова произошёл сбой, и оно автоматически заменяется на зарезервированное слово 0000000. Если она чётна, это означает, что сбоя не было или сбоев было больше одного. В этом случае принятое слово не изменяется.
Исходное сообщение
0011110 0011011 0011011
было принято в виде
0011110 0011000 0011001.
Как будет выглядеть принятое сообщение после обработки?
1) 0011110 0011000 0000000
2) 0011101 0000000 0000000
3) 0011110 0000000 0011001
4) 0000000 0011000 0011001
В велокроссе участвуют 28 спортсменов. Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша, записывая его номер с использованием минимально возможного количества бит, одинакового для каждого спортсмена. Какой объём памяти будет использован устройством, когда все спортсмены прошли промежуточный финиш? (Ответ дайте в битах.)
Производится двухканальная (стерео) звукозапись с частотой дискретизации 16 кГц и 24-битным разрешением, результаты записываются в файл, сжатие данных не используется. Размер файла с записью не может превышать 8 Мбайт. Какая из приведённых ниже величин наиболее близка к максимально возможной продолжительности записи?
1) 19 секунд
2) 35 секунд
3) 87 секунд
4) 115 секунд
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. По заданным IP-адресу узла и маске определите адрес сети.
IP-адрес узла: 128.194.208.64
Маска: 255.255.224.0
При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса сети и запишите в нужном порядке соответствующие им буквы без использования точек.
A | B | C | D | E | F | G | H |
0 | 64 | 128 | 192 | 194 | 208 | 224 | 255 |
Пример. Пусть искомый IP-адрес: 192.168.128.0, и дана таблица:
A | B | C | D | E | F | G | H |
128 | 168 | 255 | 8 | 127 | 0 | 17 | 192 |
В этом случае правильный ответ будет записан в виде: HBAF.
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. По заданным IP-адресу узла и маске определите адрес сети.
IP-адрес узла: 128.194.208.64
Маска: 255.255.224.0
При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса сети и запишите в нужном порядке соответствующие им буквы без использования точек.
A | B | C | D | E | F | G | H |
0 | 64 | 128 | 192 | 194 | 208 | 224 | 255 |
Пример. Пусть искомый IP-адрес: 192.168.128.0, и дана таблица:
A | B | C | D | E | F | G | H |
128 | 168 | 255 | 8 | 127 | 0 | 17 | 192 |
В этом случае правильный ответ будет записан в виде: HBAF.
На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Л?
Укажите наименьшее основание системы счисления, в которой запись десятичного числа 48 имеет ровно три значащих разряда.
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = n + 1 при n =< 2;
F(n) = 2 · F(n − 1) + F(n − 2) при n > 2.
Чему равно значение функции F(4)? В ответе запишите только натуральное число.
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет:
Запрос | Найдено страниц (в тысячах) |
---|---|
Диана & Аврора | 250 |
Диана & Паллада | 370 |
Диана & Паллада & Аврора | 140 |
Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу: Диана & (Аврора|Паллада) Укажите целое число, которое напечатает компьютер. Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Определите значение переменной с после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа.
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырёх языках).
Бейсик | Паскаль |
---|---|
DIM A, B, T, M, R AS INTEGER A = -10: B = 27 M = A: R = F(А) 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 = 2*(x -5)*(x-5)+55 END FUNCTION | var a,b,t,M,R :integer; Function F(x:integer):integer; begin F := 2*(x -5)*(x-5)+55 end; begin a := -10; b := 27; 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 <iostream> using namespace std; int F(int x) { return 2*(x -5)*(x-5)+55; } void main() { int a, b, t, M, R; a = -10; b = 27; M = a; R = F(a); for (t = a; t <= b; t++) { if (F(t) > R) { M = t; R = F(t); } } cout « M « endl; } | алг нач цел a, b, t, M, R a := -10; b := 27 M := a; R := F(a) нц для t от a до b если F(t) > R то M := t; R := F(t) все кц вывод M кон алг цел F(цел x) нач знач:= 2*(x -5)*(x-5)+55 кон |
Python | |
def f(x): return 2*(x -5)*(x-5)+55 a = -10 b = 27 M = a R = f(a) for t in range(a, b+1): if (f(t) > R): M = t R = f(t); print(M)
|
Ниже на пяти языках записан алгоритм. Получив на вход число , этот алгоритм печатает два числа: и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2. Допускается диапазон значений для величин целого типа: от −231 до 231 — 1.
Бейсик | Паскаль |
---|---|
DIM X, A, B, C AS INTEGER INPUT X A = 0: B = 0 WHILE X > 0 C = X MOD 2 IF C = 0 THEN A = A + 1 ELSE B = B + 1 END IF X = X / 10 WEND PRINT A PRINT B | var x, a, b, c: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin c := x mod 2 if c = 0 then a := a + 1 else b := b + 1 x := x div 10 end; writeln(a); write(b); end. |
Си++ | Алгоритмический |
#include <iostream> using namespace std;
int main() { int x, a, b, c; cin >> x; a = 0; b = 0; while (x > 0) { c = x%2 if (c == 0) a = a + 1; else b = b + 1; x = x / 10; } cout << a << endl << b endl; }
| алг нач цел x, a, b, c ввод x a := 0; b := 0 нц пока x > 0 c := mod(x, 2) если c = 0 то a := a + 1 иначе b := b + 1 все x := div(x, 10) кц вывод а, нс b кон |
Python | |
x = int(input()) a = 0 b = 0 while x > 0: c = x % 2 if c == 0: a += 1 else b += 1 x = x // 10 print(a) print(b)
|
У исполнителя Утроитель две команды, которым присвоены номера:
1. прибавь 1,
2. умножь на 3.
Первая из них увеличивает число на экране на 1, вторая утраивает его. Программа для Утроителя — это последовательность команд. Сколько есть программ, которые число 3 преобразуют в число 37?
Сколько существует различных наборов значений логических переменных x1, x2, ... x12, которые удовлетворяют всем перечисленным ниже условиям?
((x1 ≡ x2) ∨ (x3 ≡ x4)) ∧ (¬(x1 ≡ x2) ∨ ¬(x3 ≡ x4)) = 1
((x3 ≡ x4) ∨ (x5 ≡ x6)) ∧ (¬(x3 ≡ x4) ∨ ¬(x5 ≡ x6)) = 1
...
((x9 ≡ x10) ∨ (x11 ≡ x12)) ∧ (¬(x9 ≡ x10) ∨ ¬(x11 ≡ x12)) = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x12 при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
Бэйсик | Паскаль |
---|---|
DIM N AS LONG INPUT N sum = 0 WHILE N >= 9 digit = N MOD 10 sum = sum + digit N = N \ 10 WEND PRINT sum END
| var N: longint; digit, sum: integer; begin readln(N); sum := 0; while N >= 9 do begin digit := N mod 10; sum := sum + digit; N := N div 10; end; writeln(sum); end.
|
Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N; int digit, sum; cin >> N; sum = 0; while (N >= 9) { digit = N % 10; sum = sum + digit; N = N / 10; } cout « sum « endl; }
| алг нач цел N, digit, sum ввод N sum := 0 нц пока N >= 9 digit := mod(N, 10) sum := sum + digit N := div(N, 10) кц вывод sum кон |
Python | |
n = int(input()) sum = 0 while n >= 9: digit = n % 10 sum += digit n //=10; print(sum)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 352.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
3. Укажите одно число для которого эта программа будет работать верно.
Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, имеющих чётное значение. Если в исходном массиве нет элемента, значение которого чётно и положительно, то вывести сообщение «Не найдено».
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бэйсик | Паскаль |
---|---|
N = 20 DIM A(N) AS INTEGER DIM I, J, MIN AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I ... END
| const N = 20; var a: array [1..N] of integer; i, j, min: integer; begin for i := 1 to N do readln(a[i]); ... end.
|
Си++ | Алгоритмический язык |
#include <iostream> using namespace std; #define N 20 int main() { int a[N]; int i, j, min; for (i = 0; i < N; i++) cin >> a[i]; ... } | алг нач цел N = 20 целтаб a[1:N] цел i, j, min нц для i от 1 до N ввод a[i] кц ... кон |
Естественный язык | |
Объявляем массив А из 20 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 20 вводим элементы массива А с 1-го по 20-й. | |
Python | |
// допускается также использовать // целочисленные переменные j, min a = [] n = 20 for i in range(0, n): a.append(int(input())) |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в три раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 66. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 66 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 65.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
1. а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающий ход для каждого указанного значения S.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
2. Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём (а) Петя не может выиграть за один ход и (б) Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Для каждого указанного значения S опишите выигрышную стратегию Пети.
3. Укажите значение S, при котором:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах — количество камней в куче.
На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы — это вещественное неотрицательное число, записанное с точностью до одного знака после десятичной точки. Частиц, скорость которых измерена, может быть очень много, но не может быть меньше трёх. Все значения скоростей не превосходят 100000. При обработке результатов в каждой серии эксперимента отбирается основное множество частиц. Это такое непустое подмножество частиц, для которого произведение скоростей является максимально возможным. Если таких подмножеств несколько, то из них выбирается множество, которое содержит наименьшее количество элементов. В основное множество могут войти, например, как все частицы, так и ровно одна частица. Если числовое множество содержит только одно число х, то произведением элементов этого множества является число х.
Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать результаты эксперимента, находя количество элементов в основном множестве и значение минимального элемента в этом множестве. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано одно неотрицательное вещественное число с точностью до 1 знака после десятичной точки. Пример входных данных:
5
123.4
0.2
7.2
0.0
314 .1
Программа должна вывести сначала размер основного множества, а затем его минимальный элемент.
Пример выходных данных для приведённого выше примера входных данных:
3 7.2
Дано N = 3228, M = D416. Какое из чисел К, записанных в двоичной системе, отвечает условию N < K < M?
1) 110010102
2) 110011002
3) 110100112
4) 110011102
Между населёнными пунктами А, В, С, D, Е, F построены дороги, протяжённость которых приведена в таблице (отсутствие числа в таблице означает, что прямой дороги между пунктами нет):
Определите длину кратчайшего пути между пунктами А и F (при условии, что передвигаться можно только по построенным дорогам).
1) 14
2) 16
3) 18
4) 20
Дан фрагмент таблицы истинности выражения F:
Каким выражением может быть F?
1) ¬x1 ∨ х2 ∨ ¬хЗ ∨ х4 ∨ ¬х5 ∨ ¬х6 ∨ х7 ∨ ¬х8
2) ¬x1 ∧ х2 ∧ ¬хЗ ∧ х4 ∧ х5 ∧ ¬х6 ∧ х7 ∧ ¬х8
3) x1 ∨ ¬х2 ∨ хЗ ∨ ¬х4 ∨ ¬х5 ∨ х6 ∨ ¬х7 ∨ х8
4) x1 ∧ ¬х2 ∧ хЗ ∧ ¬х4 ∧ х5 ∧ х6 ∧ ¬х7 ∧ х8
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы.
Символ «?» (вопросительный знак) означает ровно один произвольный символ.
Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Определите, по какой из масок может быть выбрана указанная группа файлов:
comfort.с
cobalt.срр
coat.с
cost.cpp
1) ?о*.?*
2) *t.?
3) c*t.c??
4) co?t.?
Ниже представлены две таблицы из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных фамилию и инициалы дяди Колос E. Л.
Пояснение: дядей считается родной брат отца или матери.
1) Грант А. Б.
2) Грант Б. А.
3) Колос А. Е.
4) Грант Б. Б.
Коле нужно с помощью электронных таблиц построить таблицу умножения чисел от 3 до 6.
Для этого сначала в диапазонах В1:Е1 и А2:А5 он записал числа от 3 до 6. Затем в ячейку Е2 записал формулу умножения, после чего скопировал её во все ячейки диапазона В2:Е5. В итоге на экране получился фрагмент таблицы сложения (см. рисунок).
Какая формула была записана в ячейке Е2?
1) =$А2*Е$1
2) =А$2*$Е1
3) =А2*Е1
4) =$А2*$Е1
Для передачи данных по каналу связи используется 5-битовый код. Сообщение содержит только буквы А, Б и В, которые кодируются следующими кодовыми словами:
А — 00000, Б — 10011, В — 11100.
При передаче возможны помехи. Однако некоторые ошибки можно попытаться исправить. Любые два из этих трёх кодовых слов отличаются друг от друга не менее чем в трёх позициях. Поэтому если при передаче слова произошла ошибка не более чем в одной позиции, то можно сделать обоснованное предположение о том, какая буква передавалась. (Говорят, что «код исправляет одну ошибку».) Например, если получено кодовое слово 10110, считается, что передавалась буква Б. (Отличие от кодового слова для Б только в одной позиции, для остальных кодовых слов отличий больше.) Если принятое кодовое слово отличается от кодовых слов для букв А, Б, В более чем в одной позиции, то считается, что произошла ошибка (она обозначается 'х').
Получено сообщение 11000 00001 11110 10001. Декодируйте это сообщение — выберите правильный вариант.
1) ВАВБ
2) хАВх
3) ВАВх
4) хххх
На числовой прямой даны два отрезка: Р = [22, 72] и Q = [42, 102]. Выберите из предложенных отрезков такой отрезок А, что логическое выражение
¬((х ∈ А) ∧ (х ∈ Р)) ∨ (х ∈ Q)
тождественно истинно, то есть принимает значение 1 при любом значении переменной х.
1) [15,50]
2) [24,80]
3) [35,75]
4) [55,100]
В программе описан одномерный целочисленный массив А с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования.
Чему окажутся равны элементы этого массива после выполнения фрагмента программы?
1) 9 9 9 9 9 9 9 9 9 9 10
2) 1 2 3 4 5 6 7 8 9 10 10
3) -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 10
4) 0 1 2 3 4 5 6 7 8 9 10
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия.
Команды-приказы:
вверх | вниз | влево | вправо |
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.
Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F1)?
НАЧАЛО
ПОКА сверху свободно ИЛИ справа свободно
ЕСЛИ сверху свободно
ТО вверх
ИНАЧЕ вправо
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
1) 20
2) 24
3) 26
4) 22