пятница, 24 декабря 2021 г.

Настя

 1. На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах).

 

П1П2П3П4П5П6П7
П14510
П2454055
П31560
П410402035
П51555
П65560205545
П73545

 

 

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина дороги из пункта В в пункт Е. В ответе запишите целое число – так, как оно указано в таблице.

2. Логическая функция F задаётся выражением ((x → y) ≡ (y → z)) ∧ (y ∨ w).

Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.

Определите, какому столбцу таблицы истинности соответствует каждая из переменных xyzw.

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
001
0001
01

 

В ответе напишите буквы xyzw в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и фрагмент таблицы истинности:

 

Переменная 1Переменная 1Функция
??????F
010

 

Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.

3. В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.

3.xlsx

Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.

 

ID операцииДатаID магазинаАртикулТип операцииКоличество упаковок,
шт.
Цена,
руб./шт.

 

Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.

 

АртикулОтделНаименованиеЕд. изм.Количество
в упаковке
Поставщик

 

Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.

 

ID магазинаРайонАдрес

 

На рисунке приведена схема указанной базы данных.

Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 10 июня включительно.

В ответе запишите только число.

4. Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв — из двух бит, для некоторых — из трех). Эти коды представлены в таблице:

 

abcde
1001100110110

 

Какой набор букв закодирован двоичной строкой 1000110110110? Все буквы в последовательности — разные.

5. Исполнитель Вычислитель работает с целыми положительными однобайтными числами. Он может выполнять две команды:

1. сдвинь биты числа влево на одну позицию

2. прибавь 1

Например, число 7 (000001112) преобразуется командой 1 в 14 (000011102). Для заданного числа 14 выполнена последовательность команд 11222. Запишите полученный результат в десятичной системе счисления.

6. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

 

БейсикPython

DIM K, S AS INTEGER

S = 5

K = 0

WHILE K < 15

    K = K + 2

    S = S + K

WEND

PRINT S

s = 5

k = 0

while k < 15:

    k += 2

    s += k

print(s)

ПаскальАлгоритмический язык

var k, s: integer;

begin

       s:=5;

       k:=0;

      while k < 15 do begin

            k:=k+2;

            s:=s+k;

       end;

      write(s);

end.

алг

нач

    цел k, s

    s := 5

    k := 0

    нц пока k < 15

        k := k + 2

        s := s + k

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 5, k = 0;

    while (k < 15) {

        k = k + 2;

        s = s + k;

    }

    cout << s << endl;

    return 0;

}

 

7. Автоматическая фотокамера производит растровые изображения размером 640×480 пикселей. При этом объём файла с изображением не может превышать 320 Кбайт, упаковка данных не производится. Какое максимальное количество цветов можно использовать в палитре?

8. Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 4. Сколько различных вариантов шифра можно задать, если известно, что цифра 1 встречается ровно два раза, а каждая из других допустимых цифр может встречаться в шифре любое количество раз или не встречаться совсем?

9. Откройте файл электронной таблицы, содержащей вещественные числа — результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев.

Задание 9

Сколько раз встречалась температура, равная округленному до десятых среднему арифметическому значению всех чисел в таблице?

10. С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «север» или «Север» в тексте романа в стихах А. С. Пушкина «Евгений Онегин». Другие формы слова «север», такие как «севера», «северяне» и т. д., учитывать не следует. В ответе укажите только число.

Задание 10

11. B некоторой стране автомобильный номер длиной 6 символов составляют из заглавных букв (используются только 33 различных буквы) и десятичных цифр в любом порядке. Каждый такой номер в компьютерной программе записывается минимально возможным и одинаковым целым количеством байтов (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством битов). Определите объём памяти, отводимый этой программой для записи 125 номеров. (Ответ дайте в байтах.)

12. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах 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, а остальные цифры — пятёрки. Какая строка получится в результате применения программы к этой строке? В ответе запишите полученную строку.

13. На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, К, Л, М, Н, П, Р, С, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

Сколько существует различных путей из города А в город Т, проходящих через город Н?

14. Значение арифметического выражения: 4910 + 730 – 49 — записали в системе счисления с основанием 7. Сколько цифр «6» содержится в этой записи?

15. Элементами множества А являются натуральные числа. Известно, что выражение

 

(x ∈ {2, 4, 6, 8, 10, 12}) → (((x ∈ {3, 6, 9, 12, 15}) ∧ ¬(x ∈ A)) → ¬(x ∈ {2, 4, 6, 8, 10, 12}))

 

истинно (т. е. принимает значение 1) при любом значении переменной х. Определите наименьшее возможное значение суммы элементов множества A.

16. Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.

 

 

БейсикPython

SUB F(n)

    PRINT n,

    IF n > 2 THEN

       F(n − 3)

       F(n − 2)

       F(n − 1)

    END IF

END SUB

def F(n):

    print (n, end='')

    if n > 2:

        F(n − 3)

        F(n − 2)

        F(n − 1)

ПаскальАлгоритмический язык

