Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Базовые алгоритмические структуры




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

1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим (таблица 9).

 


 

Таблица 9 –Базовая структура «Следование»

 

Алгоритмический язык Блок-схема алгоритма
действие 1 действие 2 ......... действие n  

 

2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.

Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырехосновных вариантах (таблица 10):

§ если—то;

§ если—то—иначе;

§ выбор;

§ выбор—иначе.

 

Таблица 10 – Базовая структура «Ветвление»

 

Алгоритмический язык Блок-схема алгоритма
Если-то
если условие то действия все

 


 

Продолжение таблицы 10

 

Если-то-иначе
если условие то действия 1 иначе действия 2 все
Выбор
выбор приусловие 1; действия 1 приусловие 2; действия 2 ……………………………. приусловие N; действия N все
Выбор-иначе
выбор приусловие 1; действия 1 приусловие 2; действия 2 ……………………………. приусловие N; действия N иначе действия N+1 все
     

 

3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов.

Цикл с параметром.

Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.

Цикл с постусловием.

Для данного типа цикла новая итерация (повторное выполнение тела цикла) происходит когда условие ложно. При этом в случае, когда условие цикла изначально истинно, тело цикла все равно будет выполнено хотя бы один раз. Циклы "до" и "пока" в программировании не подменяют друг друга, а используются для решения задач, к которым они более подходят.

Цикл с предусловием.

Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока (таблица 11).

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

Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операторов, т. е. организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложения циклов (то есть количество вложенных друг в друга циклов) может быть различной.

 


 

Таблица 11 – Базовая конструкция«Цикл»

Алгоритмический язык Блок-схема алгоритма
Цикл c параметром
нц дляi отi1 доi2 тело цикла (последовательность действий) кц
Цикл с постусловием
нц тело цикла (последовательность действий) доусловие кц  
Цикл с предусловием
нц покаусловие тело цикла (последовательность действий) кц  

Примеры алгоритмов.

Линейный алгоритм. Приведем пример записи алгоритма в виде блок-схемы и языка программирования Паскаль (таблица 12).

 

Таблица 12 – Линейный алгоритм

 

Блок-схема алгоритма Текст программы Паскаль
    programlinepro; vara, b, g: real; begin readln(a, b); g:=sqrt(a*b); writeln(g) end.

 


Разветвляющийся алгоритм

Приведем пример записи разветвляющегося алгоритма для нахождения наибольшего из двух чисел (таблица 13).

 

Таблица 13 – Разветвляющийся алгоритм

 

Блок-схема алгоритма Текст программы Паскаль
    programmaxifind; vara, b, max: real; begin readln(a, b); ifa>b thenmax:=a elsemax:=b; writeln(max) end.

 


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

Цикл с параметром. Рассмотрим алгоритм вычисления суммы первых n натуральных чисел. Для этого воспользуемся циклом с параметром, поскольку заранее известно сколько раз будет выполняться команда нахождения суммы (таблица 14).

 

Таблица 14 – Цикл с параметром

 

Блок-схема алгоритма Текст программы Паскаль
    programsum; vari, n, s:integer; begin readln(n); s:=0; fori:=1 ton do s:=s+i; writeln(s); end.

 


Цикл с предусловием. Рассмотрим алгоритм нахождения суммы первых натуральных нечетных чисел до n. Представим запись алгоритма двумя способами: в виде блок-схемы и языка программирования (таблица 15).

 

Таблица 15 – Цикл с предусловием

 

Блок-схема алгоритма Текст программы Паскаль
    program _sum; vari, n, s:integer; begin readln(n); s:=0; i:=1; whilei<=n do begin s:=s+i; i:=i+2; end; writeln(s); end.  

 

Рассмотрим нахождение количества натуральных чисел, сумма которых не больше заданного числа. Для этого используется циклическая структура с постусловием (таблица 16).

 

Таблица 16 – Цикл с постусловием

 

Блок-схема алгоритма Текст программы Паскаль
    programnumber; vari, m, s:integer; begin readln(m); s:=0; i:=1; repeat s:=s+i; i:=i+1; untils>m; writeln(i-2); end.  
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...