2024a
Gusarev (обсуждение | вклад) (→Задачи по программированию) |
Gusarev (обсуждение | вклад) (→Задания по программированию и не только) |
||
(не показана 261 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
− | == | + | == Немного LaTeX == |
+ | |||
+ | Что читать:<br> | ||
+ | [https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br> | ||
+ | [https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br> | ||
+ | [https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br> | ||
+ | [https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br> | ||
+ | [https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br> | ||
+ | [https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br> | ||
+ | |||
+ | Как запускать:<br> | ||
+ | [https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br> | ||
+ | При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br> | ||
+ | Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br> | ||
+ | Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br> | ||
+ | Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br> | ||
+ | А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт]. | ||
+ | |||
+ | |||
+ | == Подготовка к ЕГЭ == | ||
{| | {| | ||
− | ! style="text-align:left;width: | + | ! style="text-align:left;width:300px;"| Задачи |
− | ! style="text-align:left;width: | + | ! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач |
|- | |- | ||
− | | [https:// | + | | Пробник! Приглашаем написать домашний пробник ЕГЭ по информатике 6 или 7-го апреля. || Для этого сначала нужно добавиться в группу на платформе Яндекс по [https://education.yandex.ru/teacher-ege/join?token=gAAAAABmF6DUibiYZ6T99C0TIg4ueqG-0tCMAlORSG_WE5x-vCEJrBFIJwxSQTkswuG8TOxFA1F2YR9VRmVfAB32Gi4zLLil3zMW3M48VEtzAxdF7bBP6fUOeyapMchelKVl3QKKhdVV7abBOuYKaMuFZmMoa__NHKbBYGEgVqelqkT8-a6t9UkUMLcnFPX5tFJ9fWxDD6G9Tat-XVNQfGCLMHcJoMmHrQ== ссылке].<br> А затем по вот этой [https://education.yandex.ru/ege/variants/6024fe7a-808c-408c-8991-50bc1c57c49e/task/1 ссылке] начать решать пробник.<br> |
+ | Постарайтесь максимально приблизиться к реальным условиям:<br> | ||
+ | 1. Отведите на решение задания 4 часа;<br> | ||
+ | 2. Выключите все мессенджеры;<br> | ||
+ | 3. Не подглядывайте в справочники, конспекты и проч.<br> | ||
+ | |||
+ | |||
+ | |- | ||
+ | | Задача 25, маски, перебор|| Символ * означает любую (в т.ч. пустую) последовательность символов, символ ? означает ровно один символ. В задаче есть подвох, связанный с тем, что надо не забыть про пустую последовательность для *, а также про последовательности вроде '1', '01', '001' и т.п.<br>Многие задачи можно решить, используя функцию fnmatch из одноимённого модуля. | ||
+ | |||
+ | |- | ||
+ | | Задачи 16, 23, рекурсия || В 16 задаче нужно уметь по описанию рекуррентной зависимости понимать какую именно операцию она означает. В некоторых случаях можно её запрограммировать и по выводу понять, но не всегда.<br>В 23 задаче вполне годится рекурсивное решение, поскольку значения обычно невелики. Дополнительные ограничения учитываются с помощью дополнительных параметров рекурсивной функции. | ||
+ | |||
+ | |||
+ | |- | ||
+ | | Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем.<br> Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками. | ||
+ | |||
+ | |- | ||
+ | | Задача 24, строки || ... | | ||
+ | |||
+ | |- | ||
+ | | Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... | | ||
+ | |||
+ | |- | ||
+ | | Задача 14, системы счисления, перебор || ... | | ||
+ | |||
+ | |- | ||
+ | | Задачи 5 и 8, системы счисления, перебор || ... | | ||
+ | |||
+ | |- | ||
+ | | Задачи 9 и 17, массивы и циклы || ... | | ||
+ | |||
+ | |- | ||
+ | | ... || | ||
+ | [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br> | ||
+ | <!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br> | ||
+ | [https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br> | ||
+ | [https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br> | ||
+ | [https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--> | ||
+ | [https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br> | ||
+ | [https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов] | ||
+ | |||
|} | |} | ||
− | == | + | == Задания по программированию и не только == |
{| | {| | ||
Строка 16: | Строка 76: | ||
! style="text-align:left;width:500px;"|Критерии оценивания и замечания | ! style="text-align:left;width:500px;"|Критерии оценивания и замечания | ||
+ | |- | ||
+ | | Паззл-календарь || [https://zadachi.mccme.ru/misc/cal/cal.html Онлайн-версия] <br> [https://etudes.ru/models/puzzle-calendar/ Источники] || ... | ||
− | |||
|- | |- | ||
− | |[https://prog.school.ioffe.ru/2021-2022/set-dict.pdf Множества и словари] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=369 Вход в тестирующую систему (контест 369)] || Множества (задачи A-J): до 23:59:59 | + | | Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ... |
− | --> | + | |
+ | |- | ||
+ | | Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ... | ||
+ | |||
+ | |- | ||
+ | | Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ... | ||
+ | |||
+ | |- | ||
+ | | [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] (<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA – часть 3<br>Критерии: <в процессе> | ||
+ | |||
+ | |- | ||
+ | | [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] (<font color=red>обновлено 14.11.2023 – условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA – часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023 | ||
+ | |||
+ | |- | ||
+ | | [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-1.pdf Задачи по теории чисел]|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=387 Вход в тестирующую систему (контест 387)] || Контест, подготовительный к RSA – часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023 | ||
+ | |||
+ | |- | ||
+ | | Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| | ||
+ | |||
+ | |- | ||
+ | | ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше. | ||
+ | |||
+ | |- | ||
+ | | Интересное чтение (+ самостоятельные проекты для желающих) || 1. [https://prog.school.ioffe.ru/2023-2024/books/Tate-Seven-Languages-in-Seven-Weeks.pdf "Семь языков за семь недель"] <br> 2. [https://prog.school.ioffe.ru/2023-2024/books/Exercises-in-programming-style.pdf "Упражнения в стиле программирования"] || 1. Книжка с проектами, которые предлагается сделать на 7 ОЧЕНЬ разных языках: Ruby, Io, Prolog, Scala, Erlang, Closure, Huskell. Может способствовать расширению кругозора.<br>2. Замечательная книга — как одно и то же написать на одном языке 27 разными способами. Язык — Python, задача — подсчёт частотности букв в англоязычном тексте.<br>Желающим — [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров. | ||
+ | |||
+ | |||
+ | |- | ||
+ | | <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br> | ||
+ | <b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b> | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/3d-geom/3d-full-tutorial.pdf Инструкция "как реализовать вращение многогранника в пространстве"] || [https://prog.school.ioffe.ru/2022-2023/3d-geom/polyhedra.pdf Полезные картинки] для рисования правильных и полуправильных многогранников || А это [https://prog.school.ioffe.ru/2022-2023/3d-geom/polyhedra_with_coords.pdf полезные картинки] с координатами вершин многогранников (обновлён 2023-05-22 16:00).<br> А вот и [https://prog.school.ioffe.ru/2022-2023/3d-geom/greek-alphabet.pdf справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?). | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/class-geometry.pdf Вычислительная геометрия, основные примитивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=386 Вход в тестирующую систему (контест 386)] || Литература: [https://prog.school.ioffe.ru/2022-2023/geom/elem_comp_geom.pdf древний, но хороший текст]<br>Задачи A-M до 20.04.2023 21:59:59, критерии (6/8/10)<br> Задачи N-W до 11.05.2023 21:59:59, критерии (4/6/8) | ||
+ | |||
+ | |- | ||
+ | | Весеннее программирование – 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2021-2022/class-fraction.pdf Классы (дроби) — контест перенесён "наверх"] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=376 Вход в тестирующую систему (контест 376)] || Задачи A-F (3/4/6) до 23.02.2023 <br>Задачи G-M (3/4/5) до 16.03.2023<br>За задачи N, O отдельная оценка.<br>[https://prog.school.ioffe.ru/2021-2022/Fraction_A.py Пример того, как можно написать первую задачу]<br>[https://prog.school.ioffe.ru/2022-2023/Fraction_BC.py Пример чуть подробнее, со сложением и вычитанием] | ||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/stack_queue_heap.pdf Структуры данных] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=384 Вход в тестирующую систему (контест 384)] || Задачи A-K до 25.01.2023 21:59:59, критерии (3/5/7)<br> Задачи L-N до 30.01.2023 21:59:59, критерии (1/2/3)<br> Задачи O-Q до 06.02.2023 21:59:59, критерии (1/2/3) | ||
+ | |||
+ | |- | ||
+ | | ... | ||
+ | || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || | ||
+ | Программы для скачивания, Python <br> | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E] | ||
+ | |||
+ | |||
+ | |- | ||
+ | | ... | ||
+ | || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] || | ||
+ | Программы для скачивания, С++ <br> | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D] | ||
+ | [https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E] | ||
+ | |||
+ | |||
+ | |- | ||
+ | | Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 50-летней давности<br> [https://prog.school.ioffe.ru/2022-2023/Structured_Programming_With_goto_Statements.pdf Structured programming with goto statements] <br>и [https://prog.school.ioffe.ru/2022-2023/Premature_optimization_is_the_root_of_all_evil.png кусочек страницы], на который очень часто ссылаются. <br> Говорят, что фраза <code>"Premature optimization is the root of all evil"</code> принадлежит Энтони Хоару (Anthony Hoare, автор quicksort), а Кнут её просто популяризировал.<br> | ||
+ | Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<br> | ||
+ | <code>"The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming."</code> | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/DP.pdf Динамическое программирование] <br> [https://zadachi.mccme.ru/plak/plak-levenstein2.pdf Про редакционное расстояние] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=381 Вход в тестирующую систему (контест 381)] || До 30.11.2022 (задачи A-D: 2/3/4)<br> До 07.12.2022 (задачи E-L: 2/4/6)<br> До 14.12.2022 (задачи M-U: 3/5/6) | ||
+ | |||
+ | |- | ||
+ | | [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа π] || (есть русские субтитры!) || ... | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/search.pdf Двоичный поиск]<br>[https://prog.school.ioffe.ru/2022-2023/binsearch_theory.pdf Теория] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=380 Вход в тестирующую систему (контест 380)] || До 16.11.2022 23:59:59 (задачи A-F: 3/4/5)<br> До 22.11.2022 23:59:59 (задачи G-N: 3/4/6) | ||
+ | |||
+ | |- | ||
+ | | [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче. | ||
+ | |||
+ | |- | ||
+ | | [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы". | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2022-2023/combinatorics_iterative.pdf Комбинаторика, перечисление объектов]<br>[https://zadachi.mccme.ru/plak/plak-catalan2.pdf Полезная ссылка для решения некоторых задач] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=379 Вход в тестирующую систему (контест 379)] || [https://prog.school.ioffe.ru/2022-2023/iter_example.py Шаблон кода]<br>Часть 1 (A-M), срок сдачи 23:59:59 04.10.2022. Критерии: 4/6/10<br>Часть 2 (N-W), срок сдачи 23:59:59 18.10.2022. Критерии 2[N-Q]/2[N-Q], T/3[N-Q], T + любые две задачи на выбор<br> Часть 3 (Y-ZC), срок сдачи 23:59:59 25.10.2022. Критерии: 1/2/4 | ||
+ | |||
+ | |- | ||
+ | | [[https://prog.school.ioffe.ru/2022-2023/alg_latex.pdf Задачи по алгебре] || Какие именно задачи вам надо решить и оформить определяет [https://prog.school.ioffe.ru/2022-2023/oracle.py оракул].<br>Cкачайте и запустите эту программу. || Набрать в LaTeX решение двух задач, по одной из каждого раздела. В документе укажите номер обеих задач в соответствии с тем, что вам написал оракул.<br> Пришлите оба файла: *.tex и *.pdf<br>Срок сдачи: 23:59:59 17.09.2022<br>Можете посмотреть задачник по [https://prog.school.ioffe.ru/2022-2023/Prasolov_Zadachi_po_arifmetike_algebre_i_analizu.pdf ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели. | ||
+ | |||
+ | |- | ||
+ | | [[https://prog.school.ioffe.ru/2022-2023/start_10.pdf Осеннее программирование] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=378 Вход в тестирующую систему (контест 378)] || Срок сдачи: 23:59:59 17.09.2022<br>Критерии: 2/3/5. | ||
+ | |||
+ | |- | ||
+ | | Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые | ||
+ | |||
+ | |||
+ | |- | ||
+ | |Обзор последних достижений Deep Learning || [https://www.youtube.com/watch?v=J7uWN0-_A2A Видео (youtube, ~ 1 час)]<br> [https://storage.googleapis.com/deepmind-media/AlphaCode/competition_level_code_generation_with_alphacode.pdf Отдельная ссылка] на статью про AlphaCode и "спортивное программирование" || Анонс автора обзора Григория Сапунова: <br> Нынешняя революция Deep Learning началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. | ||
+ | В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше. | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2021-2022/brute-force-opt.pdf Оптимизация перебора (задачи посложнее, после стандартных)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=375 Вход в тестирующую систему (контест 375)] || Внимание! Не все задачи могут быть решены на python с текущими ограничениями на время выполнения. | ||
+ | |||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ... | ||
+ | |||
+ | |||
+ | |- | ||
+ | | ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная | ||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2021-2022/set-dict.pdf Множества и словари] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=369 Вход в тестирующую систему (контест 369)] || Множества (задачи A-J): до 23:59:59 18.01.2022 (3/5/8)<br>Словари (задачи K-Z): до 23:59:59 01.02.2022 (5/9/12) | ||
+ | |||
+ | |||
+ | |||
+ | |- | ||
+ | |[https://prog.school.ioffe.ru/2021-2022/sorting-2.pdf Задачи, решение которых использует сортировку] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=372 Вход в тестирующую систему (контест 372)] || первая неделя (задачи A-J): до 23:59:59 06.12.2021 (3/6/8)<br>вторая неделя (задачи K-U): до 23:59:59 13.12.2021 (2/4/5)<br>За решение пары задач OP, а также за задачи M, Q, S, U (за каждую в отдельности) ставится очень хорошая оценка. <br> | ||
+ | Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021. | ||
+ | |||
|- | |- | ||
− | |[https://prog.school.ioffe.ru/2021-2022/sorting-1.pdf Реализация стандартных алгоритмов сортировки] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=371 Вход в тестирующую систему (контест 371)] || до 23:59:59 30.11.2021 (3/ | + | |[https://prog.school.ioffe.ru/2021-2022/sorting-1.pdf Реализация стандартных алгоритмов сортировки] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=371 Вход в тестирующую систему (контест 371)] || до 23:59:59 30.11.2021 (3/4/6); <br>За каждую задачу G, H ставится очень хорошая оценка.<br>[https://www.toptal.com/developers/sorting-algorithms Анимация, иллюстрирующая разные алгоритмы сортировки]. |
|- | |- | ||
Строка 54: | Строка 237: | ||
|- | |- | ||
|[http://wiki.school.ioffe.ru/images/a/ae/Numeral.pdf Системы счисления] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=364 Вход в тестирующую систему (контест 364)] || До 23:59 16.09.2021 (ABE/ABCEG/ABCEGHJ + любые 3 из набора KLPQ); за решение задач из набора DFUVW — отдельная (и очень хорошая) оценка<br> | |[http://wiki.school.ioffe.ru/images/a/ae/Numeral.pdf Системы счисления] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=364 Вход в тестирующую систему (контест 364)] || До 23:59 16.09.2021 (ABE/ABCEG/ABCEGHJ + любые 3 из набора KLPQ); за решение задач из набора DFUVW — отдельная (и очень хорошая) оценка<br> | ||
− | [http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] | + | [http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br> |
+ | [https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br> | ||
+ | [http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения. | ||
|- | |- | ||
Строка 113: | Строка 298: | ||
|- | |- | ||
|[https://prog.school.ioffe.ru/2020-2021/01-calc-int.pdf Целочисленная арифметика] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=350 Вход в тестирующую систему (контест 350)] || до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5) | |[https://prog.school.ioffe.ru/2020-2021/01-calc-int.pdf Целочисленная арифметика] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=350 Вход в тестирующую систему (контест 350)] || до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5) | ||
+ | |||
|} | |} | ||
+ | |||
+ | == Тренажёр слепой печати == | ||
+ | |||
+ | {| | ||
+ | ! style="text-align:left;width:400px;"| Ссылка | ||
+ | ! style="text-align:left;width:500px;"| Критерии оценивания и замечания | ||
+ | |||
+ | |- | ||
+ | | [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ... | ||
+ | |} | ||
+ | |||
== Ссылки == | == Ссылки == | ||
Строка 126: | Строка 323: | ||
| По поводу оформления программ на Python и C++. | | По поводу оформления программ на Python и C++. | ||
|- | |- | ||
− | | <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница (англ.) | + | | <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
− | | [https:// | + | | <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.) |
|- | |- | ||
− | | [ | + | | [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание] |
|- | |- | ||
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы): | | Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы): | ||
|- | |- | ||
| | | | ||
− | * [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3, из Stable releases (стабильных), а не pre-releases. | + | * [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases. |
* [https://code.visualstudio.com/ VS Code] | * [https://code.visualstudio.com/ VS Code] | ||
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational] | * [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational] |
Текущая версия на 11:47, 24 июля 2024
Содержание |
Немного LaTeX
Что читать:
LaTeX,GNU/Linux и русский стиль (Е.М. Балдин) (первая глава)
LaTeX по-русски (И. Котельников, П. Чеботаев) (до параграфа 1.4.1)
Набор и вёрстка в системе LaTeX (С.М. Львовский) (I глава, 2 и 3 параграфы)
LaTeX в примерах (К.В. Воронцов) (кому неохота лезть глубоко и нужны практические советы)
The TeXbook (Donald Knuth) (кому, наоборот, хочется приникнуть в первоисточнику)
The TeXbook (Donald Knuth) (это уже совсем первоисточник на родном языке автора)
Как запускать:
Онлайн-версия, можно править код совместно
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором MikTex поставляется вполне работоспособный редактор TexWorks.
Другая среда: TeXstudio
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет tikz
А для изучения того, что вообще можно нарисовать, рекомендуется этот прекрасный сайт.
Подготовка к ЕГЭ
Задачи | Ссылки на варианты или наборы задач |
---|---|
Пробник! Приглашаем написать домашний пробник ЕГЭ по информатике 6 или 7-го апреля. | Для этого сначала нужно добавиться в группу на платформе Яндекс по ссылке. А затем по вот этой ссылке начать решать пробник. Постарайтесь максимально приблизиться к реальным условиям:
|
Задача 25, маски, перебор | Символ * означает любую (в т.ч. пустую) последовательность символов, символ ? означает ровно один символ. В задаче есть подвох, связанный с тем, что надо не забыть про пустую последовательность для *, а также про последовательности вроде '1', '01', '001' и т.п. Многие задачи можно решить, используя функцию fnmatch из одноимённого модуля. |
Задачи 16, 23, рекурсия | В 16 задаче нужно уметь по описанию рекуррентной зависимости понимать какую именно операцию она означает. В некоторых случаях можно её запрограммировать и по выводу понять, но не всегда. В 23 задаче вполне годится рекурсивное решение, поскольку значения обычно невелики. Дополнительные ограничения учитываются с помощью дополнительных параметров рекурсивной функции.
|
Задача 18, ДП | Эта задача решается программированием или (условно) Excel-ем. Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками. |
Задача 24, строки | |
Задача 15, побитовые операции, логические выражения, перебор и его оптимизация | |
Задача 14, системы счисления, перебор | |
Задачи 5 и 8, системы счисления, перебор | |
Задачи 9 и 17, массивы и циклы | |
... |
Каталог с файлами к заданиям. |
Задания по программированию и не только
Тема | Ссылка для входа | Критерии оценивания и замечания |
---|---|---|
Паззл-календарь | Онлайн-версия Источники |
... |
Открытые проблемы геометрии | Лекция Сергея Маркелова | ... |
Кодирование — почтовый индекс и его избыточность | ... | ... |
Перебор с возвратом — паззл Letter-Boxed | ... | ... |
Реализация алгоритма RSA (обновлено 14.01.2024 — добавлены задачи I, J про цифровую подпись) | Вход в тестирующую систему (контест 389) | Алгоритм RSA – часть 3 Критерии: <в процессе> |
Задачи про простые числа (и не только) (обновлено 14.11.2023 – условие задачи G) | Вход в тестирующую систему (контест 388) | Контест, подготовительный к RSA – часть 2 Критерии: AB / ABDF / ABDFGIK до 29.11.2023 |
Задачи по теории чисел | Вход в тестирующую систему (контест 387) | Контест, подготовительный к RSA – часть 1 Критерии: A / ABD / ABCDE до 15.11.2023 |
Материалы по криптографии и теории чисел | Тест Ферма на простоту чисел Криптографический протокол RSA |
|
ЕГЭ, демонстрационный вариант 2024 года | Демо-2024 | Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше. |
Интересное чтение (+ самостоятельные проекты для желающих) | 1. "Семь языков за семь недель" 2. "Упражнения в стиле программирования" |
1. Книжка с проектами, которые предлагается сделать на 7 ОЧЕНЬ разных языках: Ruby, Io, Prolog, Scala, Erlang, Closure, Huskell. Может способствовать расширению кругозора. 2. Замечательная книга — как одно и то же написать на одном языке 27 разными способами. Язык — Python, задача — подсчёт частотности букв в англоязычном тексте. Желающим — ссылка на github c исходными кодами примеров.
|
Сроки выполнения задания по вычислительной геометрии | ... | Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023 Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023 |
Инструкция "как реализовать вращение многогранника в пространстве" | Полезные картинки для рисования правильных и полуправильных многогранников | А это полезные картинки с координатами вершин многогранников (обновлён 2023-05-22 16:00). А вот и справочная страничка с греческим алфавитом (как вы думаете, какой там нет буквы и почему?). |
Вычислительная геометрия, основные примитивы | Вход в тестирующую систему (контест 386) | Литература: древний, но хороший текст Задачи A-M до 20.04.2023 21:59:59, критерии (6/8/10) Задачи N-W до 11.05.2023 21:59:59, критерии (4/6/8) |
Весеннее программирование – 2 | Вход в тестирующую систему (контест 385) | Критерии, как всегда, добрые |
Классы (дроби) — контест перенесён "наверх" | Вход в тестирующую систему (контест 376) | Задачи A-F (3/4/6) до 23.02.2023 Задачи G-M (3/4/5) до 16.03.2023 За задачи N, O отдельная оценка. Пример того, как можно написать первую задачу Пример чуть подробнее, со сложением и вычитанием |
Структуры данных | Вход в тестирующую систему (контест 384) | Задачи A-K до 25.01.2023 21:59:59, критерии (3/5/7) Задачи L-N до 30.01.2023 21:59:59, критерии (1/2/3) Задачи O-Q до 06.02.2023 21:59:59, критерии (1/2/3) |
... | Вход в тестирующую систему (контест 382, Python) |
Программы для скачивания, Python
|
... | Вход в тестирующую систему (контест 383, C++) |
Программы для скачивания, С++
|
Философское отступление про оптимизацию программ. | ... | Статья Дональда Кнута почти 50-летней давности Structured programming with goto statements и кусочек страницы, на который очень часто ссылаются. Говорят, что фраза "Premature optimization is the root of all evil" принадлежит Энтони Хоару (Anthony Hoare, автор quicksort), а Кнут её просто популяризировал.Для тех, кто не осилил прочитать текст и открыть картинку, цитата: |
Динамическое программирование Про редакционное расстояние |
Вход в тестирующую систему (контест 381) | До 30.11.2022 (задачи A-D: 2/3/4) До 07.12.2022 (задачи E-L: 2/4/6) До 14.12.2022 (задачи M-U: 3/5/6) |
Самый странный способ вычисления числа π | (есть русские субтитры!) | ... |
Двоичный поиск Теория |
Вход в тестирующую систему (контест 380) | До 16.11.2022 23:59:59 (задачи A-F: 3/4/5) До 22.11.2022 23:59:59 (задачи G-N: 3/4/6) |
Описание задачи про приземление самолётов | ... | Внутри описаны две задачи: написать решение и написать тесты к задаче. |
Рассказ Ричарда Фейнмана про "почему" Смотреть и остальное, конечно, тоже. |
... | Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы". |
Комбинаторика, перечисление объектов Полезная ссылка для решения некоторых задач |
Вход в тестирующую систему (контест 379) | Шаблон кода Часть 1 (A-M), срок сдачи 23:59:59 04.10.2022. Критерии: 4/6/10 Часть 2 (N-W), срок сдачи 23:59:59 18.10.2022. Критерии 2[N-Q]/2[N-Q], T/3[N-Q], T + любые две задачи на выбор Часть 3 (Y-ZC), срок сдачи 23:59:59 25.10.2022. Критерии: 1/2/4 |
[Задачи по алгебре | Какие именно задачи вам надо решить и оформить определяет оракул. Cкачайте и запустите эту программу. |
Набрать в LaTeX решение двух задач, по одной из каждого раздела. В документе укажите номер обеих задач в соответствии с тем, что вам написал оракул. Пришлите оба файла: *.tex и *.pdf Срок сдачи: 23:59:59 17.09.2022 Можете посмотреть задачник по ссылке. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели. |
[Осеннее программирование | Вход в тестирующую систему (контест 378) | Срок сдачи: 23:59:59 17.09.2022 Критерии: 2/3/5. |
Весеннее программирование | Вход в тестирующую систему (контест 377) | Критерии очень добрые
|
Обзор последних достижений Deep Learning | Видео (youtube, ~ 1 час) Отдельная ссылка на статью про AlphaCode и "спортивное программирование" |
Анонс автора обзора Григория Сапунова: Нынешняя революция Deep Learning началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше. |
Оптимизация перебора (задачи посложнее, после стандартных) | Вход в тестирующую систему (контест 375) | Внимание! Не все задачи могут быть решены на python с текущими ограничениями на время выполнения.
|
Рекурсивный перебор (т.н. "стандартные задачи") | Вход в тестирующую систему (контест 374) | ...
|
... | Вход в тестирующую систему (контест 373) | Новогодняя контрольная |
Множества и словари | Вход в тестирующую систему (контест 369) | Множества (задачи A-J): до 23:59:59 18.01.2022 (3/5/8) Словари (задачи K-Z): до 23:59:59 01.02.2022 (5/9/12)
|
Задачи, решение которых использует сортировку | Вход в тестирующую систему (контест 372) | первая неделя (задачи A-J): до 23:59:59 06.12.2021 (3/6/8) вторая неделя (задачи K-U): до 23:59:59 13.12.2021 (2/4/5) За решение пары задач OP, а также за задачи M, Q, S, U (за каждую в отдельности) ставится очень хорошая оценка. Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.
|
Реализация стандартных алгоритмов сортировки | Вход в тестирующую систему (контест 371) | до 23:59:59 30.11.2021 (3/4/6); За каждую задачу G, H ставится очень хорошая оценка. Анимация, иллюстрирующая разные алгоритмы сортировки. |
Двумерные массивы | Вход в тестирующую систему (контест 370) | первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10) А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка. К одному из вариантов решения задач Q и R: ссылка.
|
И про то, как пишутся программы, тоже | ... | Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"! |
Обработка файлов (чтение и запись) | Вход в тестирующую систему (контест 368) | До 23:59:59 26.10.2021 (10/14/19) Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками (ссылка). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip). |
Контрольная работа "про всё" | Вход в тестирующую систему (контест 367) |
|
Массивы (коротко) | Вход в тестирующую систему (контест 365) | До 23:59:59 04.10.2021 (4/6/9) Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах — вам очень пригодится умение писать такие штуки. |
Вещественная арифметика | Вход в тестирующую систему (контест 366) | До 23:59:59
|
Системы счисления | Вход в тестирующую систему (контест 364) | До 23:59 16.09.2021 (ABE/ABCEG/ABCEGHJ + любые 3 из набора KLPQ); за решение задач из набора DFUVW — отдельная (и очень хорошая) оценка Про деление столбиком, периоды и смежные вопросы |
Вариант 1 Вариант 2 |
Вход в тестирующую систему (контест 363) | Контрольная "ЕЩЁ РАЗОК" |
—————————————> | —————————————> | Клуб любителей чтения: как тестировать программу, проверять время её работы и писать генераторы тестов. |
Контрольная работа по строкам, рекурсии и массивам | Вход в тестирующую систему (контест 362) | |
—————————————> | —————————————> | Клуб любителей чтения: зачем давать переменной понятное имя? (обновлено 08.05.2021) |
Дополнительный листок про массивы. | Вход в тестирующую систему (контест 361) | За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка. |
Массивы | Вход в тестирующую систему (контест 360) | До 15.04.2021 (задачи A-N, 14 задач): 6/9/12 До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9 |
[КР — строки] | Вход в тестирующую систему (контест 359) | ...
|
Памяти Джона Конвея, который придумал много чего разного, не только игру "Жизнь". |
Обзорное видео, посвящённое Game of Life | |
Строки и циклы | Вход в тестирующую систему (контест 358) | Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.) Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно! Внимание! Срок продлён. До 23:59:59 03.03.2021, критерии: 13/16/21
|
Строки, срезы и методы | Вход в тестирующую систему (контест 357) | Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно! До 23:59:59 10.02.2021, критерии: 4/8/11 |
Функции | Вход в тестирующую систему (контест 356) | Внимание! Срок продлён. До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA); |
[КР — циклы и всё, что раньше] | Вход в тестирующую систему (контест 355) | ... |
Цикл while | Вход в тестирующую систему (контест 354) | до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z) Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: |
Цикл for | Вход в тестирующую систему (контест 353) | до 26.11.2020, критерии: 10/15/22 (или E,L,N,O,Q,T,V,W,[1:X,Y] на 5), можно досдать до 23:59:59 27.11.2020 |
[КР — вычисления и условия] | Вход в тестирующую систему (контест 352) | ... |
Условный оператор | Вход в тестирующую систему (контест 351) | до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5) |
Целочисленная арифметика | Вход в тестирующую систему (контест 350) | до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5)
|
Тренажёр слепой печати
Ссылка | Критерии оценивания и замечания |
---|---|
Ссылка для входа в класс Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) |
... |
Ссылки
По поводу оформления программ на Python и C++. |
|
|
Вердикты тестирующей системы и их описание |
Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы): |
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды. |