55.50K
Category: informaticsinformatics

Основы алгоритмизации. Лекция 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ованные (ассемблеры);
Высокого уровня:
–процедурные
–логические
–объектно-ориентированные
English     Русский Rules