Этапы решения задачи
- Анализ задачи: пойми, что дано (входные данные), что нужно получить (результат) и какие есть правила.
- Создание алгоритма: запиши решение как чёткие шаги по порядку.
- Код: переведи алгоритм в программу на языке вроде Python.
- Тест: запусти программу с разными данными, в том числе с крайними случаями (0, отрицательные числа, очень большие значения).
- Отладка: найди и исправь ошибки, а затем проверь снова.
У алгоритма должны быть: понятные входные и выходные данные, конечное число шагов (он обязан остановиться), точные (однозначные) шаги и верный результат.
Блок-схемы
Блок-схема это рисунок алгоритма из стандартных фигур, соединённых стрелками.
- Овал (начало/конец): Начало / Конец.
- Параллелограмм: Ввод / Вывод.
- Прямоугольник: Действие (вычисление или присваивание).
- Ромб: Условие; один вход и два выхода (Да/Нет).
- Стрелка: направление движения.
Блок-схемы легко понять с первого взгляда, но для больших задач они становятся громоздкими.
Псевдокод
Псевдокод записывает алгоритм простыми фразами, похожими на обычный язык, с ключевыми словами вроде INPUT, COMPUTE, PRINT, IF…ELSE, WHILE. Это не настоящий язык программирования, поэтому точный синтаксис не нужен.
INPUT A, B
IF A > B THEN
PRINT A
ELSE
PRINT BВ алгоритмах бывают следование (шаги один за другим), ветвление (решения IF) и повторение (циклы).
Декомпозиция
Декомпозиция значит разбить сложную задачу на более мелкие и простые подзадачи. Каждую часть решают (часто разные люди или разные функции), а потом объединяют.
Пример: система бронирования железнодорожных билетов делится на части: поиск поездов, проверка свободных мест, оформление билета, приём оплаты, печать билета.
Плюсы: так проще понять задачу, работу можно разделить, ошибки легче найти, а части можно использовать повторно.
Что обычно спрашивают на экзамене
Обычно просят: нарисовать блок-схему или написать псевдокод для простых задач (большее из чисел, сумма первых n чисел, чётное/нечётное, оценка по баллам), назвать фигуры, перечислить этапы решения задачи и объяснить декомпозицию на примере.
Главные формулы и определения
- Решение задачи: Анализ → Алгоритм → Код → Тест → Отладка
- Алгоритм = конечные, точные, упорядоченные шаги с входом и выходом
- Овал = начало/конец; Параллелограмм = ввод/вывод; Прямоугольник = действие; Ромб = условие
- Основные конструкции: следование, ветвление, повторение
Разобранные примеры
1. Напиши алгоритм для нахождения площади прямоугольника.
1. Начало. 2. Ввести длину L и ширину B. 3. Площадь = L × B. 4. Вывести площадь. 5. Конец.
2. Напиши псевдокод, который проверяет, чётное число или нечётное.
INPUT N IF N MOD 2 = 0 THEN PRINT "Чётное" ELSE PRINT "Нечётное"
3. Опиши блок-схему, которая выводит сумму чисел от 1 до 10.
Начало → действие: sum = 0, i = 1 → условие: i <= 10? → Да: действие sum = sum + i, i = i + 1, стрелка назад к условию → Нет: вывод sum → Конец.
4. Разбей на подзадачи задачу «провести школьный день спорта».
Подзадачи: составить список соревнований, зарегистрировать учеников, подготовить площадку и инвентарь, составить расписание, судить и записывать результаты, вручить награды. Каждой может заняться своя команда, а потом всё объединяется.
5. Пройди по блок-схеме «большее число» при A = 5, B = 12.
Начало → ввод A = 5, B = 12 → верно ли, что 5 > 12? Нет → вывести B = 12 → Конец.
6. Напиши псевдокод для вывода оценки: баллы ≥ 90 → A, ≥ 75 → B, иначе C.
INPUT M IF M >= 90 THEN PRINT "A" ELSE IF M >= 75 THEN PRINT "B" ELSE PRINT "C"
Частые ошибки
- Использовать прямоугольник для условия. Условие всегда рисуют ромбом с выходами Да/Нет.
- Писать алгоритм, который никогда не заканчивается. Алгоритм должен быть конечным.
- Не проверять программу на необычных данных, например на 0 или отрицательных числах.
- Путать ввод/вывод (параллелограмм) с действием (прямоугольник).