163.44K
AI
Категория: ПрограммированиеПрограммирование

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

1.

ЛЕКЦИЯ 1
ОСНОВЫ ПРОГРАММИРОВАНИЯ
Основы алгоритмизации
Способы записи и изображения алгоритмов. Порядок
составления алгоритма
Словесный
Блок-схема
Для студентов 1 курса • 2026
Псевдокод
C++

2.

Что мы разберём сегодня
1
2
3
4
Что такое
алгоритм
Способы записи
Способы
изображения
Порядок
составления
Определение, история
термина, свойства и
исполнитель алгоритма
Словесный, формульный,
псевдокод, язык
программирования (C++)
Блок-схемы: элементы,
правила, примеры. Виды
алгоритмов
Шаги от постановки
задачи до готового
алгоритма
Цель занятия: научиться формулировать и записывать алгоритмы разными способами
02

3.

Что такое алгоритм?
Алгоритм — это точная, конечная
последовательность команд (шагов), выполнение
которой приводит от исходных данных к требуемому
результату.
Алгоритм из жизни
1
Вскипятить воду
2
Положить чай в чашку
3
Залить кипятком
4
Подождать 3 минуты
5
Добавить сахар по вкусу
Откуда слово?
Термин происходит от имени учёного IX века Мухаммада аль-Хорезми
(лат. Algorithmi). В своём трактате он описал правила арифметических
действий в десятичной системе — по сути, первые формальные
алгоритмы.
Рецепт — тоже алгоритм: шаги идут строго по
порядку и приводят к результату.
03

4.

Свойства алгоритма
Дискретность
Определённость
Результативность
Массовость
Конечность
Алгоритм разбит на
отдельные, чётко
отделённые друг от
друга шаги
Каждый шаг понимается
однозначно, нет
двусмысленности
После конечного числа
шагов получаем
результат
Подходит для целого
класса однотипных задач
с разными данными
Выполнение обязательно
завершается за конечное
время
Если хотя бы одно свойство нарушено — перед нами не алгоритм, а просто набор инструкций.
04

5.

Исполнитель алгоритма
Исполнитель — это объект (человек, робот, компьютер), который
умеет выполнять определённый набор команд — систему команд
исполнителя (СКИ).
Человек
Понимает контекст, может домыслить. Команды: «свари кофе»
Робот
Выполняет только команды из своей СКИ: «вперёд», «повернуть»
Главное правило
Компьютер
Алгоритм всегда пишется на языке, понятном
конкретному исполнителю. Компьютер не
умеет «догадываться» — каждый шаг должен
быть формальным.
Строго формален. Команды — операторы языка C++
05

6.

Способы записи алгоритма
Один и тот же алгоритм можно записать по-разному — от свободного текста до строгого кода
Словесный
Формульный
Графический
Псевдокод
Язык
программирования
Описание шагов обычным
языком
Запись через
математические формулы
Блок-схема из
стандартных фигур
Полуформальный
«учебный» язык
Программа на C++,
готовая к запуску
менее формально
более формально
06

7.

Словесный и формульный способы
Задача: найти наибольшее из двух чисел a и b
Словесный способ
1
Ввести числа a и b.
2
Сравнить a и b.
3
Если a больше b, то результат — a, иначе результат — b.
4
Вывести результат.
5
Закончить.
Формульный способ
max = (a + b + |a − b|) / 2
или: max = a, если a ≥ b; иначе max = b
Плюс: понятен всем. Минус: возможна неоднозначность, компьютер не
поймёт.
Подходит для вычислительных задач: последовательность
формул задаёт порядок вычислений.
Плюс: компактно и точно. Минус: не для всех задач.
07

8.

