Примерные темы итоговых проектов (по разделам)
№ | Тема проекта | Примечание |
| Раздел «Основы логики» |
|
1 | Логика высказываний и ее использование в языках программирования |
|
2 | Таблицы истинности – построение и анализ |
|
3 | Логика предикатов и ее использование в языках программирования |
|
4 | Минимизация логических функций |
|
5 | Решение логических задач |
|
| Раздел «Программирование. Начальный курс» |
|
6 | Понятие типа данных и его интерпретация в различных языках программирования. |
|
7 | Создание и использование собственных типов данных в различных объектно-ориентированных языках. |
|
8 | Способы реализации ветвления в языках программирования высокого уровня и решение типовых задач с помощью ветвления |
|
9 | Способы реализации циклов в языках программирования высокого уровня и решение типовых задач с помощью циклов |
|
10 | Способы обработки текстовых файлов в языках программирования высокого уровня и решение типовых задач с файлами |
|
| Раздел «Массивы и строки» |
|
11 | Алгоритмы поиска элемента в упорядоченном и неупорядоченном массиве. |
|
12 | Поиск одной строки в другой – сравнение различных алгоритмов. |
|
13 | Оценка релевантности web-страницы условиям поиска путем анализа ее содержимого |
|
14 | Программирование игр с использованием двумерных массивов. |
|
15 | Решение шахматных задач с помощью компьютера |
|
| Раздел «Процедуры и функции» |
|
16 | Непосредственная и опосредованная рекурсия. Примеры использования |
|
17 | Решение задач численного анализа с помощью рекурсии |
|
18 | Сортировка массивов с помощью рекурсии |
|
19 | Решение игровых задач с помощью рекурсии (задача С3 ЕГЭ) |
|
20 | Рекурсивные грамматики и их использование |
|
| Раздел «Сложность алгоритмов» |
|
21 | Сложность алгоритмов и способы ее оценки |
|
22 | Асимптотический анализ сложности алгоритмов |
|
23 | Труднорешаемые задачи и способы их решения |
|
24 | Анализ сложности комбинаторных алгоритмов |
|
| Раздел «Перебор с возвратом» |
|
25 | Решение задачи обхода лабиринта с помощью перебора с возвратом |
|
26 | Рекурсивные и нерекурсивные методы реализации перебора с возвратом |
|
27 | Решение задачи перечисления всех перестановок методом перебора с возвратом |
|
28 | Решение задачи порождения всех сочетаний методом перебора с возвратом |
|
29 | Использование метода ветвей и границ для оптимизации перебора с возвратом |
|
| Раздел «Системы счисления» |
|
30 | Позиционные и непозиционные системы счисления и их использование |
|
31 | Единственность представления чисел в Р-ичных системах счисления |
|
32 | Арифметические операции в Р-ичных системах счисления |
|
33 | Перевод чисел из Р-ичной системы счисления в десятичную и обратно |
|
34 | Перевод из двоичной в родственные системы счисления и обратно |
|
35 | Смешанные системы счисления и их использование. |
|
| Раздел «Представление чисел в компьютере» |
|
36 | Представление знаковых и беззнаковых чисел в компьютере |
|
37 | Использование дополнительного кода для хранения отрицательных чисел |
|
38 | Побитовые логические операции и их использование |
|
39 | Различные методы представления вещественных чисел в компьютере |
|
40 | Преобразования типов данных. Опасные и безопасные преобразования |
|
| Раздел «Арифметические алгоритмы» |
|
41 | Нахождение наибольшего общего делителя с помощью разложения на множители |
|
42 | Нахождение наибольшего общего делителя с помощью разложения на множители |
|
43 | Нахождение наибольшего общего делителя с помощью алгоритма Евклида |
|
44 | Нахождение наибольшего общего делителя с помощью бинарного алгоритма |
|
45 | Использование бинарного алгоритма для выполнения операции возведения в степень |
|
46 | Проверка на простоту числа с помощью алгоритма пробных делений |
|
47 | Проверка на простоту числа с помощью построения таблицы простых чисел |
|
48 | Нахождение простых чисел с помощью решета Эратосфена |
|
49 | Задача факторизации целых чисел и ее программное решение |
|
| Раздел «Динамическое программирование» |
|
50 | Методы динамического программирования и область их использования |
|
51 | Использование динамического программирования в задачах, связанных с вычислением сумм и произведений |
|
52 | Решение задачи триангуляции многоугольника методом динамического программирования |
|
53 | Решение задачи распределения денежных средств методом динамического программирования |
|
54 | Решение задачи о наибольшей общей подпоследовательности методом динамического программирования |
|
55 | Решение задачи о ранце методом динамического программирования |
|
| Раздел «Линейные динамические структуры данных» |
|
56 | Использование линейных динамических структур данных для хранения различных видов информации |
|
57 | Решение задач на основе использования линейных и кольцевых списков |
|
58 | Решение задач на основе использования односвязных и двусвязных списков |
|
59 | Задачи с очередями и их реализация на базе массивов и списков |
|
60 | Задачи со стеками и их реализация на базе массивов и списков |
|
| Раздел «Деревья» |
|
61 | Деревья, их классификация и использование |
|
62 | Двоичные (бинарные) деревья и способы их реализации |
|
63 | Программная реализация различных способов обхода двоичных деревьев |
|
64 | Деревья поиска, их реализация и использование |
|
65 | Сбалансированные двоичные деревья и их реализация |
|
| Раздел «Графы» |
|
66 | Понятие графа, основные задачи, решаемые с помощью графов. |
|
67 | Поиск на графе. Алгоритм поиска в ширину и способы его реализации. |
|
68 | Поиск на графе. Алгоритм поиска в глубину и способы его реализации. |
|
69 | Пути на графах. Алгоритмы поиска кратчайшего пути и способы его реализации. |
|
70 | Способы построения минимального связывающего дерева графа. |
|
| Раздел «Эффективное использование Интернет» |
|
71 | Сетевые технологии Интернет |
|
72 | Сервисы сети Интернет и их использование |
|
73 | Технологии создания собственных страниц в Интернет |
|
74 | Технологии Web 2.0 и их использование |
|
75 | Направление развития Интернет технологий |
|