Русский язык (Определение главной информации текста)
Результаты теста
Затрачено времени:
08:08:25
Вопрос 1
Укажите наименьшее четырёхзначное восьмеричное число, двоичная запись которого содержит 5 единиц. В ответе запишите только само восьмеричное число, основание системы счисления указывать не нужно.
Пояснение
Наименьшее число из пяти единиц в двоичной системе счисления — 111112. При переводе в восьмеричную систему счисления должно получаться четырёхзначное число. Для этого нужно, чтобы в двоичной системе счисления число состояло из четырёх триад то есть из двенадцати цифр. Наименьшее число, удовлетворяющее условию задачи: 001 000 001 1112 = 10178.
Ваш ответ:
Вы пропустили вопрос
Вопрос 2
Логическая функция F задаётся выражением ¬x ∨ y ∨ (¬z ∧ w). На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F ложна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | Функция |
??? |
??? |
??? |
??? |
F |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Если бы функция была задана выражением ¬x ∨ y, зависящим от двух переменных: x и y, и был приведён фрагмент её таблицы истинности, содержащий все наборы аргументов, при которых функция F истинна.
Перем. 1 | Перем. 2 | Функция |
??? |
??? |
F |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Тогда первому столбцу соответствовала бы переменная y, а второму столбцу — переменная x. В ответе следовало бы написать: yx.
Пояснение
Рассмотрим данное выражение. Оно равно нулю когда одновременно выполнено: ¬x = 0; y = 0; ¬z ∧ w = 0. Первое равенство выполняется при x = 1, второе при y = 0. Из таблицы ясно, что переменная 1 — x, переменная 4 — y.
Третье равенство выполняется на наборах переменных: z = 0, w = 0; z = 1, w = 0 и z = 1, w = 1. Из сопоставления с таблицей ясно, что переменная 2 — z, переменная 3 — w.
Ваш ответ:
Вы пропустили вопрос
Вопрос 3
Между населёнными пунктами А, В, С, D, Е, F построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)
|
A |
B |
C |
D |
E |
F |
A |
|
3 |
4 |
7 |
|
20 |
B |
3 |
|
|
5 |
|
|
C |
4 |
|
|
4 |
|
|
D |
7 |
5 |
4 |
|
5 |
11 |
E |
|
|
|
5 |
|
4 |
F |
20 |
|
|
11 |
4 |
|
Определите длину кратчайшего пути между пунктами А и F (при условии, что передвигаться можно только по построенным дорогам).
Пояснение
Найдём все варианты маршрутов из A в F и выберем самый короткий.
Из пункта A можно попасть в пункты B, C, D, F.
Из пункта B можно попасть в пункт D.
Из пункта C можно попасть в пункт D.
Из пункта D можно попасть в пункты E, F.
Из пункта E можно попасть в пункт F.
A—B—D—E—F: длина маршрута 17 км.
A—B—D—F: длина маршрута 19 км.
A—C—D—E—F: длина маршрута 17 км.
A—C—D—F: длина маршрута 19 км.
A—D—E—F: длина маршрута 16 км.
A—D—F: длина маршрута 18 км.
A—F: длина маршрута 20 км.
Ваш ответ:
Вы пропустили вопрос
Вопрос 4
Ниже представлены две таблицы из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных ID дяди Леоненко В. С.
Пояснение: дядей считается брат отца или матери.
Таблица 1. |
ID |
Фамилия_И. О. |
Пол |
14 |
Леоненко Н. А. |
Ж |
23 |
Геладзе И. П. |
М |
24 |
Геладзе П. И. |
М |
25 |
Геладзе П. П. |
М |
34 |
Леоненко А. И. |
Ж |
35 |
Леоненко В. С. |
Ж |
33 |
Леоненко С. С. |
М |
42 |
Вильямс О. С. |
Ж |
44 |
Гнейс А. С. |
Ж |
45 |
Гнейс В. А. |
М |
47 |
Вильямс П. О. |
М |
57 |
Паоло А. П. |
Ж |
64 |
Моор П. А. |
Ж |
... |
... |
... |
|
Таблица 2 | |
ID_Родителя |
ID_Ребёнка |
23 |
24 |
44 |
24 |
24 |
25 |
64 |
25 |
23 |
34 |
44 |
34 |
34 |
35 |
33 |
35 |
14 |
33 |
34 |
42 |
33 |
42 |
24 |
57 |
64 |
57 |
... |
... |
|
Пояснение
Из первой таблицы ясно, что ID Леоненко В. С. равен 35. Найдем во второй таблице в графе «ID_ребенка» номер Леоненко В. С. Видно, что её родители имеют ID 34 и 33. Родители обладателей этих ID имеют ID 23, 44, 14. Дети этих ID имеют ID 24, 34, 33. Из первой таблицы находим, что ID 24 соответствует Геладзе П. И.
Ваш ответ:
Вы пропустили вопрос
Вопрос 5
Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Закодируйте таким образом последовательность символов ББГА и запишите полученное двоичное число в шестнадцатеричной системе счисления.
Пояснение
Закодируем последовательность букв: ББГА — 01011100. Теперь разобьём это представление на четвёрки справа налево и переведём полученный набор чисел сначала в десятичный код, затем в шестнадцатеричный:
Ваш ответ:
Вы пропустили вопрос
Вопрос 6
Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам.
1. Складываются отдельно первая и вторая цифры, вторая и третья цифры, а также третья и четвёртая цифры.
2. Из полученных трёх чисел выбираются два наибольших и записываются друг за другом в порядке неубывания без разделителей.
Пример. Исходное число: 9575. Суммы: 9 + 5 = 14; 5 + 7 = 12; 7 + 5 = 12. Наибольшие суммы: 14, 12. Результат: 1214.
Укажите наименьшее число, при обработке которого автомат выдаёт результат 1517.
Пояснение
Представим числа 15 и 17 в виде сумм, так чтобы одно из слагаемых было как можно меньше, используя только числа от нуля до девяти: 15 = 6 + 9, 17 = 8 + 9. Чтобы построить наименьшее исходное число, нужно по возможности ставить большие числа в младших разрядах, а маленькие — в старших. Наименьшее число, удовлетворяющее условию: 1698.
Ваш ответ:
Вы пропустили вопрос
Вопрос 7
В электронной таблице значение формулы =CУMM(D2:D4) равно 16. Чему равно значение ячейки D1, если значение формулы =CP3HAЧ(D1:D4) равно 5? Пустых ячеек в таблице нет.
Пояснение
Функция СРЗНАЧ(D1:D4) считает среднее арифметическое диапазона D1:D4, т. е. сумму значений четырёх ячеек D1, D2, D3, D4, делённую на 4. Сначала найдём сумму значений ячеек D1 + D2 + D3 + D4 = 5 * 4 = 20.
Ваш ответ:
Вы пропустили вопрос
Вопрос 8
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
DIM S, N AS INTEGER
S = 0
N = 0
WHILE S <= 65
S = S + 5
N = N + 3
WEND
PRINT N
|
s = 0
n = 0
while s <= 65:
s = s + 5
n = n + 3
print(n)
|
Паскаль | Алгоритмический язык |
var s, n: integer;
begin
s := 0;
n := 0;
while s <= 65 do
begin
s := s + 5;
n := n + 3
end;
writeln(n)
end.
|
алг
нач
цел n, s
s := 0
n := 0
нц пока s <= 65
s := s + 5
n := n + 3
кц
вывод n
кон
|
Си++ |
#include <iostream>
using namespacestd;
int main()
{
int s = 0, n = 0;
while (s <= 65)
{
s = s + 5;
n = n + 3;
}
cout << n << endl;
return 0;
}
|
Ваш ответ:
Вы пропустили вопрос
Вопрос 9
Саша скачивает из сети файл размером 60 Мбайт. Скорость передачи первой половины данных составляет 256 Кбит в секунду, а второй — в два раза меньше. Сколько минут будет скачиваться файл?
Пояснение
Обозначим за Q — количество данных, q — скорость передачи, t — время передачи. Тогда Q1 = Q = Q2 = 30 Мбайт.
Переведём Q в Кбиты: 30 Мбайт = 240 Мбит = 240 * 210 Кбит.
Время передачи определяется как t = Q / q. В данном случае надо сложить время передачи данных Q1 и Q2:
t = = 240 * 4 + 240 * 8 с = 2880 с = 48 минут.
Ваш ответ:
Вы пропустили вопрос
Вопрос 10
Все 4-буквенные слова, составленные из букв М, У, Х, А записаны в алфавитном порядке и пронумерованы.
Вот начало списка:
1. АААА
2. АААМ
3. АААУ
4. АААХ
5. ААМА
Напишите номер слова ХУХХ
Пояснение
Пусть букве А соответствует 0, М—1, У —2 и Х—3.
Тогда данный список слов станет последовательно записанным рядом чисел в четверичной системе исчисления.
Слово ХУХХ станет числом 3233. Переведём его в десятичную систему: 3233 = 3 * 43 + 2 * 42 + 3 * 41 + 3 = 3 * 64 + 2 * 16 + 12 + 3 = 192 + 32 + 15 = 239.
Не забудем также про слово АААА (в четверичной системе это 0), которое является первым, поэтому нужный нам номер 239 + 1 = 240.
Ваш ответ:
Вы пропустили вопрос
Вопрос 11
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(1) = 1
F(n) = F(n–1) * (n + 2), при n > 1
Чему равно значение функции F(5)? В ответе запишите только натуральное число.
Пояснение
Посчитаем по порядку каждое F(n):
F(2) = 1 * 4 =4
F(3) = 4 * 5 = 20
F(4) = 20 * 6 = 120
F(5) = 120 * 7 = 840. Следовательно ответ 840.
Ваш ответ:
Вы пропустили вопрос
Вопрос 12
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
По заданным IP-адресу узла и маске определите адрес сети.
IP –адрес узла: 224.37.249.32
Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы, без использования точек.
A |
B |
C |
D |
E |
F |
G |
H |
255 |
249 |
240 |
224 |
37 |
32 |
8 |
0 |
Пример.
Пусть искомый IP-адрес 192.168.128.0, и дана таблица
A |
B |
C |
D |
E |
F |
G |
H |
128 |
168 |
255 |
8 |
127 |
0 |
17 |
192 |
В этом случае правильный ответ будет записан в виде: HBAF
Пояснение
1. Запишем числа маски сети в двоичной системе счисления.
2. Адрес сети получается в результате поразрядной конъюнкции чисел маски и чисел адреса узла (в двоичном коде). Так как конъюнкция 0 с чем-либо всегда равна 0, на тех местах, где числа маски равны 0, в адресе узла стоит 0. Аналогично, там, где числа маски равны 255, стоит само число, так как конъюнкция 1 с любым числом всегда равна этому числу.
3. Рассмотрим конъюнкцию числа 224 с числом 249.
Результатом конъюнкции является число 224.
4. Сопоставим варианты ответа получившимся числам 224, 37, 224, 0: DEDH.
Ваш ответ:
Вы пропустили вопрос
Вопрос 13
В одной небольшой стране Индивидуальные Номера Налогоплательщиков представляют собой целые числа от 1 до 4000, На некотором предприятии в этой стране работают 300 человек. Главный бухгалтер этого предприятия переписала ИНН всех сотрудников последовательно без разделителей в один файл, при этом использовалось представление целых чисел с одинаковым минимально возможным количеством бит. Оцените объем получившегося файла. (Ответ дайте в байтах.)
Пояснение
Известно, что с помощью N бит можно закодировать 2N различных чисел. Поскольку 211 < 4000< 212, то для записи каждого из 4000 ИНН необходимо 12 бит памяти. Поэтому 300 номеров, записанных подряд займут 300⋅12 = 3600 бит = 450 байт.
Ваш ответ:
Вы пропустили вопрос
Вопрос 14
Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 85 единиц?
НАЧАЛО
ПОКА нашлось (11111)
заменить (111, 2)
заменить (222, 1)
КОНЕЦ ПОКА
КОНЕЦ
Пояснение
Данный алгоритм сначала заменит девять первых единиц на три двойки, а затем заменит эти три двойки на одну единицу. То есть, девять подряд идущих единиц заменяются на одну.
Далее алгоритм заменит 8 групп по 9 единиц и останется строка из 13 единиц. После этого первые 9 единиц заменятся на одну и останется последовательность из 5 единиц. Далее первые 3 единицы заменятся на двойку и останется строка 211.
Ваш ответ:
Вы пропустили вопрос
Вопрос 15
На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Л?
Пояснение
Начнем считать количество путей с конца маршрута – с города Л. NX — количество различных путей из города А в город X, N — общее число путей.
В "Л" можно приехать из И, Д, Е, Ж или К, поэтому N = NЛ = NИ + N Д + N Е + N Ж + N К (*)
Аналогично:
NИ = NД = 4;
NД = NБ + NЕ = 1 + 3 = 4;
NЕ = NВ = 3;
NЖ = NЕ + NВ + NГ = 3 + 3 + 1 = 7;
NК = NЖ = 7.
Добавим еще вершины:
NБ = N А = 1;
NВ = NА + NБ + NГ = 1 + 1 + 1 = 3;
NГ = NА = 1.
Подставим в формулу (*):
N = NЛ = 4 + 4 + 3 + 7 + 7 = 25.
Ваш ответ:
Вы пропустили вопрос
Вопрос 16
начение выражения 1254 + 258 − 30? записали в системе счисления с основанием 5.
Сколько цифр 4 содержится в этой записи?
Пояснение
Последовательно будем преобразовывать данное выражение:
Это вычитание в системе счисления с основанием 5 будет выглядеть как девять четвёрок, тройка, четвёрка и один ноль. А 516 как одна единица и 16 нулей.
Таким образом, всего 10 четвёрок.
Ваш ответ:
Вы пропустили вопрос
Вопрос 17
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос | Найдено страниц (в тысячах) |
Сириус & Вега |
260 |
Вега & (Сириус | Арктур) |
467 |
Сириус & Вега & Арктур |
131 |
Какое количество страниц (в тысячах) будет найдено по запросу Вега & Арктур ?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Пояснение
Построим диаграмму Венна для данной задачи. Количество запросов в данной области будем обозначать Ni. Цель — найти N5 + N6. При этом круг 1 соответствует Веге, круг 2 — Сириусу, круг 3 — Арктуру.
Из таблицы находим, что:
N5 + N4 = 260
N4 + N5 + N6 = 467
N5 = 131
Тогда находим:
N4 = 129
N6 = 207
N5 + N6 = 131 + 207 = 338
Ваш ответ:
Вы пропустили вопрос
Вопрос 18
Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n.
Так, например, 12&6 = 11002&01102 = 01002 = 4.
Для какого наибольшего целого числа А формула
х&А → (x&10 = 0 → х&3)
тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной x)?
Пояснение
Преобразуем выражение по законам алгебры логики:
¬Х → (Y → ¬Z) = Х + (Y → ¬Z) = Х + ¬Y + ¬Z = X + ¬(YZ) = YZ → X.
Далее применяем обозначения и реализуем способ решения, изложенный К. Ю. Поляковым в теоретических материалах (см., например, раздел «Теория» на нашем сайте), без дополнительных пояснений.
Имеем импликацию Z10Z3 → ZA или Z(10 or 3) → ZA. Запишем числа 10 и 3 в двоичной системе счисления: 1010 = 10102, 310 = 112, найдем побитовую дизъюнкцию: 1011. Единичные биты, стоящие в правой части, должны являться единичными битами левой. Поэтому в правой части единичными битами независимо друг от друга могут быть (а могут не быть) только нулевой, первый и третий биты (как обычно, считая справа налево, начиная с нуля).
Тем самым, наибольшее А = 10112 = 1110.
Ваш ответ:
Вы пропустили вопрос
Вопрос 19
Дан фрагмент программы, обрабатывающей двухмерный массив A[1..5,1..4]:
Бейсик | Python |
k = 4
FOR m = 1 TO 4
k = k + 1
FOR n = 1 TO 5
k = m - k
A(n,m) = n*n+m*m-2*k
NEXT n
NEXT m
|
k = 4
for m in range(1, 5):
k += 1
for n in range(1, 6):
k=m-k
A[n][m]=n*n+m*m-2*k
|
Паскаль | Алгоритмический язык |
k:=4;
for m:=1 to 4 do begin
k:=k+1;
for n:=1 to 5 do begin
k:=m-k;
A[n,m]:=n*n+m*m-2*k;
end;
end;
|
k:=4
нц для m от 1 до 4
k:=k+1
нц для n от 1 до 5
k:=m-k
A[n,m]:=n*n+m*m-2*k
кц
кц
|
Си++ |
k = 4;
for (m = 1; m <= 4; m++) {
k = k + 1;
for (n = 1; n <= 5; n++) {
k=m-k;
A[n][m]=n*n+m*m-2*k;
}
}
|
Чему будет равно значение A[3,1]?
Пояснение
Найдем A[3,1]:
m=1, значит, первый цикл пройдет только один раз и из него выйдет k:= k + 1 = 4 + 1 = 5.
Второй цикл пройдет 3 раза:
1. k:=m - k = 1 - 5 = -4;
2. k:=m - k = 1 - (-4) = 5;
3. k:=m - k = 1 - 5 = -4.
Теперь уже вычислим A[3,1]:=3*3 + 1*1 - 2*(-4)=9 + 1 + 8 = 18.
Ваш ответ:
Вы пропустили вопрос
Вопрос 20
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 15.
Бейсик | Python |
DIM X, L, M AS INTEGER
INPUT X
L = X - 30
M = X + 30
WHILE L <> M
IF L > M THEN
L = L – M
ELSE
M = M – L
END IF
WEND
PRINT M
|
x = int(input())
L = x-30
M = x+30
while L != M:
if L > M:
L = L - M
else:
M = M - L
print(M)
|
Паскаль | Алгоритмический язык |
var x, L, M: integer;
begin
readln(x);
L := x-30;
M := x+30;
while L <> M do
if L > M then
L := L - M
else
M := M – L;
writeln(M);
end.
|
алг
нач
цел x, L, M
ввод x
L := x-30
M := x+30
нц пока L <> M
если L > M
то
L := L – M
иначе
M := M – L
все
кц
вывод M
кон
|
Си++ |
#include <iostream>
using namespacestd;
int main()
{
int x, L, M;
cin >> x;
L = x-30;
M = x+30;
while (L != M){
if(L > M)
L = L - M;
else
M = M - L;
}
cout « M « endl;
return 0;
}
|
Пояснение
В теле цикла числа M и L уменьшаются, пока не станут равными. Чтобы в итоге было напечатано 15, оба числа в какой-то момент должны быть равны 15, а разность первых двух должна быть равна 60. Пойдем от конца к началу: на предыдущем шаге одно число было 15, а другое 15 + 15 = 30. Еще на шаг раньше 30 + 15 = 45 и 30. До того 45 + 15 = 60 и 15. Далее 60 + 15 = 75 и 60. Еще ранее 75 + 60 = 135 и 75. 135 - 75 = 60. То есть наименьшее возможное число 135 - 30 = 105.
Ваш ответ:
Вы пропустили вопрос
Вопрос 21
Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на четырех языках):
Бэйсик | Паскаль |
DIM A, B, T, M, R AS INTEGER
A = -20: B = 20
T = A: 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 = 2*(x-9)*(x-9);
END FUNCTION
|
var a,b,t,M,R :integer;
Function F(x: integer):integer;
begin
F := 2*(x-9)*(x-9);
end;
BEGIN
a := -20; b := 20;
M := a; R := F(a);
for t := a to b do
if (F(t)< R) then begin
M := t;
R := F(t);
end;
write(M);
END.
|
Си++ | Алгоритмический |
#include <iostream>
using namespacestd;
int F(int x)
{
return 2*(x-9)*(x-9);
}
int 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);
}
}
cout « M « endl;
}
|
алг
нач
цел 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)
нач
знач := 2*(x-9)*(x-9)
кон
|
Python |
deff(x):
return 2*(x-9)*(x-9)
a = -20
b = 20
M = a
R = f(a)
for t inrange(a, b+1):
if (f(t) < R):
M = t
R = f(t);
print(M)
|
Пояснение
1. Алгоритм ищет наименьшее значение функции F(t) на интервале от a до b
2. график этой функции – парабола, оси которой направлены вверх, поэтому функция имеет наименьшее значение в вершине.
3. Найдем абсциссу вершине
как видно, она лежит в нужном интервале.
Ваш ответ:
Вы пропустили вопрос
Вопрос 22
Определите значение переменной с после выполнения следующего фрагмента программы:
Бэйсик | Паскаль |
x = 2.5E+02
x = x + 0.5E+02
y = -x
c = -2*y - x
|
x:= 2.5E+02;
x:= x + 0.5E+02;
y:= -x;
c:= -2*y - x;
|
Си++ | Алгоритмический язык |
x= 2.5E+02;
x= x + 0.5E+02;
y= -x;
c= -2*y - x;
|
x:= 2.5E+02
x:= x + 0.5E+02
y:= -x
c:= -2*y - x
|
Python |
x= 2.5E+02
x= x + 0.5E+02
y= -x
c= -2*y - x
|
Пояснение
x:= 2.5E+02 = 250;
x:= x + 0.5E+02 = 250 + 50 = 300;
y:= -x = - 300;
c:= -2*y - x = 600 - 300 = 300;
Ваш ответ:
Вы пропустили вопрос
Вопрос 23
Сколько существует различных наборов значений логических переменных x1, x2, ...x7, y1, y2, ...y7, которые удовлетворяют всем перечисленным ниже условиям?
(¬x1 ∨ y1) → (¬x2 ∧ y2) = 1
(¬x2 ∨ y2) → (¬x3 ∧y3) = 1
…
(¬x6 ∨ y6) → (¬x7 ∧ y7) = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, ...x7, y1, y2, ...y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Пояснение
Введём новую переменную z: z ≡ ¬x. При этом количество решений системы уравнений не изменится. Рассмотрим первое уравнение. Если первая скобка равна нулю, то значение второй скобки может быть как нулём так и единицей, то есть z2 и y2 могут быть любыми. Первая скобка обращается в нуль при z1 = 0, y1 = 0. Если первая скобка равна единице, то значение второй скобки также должно быть равно единице. Первая скобка равна единице при z1 = 0, y1 = 1; z1 = 1, y1 = 0; z1 = 1, y1 = 1. Вторая скобка равна единице при z2 = 1; y2 = 1. Аналогично решаются и остальные уравнения.
Будем записывать наборы переменных z и y в виде таблицы: наборы z сверху, наборы y снизу, например, в записи z1 = 0, z2 = 0, z3 = 0, z4 = 1, z5 = 1, z6 = 1, z7 = 1; y1 = 0; y2 = 0, y3 = 1, y4 = 1, y5 = 1, y6 = 1, y7 = 1.
Заметим, что как только встречается поднабор z и y отличный от поднабора все y и z справа от этого поднабора должны быть равны единице. Тогда получаем, что поднаборов вида семь штук. Аналогично по семь и поднаборов вида
Ещё один неучтённый набор решений: Всего 7 · 3 + 1 = 22 решения.
Ваш ответ:
Вы пропустили вопрос
Вопрос 24
Бейсик | Паскаль |
DIM N AS LONG
INPUT N
sum = 1
WHILE N > 1
N = N 10
sum = sum + 1
WEND
PRINT sum
END
|
var N: longint;
sum: integer;
begin
readln(N);
sum := 1;
while N > 1 do
begin
N := N div 10;
sum := sum + 1;
end;
writeln(sum);
end.
|
Си++ | Алгоритмический |
#include <iostream>
using namespacestd;
int main()
{
long int N;
int sum;
cin >> N;
sum = 1;
while (N > 1)
{
N = N /10;
sum = sum + 1;
}
cout « sum « endl;
}
|
алг
нач
цел N, sum
ввод N
sum := 1
нц пока N > 1
N := div(N, 10)
sum := sum + 1
кц
вывод sum
кон
|
Python |
n = int(input())
sum = 1
while n > 1:
n //= 10
sum += 1
print(sum)
|
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 938.
2. Укажите одно число для которого эта программа будет работать верно.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Пояснение
1. Программа выведет число 4.
2. Программа работает верно для любого числа, начинающегося с 1, в том числе для 1.
(Достаточно указать любое такое число).
3. В качестве ответа для остальных чисел программа выдаёт число на 1 большее, чем нужно. Возможные варианты исправления для языка Паскаль:
1) исправление условия продолжения цикла на while (N > 9) do
2) исправление инициализации на sum := 0;, а условие цикла на while (N >= 1) do или while (N > 0) do. При этом замена на while (N >= 0) do корректной не является
3) исправление условия продолжения цикла на while (N >= 1) do или while (N > 0) do и вывод значения sum − 1.
Ваш ответ:
Вы пропустили вопрос
Вопрос 25
Опишите на русском языке или одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих чётные значения, и максимального среди элементов, имеющих нечётные значения, в заданном целочисленном массиве из 30 положительных элементов (в предположении, что в массиве есть и чётные, и нечётные элементы).
Пояснение
uses crt;
const N=30;
var a:array[1..N] of integer;
i,max1,max2:integer;
Begin
for i:=1 to n do
readln(a[i]);
max1:=0;
max2:=0;
for i:=1 to n do begin
if (a[i] mod 2=0) and (a[i]>=max1) then max1:=a[i];
if (a[i] mod 2<>0) and (a[i]>=max2) then max2:=a[i]
end;
write('Raznost= ',max1─max2);
End.
Ваш ответ:
Вы пропустили вопрос
Вопрос 26
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в шесть раз. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или 60 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче превышает 365. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 366 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 365.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
1. а) При каких значениях числа S Петя может выиграть первым ходом? Укажите все такие значения и выигрывающий ход Пети.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
2. Укажите два значения S, при которых у Пети есть выигрышная стратегия, причём (а) Петя не может выиграть первым ходом, но (б) Петя может выиграть своим вторым ходом, независимо от того, как будет ходить Ваня.
Для указанных значений S опишите выигрышную стратегию Пети.
3. Укажите такое значение S, при котором
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и при этом
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом. Для указанного значения Sопишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На ребрах дерева указывайте, кто делает ход, в узлах — количество камней в позиции.
Пояснение
1. а) Петя может выиграть, если S = 61, …, 365. При меньших значениях S за один ход нельзя получить кучу, в которой больше 365 камней. Пете достаточно увеличить количество камней в 6 раз. При S < 61 получить за один ход больше 365 камней невозможно.
б) Ваня может выиграть первым ходом (как бы ни играл Петя), если исходно в куче будет S = 60 камней. Тогда после первого хода Пети в куче будет 61 камень или 360 камней. В обоих случаях Ваня увеличивает количество камней в 6 раз и выигрывает в один ход.
2. Возможные значения S: 10, 59. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 60 камней (при S = 10 он увеличивает количество камней в 6 раз; при S = 59 — добавляет 1 камень). Эта позиция разобрана в п. 1б. В ней игрок, который будет ходить (в данном случае это Ваня), выиграть не может, а его противник (то есть, Петя) следующим ходом выиграет.
3. Возможное значение S: 58. После первого хода Пети в куче будет 59 или 348 камней. Если в куче станет 348 камней, Ваня увеличит количество камней в 6 раз и выиграет своим первым ходом. Ситуация, когда в куче 59 камней, разобрана в п. 2. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.
В таблице изображено дерево возможных партий при описанной стратегии Вани. Заключительные позиции (в них выигрывает Ваня) подчёркнуты. На рисунке это же дерево изображено в графическом виде (оба способа изображения дерева допустимы).
|
Положения после очередных ходов |
И.п. |
1-й ход Пети (разобраны все ходы) |
1-й ход Вани (только ход по стратегии) |
2-й ход Пети (разобраны все ходы) |
2-й ход Вани (только ход по стратегии) |
58 |
58 + 1 = 59 |
59 + 1 = 60 |
60 + 1 = 61 |
61*6 = 366 |
60*6 = 360 |
360*6 = 2160 |
58*6 = 348 |
348*6 = 2088 |
|
|
Дерево всех партий, возможных при Ваниной стратегии.
Знаком >> обозначены позиции, в которых партия заканчивается
Ваш ответ:
Вы пропустили вопрос
Вопрос 27
Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам:
1. Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.
2. Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат (количество набранных очков) фиксируется и заносится в протокол.
3. Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.
4. Окончательный результат участника определяется по одной, лучшей для данного участника игре.
5. Более высокое место в соревнованиях занимает участник, показавший лучший результат.
6. При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат.
В ходе соревнований заполняется протокол, каждая строка которого описывает одну игру и содержит результат участника и его игровое имя. Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому строки в нём расположены в порядке проведения игр: чем раньше встречается строка в протоколе, тем раньше закончилась соответствующая этой строке игра.
Спонсор чемпионата предоставил призы различной ценности для награждения К лучших игроков (К<=20). Если участников окажется меньше К, призами награждаются все. Вам необходимо написать эффективную, в том числе по памяти, программу, которая по данным протокола определяет К лучших игроков и занятые ими места.
Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных
Первая строка содержит числа К — количество имеющихся призов и N — общее количество строк протокола.
Каждая из следующих N строк содержит записанные через пробел результат участника (целое положительное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе.
Описание выходных данных
Программа должна вывести имена и результаты К лучших игроков в порядке занятых мест по форме, приведённой ниже в примере. Если игроков окажется меньше К, нужно вывести данные обо всех игроках.
Пример входных данных:
6 15
69485 Jack
95715 qwerty
95715 Alex
83647 M
197128 qwerty
95715 Jack
93289 Alex
95715 Alex
95715 M
32768 BilboBaggins
99824 TetrisMaster
45482 BilboBaggins
62123 BilboBaggins
77623 M
56791 Champion
Пример выходных данных для приведённого выше примера входных данных:
1. qwerty (197128)
2. TetrisMaster (99824)
3. Alex (95715)
4. Jack (95715)
5. M (95715)
6. BilboBaggins (62123)
Пояснение
Программа читает входные данные, не запоминая в массиве информацию обо всех сделанных попытках. В процессе ввода заполняется массив, содержащий К лучших результатов. Допускается создание массива из 20 элементов (указанное в условии максимально возможное значение К) и использование его первых К элементов. Для каждой строки протокола необходимо определить, попадает ли данный результат в текущий список лучших. При этом необходимо учитывать, что очередная попытка может принадлежать игроку, который уже входит в список, в этом случае она засчитывается, только если данный результат выше уже записанного результата данного игрока.
При включении нового результата в список лучших этот результат должен быть записан на соответствующее ему место, а более низкие результаты — сдвинуты на одну позицию вниз.
Ниже приводится пример правильной программы на алгоритмическом языке. В данной программе для каждой строки протокола просматривается полный текущий список лучших результатов. Допускается сокращение этого просмотра за счёт дополнительных проверок.
Пример правильной и эффективной программы на алгоритмическом языке
алг
нач
цел К, N
ввод К, N
целтаб суммы[1:К]
литтаб имена[1:К]
цел сум
лит имя
цел низ, верх, место
нц для место от 1 до К
суммы[место]:= 0
имена[место]:= ""
кц
нц N раз
ввод сум, имя
верх:= 0; низ:= К
нц для место от 1 до К
если сум>суммы[место] и верх=0 то верх:= место все
если имя=имена [место] то низ:= место все
кц
если 0<верх<= низ то
нц для место от низ до верх+1 шаг −1
суммы[место]:= суммы[место −1]
имена[место]:= имена[место −1]
кц
суммы[верх]:= сум
имена[верх]:= имя
все
кц
нц для место от 1 до К
если суммы[место]>0
то вывод не, место,".",имена[место],"(",суммы[место]
все
кц
кон
Ваш ответ:
Вы пропустили вопрос