Открытая олимпиада по информатике и ИКТ (17 марта 2019)
ПОБЕДИТЕЛИ ОТКРЫТОЙ ОЛИМПИАДЫ ПО ИНФОРМАТИКЕ И ИКТ : Триголос А.П., Еманов Д.В., Новиков А.А., Пудовкин Д.О.
ПРИЗЕРАМИ ОЛИМПИАДЫ СТАЛИ:
- Зыбин В.А.
- Рамзайцев Д.А.
- Сизоненко К.С.
- Галкина Д.В.
- Кольцова С.С.
- Шоповалов И.Д.
- Захаров К.М.
- Щетинин В.В.
- Рудый Е.Д.
- Подгорный М.О.
- Файзулин Т.С.
- Филиппов М.И.
- Демахин Д.С.
- Будаковский А.С.
- Третьяков М.С.
- Кристев Н.А.
ПОЗДРАВЛЯЕМ ПОБЕДИТЕЛЕЙ И ПРИЗЕРОВ ОТКРЫТОЙ ОЛИМПИАДЫ ПО ИНФОРМАТИКЕ И ИКТ!
Для получения дипломов необходимо обратиться в подготовительное отделение: г.Волгоград пр.Ленина 27, учебный корпус №1, каб. 714; телефон(ы): +7 8442 60 28 48, +7 903 372 05 92; график работы: пн-чт, 8:30-17:15., пт, 8:30-16:00, перерыв с 12:30 до 13:00.
Факультет математики, информатики и физики приглашает учащихся 9-11 классов принять участие
в Открытой Олимпиаде по информатике и ИКТ.
Приказ о проведении Открытой Олимпиады.
Информационное письмо.
Положение об Открытой Олимпиаде ВГСПУ.
Олимпиада состоится 17 марта 2019 г. в аудитории 2210 учебного корпуса № 2 (ул.Академическая, 12):
10.00 — регистрация участников,
11.00 — 14.00 — письменное выполнение заданий олимпиады.
УЧАСТНИКАМ ОЛИМПИАДЫ НЕОБХОДИМО ИМЕТЬ ПРИ СЕБЕ ПАСПОРТ!
Тематика заданий олимпиады:
- Кодирование и кодирование данных с использованием условия Фано.
- Определение количества информации.
- Позиционные системы счисления.
- Использование основных логических операций и законов.
- Анализ программы, содержащей циклы и ветвления.
- Анализ программы, содержащей процедуры и функции.
- Анализ результата работы алгоритма.
- Поиск и исправление ошибок во фрагменте программы.
- Написание программы, обрабатывающей массивы.
- Построение дерева игры и обоснование выигрышной стратегии.
- Написание программы, обрабатывающей поток данных.
Победители и призеры открытых олимпиад школьников ВГСПУ получают 3 дополнительных балла при приеме на обучение по программам бакалавриата и специалитета.
ЗАДАНИЯ ДЛЯ ПОДГОТОВКИ К ОЛИМПИАДЕ:
- По каналу связи передаются сообщения, содержащие только буквы В, Г, С, П, У. Для передачи используется двоичный код, допускающий однозначное декодирование: В – 01, Г — 00, С — 111.
Укажите кратчайшее кодовое слово для буквы У, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением. - При регистрации в доменной сети университета каждому студенту первого курса выдается пароль из 10 символов, в котором могут быть использованы латинские буквы (заглавные и строчные буквы различаются) и десятичные цифры. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. В базе данных, помимо паролей пользователей, хранятся также сведения о программе и профиле обучения студента, кодируемые целым числом байт, одинаковым для всех пользователей. Для хранения сведений о 30 студентах первого курса потребовалось 540 байт. Сколько байт выделено для хранения сведений о программе и профиле обучения одного студента?
- Значение арифметического выражения: 97 + 319 – 21 записали в системе счисления с основанием 3. Найдите сумму цифр в этой записи. Ответ запишите в десятичной системе счисления.
- Укажите наибольшее целое значение А, при котором выражение (y – x > A) ∨ (x + 4y > 40) ∨ (y – 2x < –35) истинно для любых целых положительных значений x и y.
- Укажите наименьшее пятизначное число x, при вводе которого алгоритм печатает сначала 4, а потом 2.
var x, y, a, b: integer;
begin
readln(x);
a:=0; b:=0;
while x > 0 do begin
y := x mod 10;
if y > 3 then a := a + 1;
if y < 8 then b := b + 1;
x := x div 10
end;
writeln(a); write(b);
end. - Определите, какое число выведет эта программа:
var a, b, t, M, R: integer;
function F(x: integer):integer;
begin
F := 9*(x*x-4)*(x*x-4)+25;
end;
begin
a := -10; b := 10;
M := a; R := F(a);
for t := a to b do
if F(t) <= R then begin
M := t;
R := F(t);
end;
writeln(M + R);
end. - Исполнитель U19 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера:
1. Вычесть 1.
2. Вычесть 3.
3. Разделить нацело на 2.При выполнении команды 3 выполняется деление нацело (остаток отбрасывается). Программа для исполнителя U19 – это последовательность команд. Сколько существует таких программ, которые исходное число 19 преобразуют в число 3?
- Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма цифр этого числа. Программист торопился и написал программу неправильно:
var N: longint;
sum, d: integer;
begin
readln(N);
sum := 1;
while N > 0 do begin
d := N mod 10;
N := N div 10;
sum := sum + 1;
end;
writeln(sum);
end.Последовательно выполните следующее:
- Напишите, что выведет эта программа при вводе числа 256.
- Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт правильный результат.
- Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
- выпишите строку, в которой сделана ошибка;
- укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
- Дан целочисленный массив из 2018 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет сглаживание последовательности: каждый элемент заменяется на целочисленное среднее арифметическое данного элемента и его ближайших соседей. Считается, что у крайних эле-ментов только один сосед, а у остальных элементов – по два. Например, для исходного массива из шести элементов: 1 9 2 10 3 11 программа должна вывести (по одному числу в строке) числа 5 4 7 5 8 7.
-
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
а) добавить в кучу один камень;
б) увеличить количество камней в куче в три раза.
Игра завершается в тот момент, когда количество камней в куче становится не менее 33. Если при этом в куче оказалось не более 89 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. В начальный момент в куче было S камней, 1 ≤ S ≤ 32.
Задание 1. а) При каких значениях числа S Петя может выиграть в один ход? Укажите все такие значения и соответствующие ходы Пети.
б) У кого из игроков есть выигрышная стратегия при S = 29, 30, 31? Опишите выигрышные стратегии для этих случаев.
Задание 2. У кого из игроков есть выигрышная стратегия при S = 9, 10? Опишите соответствующие выигрышные стратегии.
Задание 3. У кого из игроков есть выигрышная стратегия при S = 8? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах – количество камней в позиции. -
На вход программы поступает последовательность из N целых положительных чисел. Нужно определить количество пар различных чисел, сумма которых делится на 12.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100.
Пример входных данных:
8
10
14
7
13
5
30
9
6
Пример выходных данных для приведённого выше примера входных данных:
3