Оценки, 11 класс, 2017-2018 учебный год

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

Второе полугодие

Уже началось…

Задание: 47 48 49 50 51 52 53 54 55 56 57 H1 Ex Y
Группа раз
Бердин - - - - - - - - - - - - - -
Голубев - - - - - - - - - - - - - -
Кайкова - - - - - - - - - - - - - -
Клумова - - - - - - - - - - - - - -
Кулаков - - - - - - - - - - - - - -
Лопатина - - - - - - - - - - - - - -
Лукаш - - - - - - - - - - - - - -
Нефёдов - - - - - - - - - - - - - -
Самойлов - - - - - - - - - - - - - -
Трушин - - - - - - - - - - - - - -
Группа два
Бычко - - - - - - - - - - - - - -
Глазова - - - - - - - - - - - - - -
Грянченко - - - - - - - - - - - - - -
Демченко - - - - - - - - - - - - - -
Зиновьев - - - - - - - - - - - - - -
Киселёв - - - - - - - - - - - - - -
Радько - - - - - - - - - - - - - -
Расщупкин - - - - - - - - - - - - - -
Тарасюк - - - - - - - - - - - - - -
Фомченков - - - - - - - - - - - - - -
Хабарова - - - - - - - - - - - - - -
Группа три
Бронников - - - - - - - - - - - - - -
Зинин - - - - - - - - - - - - - -
Кондрашина - - - - - - - - - - - - - -
Ляхов - - - - - - - - - - - - - -
Насыров - - - - - - - - - - - - - -
Никитченко 4 4 - - - - - - - - - - - -
Смирнова - - - - - - - - - - - - - -
Фёдоров - - - - - - - - - - - - - -
Цейтлин - - - - - - - - - - - - - -
Шафаревич - - - - - - - - - - - - - -
Задание: 47 48 49 50 51 52 53 54 55 56 57 H1 Ex Y
Легенда: 47 —ферзи, 48 —конь, 49 —«эргодический» кубик, 50 —«менее эргодический» кубик.

Задача 50

То же, что и задача 49, только вместо усреднения четвёрки чисел для смежных граней куба, усредняют пару чисел на «этой» грани и ей диаметрально противоположенной. В остальном — почти тот же детский сад.

Задача 49

В одном страшно секретном детском саду играют в следующую игру:

Вопросы, которые могут возникнуть у воспитателей, наблюдающих за этим безобразием:
  1. есть ли какая-то регулярность в тех числах, которые будут возникать на гранях куба через некоторое время?
  2. если регулярность есть, то какими будут эти числа через месяц, год и десять лет (дети вырастут и пойдут в школу, но проходя мимо детского сада будут заглядывать и производить привычные операции)?
  3. зависит ли ответ от изначальных чисел, нанесённых на грани в первый раз?

Необходимо подумать над этими вопросами, а также — написать программу, симулирующую происходящее и проверить свои смелые догадки относительно получающихся ответов «на практике».

Задача 48

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

Задача 47

Найти все решения задачи о расстановке N ферзей на шахматной доске размера NxN так, чтобы ни один из них не бил никакого другого. Программе в командной строке задаётся значение N. Результаты работы: количество вариантов и псевдографическое представление каждого из них.

Первое полугодие

При выставлении оценок за первое полугодие учитываются задания с 34-го по 46-е включительно.

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

