Задания по программированию для 2025б

41. Решение задач (файлы, множества, словари, разное).

Вход в контест (контест 281)

Условия задач можно посмотреть внутри контеста по ссылке Statements.

40. Графы (обход в глубину).

Вход в контест (Графы, обход в глубину/ширину - DFS/BFS) (контест 283)

Условия задач.

Критерии: A-C, F-H (1/2/4), срок сдачи: 28/11/2024

Критерии: D,E,I-K (1/2/3), срок сдачи: 12/12/2024

39. Графы (хранение и представление в памяти).

Вход в контест (Графы) (контест 282)

Условия задач.

Критерии: задачи A-F (2/3/4), срок сдачи: 21.11.2024

38. Динамическое программирование.

Вход в контест (Динамическое программирование) (контест 280)

Условия задач.

Критерии: задачи A-J (3/5/7), срок сдачи: 10.10.2024

Критерии: задачи M-R (2/3/4), срок сдачи: 24.10.2024

За решение необязательных задач S, T, U ставится отдельная оценка (за каждую).

Про редакционное расстояние (edit distance, расстояние Левенштейна)

37. Частотный анализ английского текста

Скачайте файлы: Инструкция
Решение (copy/paste вашего кода) сдавать сюда (контест 279).
Критерии: 3 - программа выводит неотсортированные колонки для файлов, но только тех, что указаны в задании;
4 - программа выводит отсортированные колонки, но только для файлов, указанных в задании;
5 - программа выводит отсортированные колонки для любого набора текстовых файлов (*.txt) в текущем каталоге (от 1)
срок сдачи: 27.09.2024 23:59:59

36. Множества и словари.

Вход в контест (Множества и словари) (контест 273)

Условия задач.

Критерии: задачи A-J (3/5/7), срок сдачи: 10.09.2024 23:59:59

Критерии: задачи K-N (1/2/3); задачи O-V (1/2/4); задачи (W-Z) по 5 за каждые 2 задачи, срок сдачи: 20.09.2024 23:59:59

35. Библиотеки в Python.

Перечень встроенных библиотек (Python standard Library) — уже есть в Python и доступны после его установки.

Некоторые важные встроенные библиотеки: math, fractions, random, itertools, json, os, time.


Каталог инсталлируемых библиотек (Python package index) — требуют установки.

Некоторые полезные инсталируемые библиотеки: numpy, scipy, pandas, matplotlib, PIL.

Упражнения по numpy

Упражнения по pandas

Упражнения по matplotlib

34. Дата и время.

Вход в контест (Дата и время) (контест 277)

Условия задач.

Критерии: Задачи A-G (3/5/7), срок сдачи: 03.05.2024 23:59:59

Критерии: Задачи H-Q (4/6/8), срок сдачи: 10.05.2024 23:59:59

33. Вещественная арифметика.

Вход в контест (вещественная арифметика) (контест 276)

Условия задач.

Критерии: Задачи A-I (3/5/7), срок сдачи: 12.04.2024 23:59:59

Критерии: Задачи J-R (3/5/7), срок сдачи: 19.04.2024 23:59:59

32. Решение задач: сортировка и её использование

Вход в контест (контест 274)

31. Использование встроенной сортировки.

Вход в контест (реализация сортировки) (контест 272)

Условия задач.

Критерии: Задачи A-E (2/3/5), срок сдачи: 15.02.2024

Критерии: Задачи F-N (2/3/5), срок сдачи: 21.02.2024

Критерии: Задачи O-S (1/2/3), срок сдачи: 28.02.2024 03.03.2024

30*. Оценка времени работы алгоритмов сортировки. Алгоритм сортировки, как бинарное дерево.

Двоичное дерево, соответствующее алгоритму сортировки.

Таблица с количествами сравнений.

30. Сравнение времени работы разных алгоритмов сортировки.

Что нужно сделать

Как писать грамотно "запускатор", используя функции, как объекты.

Критерии: надо прислать работающую программу, cрок сдачи: 08.02.2024. Если вам требуется консультация, стоит об этом мне написать.

29. Сортировка (реализация быстрых сортировок).

Вход в контест (реализация сортировки) (контест 270)

Условия задач.

Критерии: Задачи G, H (1/1/2), cрок сдачи: 25.01.2024 (на 5 надо сдать аккуратный комментированный код с нормальными именами переменных)

