Similar presentations:
Основные понятия алгоритмизации
1.
Основные понятияалгоритмизации
2.
Определения• Алгоритм – это конечная последовательность команд
исполнителю совершить конечную последовательность
действий, которая направлена на достижение определенной
цели.
• Исполнитель – человек, живое существо или автоматическое
устройство, способное к восприятию и выполнению данных
команд.
• Система команд исполнителя – перечень команд, которые
понимает и может исполнить исполнитель.
3.
ПримерыВычислительные:
Правило возведения в
степень, извлечение корня.
Сложение, умножение,
деление дробей.
Решение линейных,
квадратных и др. уравнений.
Невычислительные:
Рецепт приготовления блюд,
Инструкции по использованию
электроприборов.
4.
Свойства алгоритмов• Дискретность – алгоритм должен быть разбит на шаги
(отдельные законченные действия).
• Определенность – у исполнителя не должно возникать
двусмысленностей в понимании шагов алгоритма (исполнитель
не должен принимать самостоятельные решения).
• Результативность (конечность) – алгоритм должен приводить к
конечному результату за конечное число шагов.
• Понятность – алгоритм должен быть понятен для исполнителя.
5.
• Эффективность – из возможных алгоритмов выбирается тоталгоритм, который содержит меньше шагов или времени на его
выполнение требуется меньше.
• Массовость - алгоритм можно успешно применять к различным
наборам исходных данных.
• Детерминированность — будучи понятным, алгоритм не должен
содержать команды, смысл кот-ых может восприниматься
неоднозначно. Нарушение составителями алгоритмов этих
требований приводит к тому, что одна и та же программа после
выполнения разными исполнителями дает не одинаковые
результаты.
6.
Способы описания алгоритмов• Выбор средств и методов для записи алгоритма зависит прежде
всего от назначения самого алгоритма, а также от того, кто
будет исполнять алгоритм.
Алгоритмы записываются в виде:
• словесных правил
• блок схем
• программ
7.
Словесный способ• Это, по существу, обычный язык, но с тщательным отбором
слов и фраз, не допускающих лишних слов, двусмысленностей
и повторений. Дополняется язык обычными математическими
обозначениями и некоторыми специальными соглашениями.
Алгоритм описывается в виде последовательности шагов.
На каждом шаге определяется состав выполняемых действий и
направление дальнейших вычислений. При этом, если на
текущем шаге не указывается какой шаг должен выполняться
следующим, то осуществляется переход к следующему шагу.
8.
Недостатки словесного способа описанияалгоритмов
• Отсутствие наглядности
• Недостаточная точность
9.
Достоинства словесного алгоритма• С его помощью можно описать любые алгоритмы, в том числе и
вычислительные.
10.
Графический способ описания алгоритма• Это способ представления алгоритма с помощью общепринятых
графических фигур (блоков), каждая из которых описывает
один или несколько шагов алгоритма.
• Внутри блока записывается описание команд или условий.
• Для указания последовательности выполнения блоков
используют линии связи (линии соединения).
• Последовательность блоков и линий образуют блок-схему
алгоритма.
11.
Правила изображения блок-схем алгоритма• В блок-схеме можно использовать строго
определенные типы блоков.
• Основные типы блоков:
• - начало и конец описания алгоритмов;
• - ввод исходных данных или вывод результатов;
• - блок арифметических или других действий;
• - блок проверки условий, от которых зависит выбор
направления алгоритма.
12.
• Стрелки на линиях связи можно не ставить при направлениисверху вниз и слева направо.
• Противоположные направления обязательно указывают
стрелкой на линии.
• Для удобства блоки могут помечаться метками (буквами или
цифрами).
• Внутри блока ввода/вывода пишется ВВОД или ВЫВОД и
перечисляются имена данных, принадлежащих вводу/выводу.
• Внутри блока действия для присваивания переменных значений
используется знак присваивания.
13.
Пример нахождения максимума трех чиселНачало
Ввод a, b, c
a>b
t:=a
t:=b
t<c
t:=c
Вывод
tt
Конец
14.
Описание алгоритмов с помощью программ• Программа - алгоритм, записанный на языке
программирования.
• Алгоритм, предназначенный для исполнения на компьютере,
записывается на языке программирования ( языке, понятном
ЭВМ) .
15.
Основные алгоритмические конструкции• Линейная алгоритмическая конструкция:
• Алгоритм называется линейным, если все его действия
выполняются последовательно друг за другом от начала и до
конца.
16.
Пример• Опишем алгоритм сложения двух чисел на псевдокоде в
виде блок-схемы:
• Ввод двух чисел а, b.
• Вычисляем сумму S = а + b.
• Вывод S.
• Конец.
17.
Разветвляющаяся алгоритмическаяконструкция
• Разветвляющейся (или ветвящейся) называется
алгоритмическая конструкция, обеспечивающая выбор между
двумя альтернативами в зависимости от значения входных
данных. При каждом конкретном наборе входных данных
разветвляющийся алгоритм сводится к линейному. Различают
неполное (если - то) и полное (если - то - иначе) ветвления.
18.
Пример полного ветвления• Полное ветвление позволяет организовать две ветви в
алгоритме (то или иначе), каждая из которых ведет к общей
точке их слияния, так что выполнение алгоритма продолжается
независимо оттого, какой путь был выбран.
19.
Пример неполного ветвления• Неполное ветвление предполагает наличие некоторых
действий алгоритма только на одной ветви (то), вторая ветвь
отсутствует, т.е. для одного из результатов проверки никаких
действий выполнять не надо, управление сразу переходит к
точке слияния.