Вы находитесь на странице: 1из 27

Этапы решения задач с

помощью компьютера

Что такое алгоритм и


его основные свойства

Способы записи
алгоритмов

Основные структуры
алгоритмов
• Постановка задачи
• Построение математической
модели
• Разработка алгоритма
• Составление программы на
языке программирования
• Отладка и тестирование
программы
• Анализ результатов
АЛГОРИТМЫ
— Что такое алгоритм?
— Это последовательность действий.

—Для кого?

—Для исполнителя

—Кто такой исполнитель?

—Тот, который исполняет команды


алгоритма
Вот алгоритм , который составила
мачеха для Золушки:

Перемой-ка всю посуду.


Да натри полы повсюду,
Дров на месяц наколи,
Кофе на год намели,
Посади среди цветов
Сорок розовых кустов,
И, пока не подрастут,
Подметай дорожки тут
• Исполнитель - это объект,
умеющий выполнять определенный
набор действий. (человек, животное,
робот, компьютер).
• Система команд исполнителя
(СКИ) – это все команды, которые
исполнитель умеет выполнять.
• Среда исполнителя – обстановка, в
которой функционирует
исполнитель.
• Алгоритм содержит несколько шагов.
• Шаг – отдельное законченное
действие.
Алгоритм – это конечная система
команд, адресованных
исполнителю, четко и однозначно
задающих процесс решения
задачи во всех деталях
Происхождение термина «АЛГОРИТМ»
связывают с именем известного
узбекского математика и астронома ІХ
века Мухаммеда аль-Хорезми
Любую сложную задачу можно свести к
выполнению конечного числа более
простых задач.
Для многих задач существуют
определенные правила, объясняющие
исполнителю, как решать данную задачу.
•Рецепты приготовления пищи,
•Правила пользования электроприборами,
•Правила сложения и вычитания в
столбик.
Свойства алгоритма
• Дискретность (прерывность, раздельность) –
разбиение алгоритма на шаги;
• Понятность – каждый шаг алгоритма должен
быть понятен исполнителю;
• Результативность - получение результата за
конечное число шагов;
• Массовость – использование алгоритма для
решения однотипных задач.
• Формальность – возможность выполнять команды
механически.
Это свойство позволяет поручить исполнение
алгоритмов роботам, компьютерам и другим
устройствам.
Задание
Назови исполнителей следующих
видов работ:
• уборка мусора во дворе;
• обучение детей в школе;
• вождение автомобиля;
• ответ у доски;
• приготовление пищи;
• печатание документа на
принтере.
Сформулируй СКИ для каждого из
этих исполнителей, назови среду
Способы описания
алгоритма:
• Словесный (письменно или
устно);
• Графический (стрелками,
рисунками, блок – схемами);
• Программный.
Алгоритм
Эратросфена
1. Выписать все натуральные числа от
1 до N. Вычеркнуть 1.
2. Подчеркнуть наименьшее из
неотмеченных чисел.
3. Вычеркнуть все числа, кратные
подчеркнутому на предыдущем
шаге.
4. Если в списке имеются еще не
отмеченные числа, то перейти к
шагу 2.
Задача. Переправа.
К берегу реки, где была лодка, вмещающая
только двух человек, подошли два
разбойника и два путешественника.
Разбойники не решались напасть на
путешественников. В случае если на берегу
останется один путешественник и два
разбойника, они нападут на него. Как надо
переправиться через реку разбойникам и
путешественникам, чтобы последние смогли
избежать нападения?
Обозначения: П1 – первый путешественник
П2 – второй путешественник;
Р1 – первый разбойник;
Р2 – второй разбойник.
№ Первый берег Второй берег
Нач. П1 П2 Р1 Р2
1 П2 Р2 П1 Р1 
П2 Р2 П1 Р1
2 П2 Р2  П1 Р1
П1 П2 Р2 Р1
3 Р2 П1 П2  Р1
Р2 П1 П2 Р1
4 Р2  Р1 П1 П2
Р1 Р2 П1 П2
5 Р1 Р2 Р1 Р2  П1 П2
Кон. П1 П2 Р1 Р2
Блок-
схема

Начало или конец алгоритма Команда алгоритма

Ввод или вывод данных Проверка условия

... Повторение действий (цикл)


Виды алгоритмов:
• Линейный – содержит несколько шагов
и все шаги выполняются
последовательно друг за другом;
• Разветвляющийся – порядок
выполнения шагов изменяется в
зависимости от некоторых условий;
• Циклический – определенная
последовательность шагов повторяется
несколько раз в зависимости от
заданной величины (параметра цикла).
Алгоритмические задачи

Задание. Волк, коза и


капуста.
Старик должен переправить на
лодке через реку волка, козу и
капусту. Лодка может выдержать
только старика и одного
«пассажира». В каком порядке
старик перевезёт «пассажиров»?
Не забудь, что волк может съесть
Задание. Переправа.
Два мальчика и двое взрослых должны
переправиться на другую сторону реки
на плоту, который выдерживает либо
двух мальчиков, либо одного мальчика
и одного взрослого. Как осуществить
переправу? Найди несколько способов
решения этой задачи.
Обозначения: 1м – один мальчик;
2м – два мальчика;
1в – один взрослый.
1. Линейные (простые)

Команда 1

Команда 2

...
Команда N
2.Разветвляющиеся
а) Полное ветвление

Да Нет
Условие

Серия 1 Серия 2
2. Разветвляющиеся
б) Неполное ветвление

Да Нет
Условие

Серия 1
3. Циклические
а) арифметический цикл

Счетчик
цикла

Серия
команд
б) Логический цикл
с предусловием
Нет
Условие
Да

Серия
команд
в) Логический цикл
с послеусловием

Серия
команд

Нет
Условие
Да