28. Дополнительные задачи по массивам.

Вход в контест (доп. задачи по массивам) (контест 271)

Условия задач.

Критерии: Задачи B, C (1/2/2), срок сдачи: 17.01.2024 (на 5 надо сдать аккуратный комментированный код, в частности, сформулировать инвариант в обеих задачах).

27. Сортировка (реализация).

Вход в контест (реализация сортировки) (контест 270)

Условия задач.

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

Пример того, как можно тестировать свою сортировку (все перестановки, стресс-тестирование): sort_test.py.

Критерии: Задачи A-F, J (3/4/6), срок сдачи: 17.01.2024

26. Решение задач: разные темы

Вход в контест (контест 269)

Условия внутри контеста (ссылка "Statement" или "Условия"), вопросы по условиям задач можно задавать в контесте.

25. Класс Fraction.

Базовый пример описания класса (конструктор __init__, преобразование в строку __str__)
Более подробный пример (конструктор __init__ в переменным количеством параметров, реализация сложения)

Вход в контест (класс Fraction) (контест 268)

Условия задач.

Критерии: задачи A-F (3/4/6), срок сдачи: 15.11.2023

Критерии: задачи G-H (1/1*/2), срок сдачи: 22.11.2023 | Здесь 1* означает задачу G, сделанную без циклов.

Критерии: задачи I-M (1/2/4), срок сдачи: 13.12.2023 (обновлено)

Ссылки по теме:

1. Как делить столбиком и смежные вопросы.

2. 23 глава книжки Ганса Радемахера и Отто Тёплица "Числа и фигуры".

3. Та же глава, опубликованная в Кванте 1994/02, стр. 37-39, к оригинальному тексту добавлены упражнения.

24. Двумерные массивы.

Вход в контест (двумерные массивы) (контест 267)

Условия задач.

Критерии: Задачи A-I (3/5/7), срок сдачи: 29.09.2023 23:00:00

Критерии: Задачи J-R (3/5/7), Срок сдачи: 06.10.2023 23:59:59

Критерии: Задачи S-ZD (3/4/5), Срок сдачи: 13.10.2023 23:30:00

23. Решение задач: эксперимент

Вход в контест (эксперименты) (контест 266), условия задач

ОГЭ по информатике

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

Вариант задания (pdf, 747 KB), файлы для выполнения заданий 11-14 (zip, 87.6 MB).


Инструкция по использованию:

Правила проведения экзамена: ссылка

Сайт с официальными материалами.

22. Работа с файлами, использование массивов.

Вход в контест (Файлы) (контест 265)

Условия задач (добавлено указание к решению задачи L).

Пожалуйста, прочтите вступление к задачам. Особенно самое начало (иначе не получится ничего сдать).

Критерии: Задачи A-F (2/3/5), срок сдачи: 21.05.2023 20:00:00

Критерии: Задачи G-P (3/5/8), Срок сдачи: 22.09.2023 23:59:59

Критерии: Задачи Q-X (3/4/5), Срок сдачи: 28.09.2023 23:17:58

21. Решение задач: массивы и рекурсия

Вход в контест (решение задач: массивы и рекурсия) (контест 264)

20. Массивы (коротко: generators, list comprehension)

Вход в контест (Массивы-коротко) (контест 263)

Условия задач (обновлено 16.05.2023).

Стандартная python-документация по list comprehension

Критерии: 4/6/8

Срок сдачи: 27.04.2023 22:00:00

19. Игра "Быки и коровы"

Правила игры и полезная информация

До 13.04.2023 (включительно) сделать базовую версию обоих вариантов (программа загадывает, программа отгадывает).

18. Решение задач: строки

Вход в контест (решение задач: строки) (контест 262)

17. Массивы-2

Вход в контест (Массивы-2) (контест 261)

Условия задач.

Критерии: Задачи

Срок сдачи: 27.04.2023 22:00:00

16. Массивы: циклы и обработка

Вход в контест (Массивы) (контест 260)

Условия задач.

Критерии: задачи A-H (3/5/7)

Срок сдачи: до 07.03.2023 22:59:59

Критерии: задачи I-N (2/3/5)

Срок сдачи: до 15.03.2023 21:59:59

