1. На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах.
П1 | П2 | П3 | П4 | П5 | П6 | П7 | |
П1 | 12 | 15 | 11 | 17 | |||
П2 | 12 | 18 | 13 | 21 | |||
П3 | 18 | 16 | 23 | 20 | |||
П4 | 15 | 13 | 16 | ||||
П5 | 11 | 14 | |||||
П6 | 17 | 23 | 14 | ||||
П7 | 21 | 20 |
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, в какой пункт ведёт самая короткая дорога из пункта А.
2. Логическая функция F задаётся выражением (x ∨ y) ∧ ¬(y ≡ z) ∧ ¬w. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
Переменная 1 | Переменная 2 | Переменная 3 | Переменная 4 | Функция |
---|---|---|---|---|
1 | 1 | |||
0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и фрагмент таблицы истинности:
Переменная 1 | Переменная 2 | Функция |
---|---|---|
??? | ??? | F |
0 | 1 | 0 |
Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.
3. В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазина | Район | Адрес |
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите, сколько рублей потребовалось магазинам Первомайского района для закупки яиц диетических за период с 1 по 10 июня включительно.
В ответе запишите только число. Ответ округлите до десятых.
4. Для кодирования некоторой последовательности, состоящей из букв И, К, Л, М, Н, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы Л использовали кодовое слово 1, для буквы М – кодовое слово 01. Какова наименьшая возможная суммарная длина всех пяти кодовых слов?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
5. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи числа N, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает число 83 и может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.
6. Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
Python | Си++ | |
---|---|---|
s = int(input()) n = 1 while s < 47: s = s + 4 n = n * 2 print(n) | #include <iostream> using namespace std; int main() { int s, n; cin >> s; n = 1; while (s < 47) { s = s + 4; n = n * 2; } cout << n << endl; return 0; } | |
Паскаль | Алгоритмический язык | |
var s, n: integer; begin readln(s); n := 1; while s < 47 do begin s := s + 4; n := n * 2 end; writeln(n) end. | алг нач цел n, s ввод s n := 1 нц пока s < 47 s := s + 4 n := n * 2 кц вывод n кон |
7. У Аркадия есть доступ в Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения информации 220бит в секунду. У Григория нет скоростного доступа в Интернет, но есть возможность получать информацию от Аркадия по телефонному каналу со средней скоростью 216 бит в секунду. Григорий договорился с Аркадием, что тот скачает для него данные объёмом 11 Мбайт по высокоскоростному каналу и ретранслирует их Григорию по низкоскоростному каналу.
Компьютер Аркадия может начать ретрансляцию данных не раньше, чем им будут получены первые 1024 Кбайт этих данных.
Каков минимально возможный промежуток времени (в секундах) с момента начала скачивания Аркадием данных до полного их получения Григорием? В ответе укажите только число, слово «секунд» или букву «с» добавлять не нужно.
8. Двое играют в «крестики-нолики» на поле 4 на 4 клетки. Какое количество информации (в битах) получил второй игрок, узнав ход первого игрока?
9. Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа.
Определите сколько среди заданных троек чисел таких, которые могут быть сторонами остроугольного треугольника.
10. Определите, сколько раз, не считая сносок, в тексте произведения А. С. Пушкина «Капитанская дочка» встречается слово «Александр» в любом падеже.
11. В некоторой базе данных хранятся записи, содержащие информацию о некоторых датах. Каждая запись содержит три поля: номер года (число от 1 до 2100), номер месяца (число от 1 до 12) и номер дня в месяце (число от 1 до 30). Каждое поле записывается отдельно от других полей с использованием минимально возможного количества бит. Определите минимальное количество бит, необходимое для кодирования одной записи. (Ответ дайте в битах.)
12. Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:
вверх | вниз | влево | вправо |
При выполнении этих команд РОБОТ перемещается на одну клетку соответственно: вверх, вниз, влево, вправо.
Четыре команды проверяют истинность условия отсутствия стены у той клетки, где находится РОБОТ:
сверху свободно | снизу свободно | слева свободно | справа свободно |
Цикл
ПОКА <условие> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА <сверху свободно> вправо
ПОКА <справа свободно> вниз
ПОКА <снизу свободно> влево
ПОКА <слева свободно> вверх
КОНЕЦ
13. На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Л?
14. Значение выражения 6 · 3435 + 5 · 497 − 50 записали в системе счисления с основанием 7. Сколько цифр 6 содержится в этой записи?
15. Для какого наибольшего целого неотрицательного числа А выражение
(x · y < 100) ∨ (y ≥ A) ∨ (x > A)
тождественно истинно, т. е. принимает значение 1 при любых целых неотрицательных x и y?
16. Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.
Бейсик | Python |
---|---|
SUB F(n) PRINT n, IF n >= 3 THEN F(n - 1) F(n - 3) END IF END SUB | def F(n): print(n) if n >= 3: F(n - 1) F(n - 3) |
Паскаль | Алгоритмический язык |
procedure F(n: integer); begin write(n); if n >= 3 then begin F(n - 1); F(n - 3) end end; | алг F(цел n) нач вывод n если n >= 3 то F(n - 1) F(n - 3) все кон |
Си | |
void F(int n) { cout « n « endl; if (n >= 3) { F(n - 1); F(n - 3); } } |
Что выведет программа при вызове F(5)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).
17. В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает
Ответ:
18. Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз — в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Откройте файл. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответ запишите два числа друг за другом без разделительных знаков — сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
Пример входных данных:
1 | 8 | 8 | 4 |
10 | 1 | 1 | 3 |
1 | 3 | 12 | 2 |
2 | 3 | 5 | 6 |
Для указанных входных данных ответом должна быть пара чисел 41 и 22.
19. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в 3 раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 30. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 30 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 29.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.
20. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в 3 раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 30. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 30 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 29.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.
21. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в 3 раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 30. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 30 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 29.
Говорят, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
22. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 8.
Бейсик | Python |
---|---|
DIM X, L, M, K AS INTEGER INPUT X K = 9 L = 0 WHILE X >= K L = L + 1 X = X - K WEND M = X IF M < L THEN M = L L = X ENDIF PRINT L PRINT M | x = int(input()) K = 9 L = 0 while x >= K: L = L + 1 x = x - K M = x if M < L: M = L L = x print(L) print(M) |
Паскаль | Алгоритмический язык |
var x, L, M, K: integer; begin readln(x); K := 9; L := 0; while x >= K do begin L := L + 1; x := x - K; end; M := x; if M < L then begin M := L; L := x; end; writeln(L); writeln(M); end. | алг нач цел x, L, M, K ввод x K := 9 L := 0 нц пока x >= K L := L + 1 x := x - K кц M := x если M < L то M := L L := x все вывод L, нс, M кон |
Си++ | |
#include <iostream> using namespace std; int main() { int x, L, M, K; cin >> x; K = 9; L = 0; while (x >= K){ L = L + 1; x = x - K; } M = x; if(M < L){ M = L; L = x; } cout << L << endl << M endl; } |
23. Исполнитель РазДва преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя РазДва — это последовательность команд. Укажите наименьшее натуральное число, которое нельзя получить из исходного числа 1, выполнив программу исполнителя РазДва, содержащую не более четырёх команд.
24. Текстовый файл состоит не более, чем из 107 строчных букв английского алфавита. Найдите максимальную длину подстроки, в которой символы «a» и «d» не стоят рядом.
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
25.
Пусть M(N) — произведение 5 наименьших различных натуральных делителей натурального числа N, не считая единицы. Если у числа N меньше 5 таких делителей, то M(N) считается равным нулю.
Найдите 5 наименьших натуральных чисел, превышающих 500 000 000, для которых 0 < M(N) < N. В ответе запишите найденные значения M(N) в порядке возрастания соответствующих им чисел N.
Ответ:
26. Предприятие производит закупку изделий A и B, на которую выделена определённая сумма денег. У поставщика есть в наличии различные модификации этих изделий по различной цене. При покупке необходимо руководствоваться следующими правилами:
1. Нужно купить как можно больше изделий, независимо от их типа и модификации.
2. Если можно разными способами купить максимальное количество изделий, нужно выбрать тот способ, при котором будет куплено как можно больше изделий A.
3. Если можно разными способами купить максимальное количество изделий с одинаковым количеством изделий A, нужно выбрать тот способ, при котором вся покупка будет дешевле.
Определите, сколько всего будет куплено изделий A и какая сумма останется неиспользованной.
Входные данные.
Первая строка входного файла содержит два целых числа: N — общее количество изделий у поставщика и M — сумма выделенных на закупку денег (в рублях). Каждая из следующих N строк содержит целое число (цена изделия в рублях) и символ (латинская буква A или B), определяющий тип изделия. Все данные в строках входного файла отделены одним пробелом.
В ответе запишите два целых числа: сначала количество закупленных изделий типа A, затем оставшуюся неиспользованной сумму денег.
Пример входного файла:
6 130
30 B
50 B
60 A
20 A
70 A
10 B
В данном случае можно купить не более 4 изделий, из них не более 2 изделий A. Минимальная цена такой покупки 120 руб. (покупаем изделия 30B, 60A, 20A, 10B). Останется 10 руб. В ответе надо записать числа 2 и 10.
Ответ:
27. Дана последовательность натуральных чисел. Необходимо найти максимально возможную сумму её непрерывной подпоследовательности, в которой количество чётных элементов кратно k = 10.
Входные данные.
Первая строка входного файла содержит целое число N — общее количество чисел в наборе. Каждая из следующих N строк содержит одно число. Гарантируется, что общая сумма всех чисел не превышает 2 · 109.
Вам даны два входных файла (A и B), каждый из которых имеет описанную выше структуру. В ответе укажите два числа: сначала значение искомой суммы для файла A, затем для файла B.
Ответ:
Комментариев нет:
Отправить комментарий