http://wiki.school.ioffe.ru/api.php?action=feedcontributions&user=Gusarev&feedformat=atomPTHSWiki - Вклад участника [ru]2024-03-29T13:06:48ZВклад участникаMediaWiki 1.18.1http://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-21T09:20:52Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 16, 23, рекурсия || В 16 задаче нужно уметь по описанию рекуррентной зависимости понимать какую именно операцию она означает. В некоторых случаях можно её запрограммировать и по выводу понять, но не всегда.<br>В 23 задаче вполне годится рекурсивное решение, поскольку значения обычно невелики. Дополнительные ограничения учитываются с помощью дополнительных параметров рекурсивной функции.<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем.<br> Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками.<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:22:56Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем.<br> Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками.<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:21:39Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем. <br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:21:07Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем. |<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:20:58Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем. |<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || тут что-то будет<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:20:40Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем. |<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-14T07:15:31Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем. |<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-07T08:18:59Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-07T08:18:40Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Открытые проблемы геометрии — [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ... || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-03-07T06:01:28Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 24, строки || ... |<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-29T07:08:37Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-13T05:59:53Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задача 14, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-12T21:51:10Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T09:33:05Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>--><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T07:21:36Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:47:58Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br><br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:47:45Z<p>Gusarev: </p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:44:31Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:600px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:44:11Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] — Здесь есть правильные ответы к Статграду.<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:43:06Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... |<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... |<br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] ||<br />
Здесь есть правильные ответы к Статграду<br><br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:42:16Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... || ... <br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] ||<br />
Здесь есть правильные ответы к Статграду<br><br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:41:34Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || ... || ... <br />
<br />
|-<br />
| ... || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям]<br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:40:56Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || ... || ...<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:39:30Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:38:33Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, системы счисления, перебор || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д.]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:37:41Z<p>Gusarev: /* Подготовка к ЕГЭ */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Задачи<br />
! style="text-align:left;width:300px;"| Ссылки на варианты или наборы задач<br />
! style="text-align:left;width:500px;"| Комментарии<br />
<br />
|-<br />
| Задачи 5 и 8, массивы и циклы || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д.]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:36:52Z<p>Gusarev: </p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Задачи 5 и 8, массивы и циклы || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д.]<br />
<br />
|}<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:36:19Z<p>Gusarev: </p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
<br />
== Подготовка к ЕГЭ ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Задачи 5 и 8, массивы и циклы || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д.]<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:34:43Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Задачи 5 и 8, массивы и циклы || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д.]<br />
<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-06T06:02:26Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
|-<br />
| Задачи 5 и 8, массивы и циклы || ... || ...<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T07:21:24Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:40:00Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям] || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:39:35Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br> || <br />
[https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:39:04Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Задачи 9 и 17, массивы и циклы || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям] || [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:38:25Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям] || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:37:36Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:37:10Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><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/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:36:18Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <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 Статград)] || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:35:50Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:35:37Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:35:25Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:34:32Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) <br> [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:33:01Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ... || ЕГЭ (задачи 9 и 17, массивы и циклы) — [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] || [https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям]<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T06:31:41Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ЕГЭ (задачи 9 и 17, массивы и циклы) — [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br><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/fipi-files Каталог с файлами к заданиям] || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-02-02T05:59:35Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| ЕГЭ (задачи 9 и 17, массивы и циклы)— [https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием]<br><br />
[https://prog.school.ioffe.ru/2023-2024/ege/fipi-files Каталог с файлами к заданиям] || ... || ...<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-01-14T22:02:26Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены задачи I, J про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-01-14T22:01:34Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 14.01.2024</font> — добавлены 2 задачи про цифровую подпись) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-01-11T07:17:01Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ... || ...<br />
<br />
|-<br />
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ... || ...<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 11.01.2024</font>) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-01-11T07:15:25Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Кодирование и индексы || ... || [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf Почтовый индекс и его избыточность ]<br />
<br />
|-<br />
| Перебор с возвратом || ... || [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf Решение паззла Letter-Boxed ]<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 11.01.2024</font>) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2024-01-09T05:43:49Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Кодирование и индексы || ... || [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf Почтовый индекс и его избыточность ]<br />
<br />
|-<br />
| Перебор с возвратом || ... || [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf Решение паззла Letter-Boxed ]<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 11.11.2023</font>) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarevhttp://wiki.school.ioffe.ru/index.php/2024a2024a2023-11-14T05:54:21Z<p>Gusarev: /* Задания по программированию и не только */</p>
<hr />
<div>== Немного LaTeX ==<br />
<br />
Что читать:<br><br />
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br><br />
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br><br />
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br><br />
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br><br />
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br><br />
<br />
Как запускать:<br><br />
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br><br />
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br><br />
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br><br />
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br><br />
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br><br />
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].<br />
<br />
== Задания по программированию и не только ==<br />
<br />
{|<br />
! style="text-align:left;width:300px;"| Тема<br />
! style="text-align:left;width:300px;"|Ссылка для входа<br />
! style="text-align:left;width:500px;"|Критерии оценивания и замечания<br />
<br />
<br />
|-<br />
| Перебор с возвратом || ... || [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf Решение паззла Letter-Boxed ]<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &nbsp;(<font color=red>обновлено 11.11.2023</font>) || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=389 Вход в тестирующую систему (контест 389)] || Алгоритм RSA &ndash; часть 3<br>Критерии: <в процессе><br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-2.pdf Задачи про простые числа (и не только)] &nbsp;(<font color=red>обновлено 14.11.2023 &ndash; условие задачи G</font>)|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=388 Вход в тестирующую систему (контест 388)] || Контест, подготовительный к RSA &ndash; часть 2<br>Критерии: AB / ABDF / ABDFGIK до 29.11.2023<br />
<br />
|-<br />
| [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 &ndash; часть 1 <br>Критерии: A / ABD / ABCDE до 15.11.2023<br />
<br />
|-<br />
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]|| <br />
<br />
|-<br />
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.<br />
<br />
|-<br />
| Интересное чтение (+ самостоятельные проекты для желающих) || 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. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.<br />
<br />
<br />
|-<br />
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br><br />
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b><br />
<br />
|-<br />
|[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 справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые<br />
<br />
|-<br />
|[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 Пример чуть подробнее, со сложением и вычитанием]<br />
|-<br />
|[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)<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] || <br />
Программы для скачивания, Python <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]<br />
<br />
<br />
|-<br />
| ...<br />
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||<br />
Программы для скачивания, С++ <br><br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]<br />
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]<br />
<br />
<br />
|-<br />
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 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 />
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<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><br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...<br />
<br />
|-<br />
|[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)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.<br />
<br />
|-<br />
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".<br />
<br />
|-<br />
|[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<br />
<br />
|-<br />
| [[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 ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.<br />
<br />
|-<br />
| [[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.<br />
<br />
|-<br />
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые<br />
<br />
<br />
|-<br />
|Обзор последних достижений 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 началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество. <br />
В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.<br />
<br />
|-<br />
|[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 с текущими ограничениями на время выполнения.<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/combinatorics_recursive.pdf Рекурсивный перебор (т.н. "стандартные задачи")] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=374 Вход в тестирующую систему (контест 374)] || ...<br />
<br />
<br />
|-<br />
| ... || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=373 Вход в тестирующую систему (контест 373)] || Новогодняя контрольная<br />
<br />
|-<br />
|[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)<br />
<br />
<br />
<br />
|-<br />
|[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><br />
Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.<br />
<br />
<br />
|-<br />
|[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 Анимация, иллюстрирующая разные алгоритмы сортировки].<br />
<br />
|-<br />
|<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/2d.pdf Двумерные массивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=370 Вход в тестирующую систему (контест 370)] || первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста<br>вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)<br>А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.<br><br />
К одному из вариантов решения задач Q и R: [https://etudes.ru/etudes/translation-rotation/ ссылка].<br />
<br />
<br />
|-<br />
| [https://youtu.be/wNGxBprwl5c И про то, как пишутся программы, тоже] || ... || Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2021-2022/files.pdf Обработка файлов (чтение и запись)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=368 Вход в тестирующую систему (контест 368)] || До 23:59:59 26.10.2021 (10/14/19)<br><br />
Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками ([https://docs.python.org/3/library/stdtypes.html#string-methods ссылка]). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).<br />
<br />
|-<br />
| Контрольная работа "про всё" || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=367 Вход в тестирующую систему (контест 367)] || <br />
<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/f/f6/Arrays-short.pdf Массивы (коротко)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=365 Вход в тестирующую систему (контест 365)] || До 23:59:59 04.10.2021 (4/6/9)<br>Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах &mdash; вам очень пригодится умение писать такие штуки.<br><br />
[https://docs.python.org/3/tutorial/datastructures.html#tut-listcomps Стандартная документация]<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/8e/Calc-float.pdf Вещественная арифметика] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=366 Вход в тестирующую систему (контест 366)] || До 23:59:59 <s>28.09.2021</s> 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня<br />
<br />
<br />
|-<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 &mdash; отдельная (и очень хорошая) оценка<br><br />
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br><br />
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br><br />
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены упражнения.<br />
<br />
|-<br />
| [http://wiki.school.ioffe.ru/images/0/0b/CW-ARRAY-VAR-1.pdf Вариант 1] <br> [http://wiki.school.ioffe.ru/images/c/c8/CW-ARRAY-VAR-2.pdf Вариант 2] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=363 Вход в тестирующую систему (контест 363)] || Контрольная "ЕЩЁ РАЗОК"<br />
<br />
|-<br />
| —————————————> || —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/d/de/Gen_tests.pdf как тестировать программу, проверять время её работы и писать генераторы тестов.]<br />
<br />
|-<br />
| Контрольная работа по строкам, рекурсии и массивам || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=362 Вход в тестирующую систему (контест 362)] || <br />
<br />
|-<br />
| —————————————>|| —————————————> || Клуб любителей чтения: [http://wiki.school.ioffe.ru/images/1/11/Variables_naming.pdf зачем давать переменной понятное имя?] (обновлено 08.05.2021)<br />
<br />
|-<br />
|[http://wiki.school.ioffe.ru/images/8/83/%28opt%29-arrays.pdf Дополнительный листок про массивы.] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=361 Вход в тестирующую систему (контест 361)] || За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/08-arrays.pdf Массивы] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=360 Вход в тестирующую систему (контест 360)] || До 15.04.2021 (задачи A-N, 14 задач): 6/9/12<br><br />
До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9<br><br />
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.<br><br />
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в [http://wiki.school.ioffe.ru/images/a/a1/Python-book-3.pdf справочнике]. <br><br />
[http://wiki.school.ioffe.ru/images/d/de/08_arrays_demo_01.pdf Письменный разбор для любителей почитать.] Если такой формат будет одобрен, попробую выкладывать регулярно.<br />
<br />
|-<br />
|[КР — строки] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=359 Вход в тестирующую систему (контест 359)] || ...<br />
<br />
<br />
|-<br />
| Памяти [https://en.wikipedia.org/wiki/John_Horton_Conway Джона Конвея], который придумал много чего разного, не только игру "Жизнь". || ||<br />
Обзорное [https://www.youtube.com/watch?v=FiO6jkNkrb4 видео], посвящённое [https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life Game of Life]<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/07-string.pdf Строки и циклы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=358 Вход в тестирующую систему (контест 358)] || [https://prog.school.ioffe.ru/2020-2021/ord_chr_example.py Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)] <br>'''Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!'''<br><br />
'''Внимание! Срок продлён.''' До 23:59:59 03.03.2021, критерии: 13/16/21<br><br />
Пример стресс-теста для чисел: [https://prog.school.ioffe.ru/2020-2021/min_divisor_fast.py быстрое решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_slow.py медленное решение] / [https://prog.school.ioffe.ru/2020-2021/min_divisor_gen_test.py сравнение]<br><br />
Пример стресс-теста для строк: [https://prog.school.ioffe.ru/2020-2021/gen_test.py Cравнение] / [https://prog.school.ioffe.ru/2020-2021/E_gen_test.py Медленное решение задачи E]<br />
<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/06-string-slices.pdf Строки, срезы и методы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=357 Вход в тестирующую систему (контест 357)] || '''Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!'''<br> До 23:59:59 10.02.2021, критерии: 4/8/11<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/05-function-recursion.pdf Функции] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=356 Вход в тестирующую систему (контест 356)] || '''Внимание! Срок продлён.'''<br> До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L); <br><br />
до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);<br />
<br />
|-<br />
|[КР — циклы и всё, что раньше] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=355 Вход в тестирующую систему (контест 355)] || ...<br />
<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/04-cycle-while.pdf Цикл while] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=354 Вход в тестирующую систему (контест 354)] || до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)<br/>Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям: <li/>для тех, кто решает "подряд" это 6/8/13 <li/>для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/03-cycle-for.pdf Цикл for] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=353 Вход в тестирующую систему (контест 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<br />
|-<br />
|[КР — вычисления и условия] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=352 Вход в тестирующую систему (контест 352)] || ...<br />
|-<br />
|[https://prog.school.ioffe.ru/2020-2021/02-if.pdf Условный оператор] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=351 Вход в тестирующую систему (контест 351)] || до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)<br />
|-<br />
|[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)<br />
<br />
<br />
|}<br />
<br />
== Тренажёр слепой печати ==<br />
<br />
{|<br />
! style="text-align:left;width:400px;"| Ссылка<br />
! style="text-align:left;width:500px;"| Критерии оценивания и замечания<br />
<br />
|-<br />
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...<br />
|}<br />
<br />
<br />
== Ссылки ==<br />
{|<br />
<!--<br />
|-<br />
| [https://informatics.mccme.ru/enrol/index.php?id=1229 Школьный тур Всеросса]<br />
--><br />
<br />
|-<br />
| По поводу оформления программ на Python и C++.<br />
|-<br />
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак<br />
|-<br />
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)<br />
<br />
|-<br />
| [https://prog.school.ioffe.ru/pub/verdict.pdf Вердикты тестирующей системы и их описание]<br />
|-<br />
| Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):<br />
|-<br />
|<br />
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.<br />
* [https://code.visualstudio.com/ VS Code]<br />
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]<br />
* [https://www.sublimetext.com/3 Sublime Text]<br />
* [https://thonny.org/ Thonny] (это среда, '''вместе''' с которой ставится и сам интерпретатор Python)<br />
<br />
Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.<br><br />
Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида<br><br />
"путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"<br><br />
Например, так:<br><br>c:\Python37\python.exe c:\prog\01-int\G.py<br><br><br />
Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):<br><br><br />
c:\prog\01-int>python G.py<br><br />
<br />
|}</div>Gusarev