XVIII. Основы алгоритмизации

Раздел 5. Алгоритмизация и программирование.

Лекция № 6. Основные виды алгоритмов – 2 час.

Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции. Базовые алгоритмы: линейный, ветвления, циклический. Примеры представления базовых алгоритмов в виде блок-схем. Примеры представления сложных алгоритмов на простейшие структуры

Понятие алгоритма и его свойства. Блок-схема алгоритма. Основные алгоритмические конструкции. Базовые алгоритмы: линейный, ветвления, циклический. Примеры представления базовых алгоритмов в виде блок-схем. Примеры представления сложных алгоритмов на простейшие структуры

Самостоятельная работа: [3] – стр. 167–198; [4] – стр. 146–157

Алгоритмом называется информационный процесс с известными начальным и конечным состояниями объектов, исполнителем и набором операций из системы команд исполнителя.

Алгоритм – это чётко определённая последовательность действий, описывающих процесс преобразования объекта из начального состояния в конечное с помощью понятных исполнителю команд.

Для графического представления алгоритмов используют специальные обозначения. Основные из них:

Основные типы алгоритмических структур и их обозначения.

– линейная – каждое действие должно быть выполнено последовательно одно за другим

 
 

 
 

– ветвление – в зависимости от выполнения или невыполнения указанного условия реализуется та или иная последовательность команд:

 
 


– цикл – серия команд (тело цикла) выполняется многократно. Разновидности циклов:

Цикл со счётчиком – выполняется заранее определённое количество раз:


Цикл с предусловием – проверяется условие и, если оно не выполняется, то тело цикла (тц) повторяется, если выполняется, то происходит переход к действию, следующему за телом цикла. Если условие не выполняется при первой проверке, то тело цикла не выполняется ни одного раза.

 
 


Цикл с постусловием – тело цикла (тц) выполняется, затем проверяется условие и, если оно не выполняется, то тело цикла повторяется, если выполняется, то происходит переход к действию, следующему за телом цикла. В этом варианте тело цикла выполняется хотя бы один раз всегда.

 
 

 
 

Примеры представления и расшифровки алгоритмов

1. Алгоритм вычисляет A=2^4

 

2. Алгоритм вычисляет X=3; Y=4,5

 

 

 
 

3. При N=8 алгоритм вычисляет для элементов массива А значения 4, 16, 36, 64 соответственно.

 
 


4. Алгоритм вычисляет A=1*2*3*4

 
 


5. Задан одномерный массив X1, X2, …, Xn . Приведённый фрагмент программы определяет сумму положительных элементов массива Х

 

6. Представленный фрагмент блок-схемы вычисляет количество нулевых элементов в массиве Х

 

 

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

Примеры.

7. Представлен фрагмент программы:

Y:=X-1; X:=Y+2; Y:=X+Y; вывод Y

После выполнения фрагмента программы переменная Y приняла значение 10. Перед входом в этот фрагмент Х =? Ответ: Х=5

8. Дан массив целых чисел {Ai},i=1, 2, ..., 15,Программа вычисляет произведение сумм некоторых элементов массива:

функция СУММА(I1,I2)

начало: S=0

начало цикла для I=I1 до I2

S=S+A(i)