ТОП 10:

Практическое занятие №1. Алгоритмы. Блок-схемы. Ветвления



Цель занятия

Цель занятия – усвоить понятие «алгоритм» и его свойства. Знать типы алгоритмов и способы представления основных типов алгоритмов. Уметь представить алгоритм словесно и графически, в виде блок-схемы.

Теоретический материал для практического занятия №1

 

Понятие алгоритма – одно из фундаментальных понятий информатики, которое исторически оформилось в самостоятельную дисциплину «теорию алгоритмов», близкую к другой дисциплине «математическая логика». С другой стороны дисциплину «теория алгоритмов» можно рассматривать промежуточной между двумя дисциплинами: математикой и информатикой, связанной с разделом программирования.

Алгоритмизация относится к общим методам информатики, имеет большое значение при решении сложных задач. Прежде, чем написать программу решения задачи на ЭВМ, необходимо просмотреть последовательность действий, которые должны быть выполнены для правильного решения рассматриваемой задачи.

 

Алгоритм и его свойства

Алгоритм - это последовательность арифметических, логических и прочих операций, необходимых для выполнения на ЭВМ.

Для получения правильного результата алгоритм должен быть составлен так, чтобы при его исполнении все команды трактовались однозначно. Поэтому появились обязательные требования, которые должны учитываться при составлении алгоритмов. Требования формулируются в виде свойств.

Основные свойства алгоритмов:

1. Универсальность (массовость) – применимость алгоритма к различным наборам исходных данных.

2. Дискретность – процесс решения задачи по алгоритму разбит на отдельные действия.

3. Однозначность (детерминированность) – правила и порядок выполнения действий алгоритма имеют единственное толкование.

4. Конечность – каждое из действий и весь алгоритм в целом обязательно завершаются.

5. Результативность – по завершении выполнения алгоритма обязательно получается конечный результат.

6. Выполнимость – алгоритм достигает результата за конечное число шагов.

Алгоритм должен быть всегда результативным, иметь свойство повторяемости и должен быть рассчитан на конкретного исполнителя. В технике таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке понятном ЭВМ, то есть на машинном языке. Однако прежде, чем представить алгоритм на языке понятном для ЭВМ (машинном языке), необходимо написать программу с помощью алгоритмического языка программирования.

Алгоритм может быть представлен различными способами, в частности:

1) словесно; (вербальное представление)

2) таблично;

3) в виде блок-схемы;

4) на алгоритмическом языке.

Достаточно распространенным способом представления алгоритма является его запись на алгоритмическом языке, представляющем в общем случае систему обозначений и правил для единообразной и точной записи алгоритмов и исполнения их, т.е. запись в виде программы.

Предпочтительнее до записи на алгоритмическом языке представить алгоритм в виде блок-схемы. Для построения алгоритма в виде блок-схемы необходимо знать назначении каждого из блоков. В таблице 1.1 представлены типы блоков и их назначение.

Таблица блоков

Таблица 1.1

Блок Назначение блока Комментарий {блоку соответствует оператор}
Начало или конец блок-схемы -
Ввод данных с клавиатуры ввода
Процесс (в частности вычислительный) присваивания
Решение условия
Вывод вывода
Модификатор цикла цикла
Типовой процесс процедура, функция

 

Примечание.

В блок-схемах ввод и вывод могут изображаться в виде параллелограмма.

 

Основные типы алгоритмов

Алгоритмизация выступает как набор определенных практических приёмов, особых специфических навыков рационального мышления в рамках заданных языковых средств. Алгоритмизация вычислений предполагает решение задачи в виде последовательности действий, т.е. решение, представленное в виде блок-схемы. Можно выделить типичные алгоритмы. К ним относятся:

  1. Линейные алгоритмы;
  2. Разветвляющиеся алгоритмы;
  3. Циклические алгоритмы.

 

Линейные алгоритмы

Линейный алгоритм является наиболее простым. В нем предполагается последовательное выполнение операций. В этом алгоритме не предусмотрены проверки условий или повторений, т.е. циклы.

Пример 1. Вычислить функцию z=x+y2. При выполнении линейного алгоритма значения переменных подставляются в заданную функцию, и вычисляется результат.

Линейный алгоритм может быть задан без словесного описания, только в виде перечисления операций. В примерах 2, 3 даётся последовательность выполнения арифметических операций.

Пример 2.

В результате работы линейного алгоритма:

k:=8;

m:=k+2;

n:=k+m;

k:=n - 2*k;

m:=k+n;

Найти значение переменной m.

В результате работы линейного алгоритма m=20.

Пример 3.

В результате работы линейного алгоритма:

z=88;

y=z -38;

z=y/2; y:=y/z;

Переменные y, z приняли значения: y=2, z=25.

Алгоритмы ветвлений

Разветвляющийся алгоритм предполагает проверку условий для выбора решения. Соответственно в алгоритме появятся две ветви для каждого условия.

Пример 4.

Найти максимальное значение из трёх различных целых чисел, введенных с клавиатуры.

Решение.

Данный алгоритм предполагает проверку условия. Для этого выбирается любая из трёх переменных и сравнивается с другими двумя. Если она больше, то поиск максимального числа окончен. Если условие не выполняется, то сравниваются две оставшиеся переменные. Одна из них будет максимальной.

Циклические алгоритмы

Циклический алгоритм предусматривает повторение одной операции или нескольких операций в зависимости от условия задачи.

Пример 5.

В цикле вычислить значение одной и той же функции z= x*y при условии, что одна из переменных данной функции «x» меняется в каждом цикле на единицу, а другая переменная «у» не меняется и может быть любым целым числом. В результате выполнения цикла при начальных переменных равных единице можно получить таблицу умножения.

Охарактеризовав основные типы алгоритмов, можно сделать вывод, что рассмотренные примеры являются алгоритмами, которые представлены словесно или в виде перечисления арифметических операций. Эти примеры очень простые, поэтому их словесно можно описать кратко. При усложнённых условиях словесное описание становится громоздким, зачастую сложно воспринимаемым и не всегда правильно понятым.

Поэтому оптимальным выбором является представление алгоритма в виде схемы. Для того чтобы все схемы правильно читались, принято унифицировать схемы, давая каждому действию определенный блок. Назначение блоков представлено в таблице 1.1.







Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.239.172.52 (0.007 с.)