основы алгоритмизации

программированиелекция

в окне печати выбери «сохранить как pdf».

что было

оглавление
оглавление

Как перейти от условия задачи к проверенной программе: выделить входы и результат, построить модель, записать алгоритм, перенести его в код и испытать на тестах.

Код — не первый шаг. Сначала нужно понять задачу и описать решение так, чтобы каждый шаг можно было выполнить и проверить.

от условия к проверке

Рабочий маршрут: постановка → модель → алгоритм → код → тест. Ошибка теста возвращает нас к тому шагу, где появилось неверное предположение.

Пять шагов решения

шаг

что фиксируем

постановка

что дано, что найти, какие есть ограничения

модель

величины, формулы и связи

алгоритм

однозначный порядок действий

код

запись алгоритма на языке программирования

тест

обычные, граничные и ошибочные входы

проверка максимума

условие: Найти максимум из a и b.

ход решения

  1. Входы: два сравнимых числа.

  2. Если a>b, принять max=a; иначе max=b.

  3. Проверить a>b, a<b и a=b.

ответ: Алгоритм возвращает большее значение; при равенстве возвращает b, равное a.

проверка: Для (7,3), (-2,4), (5,5) получаем 7, 4, 5.

свойства алгоритма

Алгоритм адресован конкретному исполнителю: его команды должны входить в систему команд этого исполнителя и не допускать скрытых догадок.

алгоритм

Точное описание конечной последовательности действий для решения класса задач с допустимыми исходными данными.

Свойства из материала занятия

свойство

проверка

дискретность

решение разбито на отдельные шаги

определённость

каждый шаг сформулирован однозначно

массовость

решается класс допустимых задач, а не один набор

результативность

за конечное число шагов получается ответ или сообщение

эффективность

время и память расходуются разумно

блок-схема max(a,b)

Ромб обозначает проверку, а подписи «да» и «нет» — два выхода из неё. При равных числах ветвь «нет» остаётся правильной.

максимум из двух чисел

Одна проверка выбирает одно из двух значений.

  1. начало → ввод a, b
  2. ромб: a > b?
  3. да → max=a; нет → max=b
  4. вывод max → конец
описание схемы словами

Блок-схема вводит a и b, сравнивает их, присваивает max большее значение и выводит результат.

схема не заменяет постановку

До рисования нужно определить допустимые входы и требуемый результат. Иначе аккуратная схема может описывать не ту задачу.

что запомнить

  • Постановка задаёт входы, результат и ограничения.

  • Алгоритм предшествует коду.

  • Однозначность и конечность можно проверять по каждому шагу.

  • Граничные тесты нужны до сдачи программы.

самопроверка

  • Чем модель отличается от алгоритма?

  • Какое свойство нарушает бесконечный цикл?

  • Почему для max(a,b) нужен тест a=b?

  • Что нужно уточнить в постановке до написания кода?

источники

  • материал занятия: фотографии студенческого конспекта, страницы 100–105 — /materials/notes/programming/photo_100@20-09-2026_10-25-19.jpg

  • материал занятия: Основы алгоритмизации — /materials/lectures/programming-algorithms-01.pdf

  • редакционная сверка: cppreference: Statements — https://en.cppreference.com/w/cpp/language/statements.html

что сделать

Составьте маршрут решения задачи «найти минимум из трёх чисел» и предложите три теста, включая случай равных чисел.

благодарность

Евгения Прохорова (1-45) и Никита Козлов (1-48)

материалы

предложить дополнение или исправлениекак оцифровать конспект