173.88K
Категория: ИнформатикаИнформатика

Лекция 1

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.

Пример неполного ветвления
• Неполное ветвление предполагает наличие некоторых
действий алгоритма только на одной ветви (то), вторая ветвь
отсутствует, т.е. для одного из результатов проверки никаких
действий выполнять не надо, управление сразу переходит к
точке слияния.
English     Русский Правила