Критерии: задачи O-Z (5/7/9)

Срок сдачи: до 22.03.2023 21:59:59

15. Решение задач: циклы

Вход в контест (решение задач: циклы) (контест 259)

14. Строки: циклы и обработка

Вход в контест (Строки и циклы) (контест 258)

Условия задач.

Критерии: задачи A-J (3/5/8)

Срок сдачи: до 01.02.2023 21:59:59

Критерии: задачи K-Z (6/8/11)

Срок сдачи: до 16.02.2023 21:59:59

John Horton Conway, Look-and-Say последовательность (осторожно, спойлеры!).

13. Строки: индексы, срезы и методы

Вход в контест (строки, индексы, срезы и методы) (контест 257)

Условия задач.

Критерии: задачи A-P (5/8/12)

Срок сдачи: 24.01.2023 22:59:59

12. Функции, рекурсия

Вход в контест (функции, рекурсия) (контест 256)

Условия задач.

Критерии: задачи A-L (6/8/10)

Срок сдачи: 21.12.2022 23:59:59

Рекурсия, как новогодний подарок, в этом году оцениваться не будет.

Это примеры функций, которые я приводил на лекции, с обильными комментариями.
Если комментарии показываются некрасиво, переключите кодировку на странице на UTF-8.

Если у вас в Chrome нет пункта меню "Поменять кодировку", попробуйте добавить его по ссылке.

Критерии: задачи M-ZA (5/7/10)

Срок сдачи: 17.01.2023 22:59:59

11. Кому хочется бОльшего

Вход в контест (контест 255)

Условия задач.

10. Цикл while

Вход в контест (цикл while) (контест 254)

Условия задач.

Критерии: задачи A-P (5/8/12)

Срок сдачи: 07.12.2022 23:59:59

Критерии: задачи Q-Z (4/6/8)

Срок сдачи: 14.12.2022 23:59:59

9. Решение задач: целочисленные вычисления, if

Вход в контест (решение задач: вычисления, if) (контест 253)

8. Пример форматированного вывода с помощью f-строк (таблица умножения)

Таблица умножения

7. Цикл for

Вход в контест (цикл for) (контест 252)

Условия задач.

Критерии: задачи A-M (5/8/11)

Срок сдачи: 16.11.2022 23:59:59

Критерии: задачи N-Z (5/8/10)

Срок сдачи: 23.11.2022 23:59:59

6. Условный оператор

Вход в контест (условный оператор) (контест 251)

Условия задач.

Критерии: Задачи A-K (4/6/9)

Срок сдачи: 23:59:59 26.10.2022

Критерии: Задачи L-Y (6/10/12)

Срок сдачи: 23:59:59 10.11.2022

5. Целочисленная арифметика

Вход в контест по целочисленной арифметике (контест 250)

Условия задач.

Критерии: задачи A-K (4/6/9)

Срок сдачи: 13.10.2022

Критерии: задачи L-Z (6/9/12)

Срок сдачи: 23:59:59 19.10.2022

А можно просто на 5 сдать задачи K, M, N, S, T, V, W

4. Старт

Вход в стартовый контест (контест 249)

Условия задач.

Критерии следующие: 1/2/3

Срок сдачи: 15:00:00 29.09.2022

3. Домашнее задание по системам счисления (на листочке)

Домашнее задание по системам счисления.

2. Домашнее задание по функциям алгебры логики (на листочке)

Домашнее задание по функциям алгебры логики.

1. Домашнее задание по булевой алгебре (на листочке)

Домашнее задание по булевой алгебре.


Общие сведения о курсе, программах, ссылки на справочники и прочее.

Программы на Python. Как что ставить, настраивать и запускать.
Кому нужна полная информация: перечень текстовых редакторов и сред программирования с официальной wiki-страницы python.org
Справочник по Python.
Вердикты тестирующей системы.
По поводу оформления программ на Python и C++:
  • Python: стандартный PEP-8 (Python Enhancement Proposal) официальная страница (англ.), один из урезанных переводов, если по-английcки совсем никак.
  • C++: подробный гугловый стайлгайд (англ.)
    Книжки:
  • А.Шень, "Программирование. Теоремы и задачи" (2173kB)
  • А.Г. Кушниренко, Г.В. Лебедев, "Программирование для математиков" (4648kB)

  •