10 класс: оценки, базовые оценки. | 11 класс: оценки. | Список учеников, правила. |
Общее замечание: поскольку все люди уже взрослые, то каждая программа должна быть оснащена Makefile со стандартными целями для сборки и очистки от сгенерированных файлов; далее этого отдельно оговариваться не будет.
Содержимое страницы:
… происходил 18 мая во время регулярных занятий, но занимал 3 урока (вместо двух): нужно же было дать всем возможность вволю и качественно попрограммировать.
В качестве экзамена было написать одну программу, изготовить для неё Makefile и оставить всё это в папке final-exam/ своего домашнего каталога для дальнейшей проверки и оценки.
Содержимое всех входных файлов — слова, разделённые межсловными интервалами: некоторым, большим нуля, количеством идущих подряд межсловных символов. Символы, образующие слова, таковы: λ = (a-z, A-Z, 0-9, -). Остальные символы ASCII-таблицы считаются межсловными или, как бы выразились граждане на языке теории множеств, «все межсловные элементы образуют дополнение указанного подмножества символов λ до всего множества ASCII-символов».
То есть если файл выглядит так:
Meh. Hey, you add$a one and#()two zeros to that or we walk! All I want is to be a monkey of moderate intelligence who_wears_a_suit... that's why I'm transferring to business school! I was^^^^^all of history's ~great~ ~robot~ actors -----]]]] Acting Unit 0.8; Thespomat; David Duchovny!то он состоит из следующего набора слов: «;Meh», «Hey», «you», «add», «one», «and», «two», «zeros», «to», «that», «or», «we», «walk», «All», «I», «want», «is», «to», «be», «a», «monkey», «of», «moderate», «intelligence» «who», «wears», «a», «suit», «that», «s», «why», «I», «m», «transferring», «to», «business», «school», «I», «was», «all», «of», «history», «s», «great», «robot», «actors», «-----», «Acting», «Unit», «0», «8», «Thespomat», «David», «Duchovny».
Есть два входных файла, имена которых передаются программе в качестве аргументов командной строки. Необходимо найти все слова, содержащиеся в первом файле, но не присутствующие во втором, отсортировать их по убыванию количества появлений в файле и вывести на экран в формате
количество.появлений словоДля слов с одинаковым количеством появлений выходной порядок должен совпадать с порядком их появления в файле. Сравнение слов осуществляется без учёта регистра символов.
Есть входной файл и целое число N, которые передаются программе в качестве аргументов командной строки. Необходимо вывести все слова, встречающиеся во входном файле чаще, чем N раз. При выводе их необходимо отсортировать по убыванию количества появлений в файле, формат вывода таков:
количество.встреч словоДля слов с одинаковым количеством появлений выходной порядок должен совпадать с порядком их появления в файле. Сравнение слов осуществляется без учёта регистра символов.
…(либо зело занятых) граждан, которые не дошли до кабинета информатики 18-го мая по какой-то безумно уважительной причине, и волнение их в связи с этим таково, что они прямо даже не могут найти себе места, горько оплакивая свою участь.
Необходимо написать программу, принимающую в качестве аргумента командной строки имена файлов. Каждый из файлов нужно независимо обработать так, как объяснено ниже и поместить в поток стандартного вывода его имя и результат обработки. Файлы считаются состоящими из слов и межсловных разделителей. Слово — это максимальная последовательность идущих подряд букв из набора (a-z, A-Z, 0-9, -), все остальные символы — разделители, их между словами может быть любое натуральное количество.
В файле необходимо найти все слова, получающиеся друг из друга перестановками своих букв (africa и cifaar являются примером таких слов; они называются анаграммами), отсортировать такие слова по их общему количеству в файле и вывести на экран (в сортированном порядке) для каждой анаграммы количество её вхождений в файл и все встретившиеся слова в последовательности, обратной порядку их следования в файле. При сравнении слов необходимо игнорировать регистр символов: большие и маленькие буквы считаются эквивалентными.
То есть если в файле встречались следующие слова: Africa, cifaar, africa, carafi, Firaca, afacir, то соответствующая этой анаграмме строка — «6 afacir Firaca carafi africa cifaar Africa».
Задание необходимо сделать до 23:59 23 мая 2018 года. В полночь SSH-доступ превращается в тыкву и испаряется.
Поскольку даже после создания версии экзамена, описанной выше («для особо талантливых/зело занятых»), у приличного числа граждан в домашнем каталоге не образовалось вообще ничего похожего на любые попытки экзамен сделать (а я такие попытки тоже искал), то система оценок именно за экзамен (столбец «Ex») сложилась следующая:
Если вдруг сюда заглянут обучающиеся других наборов, то они должны иметь в виду следующее: нет, я не считаю такие детсадовские задания уровнем экзамена в 11 классе физико-математического потока. Обычно людям выдавали в начале четвёртого полугодия список (интересных) задач, они могли выбрать себе приличную или придумать свою, после чего реализовывали и приходили сдавать и разговаривать о сделанном (а также — о несделанном).
Устроенный цирк с повторной сдачей экзамена «дистанционно» для приличной части класса я также считаю малоприемлемым. Как и систему оценок «за второе полугодие выставляем по сданным в первом задачам, а ежели кто-то сподобился сдать задачи второго полугодия — это сразу зачёт экзамена».
Однако выпуск 2016—2018 годов настолько чудесно делал и сдавал домашние работы (одни, видимо, подумали, что рассказываемое тут для них слишком сложно, другие — что слишком просто; и те, и другие ошиблись, кстати), что всё пришло к вот такому тривиальному упражнению, которое ещё и печально (но вполне ожидаемо: consuetūdo est altĕra natūra) завершилось.
Определение понятия «чудесно» включает в себя следующее: львиную долю второго полугодия устраивались сдачи домашних заданий на протяжении всех (минимум — шести, максимум — восьми) уроков каждую пятницу; среднее число попыток сдавать задачи для всего класса — 2, среднее число сданных задач — такое же, стандартное отклонение обоих параметров исчезающе мало.
Отдельный привет классному руководителю, который на довольно регулярные оповещения «дети ничего не делают, вы интересовались происходящим с успеваемостью, обратите, пожалуйста, внимание» отвечал «такие дети, да, что же нам с ними делать-то…». Вот ведь действительно, что же?…
Также у меня есть теоретически предсказанный (не сходя с места в момент возникновения вопроса) и экспериментально проверенный (за почти весь 2017—2018 учебный год) ответ родителям, на собраниях говорившим «ребёнки же не видят на сайте условий задач, а откуда им ещё их брать-то?». Задания для 11 класса есть все, они актуализировались на сайте (как, кстати, и оценки) в день своего появления. И ответ такой: «гражданам просто нужно трудиться, проблема именно в этом».
Полугодие уже началось… и даже закончилось. Оценки за него, фактически, ставились по результатам работы в первом, а сданные задачи с 47 по 50 приводили к автоматическому получению «отлично» за экзамен.
Задание: | 47 | 48 | 49 | 50 | H2 | Ex | Ω | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Группа раз | |||||||||||||||
Бердин | - | - | - | - | 2 | ∅ | 2 | ||||||||
Голубев | - | - | - | - | 2 | ∅ | 2 | ||||||||
Кайкова | - | - | - | - | 2 | ∅ | 2 | ||||||||
Клумова | - | - | - | - | 2 | ∅ | 2 | ||||||||
Кулаков | - | - | - | - | 2 | ∅ | 2 | ||||||||
Лопатина | - | - | - | - | 4 | 3- | 4- | ||||||||
Лукаш | - | - | - | - | 4 | 2 | 3 | ||||||||
Нефёдов | - | - | - | - | 2 | 2+ | 3- | ||||||||
Самойлов | - | - | - | - | 2 | ∅ | 2 | ||||||||
Трушин | - | - | - | - | 4 | 5- | 4+ | ||||||||
Группа два | |||||||||||||||
Бычко | - | - | - | - | 2 | 2 | 2 | ||||||||
Глазова | - | - | - | - | 3 | ∅ | 2 | ||||||||
Грянченко | - | - | - | - | 2 | ∅ | 2 | ||||||||
Демченко | - | - | - | - | 3 | 3- | 3- | ||||||||
Зиновьев | - | - | - | - | 2 | 2 | 2 | ||||||||
Киселёв | - | - | - | - | 2 | 2 | 2 | ||||||||
Радько | - | - | - | - | 3 | 3 | 3- | ||||||||
Расщупкин | - | - | - | - | 2 | 2 | 2 | ||||||||
Тарасюк | - | - | - | - | 2 | 2 | 2 | ||||||||
Фомченков | - | - | - | - | 2 | ∅ | 2 | ||||||||
Хабарова | - | - | - | - | 2 | ∅ | 2 | ||||||||
Группа три | |||||||||||||||
Бронников | - | - | - | - | 2 | 2 | 2 | ||||||||
Зинин | - | - | - | - | 3 | ∅ | 2 | ||||||||
Кондрашина | - | - | - | - | 3 | ∅ | 2 | ||||||||
Ляхов | - | - | - | - | 2 | 2 | 2 | ||||||||
Насыров | - | - | - | - | 2 | ∅ | 2 | ||||||||
Никитченко | 4 | 4 | 4 | 4 | 4 | 5 | 5- | ||||||||
Смирнова | - | - | - | - | 3 | ∅ | 2 | ||||||||
Фёдоров | - | - | - | - | 2 | ∅ | 2 | ||||||||
Цейтлин | - | - | - | - | 5 | 3- | 4 | ||||||||
Шафаревич | - | - | - | - | 2 | ∅ | 2 | ||||||||
Задание: | 47 | 48 | 49 | 50 | H2 | Ex | Ω |
То же, что и задача 49,
только вместо усреднения четвёрки чисел для смежных граней
куба, усредняют пару чисел на «этой» грани
и ей диаметрально противоположенной.
В остальном —
почти
тот же детский сад.
Задача 49
В одном страшно секретном детском саду играют в следующую игру:
Необходимо подумать над этими вопросами, а также —
написать программу, симулирующую происходящее и проверить свои
смелые догадки относительно получающихся ответов
«на практике».
Задача 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 | 3 | - | - | - | - | 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 | 3 | 3 | 5 | 5 | 5 | 5 | |
Смирнова | 4 | 4 | - | - | - | 3 | 5 | - | - | - | - | - | - | - | |
Фёдоров | - | - | - | - | - | - | - | - | - | - | - | - | - | 2 | |
Цейтлин | 5 | 4 | 4 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | |
Шафаревич | - | - | - | - | - | - | - | - | - | - | - | - | - | 2 | |
Задание: | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | H1 |
Необходимо вывести содержимое заданного файлового потока (файла
в файловой системе, который, впрочем, может не быть
обычным файлом) от последнего символа к первому.
Работа операций fseek/ftell для указанных файлов
не гарантирована.
Задача 45
Задача 44, но реализованная связным списком структур.
Добавление новой записи — в любое место книжки.
Задача 44
Реализовать массивом структур записную книжку (с фиксированным ограниченным числом записей), реализующую следующие операции:
Побитово распечатать содержимое числа типа float, вводимого пользователем
с клавиатуры.
Задачи 38—42
Задачи 36—42 взяты со школьного тура ВсОШ, поскольку граждане её вместо одного из занятий писали, но написали достаточно посредственно, а задачи — вполне хороши. Работа за не более, чем секунду при всех значениях параметров из оговорённых диапазонах, хороший код, понимание и умение вывести все формулы — как обычно, требуются: автоматизированная система R.E.A. другого не пропустит.
То же, что и задача 36, но с использованием
макросов (макрофункций).
Задача 36
Оснастить рекурсивный вычислитель чисел Фибоначчи средствами отладки,
активируемыми при определении макропеременной DEBUG.
Если макропеременная не определена, отладочная печать не должна
быть включённой в финальный двоичный модуль ни в каком
виде, кроме вызова функции отладочной печати (пустой в данном
случае).
Использовать макропеременные, не использовать макросы (макрофункции).
Задача 35
То же, что и задача 34, но с добавлением
возможности задавать значения M и N в командной строке утилиты
make.
Задача 34
Оснастить одну из задач по заполнению массива MxN (горизонтальной либо диагональной змейкой или улиткой) директивами «#define», задающими размерности массива. Использовать конструкцию
#if !defined(N) #define N 11 #endif /* !defined(N) */