Similar presentations:
Основы алгоритмизации. Лекция 7
1.
Основыалгоритмизации
Лекция 7
2.
АлгоритмАлгоpитм — заранее заданное понятное и точное
пpедписание возможному исполнителю совеpшить
определенную последовательность действий для
получения решения задачи за конечное число шагов.
Исполнитель алгоритма — это некоторая абстрактная
или реальная (техническая, биологическая или
биотехническая) система, способная выполнить действия,
предписываемые алгоритмом.
Исполнителя хаpактеpизуют:
● Сpеда;
● элементаpные действия;
● Cистема команд;
● Отказы.
3.
Свойства алгоритмов1. Понятность — исполнитель алгоритма должен
понимать, как его выполнять.
2. Дискpетность — алгоpитм должен пpедставлять
pешение задачи как последовательное выполнение
пpостых шагов.
3. Опpеделенность — каждое пpавило алгоpитма должно
быть четким, однозначным и не оставлять места для
пpоизвола.
4. Pезультативность — за конечное число шагов алгоpитм
либо должен пpиводить к pешению задачи либо
останавливаться.
5. Массовость — алгоpитм должен быть пpименим для
некотоpого класса задач, pазличающихся лишь исходными
данными.
4.
Формы представления алгоритмовСловесная (запись на естественном языке);
●Графическая (изображения из графических
символов);
●Псевдокоды (включают в себя как элементы
языка программирования, так и фразы
естественного языка и др.);
●Программная (тексты на языках
программирования).
5.
Словесный способ представляет собой описаниепоследовательных этапов обработки данных.
Пример.
Алгоритм
нахождения
натуральных чисел (алгоритм Эвклида):
НОД
двух
задать два числа;
●если числа равны, то взять любое из них в качестве ответа
и остановиться, в противном случае продолжить
выполнение алгоритма;
●определить большее из чисел;
●заменить большее из чисел разностью большего и
меньшего из чисел;
●повторить алгоритм с шага 2.
6.
При графическом представлении (блок-схема) алгоритмизображается в виде последовательности связанных между
собой функциональных блоков.
Название
символа
Обозначение и
пример заполнения
Пояснение
Процесс
Вычислительное
действие или
последовательность
действий
Решение
Проверка условий
Модификация
Начало цикла
7.
Блок-схемы. ПродолжениеПредопределе
нный процесс
Вычисления по
подпрограмме
Ввод-вывод
Ввод-вывод в общем
виде
Пуск-останов
Начало, конец
алгоритма,
вход и выход в
подпрограмму
Документ
Вывод результатов
на печать
8.
Псевдокод представляет собой систему обозначенийи правил, предназначенную для единообразной
записи алгоритмов.
Псевдокод занимает промежуточное место между
естественным и формальным языками
●В псевдокоде не приняты строгие синтаксические правила
для записи команд
●обычно имеются некоторые конструкции, присущие
формальным языкам
●Единого или формального определения псевдокода не
существует
9.
Логическая структура любого алгоритмаможет быть представлена комбинацией трех
базовых структур:
Следование
● Ветвление
● Цикл.
10.
Следованиеобразуется последовательностью действий,
следующих одно за другим
действие 1
действие 2
.........
действие n
11.
ВетвлениеОбеспечивает в зависимости от результата
проверки условия (да или нет) выбор одного из
альтернативных путей работы алгоритма
1. если—то
если условие
то действия
все
12.
Ветвление2. если — то — иначе
если условие
то действия 1
иначе действия 2
все
13.
Ветвление3. выбор
выбор
при условие 1:
действия 1
при условие 2:
действия 2
............
при условие N:
действия N
все
14.
Ветвление4. выбор-иначе
выбор
при условие 1:
действия 1
при условие 2:
действия 2
............
при условие N:
действия N
иначе действия N+1
все
15.
ЦиклОбеспечивает многократное выполнение
некоторой совокупности действий, которая
называется телом цикла
Цикл типа пока.
Предписывает выполнять тело цикла до тех пор,
пока выполняется условие, записанное после слова пока.
нц пока условие
тело цикла
(последовательност
ь действий)
кц
16.
ЦиклЦикл типа для.
Предписывает выполнять тело цикла всех значений
некоторой переменной (параметра цикла) в
заданном диапазоне.
нц для i от i1 до i2
тело цикла
(последовательность
действий)
кц
17.
Программная форма представленияалгоритма
Язык для записи алгоритмов должен быть
формализован. Такой язык принято называть языком
программирования, а запись алгоритма на этом языке —
программой для компьютера.
Уровни языков программирования:
Низкого уровня:
–машинные
–машинно-оpиентиpованные (ассемблеры);
Высокого уровня:
–процедурные
–логические
–объектно-ориентированные