Задание: 34 35 36 37 38 39 40 41 42 43 44 45 46 H1
Группа раз
Бердин 5 - - - - - - - - - - - - 2
Голубев 3 - - - - - - - - - - - - 2
Кайкова 5 - - - - - - - - - - - - -
Клумова 3 3 - - - 3 - - - - - - - -
Кулаков 4 4 - - - - - - - - - - - 2
Лопатина 4 4 4 3 5 4 5 3 5 3 - - - 2
Лукаш 3 3 5 5 - 4 5 5 - - - - - 2
Нефёдов - - - - - - - - - - - - - 2
Самойлов - - - - 4 4 - - - - - - - 2
Трушин 5 4 4 4 - 4 3 3 3 5 - - - 2
Группа два
Бычко - - - - - - - - - - - - - 2
Глазова 3 4 3 3 4 4 - - - - - - - 2
Грянченко - - - - - - - - - - - - - 2
Демченко 3 3 3 3 3 3 - - - - - - - 2
Зиновьев - - - - - 3 - - - - - - - 2
Киселёв 3 - - - - - - - - - - - - 2
Радько 5 5 3 - 3 3 3 - - - - - - 2
Расщупкин - - - - - - - - - - - - - 2
Тарасюк 3 - - - - - - - - - - - - 2
Фомченков - - - - - - - - - - - - - 2
Хабарова - - - - - - - - - - - - - 2
Группа три
Бронников - - - - - - - - - - - - - 2
Зинин 3 - - 3 4 4 3 3 3 - - - - 2
Кондрашина 5 3 - - 3 3 3 - 3 - - - - -
Ляхов - - - - - - - - - - - - - 2
Насыров - - - - - 3 - - - - - - - -
Никитченко 5 5 5 5 5 5 5 5 - - 5 5 5 2
Смирнова 4 4 - - - 3 5 - - - - - - -
Фёдоров - - - - - - - - - - - - - 2
Цейтлин 5 4 4 5 - - - - - - - - - -
Шафаревич - - - - - - - - - - - - - 2
Задание: 34 35 36 37 38 39 40 41 42 43 44 45 46 H1
Легенда: 34 — define для MxN, 35 — define@make, 36 — debug-1, 37 — debug-2, 38 — олимпиадная #1 (спиннеры раз), 39 — олимпиадная #2 (спиннеры два), 40 — олимпиадная #3 (MxN), 41 — олимпиадная #4 (вагон), 42 — олимпиадная #5 (кинотеатр), 43 — биты float, 44 — записная книжка массивом структур, 45 — записная книжка связным списком, 46 — вывод содержимого файла от конца к началу.

Задача 46

Необходимо вывести содержимое заданного файлового потока (файла в файловой системе, который, впрочем, может не быть обычным файлом) от последнего символа к первому. Работа операций fseek/ftell для указанных файлов не гарантирована.

Задача 45

Задача 44, но реализованная связным списком структур. Добавление новой записи — в любое место книжки.

Задача 44

Реализовать массивом структур записную книжку (с фиксированным ограниченным числом записей), реализующую следующие операции:

  1. распечатывание существующего содержимого;
  2. добавление записи в конец текущего содержимого;
  3. редактирование записи;
  4. удаление записи;
  5. сортировка записи по выбираемому полю.
Минимальный набор полей: имя, фамилия, телефон, возраст. Программе должно передаваться имя файла, из которого она  при запуске будет считывать содержимое записной книги, а после успешного совершения любой операции его туда сохранять.

Задача 43

Побитово распечатать содержимое числа типа float, вводимого пользователем с клавиатуры.

Задачи 38—42

Задачи 36—42 взяты со школьного тура ВсОШ, поскольку граждане её вместо одного из занятий писали, но написали достаточно посредственно, а задачи — вполне хороши. Работа за не более, чем секунду при всех значениях параметров из оговорённых диапазонах, хороший код, понимание и умение вывести все формулы — как обычно, требуются: автоматизированная система R.E.A. другого не пропустит.

Задача 37

То же, что и задача 36, но с использованием макросов (макрофункций).

Задача 36

Оснастить рекурсивный вычислитель чисел Фибоначчи средствами отладки, активируемыми при определении макропеременной DEBUG. Если макропеременная не определена, отладочная печать не должна быть включённой в финальный двоичный модуль ни в каком виде, кроме вызова функции отладочной печати (пустой в данном случае). Использовать макропеременные, не использовать макросы (макрофункции).

Задача 35

То же, что и задача 34, но с добавлением возможности задавать значения M и N в командной строке утилиты make.

Задача 34

Оснастить одну из задач по заполнению массива MxN (горизонтальной либо диагональной змейкой или улиткой) директивами «#define», задающими размерности массива. Использовать конструкцию

#if !defined(N)
#define N	11
#endif /* !defined(N) */
уметь объяснять её необходимость.