Программирование 8-1 (2024)
18 subscribers
3 photos
2 files
15 links
Download Telegram
Оценивание в контесте Бинарный поиск - 2
2: < 3 задач
3: >= 3 задач
4: >= 6 задач
5: >= 8 задач
🤮1💩1🤡1🤝1
Завтра будет КР по бинпоиску в формате устного зачета
Нужно будет
1. (2 балла) Рассказать идею бинпоиска и показать пример его работы на поиска числа в массиве(без кода, просто в виде описания шагов на конкретном примере)
2. (3 балла) Написать реализацию бинпоиска на питоне(разные случаи: самый правый элемент, равный x, самый левый элемент, равный x). Могут быть уточняющие вопросы или могу попросить сделать небольшие модификации(например, как переделать если массив отсортировать в обратном порядке, как найти первый элемент, больший x, и т.п.). За реализацию ставится 2 балла. За доп. вопросы 1 балл.
3. (5 баллов) Одна задача на бинпоиск по ответу(задачи формата: дипломы, ксерокопирование, провода, cow lineup, про космические панели и т.д.). Нужно будет объяснить, зачем здесь бинпоиск(2 балла), и дать реализацию на питоне(3 балла). Если плохо объясняете какие-то детали или набагали в реализации то можно потерять 1-2 балла.

Все реализации с объяснениями (устно) и на листочке, без компьютеров и дополнительных материалов.

Вы приходите, берете билет (там у каждого будет своя задача на бинпоиск по ответу), готовитесь 10 минут и сдаете. Вызываю в произвольном порядке после прохождения времени на подготовку. Кто-то в это время сидит в коридоре и готовится/занимается своим. На ответ будет 5 минут, но могу отправлять на доработку(например, на обдумывание доп. вопроса).

Если не отвечаете полностью на первый пункт, то дальше не допускаетесь. Для допуска к 3 пункту нужно набрать хотя бы 4 балла.

Оценки ставятся так:
от 4 баллов - 3
от 6 баллов - 4
от 9 баллов - 5
🤯4👍1🤔1🎉1🤡1🤣1
Я буду минут на 10 позже, пока что готовьтесь)
Кто не успел сегодня, будет сдавать завтра. Сначала те, кто уезжает на кружок, после те, кто остаётся
CLion без VPN можно скачать тут
https://disk.yandex.ru/d/ZkYcpI5fbbWfvA

для windows нужно:
x86 CLion-2025.2.1.exe
arm64 CLion-2025.2.1-aarch64.exe

для macos m1/2/3:
CLion-2025.2.1-aarch64.dmg
В следующий вторник(23.09) планируется небольшая самостоятельная на бумажных листочках.

Ошибки будут делиться на следующие категории, которые я буду определять сугубо субъективно:
1. Опечатки
2. Идейные ошибки(неверные математические формулы, алгоритмы)
3. Неверное использование операций и иных конструкций языка(например, неверное использование деления, использование cin >> s вместо getline и т.п.)
4. Неопределенное поведение(далее UB)(выходы за границу массива, использование непроинициализированных переменных и т.п.). Сюда же буду относить бесконечные циклы, зависшие cin и т.п. (но они не являются UB!). Кстати, переполнение переменной, когда вы пытаетесь сохранить в нее больше ее максимального значения, тоже является UB
5. Грубое нарушение синтаксиса
список может дополняться

Ошибки приведены в порядке увеличения их тяжести. Чем тяжелее ошибка, тем больше она вредит вашей оценке. Точные критерии будут только после самостоятельной.

Также, кроме вопросов с написанием кода, могут быть теоретические вопросы. Примеры
1. Какие числа могут храниться в типе int
2. Опишите, что делает каждая из трех секций цикла for
3. Опишите, как работает деление целых чисел в различных сценариях
набор тем: все до циклов и массивов
Дедлайн по контесту на двумерные массивы 18.11.25(следующий вторник)
поставил дедлайн контесту на функции - 21 декабря
Всем привет! Сегодня будут писать КР по строкам те, кто ее не писал. Это все девочки, кроме Вероники.

Контрольная тут
https://ejudge.kpfu.ru/new-client?contest_id=10211
можно будет начать до 10:10, потом закрою (доступ закрыт)
КР на 60 минут
Программирование 8-1 (2024)
Всем привет! Сегодня будут писать КР по строкам те, кто ее не писал. Это все девочки, кроме Вероники. Контрольная тут https://ejudge.kpfu.ru/new-client?contest_id=10211 можно будет начать до 10:10, потом закрою (доступ закрыт) КР на 60 минут
ремарка по тому, как смотреть, сколько у вас осталось времени

У вас сверху в тестирующей системе есть таймер. Так как изначально там было 10001:20, а КР на 60 минут, то у вас время закончится в 10000:20. Я буду учитывать это не через тестирующую систему, а через наш сайт с таблицами результатов
Если вдруг кабинет закрыт, то я буду минут через 20
В некоторых задачах вводить и выводить нужно с файлов.

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

В таких задачах перед отправкой нужно дописать в самом начале функции int main следующие две строки

freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);

Названия файлов нужно заменить на те, что указаны в условии
Тут, например, нужно будет дописать

freopen("count.in", "r", stdin);
freopen("count.out", "w", stdout);
Секретный рецепт, как заставить программу падать при выходах за границы массива📜

Вписывать нужно перед всеми инклудами

Спойлер: программа может иногда не падать, и даже каким-то чудом нормально работать в одних случаях, и падать с ошибкой выполнения или неверным ответом в других. Это называется неопределенным поведением(aka Undefined Behaviour, aka UB, aka УБ)

Нужно в случаях, если "у вас все работает, а на ejudge не работает"
Запись лекции по хранению графов
https://youtu.be/euUtk-hJei4

Дедлайн по контесту: следующий четверг, 23 апреля
Вам к нашему уроку в четверг нужно посмотреть запись этой лекции. В чтверг можно будет задать вопросы по ней.

Также подвинул дедлайн по текущему контесту до вс. Вам все равно нужно порешать его перед просмотром этой лекции(как минимум задачу на перевод из списка ребер в список смежности). Дедлайн сдвигается для того, чтобы вы спокойно могли посмотреть лекцию до следюущего урока, не беспокоясь о дедлайне

Параллельно открываю контест до DFS с предварительным дедлайном 30.04.2026

https://youtu.be/aI2QC7f-Mj8