2024a

Материал из PTHSWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Задачи по программированию)
(Задания по программированию и не только)
 
(не показаны 225 промежуточных версий 1 участника)
Строка 1: Строка 1:
== Тренажёр слепой печати ==
+
== Немного LaTeX ==
 +
 
 +
Что читать:<br>
 +
[https://prog.school.ioffe.ru/tex/Baldin.pdf LaTeX,GNU/Linux и русский стиль (Е.М. Балдин)] (первая глава) <br>
 +
[https://prog.school.ioffe.ru/tex/Kotelnikov_Chebotaev.pdf LaTeX по-русски (И. Котельников, П. Чеботаев)] (до параграфа 1.4.1) <br>
 +
[https://prog.school.ioffe.ru/tex/Lvovsky.pdf Набор и вёрстка в системе LaTeX (С.М. Львовский)] (I глава, 2 и 3 параграфы) <br>
 +
[https://prog.school.ioffe.ru/tex/Vorontsov.pdf LaTeX в примерах (К.В. Воронцов)] (кому неохота лезть глубоко и нужны практические советы) <br>
 +
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(rus).pdf The TeXbook (Donald Knuth)] (кому, наоборот, хочется приникнуть в первоисточнику) <br>
 +
[https://prog.school.ioffe.ru/tex/Knuth._Texbook_(eng).pdf The TeXbook (Donald Knuth)] (это уже совсем первоисточник на родном языке автора) <br>
 +
 
 +
Как запускать:<br>
 +
[https://www.overleaf.com/ Онлайн-версия, можно править код совместно]<br>
 +
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).<br>
 +
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором [https://miktex.org/ MikTex] поставляется вполне работоспособный редактор TexWorks.<br>
 +
Другая среда: [https://www.texstudio.org/ TeXstudio]<br><br>
 +
Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет [https://tikz.net/ tikz]<br>
 +
А для изучения того, что вообще можно нарисовать, рекомендуется этот [https://texample.net/ прекрасный сайт].
 +
 
 +
 
 +
== Подготовка к ЕГЭ ==
  
 
{|
 
{|
! style="text-align:left;width:400px;"| Ссылка
+
! style="text-align:left;width:300px;"| Задачи
! style="text-align:left;width:500px;"| Критерии оценивания и замечания
+
! style="text-align:left;width:700px;"| Ссылки на варианты или наборы задач
  
 
|-
 
|-
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...
+
| Пробник! Приглашаем написать домашний пробник ЕГЭ по информатике 6 или 7-го апреля. || Для этого сначала нужно добавиться в группу на платформе Яндекс по [https://education.yandex.ru/teacher-ege/join?token=gAAAAABmF6DUibiYZ6T99C0TIg4ueqG-0tCMAlORSG_WE5x-vCEJrBFIJwxSQTkswuG8TOxFA1F2YR9VRmVfAB32Gi4zLLil3zMW3M48VEtzAxdF7bBP6fUOeyapMchelKVl3QKKhdVV7abBOuYKaMuFZmMoa__NHKbBYGEgVqelqkT8-a6t9UkUMLcnFPX5tFJ9fWxDD6G9Tat-XVNQfGCLMHcJoMmHrQ== ссылке].<br> А затем по вот этой [https://education.yandex.ru/ege/variants/6024fe7a-808c-408c-8991-50bc1c57c49e/task/1 ссылке] начать решать пробник.<br>
 +
Постарайтесь максимально приблизиться к реальным условиям:<br>
 +
1. Отведите на решение задания 4 часа;<br>
 +
2. Выключите все мессенджеры;<br>
 +
3. Не подглядывайте в справочники, конспекты и проч.<br>
 +
 
 +
 
 +
|-
 +
| Задача 25, маски, перебор|| Символ * означает любую (в т.ч. пустую) последовательность символов, символ ? означает ровно один символ. В задаче есть подвох, связанный с тем, что надо не забыть про пустую последовательность для *, а также про последовательности вроде '1', '01', '001' и т.п.<br>Многие задачи можно решить, используя функцию fnmatch из одноимённого модуля.
 +
 
 +
|-
 +
| Задачи 16, 23, рекурсия || В 16 задаче нужно уметь по описанию рекуррентной зависимости понимать какую именно операцию она означает. В некоторых случаях можно её запрограммировать и по выводу понять, но не всегда.<br>В 23 задаче вполне годится рекурсивное решение, поскольку значения обычно невелики. Дополнительные ограничения учитываются с помощью дополнительных параметров рекурсивной функции.
 +
 
 +
 
 +
|-
 +
| Задача 18, ДП || Эта задача решается программированием или (условно) Excel-ем.<br> Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками.
 +
 
 +
|-
 +
| Задача 24, строки || ... |
 +
 
 +
|-
 +
| Задача 15, побитовые операции, логические выражения, перебор и его оптимизация || ... |
 +
 
 +
|-
 +
| Задача 14, системы счисления, перебор || ... |
 +
 
 +
|-
 +
| Задачи 5 и 8, системы счисления, перебор || ... |
 +
 
 +
|-
 +
| Задачи 9 и 17, массивы и циклы || ... |
 +
 
 +
|-
 +
| ... ||
 +
[https://prog.school.ioffe.ru/2023-2024/ege/ Каталог с файлами к заданиям].<br>
 +
<!--[https://prog.school.ioffe.ru/2023-2024/ege/demo_fipi_2024.pdf Файл с заданием (демо ФИПИ)] <br>
 +
[https://prog.school.ioffe.ru/2023-2024/ege/2023-10-24.pdf Файл с заданием (24.10.2023 Статград)] <br>
 +
[https://prog.school.ioffe.ru/2023-2024/ege/2023-12-19.pdf Файл с заданием (19.12.2023 Статград)] <br>
 +
[https://prog.school.ioffe.ru/2023-2024/ege/2024-02-06.pdf Файл с заданием (06.02.2024 Статград)] <br>-->
 +
[https://kpolyakov.spb.ru/school/ege.htm Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)] <br>
 +
[https://kompege.ru/task База заданий], [https://kompege.ru/archive База вариантов]
 +
 
 
|}
 
|}
  
== Задачи по программированию ==
+
== Задания по программированию и не только ==
  
 
{|
 
{|
Строка 16: Строка 76:
 
! style="text-align:left;width:500px;"|Критерии оценивания и замечания
 
! style="text-align:left;width:500px;"|Критерии оценивания и замечания
  
 +
|-
 +
| Паззл-календарь || [https://zadachi.mccme.ru/misc/cal/cal.html Онлайн-версия] <br> [https://etudes.ru/models/puzzle-calendar/ Источники] || ...
  
 
|-
 
|-
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые
+
| Открытые проблемы геометрии || [https://www.youtube.com/watch?v=7wDIF4CRbpo Лекция Сергея Маркелова] || ...
  
 +
|-
 +
| Кодирование — [https://prog.school.ioffe.ru/2023-2024/indexes_min_subset.pdf почтовый индекс и его избыточность] || ...  || ...
  
 
|-
 
|-
|[https://prog.school.ioffe.ru/2021-2022/classes-fraction.pdf Классы (дроби)] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=376 Вход в тестирующую систему (контест 376)] || сроки пока не определены (6/9/13)<br>За задачи N, O отдельная оценка.<br>[https://prog.school.ioffe.ru/2021-2022/Fraction_A.py Пример того, как можно написать первую задачу]
+
| Перебор с возвратом — [https://prog.school.ioffe.ru/2023-2024/letter-boxed.pdf паззл Letter-Boxed ] || ...  || ...
 +
 
 +
|-
 +
| [https://prog.school.ioffe.ru/2023-2024/crypto/35-RSA-3.pdf Реализация алгоритма RSA ] &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>Критерии: <в процессе>
 +
 
 +
|-
 +
| [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
 +
 
 +
|-
 +
| [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
 +
 
 +
|-
 +
| Материалы по криптографии и теории чисел || [https://prog.school.ioffe.ru/2023-2024/crypto/FermatTest-RUS.pdf Тест Ферма на простоту чисел] <br> [https://prog.school.ioffe.ru/2023-2024/crypto/RSAnotes-RUS.pdf Криптографический протокол RSA]||
 +
 
 +
|-
 +
| ЕГЭ, демонстрационный вариант 2024 года || [https://prog.school.ioffe.ru/2023-2024/demo_fipi_2024.pdf Демо-2024] || Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.
 +
 
 +
|-
 +
| Интересное чтение (+ самостоятельные проекты для желающих) || 1. [https://prog.school.ioffe.ru/2023-2024/books/Tate-Seven-Languages-in-Seven-Weeks.pdf "Семь языков за семь недель"] <br> 2. [https://prog.school.ioffe.ru/2023-2024/books/Exercises-in-programming-style.pdf "Упражнения в стиле программирования"] || 1. Книжка с проектами, которые предлагается сделать на 7 ОЧЕНЬ разных языках: Ruby, Io, Prolog, Scala, Erlang, Closure, Huskell. Может способствовать расширению кругозора.<br>2. Замечательная книга &mdash; как одно и то же написать на одном языке 27 разными способами. Язык &mdash; Python, задача &mdash; подсчёт частотности букв в англоязычном тексте.<br>Желающим &mdash; [https://github.com/crista/exercises-in-programming-style ссылка на github] c исходными кодами примеров.
 +
 
 +
 
 +
|-
 +
| <b>Сроки выполнения задания по вычислительной геометрии</b> || ... || <b>Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023</b> <br>
 +
<b>Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023</b>
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/3d-geom/3d-full-tutorial.pdf Инструкция "как реализовать вращение многогранника в пространстве"] || [https://prog.school.ioffe.ru/2022-2023/3d-geom/polyhedra.pdf Полезные картинки] для рисования правильных и полуправильных многогранников ||  А это [https://prog.school.ioffe.ru/2022-2023/3d-geom/polyhedra_with_coords.pdf полезные картинки] с координатами вершин многогранников (обновлён 2023-05-22 16:00).<br> А вот и [https://prog.school.ioffe.ru/2022-2023/3d-geom/greek-alphabet.pdf справочная страничка] с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/class-geometry.pdf Вычислительная геометрия, основные примитивы] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=386 Вход в тестирующую систему (контест 386)] || Литература: [https://prog.school.ioffe.ru/2022-2023/geom/elem_comp_geom.pdf древний, но хороший текст]<br>Задачи A-M до 20.04.2023 21:59:59, критерии (6/8/10)<br> Задачи N-W до 11.05.2023 21:59:59, критерии (4/6/8)
 +
 
 +
|-
 +
| Весеннее программирование &ndash; 2 || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=385 Вход в тестирующую систему (контест 385)] || Критерии, как всегда, добрые
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2021-2022/class-fraction.pdf Классы (дроби) — контест перенесён "наверх"] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=376 Вход в тестирующую систему (контест 376)] || Задачи A-F (3/4/6) до 23.02.2023 <br>Задачи G-M (3/4/5) до 16.03.2023<br>За задачи N, O отдельная оценка.<br>[https://prog.school.ioffe.ru/2021-2022/Fraction_A.py Пример того, как можно написать первую задачу]<br>[https://prog.school.ioffe.ru/2022-2023/Fraction_BC.py Пример чуть подробнее, со сложением и вычитанием]
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/stack_queue_heap.pdf Структуры данных] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=384 Вход в тестирующую систему (контест 384)] || Задачи A-K до 25.01.2023 21:59:59, критерии (3/5/7)<br> Задачи L-N до 30.01.2023 21:59:59, критерии (1/2/3)<br> Задачи O-Q до 06.02.2023 21:59:59, критерии (1/2/3)
 +
 
 +
|-
 +
| ...
 +
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=382 Вход в тестирующую систему (контест 382, Python)] ||
 +
Программы для скачивания, Python <br>
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/A_for_statement.py A]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/B_for_statement.py B]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/C_for_statement.py C]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/D_for_statement.py D]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/py/E_for_statement.py E]
 +
 
 +
 
 +
|-
 +
| ...
 +
|| [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=383 Вход в тестирующую систему (контест 383, C++)] ||
 +
Программы для скачивания, С++ <br>
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/A_for_statement.cpp A]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/B_for_statement.cpp B]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/C_for_statement.cpp C]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/D_for_statement.cpp D]
 +
[https://prog.school.ioffe.ru/2022-2023/code_examples/cpp/E_for_statement.cpp E]
 +
 
 +
 
 +
|-
 +
| Философское отступление про оптимизацию программ. || ... || Статья Дональда Кнута почти 50-летней давности<br> [https://prog.school.ioffe.ru/2022-2023/Structured_Programming_With_goto_Statements.pdf Structured programming with goto statements] <br>и [https://prog.school.ioffe.ru/2022-2023/Premature_optimization_is_the_root_of_all_evil.png кусочек страницы], на который очень часто ссылаются. <br> Говорят, что фраза <code>"Premature optimization is the root of all evil"</code> принадлежит Энтони Хоару (Anthony Hoare, автор quicksort), а Кнут её просто популяризировал.<br>
 +
Для тех, кто не осилил прочитать текст и открыть картинку, цитата:<br>
 +
<code>"The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming."</code>
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/DP.pdf Динамическое программирование] <br> [https://zadachi.mccme.ru/plak/plak-levenstein2.pdf Про редакционное расстояние] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=381 Вход в тестирующую систему (контест 381)] || До 30.11.2022 (задачи A-D: 2/3/4)<br> До 07.12.2022 (задачи E-L: 2/4/6)<br> До 14.12.2022 (задачи M-U: 3/5/6)
 +
 
 +
|-
 +
| [https://www.youtube.com/watch?v=jsYwFizhncE Самый странный способ вычисления числа &#960;] || (есть русские субтитры!) || ...
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/search.pdf Двоичный поиск]<br>[https://prog.school.ioffe.ru/2022-2023/binsearch_theory.pdf Теория] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=380 Вход в тестирующую систему (контест 380)] || До 16.11.2022 23:59:59 (задачи A-F: 3/4/5)<br> До 22.11.2022 23:59:59 (задачи G-N: 3/4/6)
 +
 
 +
|-
 +
| [https://prog.school.ioffe.ru/2022-2023/planes_to_land_problem.pdf Описание задачи про приземление самолётов] || ... || Внутри описаны две задачи: написать решение и написать тесты к задаче.
 +
 
 +
|-
 +
| [https://www.youtube.com/watch?v=P1ww1IXRfTA&t=895s Рассказ Ричарда Фейнмана про "почему"]<br>Смотреть и остальное, конечно, тоже. || ... || Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".
 +
 
 +
|-
 +
|[https://prog.school.ioffe.ru/2022-2023/combinatorics_iterative.pdf Комбинаторика, перечисление объектов]<br>[https://zadachi.mccme.ru/plak/plak-catalan2.pdf Полезная ссылка для решения некоторых задач] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=379 Вход в тестирующую систему (контест 379)] || [https://prog.school.ioffe.ru/2022-2023/iter_example.py Шаблон кода]<br>Часть 1 (A-M), срок сдачи 23:59:59 04.10.2022. Критерии: 4/6/10<br>Часть 2 (N-W), срок сдачи 23:59:59 18.10.2022. Критерии 2[N-Q]/2[N-Q], T/3[N-Q], T + любые две задачи на выбор<br> Часть 3 (Y-ZC), срок сдачи 23:59:59 25.10.2022. Критерии: 1/2/4
 +
 
 +
|-
 +
| [[https://prog.school.ioffe.ru/2022-2023/alg_latex.pdf Задачи по алгебре] ||  Какие именно задачи вам надо решить и оформить определяет [https://prog.school.ioffe.ru/2022-2023/oracle.py оракул].<br>Cкачайте и запустите эту программу. || Набрать в LaTeX решение двух задач, по одной из каждого раздела. В документе укажите номер обеих задач в соответствии с тем, что вам написал оракул.<br> Пришлите оба файла: *.tex и *.pdf<br>Срок сдачи: 23:59:59 17.09.2022<br>Можете посмотреть задачник по [https://prog.school.ioffe.ru/2022-2023/Prasolov_Zadachi_po_arifmetike_algebre_i_analizu.pdf ссылке]. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.
 +
 
 +
|-
 +
| [[https://prog.school.ioffe.ru/2022-2023/start_10.pdf Осеннее программирование] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=378 Вход в тестирующую систему (контест 378)] || Срок сдачи: 23:59:59 17.09.2022<br>Критерии: 2/3/5.
 +
 
 +
|-
 +
| Весеннее программирование || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=377 Вход в тестирующую систему (контест 377)] || Критерии очень добрые
  
  
Строка 82: Строка 237:
 
|-
 
|-
 
|[http://wiki.school.ioffe.ru/images/a/ae/Numeral.pdf Системы счисления] || [https://prog.school.ioffe.ru//cgi-bin/new-client?contest_id=364 Вход в тестирующую систему (контест 364)] || До 23:59 16.09.2021 (ABE/ABCEG/ABCEGHJ + любые 3 из набора KLPQ); за решение задач из набора DFUVW &mdash; отдельная (и очень хорошая) оценка<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>
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы]
+
[http://wiki.school.ioffe.ru/images/1/11/Kvant-fractions.pdf Про деление столбиком, периоды и смежные вопросы] <br>
 +
[https://math.ru/lib/files/djvu/bib-mat-kr/num-fig.djvu Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"] <br>
 +
[http://kvant.mccme.ru/1994/02/p37.htm Та же глава, опубликованная в Кванте 1994/02, стр. 37-39], к оригинальному тексту добавлены  упражнения.
  
 
|-
 
|-
Строка 141: Строка 298:
 
|-
 
|-
 
|[https://prog.school.ioffe.ru/2020-2021/01-calc-int.pdf Целочисленная арифметика] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=350 Вход в тестирующую систему (контест 350)] || до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5)
 
|[https://prog.school.ioffe.ru/2020-2021/01-calc-int.pdf Целочисленная арифметика] || [https://prog.school.ioffe.ru/cgi-bin/new-client?contest_id=350 Вход в тестирующую систему (контест 350)] || до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5)
 +
  
 
|}
 
|}
 +
 +
== Тренажёр слепой печати ==
 +
 +
{|
 +
! style="text-align:left;width:400px;"| Ссылка
 +
! style="text-align:left;width:500px;"| Критерии оценивания и замечания
 +
 +
|-
 +
| [https://rgusarev.typingclub.com/ Ссылка для входа в класс] <br> Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla) || ...
 +
|}
 +
  
 
== Ссылки ==
 
== Ссылки ==
Строка 154: Строка 323:
 
| По поводу оформления программ на Python и C++.
 
| По поводу оформления программ на Python и C++.
 
|-
 
|-
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница (англ.)], [https://pep8.ru/doc/pep8/ один из урезанных переводов, если англ. совсем никак]
+
| <li>Python: стандартный PEP-8 (Python Enhancement Proposal) [https://www.python.org/dev/peps/pep-0008/ официальная страница] (англ.), [https://defpython.ru/pep8 один из урезанных переводов], если по-английски совсем никак
 
|-
 
|-
| <li> C++: [https://google.github.io/styleguide/cppguide.html подробный гугловый стайлгайд, англ.]
+
| <li> C++: подробный [https://google.github.io/styleguide/cppguide.html гугловый стайлгайд] (англ.)
  
 
|-
 
|-
Строка 164: Строка 333:
 
|-
 
|-
 
|
 
|
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3, из Stable releases (стабильных), а не pre-releases.
+
* [https://www.python.org/downloads/ Интерпретатор Python] — вам нужна версия 3 (лучше от 3.7), из Stable releases (стабильных), а не pre-releases.
 
* [https://code.visualstudio.com/ VS Code]
 
* [https://code.visualstudio.com/ VS Code]
 
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]
 
* [https://www.jetbrains.com/pycharm-edu/ PyCharm Educational]

Текущая версия на 07:43, 24 апреля 2024

Содержание

Немного LaTeX

Что читать:
LaTeX,GNU/Linux и русский стиль (Е.М. Балдин) (первая глава)
LaTeX по-русски (И. Котельников, П. Чеботаев) (до параграфа 1.4.1)
Набор и вёрстка в системе LaTeX (С.М. Львовский) (I глава, 2 и 3 параграфы)
LaTeX в примерах (К.В. Воронцов) (кому неохота лезть глубоко и нужны практические советы)
The TeXbook (Donald Knuth) (кому, наоборот, хочется приникнуть в первоисточнику)
The TeXbook (Donald Knuth) (это уже совсем первоисточник на родном языке автора)

Как запускать:
Онлайн-версия, можно править код совместно
При установке на свой компьютер нужно различать интерпретатор языка и среду программирования (упрощённо говоря, редактор со специфическими функциями).
Иногда вместе с интерпретатором поставляется и простой редактор (как вместе с Python можно поставить Python IDLE). Например, вместе с интерпретатором MikTex поставляется вполне работоспособный редактор TexWorks.
Другая среда: TeXstudio

Для рисования разных картинок (в т.ч. геометрии) можно использовать пакет tikz
А для изучения того, что вообще можно нарисовать, рекомендуется этот прекрасный сайт.


Подготовка к ЕГЭ

Задачи Ссылки на варианты или наборы задач
Пробник! Приглашаем написать домашний пробник ЕГЭ по информатике 6 или 7-го апреля. Для этого сначала нужно добавиться в группу на платформе Яндекс по ссылке.
А затем по вот этой ссылке начать решать пробник.

Постарайтесь максимально приблизиться к реальным условиям:
1. Отведите на решение задания 4 часа;
2. Выключите все мессенджеры;
3. Не подглядывайте в справочники, конспекты и проч.


Задача 25, маски, перебор Символ * означает любую (в т.ч. пустую) последовательность символов, символ ? означает ровно один символ. В задаче есть подвох, связанный с тем, что надо не забыть про пустую последовательность для *, а также про последовательности вроде '1', '01', '001' и т.п.
Многие задачи можно решить, используя функцию fnmatch из одноимённого модуля.
Задачи 16, 23, рекурсия В 16 задаче нужно уметь по описанию рекуррентной зависимости понимать какую именно операцию она означает. В некоторых случаях можно её запрограммировать и по выводу понять, но не всегда.
В 23 задаче вполне годится рекурсивное решение, поскольку значения обычно невелики. Дополнительные ограничения учитываются с помощью дополнительных параметров рекурсивной функции.


Задача 18, ДП Эта задача решается программированием или (условно) Excel-ем.
Программирование подойдёт, если стены обозначены, как запрещённые к посещению клетки, а Excel удобнее, если стены обозначены, как границы между клетками.
Задача 24, строки
Задача 15, побитовые операции, логические выражения, перебор и его оптимизация
Задача 14, системы счисления, перебор
Задачи 5 и 8, системы счисления, перебор
Задачи 9 и 17, массивы и циклы
...

Каталог с файлами к заданиям.
Подготовка к ЕГЭ (Поляков) — много заданий, разборы и т.д. (скроллить страницу вниз!)
База заданий, База вариантов

Задания по программированию и не только

Тема Ссылка для входа Критерии оценивания и замечания
Паззл-календарь Онлайн-версия
Источники
...
Открытые проблемы геометрии Лекция Сергея Маркелова ...
Кодирование — почтовый индекс и его избыточность ... ...
Перебор с возвратом — паззл Letter-Boxed ... ...
Реализация алгоритма RSA  (обновлено 14.01.2024 — добавлены задачи I, J про цифровую подпись) Вход в тестирующую систему (контест 389) Алгоритм RSA – часть 3
Критерии: <в процессе>
Задачи про простые числа (и не только)  (обновлено 14.11.2023 – условие задачи G) Вход в тестирующую систему (контест 388) Контест, подготовительный к RSA – часть 2
Критерии: AB / ABDF / ABDFGIK до 29.11.2023
Задачи по теории чисел Вход в тестирующую систему (контест 387) Контест, подготовительный к RSA – часть 1
Критерии: A / ABD / ABCDE до 15.11.2023
Материалы по криптографии и теории чисел Тест Ферма на простоту чисел
Криптографический протокол RSA
ЕГЭ, демонстрационный вариант 2024 года Демо-2024 Желающим его (ЕГЭ) сдавать настоятельно рекомендую ознакомиться с заданиями заранее. Т.е. чем раньше, тем лучше.
Интересное чтение (+ самостоятельные проекты для желающих) 1. "Семь языков за семь недель"
2. "Упражнения в стиле программирования"
1. Книжка с проектами, которые предлагается сделать на 7 ОЧЕНЬ разных языках: Ruby, Io, Prolog, Scala, Erlang, Closure, Huskell. Может способствовать расширению кругозора.
2. Замечательная книга — как одно и то же написать на одном языке 27 разными способами. Язык — Python, задача — подсчёт частотности букв в англоязычном тексте.
Желающим — ссылка на github c исходными кодами примеров.


Сроки выполнения задания по вычислительной геометрии ... Вращение в пространстве освещаемого плоского многоугольника: 20.09.2023

Вращение в пространстве любых двух выпуклых многогранников (должен быть общий алгоритм вращения для обоих): 27.09.2023

Инструкция "как реализовать вращение многогранника в пространстве" Полезные картинки для рисования правильных и полуправильных многогранников А это полезные картинки с координатами вершин многогранников (обновлён 2023-05-22 16:00).
А вот и справочная страничка с греческим алфавитом (как вы думаете, какой там нет буквы и почему?).
Вычислительная геометрия, основные примитивы Вход в тестирующую систему (контест 386) Литература: древний, но хороший текст
Задачи A-M до 20.04.2023 21:59:59, критерии (6/8/10)
Задачи N-W до 11.05.2023 21:59:59, критерии (4/6/8)
Весеннее программирование – 2 Вход в тестирующую систему (контест 385) Критерии, как всегда, добрые
Классы (дроби) — контест перенесён "наверх" Вход в тестирующую систему (контест 376) Задачи A-F (3/4/6) до 23.02.2023
Задачи G-M (3/4/5) до 16.03.2023
За задачи N, O отдельная оценка.
Пример того, как можно написать первую задачу
Пример чуть подробнее, со сложением и вычитанием
Структуры данных Вход в тестирующую систему (контест 384) Задачи A-K до 25.01.2023 21:59:59, критерии (3/5/7)
Задачи L-N до 30.01.2023 21:59:59, критерии (1/2/3)
Задачи O-Q до 06.02.2023 21:59:59, критерии (1/2/3)
... Вход в тестирующую систему (контест 382, Python)

Программы для скачивания, Python
A B C D E


... Вход в тестирующую систему (контест 383, C++)

Программы для скачивания, С++
A B C D E


Философское отступление про оптимизацию программ. ... Статья Дональда Кнута почти 50-летней давности
Structured programming with goto statements
и кусочек страницы, на который очень часто ссылаются.
Говорят, что фраза "Premature optimization is the root of all evil" принадлежит Энтони Хоару (Anthony Hoare, автор quicksort), а Кнут её просто популяризировал.

Для тех, кто не осилил прочитать текст и открыть картинку, цитата:
"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."

Динамическое программирование
Про редакционное расстояние
Вход в тестирующую систему (контест 381) До 30.11.2022 (задачи A-D: 2/3/4)
До 07.12.2022 (задачи E-L: 2/4/6)
До 14.12.2022 (задачи M-U: 3/5/6)
Самый странный способ вычисления числа π (есть русские субтитры!) ...
Двоичный поиск
Теория
Вход в тестирующую систему (контест 380) До 16.11.2022 23:59:59 (задачи A-F: 3/4/5)
До 22.11.2022 23:59:59 (задачи G-N: 3/4/6)
Описание задачи про приземление самолётов ... Внутри описаны две задачи: написать решение и написать тесты к задаче.
Рассказ Ричарда Фейнмана про "почему"
Смотреть и остальное, конечно, тоже.
... Навеяно обсуждением того, как обрабатываются в Python-функциях объекты изменяемого и неизменяемого типов. Если коротко, "всё сложно и есть нюансы".
Комбинаторика, перечисление объектов
Полезная ссылка для решения некоторых задач
Вход в тестирующую систему (контест 379) Шаблон кода
Часть 1 (A-M), срок сдачи 23:59:59 04.10.2022. Критерии: 4/6/10
Часть 2 (N-W), срок сдачи 23:59:59 18.10.2022. Критерии 2[N-Q]/2[N-Q], T/3[N-Q], T + любые две задачи на выбор
Часть 3 (Y-ZC), срок сдачи 23:59:59 25.10.2022. Критерии: 1/2/4
[Задачи по алгебре Какие именно задачи вам надо решить и оформить определяет оракул.
Cкачайте и запустите эту программу.
Набрать в LaTeX решение двух задач, по одной из каждого раздела. В документе укажите номер обеих задач в соответствии с тем, что вам написал оракул.
Пришлите оба файла: *.tex и *.pdf
Срок сдачи: 23:59:59 17.09.2022
Можете посмотреть задачник по ссылке. Вы получите представление о том, как выглядят формулы, если раньше вы этого не видели.
[Осеннее программирование Вход в тестирующую систему (контест 378) Срок сдачи: 23:59:59 17.09.2022
Критерии: 2/3/5.
Весеннее программирование Вход в тестирующую систему (контест 377) Критерии очень добрые


Обзор последних достижений Deep Learning Видео (youtube, ~ 1 час)
Отдельная ссылка на статью про AlphaCode и "спортивное программирование"
Анонс автора обзора Григория Сапунова:
Нынешняя революция Deep Learning началась уже примерно десять лет назад. За это время много всего произошло. Мы научились решать множество ранее нерешённых задач: распознавать изображения на уровне лучше человека, играть в го, предсказывать структуру белков, генерировать картинки фотографического качества и неотличимые от человеческих тексты. Появились новые архитектуры нейросетей, высокоэффективные и мощные фреймворки и библиотеки, высокопроизводительное железо. Мы продвинулись в научном понимании того, что происходит. Но вопросов ещё множество.

В лекции я сделаю краткий обзор важных вех на этом пути, расскажу про перспективы области и открытые вопросы. Возможно, кто-то из вас поможет продвинуться по этому пути дальше.

Оптимизация перебора (задачи посложнее, после стандартных) Вход в тестирующую систему (контест 375) Внимание! Не все задачи могут быть решены на python с текущими ограничениями на время выполнения.


Рекурсивный перебор (т.н. "стандартные задачи") Вход в тестирующую систему (контест 374) ...


... Вход в тестирующую систему (контест 373) Новогодняя контрольная
Множества и словари Вход в тестирующую систему (контест 369) Множества (задачи A-J): до 23:59:59 18.01.2022 (3/5/8)
Словари (задачи K-Z): до 23:59:59 01.02.2022 (5/9/12)


Задачи, решение которых использует сортировку Вход в тестирующую систему (контест 372) первая неделя (задачи A-J): до 23:59:59 06.12.2021 (3/6/8)
вторая неделя (задачи K-U): до 23:59:59 13.12.2021 (2/4/5)
За решение пары задач OP, а также за задачи M, Q, S, U (за каждую в отдельности) ставится очень хорошая оценка.

Сроки сдачи второй части продлеваются до 23:59:59 20.12.2021.


Реализация стандартных алгоритмов сортировки Вход в тестирующую систему (контест 371) до 23:59:59 30.11.2021 (3/4/6);
За каждую задачу G, H ставится очень хорошая оценка.
Анимация, иллюстрирующая разные алгоритмы сортировки.
Двумерные массивы Вход в тестирующую систему (контест 370) первая неделя (задачи A-M): до 23:59:59 15.11.2021 (5/7/10); дополнительная оценка за первую половину будет ставиться после окончания всего контеста
вторая неделя (задачи N-Z): до 23:59:59 22.11.2021 (4/6/10)
А за каждую задачу ZA, ZB, ZC, ZD ставится очень хорошая оценка.

К одному из вариантов решения задач Q и R: ссылка.


И про то, как пишутся программы, тоже ... Простите пожалуйста, дорогие коллеги! Пока смотрел этот мультфильм, я много раз вспомнил ваше "ведь работает же"!
Обработка файлов (чтение и запись) Вход в тестирующую систему (контест 368) До 23:59:59 26.10.2021 (10/14/19)

Уважаемые коллеги, в этих задачах (да и раньше, но здесь особенно) стоит обратить внимание на разнообразные методы работы со строками (ссылка). Не ограничиваясь теми, что мы явно изучали в 8 классе (count, find, rfind, replace). Ещё раз вспомнить про split (этот метод часто делает за вас 50% вашего труда), прочитать про strip (и его меньших братьев lstrip и rstrip).

Контрольная работа "про всё" Вход в тестирующую систему (контест 367)


Массивы (коротко) Вход в тестирующую систему (контест 365) До 23:59:59 04.10.2021 (4/6/9)
Если вы захотите попробовать, например, пакет matplotlib, даже просто разобраться в примерах — вам очень пригодится умение писать такие штуки.

Стандартная документация

Вещественная арифметика Вход в тестирующую систему (контест 366) До 23:59:59 28.09.2021 30.09.2021 (3/5/8) за самый большой класс на турслёте, а также за красивые песни срок продлевается на два дня


Системы счисления Вход в тестирующую систему (контест 364) До 23:59 16.09.2021 (ABE/ABCEG/ABCEGHJ + любые 3 из набора KLPQ); за решение задач из набора DFUVW — отдельная (и очень хорошая) оценка

Про деление столбиком, периоды и смежные вопросы
Глава 23 легендарной книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры"
Та же глава, опубликованная в Кванте 1994/02, стр. 37-39, к оригинальному тексту добавлены упражнения.

Вариант 1
Вариант 2
Вход в тестирующую систему (контест 363) Контрольная "ЕЩЁ РАЗОК"
—————————————> —————————————> Клуб любителей чтения: как тестировать программу, проверять время её работы и писать генераторы тестов.
Контрольная работа по строкам, рекурсии и массивам Вход в тестирующую систему (контест 362)
—————————————> —————————————> Клуб любителей чтения: зачем давать переменной понятное имя? (обновлено 08.05.2021)
Дополнительный листок про массивы. Вход в тестирующую систему (контест 361) За каждые 4 задачи после обсуждения с вами решения ставится 5. За решение задачи N выдаётся шоколадка.
Массивы Вход в тестирующую систему (контест 360) До 15.04.2021 (задачи A-N, 14 задач): 6/9/12

До 22.04.2021 (задачи O-Z, 12 задач): 4/7/9
Тестирование проводится мягче, чем в предыдущих двух темах. Вы видите итог тестирования, но не видите тестов.
Про передачу параметров, в частности массивов, в качестве параметров функций можно почитать на 57 странице в справочнике.
Письменный разбор для любителей почитать. Если такой формат будет одобрен, попробую выкладывать регулярно.

[КР — строки] Вход в тестирующую систему (контест 359) ...


Памяти Джона Конвея, который придумал много чего разного, не только игру "Жизнь".
 Обзорное видео, посвящённое Game of Life
Строки и циклы Вход в тестирующую систему (контест 358) Пример использования функций ord() и chr() (запустите и посмотрите, что она делает.)
Внимание! Все решения проходят проверку только после окончания срока (т.е. 03.03.2021). Тестируйте самостоятельно!

Внимание! Срок продлён. До 23:59:59 03.03.2021, критерии: 13/16/21
Пример стресс-теста для чисел: быстрое решение / медленное решение / сравнение
Пример стресс-теста для строк: Cравнение / Медленное решение задачи E


Строки, срезы и методы Вход в тестирующую систему (контест 357) Внимание! Все решения проходят проверку только после окончания срока (т.е. 10.02.2021). Тестируйте самостоятельно!
До 23:59:59 10.02.2021, критерии: 4/8/11
Функции Вход в тестирующую систему (контест 356) Внимание! Срок продлён.
До 23:59:59 24.01.2021, критерии: 5/7/9 (только задачи A-L);

до 23:59:59 04.02.2021, критерии: 5/7/11 (только задачи M-ZA);

[КР — циклы и всё, что раньше] Вход в тестирующую систему (контест 355) ...
Цикл while Вход в тестирующую систему (контест 354) до 17.12.2020, критерии: 10/15/21 (или D, E, F, G, I, [2:K,L,O,P], M, N, U, V, Z)
Cрок продлён, но добавлен дополнительный критерий за текущую работу. Вечером в среду, точнее 09.12.2020 23:59:59 будут выставлены оценки по следующим критериям:
  • для тех, кто решает "подряд" это 6/8/13
  • для тех, кто решает на 5 это 3/5/7 (из числа указанных задач на 5).
  • Цикл for Вход в тестирующую систему (контест 353) до 26.11.2020, критерии: 10/15/22 (или E,L,N,O,Q,T,V,W,[1:X,Y] на 5), можно досдать до 23:59:59 27.11.2020
    [КР — вычисления и условия] Вход в тестирующую систему (контест 352) ...
    Условный оператор Вход в тестирующую систему (контест 351) до 22.10.2020, критерии: 10/15/20 (или D,I,M,N,T,W,X,Y на 5)
    Целочисленная арифметика Вход в тестирующую систему (контест 350) до 01.10.2020, критерии: 10/15/23 (или J,K,R,S,T,V,W,Y на 5)


    Тренажёр слепой печати

    Ссылка Критерии оценивания и замечания
    Ссылка для входа в класс
    Убедитесь, что у вас свежая версия браузера (Chrome, Mozilla)
    ...


    Ссылки

    По поводу оформления программ на Python и C++.
  • Python: стандартный PEP-8 (Python Enhancement Proposal) официальная страница (англ.), один из урезанных переводов, если по-английски совсем никак
  • C++: подробный гугловый стайлгайд (англ.)
  • Вердикты тестирующей системы и их описание
    Для установки Python и сред программирования (выбирайте нужный вариант для вашей версии операционной системы):

    Все 4 среды (VS Code, PyCharm, SublimeText и Thonny) умеют запускать код "внутри себя". Но это требует некоторой настройки этой среды.
    Вне зависимости от того, в каком редакторе вы пишете текст программы на Python, вы всегда можете запустить её в консоли (на Маке — в терминале) при помощи команды вида
    "путь_к_python.exe\python.exe путь_к_вашему_файлу_с_программой\ваш_файл_с_программой"
    Например, так:

    c:\Python37\python.exe c:\prog\01-int\G.py

    Если вы сможете настроить пути для запуска Python из текущей папки, где находится ваша программа запускать можно будет так (c:\prog\01-int> это, например, текущий каталог, где находится файл G.py с программой):

    c:\prog\01-int>python G.py

    Личные инструменты
    Пространства имён
    Варианты
    Действия
    Навигация
    Инструменты