procedure F(n: integer);

begin

    write(n);

    if n > 2 then

    begin

      F(n − 3);

      F(n − 2);

      F(n − 1)

    end

end;

алг F(цел n)

нач

    вывод n

    если n > 2 то

      F(n − 3)

      F(n − 2)

      F(n − 1)

    все

кон

Си

void F(int n ){

    cout « n « endl;

    if (n > 2) {

        F(n - 3);

        F(n - 2);

        F(n - 1);

    }

}

 

 

Что выведет программа при вызове F(4)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

17. В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, для которых произведение элементов кратно 26, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.

17.txt

Ответ: 

18. Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз — в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.

Задание 18

Откройте файл. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответ запишите два числа друг за другом без разделительных знаков — сначала максимальную сумму, затем минимальную.

Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.

Пример входных данных:

 

1884
10113
13122
2356

 

Для указанных входных данных ответом должна быть пара чисел 41 и 22.

19. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может

добавить в кучу один камень или

увеличить количество камней в куче в четыре раза.

Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или из 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче превышает 64. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 65 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 64.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.

Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

20. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может

добавить в кучу один камень или

увеличить количество камней в куче в четыре раза.

Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или из 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче превышает 64. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 65 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 64.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.

Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

— Петя не может выиграть за один ход;

— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.

21. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может

добавить в кучу один камень или

увеличить количество камней в куче в четыре раза.

Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или из 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче превышает 64. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 65 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 64.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными.

Найдите минимальное значение S, при котором одновременно выполняются два условия:

— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

22. Ниже записана программа. Получив на вход число x , эта программа печатает два числа, L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

L = L + 1

IF X MOD 2 = 0 THEN

    M = M + (X MOD 10) \ 2

ENDIF

X = X \ 10

WEND

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

    L += 1

    if x % 2 == 0:

        M = M + (x % 10) // 2

    x = x // 10

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M: integer;

begin

    readln(x);

    L := 0;

    M := 0;

    while x > 0 do

    begin

        L := L + 1;

        if x mod 2 = 0 then

            M := M + (x mod 10) div 2;

        x := x div 10;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 0

    M := 0

    нц пока x > 0

        L := L + 1

        если mod(x,2) = 0

            то

                M := M + div(mod(x,10), 2)

        все

        x := div(x,10)

    кц

    вывод L, нс, M

кон

Си++

 

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0;

    M = 0;

    while (x > 0){

        L = L + 1;

        if(x % 2 == 0){

            M = M + (x % 10) / 2;

        }

        x = x / 10;

    }

    cout << L << endl << M endl;

}

 

23. У исполнителя Множик есть две команды:

 

1. умножь на 8,

2. подели на 2.

 

Первая из них увеличивает число на экране в 8 раз, вторая – уменьшает его в 2 раза.

Программа для Множика – это последовательность команд. Сколько различных чисел можно получить из числа 512 с помощью программы, которая содержит ровно 8 команд?

24. Текстовый файл состоит не более чем из 106 символов LD и R. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.

Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.

Задание 24

25. Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [110203; 110245], числа, имеющие ровно четыре различных чётных натуральных делителя (при этом количество нечётных делителей может быть любым). Для каждого найденного числа запишите эти четыре делителя в четыре соседних столбца на экране с новой строки. Делители в строке должны следовать в порядке возрастания.

Например, в диапазоне [2; 16] ровно четыре чётных различных натуральных делителя имеют числа 12 и 16, поэтому для этого диапазона вывод на экране должна содержать следующие значения:

2 4 6 12

2 4 8 16

 

Ответ:

26. Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя.

По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

Входные данные.

 

Задание 26

 

В первой строке входного файла находятся два числа: S — размер свободного места на диске (натуральное число, не превышающее 10 000) и N — количество пользователей (натуральное число, не превышающее 2000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.

Запишите в ответе два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

Пример входного файла:

100 4

80

30

50

40

При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар — 50, поэтому ответ для приведённого примера:

2 50

 

Ответ:

27. На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо определить количество пар, для которых произведение элементов делится на 26.

В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 60000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000. В качестве результата программа должна напечатать одно число: количество пар, в которых произведение элементов кратно 26.

 

Входные данные.

Файл A

Файл B

Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество пар N (1 ≤ N ≤ 100000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.

Пример организации исходных данных во входном файле:

4

2

6

13

39

Пример выходных данных для приведённого выше примера входных данных:

4

В ответе укажите два числа: сначала значение искомой суммы для файла А, затем для файла B.

 

Ответ: 

 

Пояснение. Из четырёх заданных чисел можно составить 6 попарных произведений: 2 · 6, 2 · 13, 2 · 39, 6 · 13, 6 · 39, 13 · 39 (результаты: 12, 26, 78, 78, 234, 507). Из них на 26 делятся 4 произведения (2 · 13 = 26; 2 · 39 = 78; 6 · 13 = 78; 6 · 39 = 234).

Комментариев нет:

Отправить комментарий