Графический способ: элементы блок-схемы
Стандарт ГОСТ 19.701-90 (ISO 5807). Каждая фигура имеет строго определённый смысл
Начало / Конец
Процесс
Ввод / Вывод
Решение
Терминатор — начало или конец
алгоритма
Действие: вычисление,
присваивание
Ввод данных и вывод результата
Проверка условия: ветви «да» /
«нет»
Модификация
Подпрограмма
Соединитель
Документ
Заголовок цикла со счётчиком
Вызов предопределённого
процесса
Разрыв линии, переход на другую
часть
Вывод на печать / в файл
Линии со стрелками (линии потока) показывают порядок выполнения: сверху вниз и слева направо.
08

9.

Пример блок-схемы: наибольшее из двух чисел
Начало
Как читать схему
Ввод a, b
Один вход, один выход
У блок-схемы ровно один «Начало» и один «Конец».
да
a>b?
нет
Ветвление
Из ромба выходят две линии — «да» и «нет». Обе
должны быть подписаны.
max = a
max = b
Слияние ветвей
После условия ветви снова соединяются в одну линию
потока.
Вывод max
Конец
Направление
Стрелки обязательны там, где поток идёт не сверху
вниз.
09

10.

Псевдокод и язык программирования C++
Тот же алгоритм — в двух формальных записях
Псевдокод
алг Максимум (цел a, b, max)
арг a, b
рез max
нач
ввод a, b
если a > b то
max := a
иначе
max := b
все
вывод max
кон
C++
#include <iostream>
using namespace std;
int main() {
int a, b, max;
cin >> a >> b;
if (a > b)
max = a;
else
max = b;
cout << max;
return 0;
}
// ввод
// вывод
Псевдокод — «мост» между блок-схемой и программой: структура уже как в коде, но синтаксис свободный. Программа на C++ — единственная запись,
которую компьютер выполнит сам.
10

11.

Три базовые структуры алгоритмов
Следование
Ветвление
Повторение
Линейный
Разветвляющийся
Циклический
Шаги выполняются строго по порядку,
один за другим.
В зависимости от условия выполняется
одна из ветвей.
Группа шагов повторяется, пока
выполняется условие.
Начало
да
нет
Условие
нет
Условие
Шаг 1
да
Шаг А
Шаг Б
Тело цикла
Шаг 2
Конец
Любой сложный алгоритм можно собрать из этих трёх структур (теорема Бёма — Якопини).
11

12.

Порядок составления алгоритма
1
Постановка задачи
Что дано? Что нужно получить?
Формулируем чётко.
4
Разбиение на шаги
Дробим решение на простые,
однозначные команды.
2
Анализ данных
Определяем входные и выходные данные,
их типы и ограничения.
5
Запись алгоритма
Оформляем: словесно, блок-схемой или
на C++.
Важно: тестирование — не последний шаг «для галочки». Если найдена ошибка, возвращаемся к шагу 3 или 4.
3
Выбор метода
Подбираем способ решения: формулу,
перебор, сравнение…
6
Проверка (тест)
Прогоняем на тестовых данных, ищем
ошибки, исправляем.
12

13.

Сравнение способов записи
Способ
Наглядность
Точность
Понятен компьютеру
Когда применять
Словесный
средняя
низкая
нет
первичное описание идеи
Формульный
низкая
высокая
нет
вычислительные задачи
Блок-схема
высокая
высокая
нет
проектирование логики, обучение
Псевдокод
средняя
высокая
нет
переход к программированию
C++
низкая
максимальная
да
готовое решение для ПК
На практике способы комбинируют: идея → блок-схема → псевдокод → программа на C++. Так меньше ошибок и легче объяснить
решение другим.
13

14.

Подведём итоги
Алгоритм — конечная, точная последовательность шагов для исполнителя.
Свойства: дискретность, определённость, результативность, массовость, конечность.
Записать алгоритм можно словесно, формулой, блок-схемой, псевдокодом и на C++.
Домашнее задание
Блок-схема строится из стандартных фигур: терминатор, процесс, ввод/вывод,
решение.
1. Составить блок-схему алгоритма
нахождения наибольшего из трёх чисел.
Порядок: задача → данные → метод → шаги → запись → тест.
3. Привести свой пример алгоритма из
повседневной жизни.
Вопросы?
Спасибо за внимание!
14
English     Русский Правила