Материал: Основы алгоритмизации и программирования вычислительных процессов. Кононов А.Д., Кононов А.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

блок, определяющий начало, конец или прерывание процесса вычисления;

– блок ввода-вывода информации;

– блок вычислений;

– блок проверки выполнения условия (логический блок);

– блок цикла (модификация);

– вычисление по подпрограмме, стандартной программе;

– печать результатов на бумаге;

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

– соединители, указывают связи между прерванными линиями потока, связывающими блоки;

---– пояснения, содержание подпрограмм, формулы.

Рассмотренный выше алгоритм Евклида может быть представлен в виде блок-схемы на рис. 1.

Правила построения алгоритмов на языке блок-схем:

1.Блок-схема строится сверху вниз.

2.В любой блок-схеме имеется один элемент, соответствующий началу, и один элемент, соответствующий концу.

3.Должен быть хотя бы один путь из начала блок-схемы к любому

элементу.

11

4. Должен быть хотя бы один путь от каждого элемента алгоритма в конец блок-схемы.

Рис. 1. Блок-схема алгоритма Евклида

Описание на алгоритмическом языке. Алгоритм можно рассматривать как задание для исполнителя, который получит правильный результат, если точно выполнит то, что в нем написано. Человек, автоматическое устройство, компьютер – это разные исполнители. Для того, чтобы компьютер мог выполнить алгоритм, он должен быть написан на понятном ему языке. Компьютер понимает машинный язык. Человеку трудно писать и читать алгоритмы на машинном языке, ему понятен естественный язык. Но научить компьютер понимать естественный язык затруднительно потому, что в естественном языке слишком много слов и нет строгих правил записи предложений.

Для того, чтобы человек и компьютер понимали друг друга, разработаны специальные языки для записей алгоритмов – алгоритмические языки. Алгоритмический язык отличается от машинного тем, что состоит из слов и символов, как естественный язык, но в нем мало слов (обычно 30–40) и очень строгие

12

правила составления предложений. Основные слова языка называют служебными словами. В алгоритмических языках используют слова английского алфавита. Алгоритмический язык легко понимают и человек, и компьютер. Алгоритм, записанный на алгоритмическом языке, – это программа для компьютера. Каждое предложение в программе – оператор.

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

Контрольные вопросы и упражнения

1.Какие способы описания схем алгоритмов вы знаете?

2.Что такое переменная, ввод, присваивание?

3.Укажите отличие операций ввода и присваивания.

4.Поясните отличие равенства и присваивания.

5.Укажите достоинства и недостатки словесного и формульнословесного описания алгоритмов.

6.В чем достоинства графического метода описания алгоритмов?

7.Дать определение блок-схемы.

8.Перечислите известные блоки и укажите их назначение.

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

Занятие 3. Управляющие структуры. Типовые задачи программирования

В предыдущем описании алгоритма Евклида мы увидели ряд операций различного характера и назначения. Основными являются:

1)последовательное исполнение – исполнение инструкций алгоритма в том порядке, как они представлены в тексте программы (естественный порядок). Линейный алгоритм – это алгоритм, в котором действия выполняются только один раз и строго в том порядке, в котором они записаны;

2)переход – записывается в виде инструкции «перейти к m», где m – метка, указывающая место в программе, куда необходимо передать управление ходом вычислительного процесса;

3)условное исполнение или разветвление – исполнение одной группы действий при выполнении некоторого условия и другой группы действий при его нарушении. Разветвляющийся алгоритм – это алгоритм, в котором то или иное действие выполняется после анализа условия, который на блок-схеме показывают с помощью логического блока (ромб). Логический блок имеет один вход и два выхода (ветвь «да» и ветвь «нет»). Существуют две формы условного исполнения:

13

а) полное условное предложение «если А, то В, иначе С». Здесь А – условие, В и С – разные группы действий (рис. 2а);

б) укороченное условное предложение «если А, то В» (рис. 2б)

4) цикл – многократное исполнение некоторой группы действий при различных значениях входящих параметров. С точки зрения алгоритмизации, цикл

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

Рис.2. Блок-схема вариантов разветвлений

Цикл с предусловием. Проверка окончания осуществляется в начале цикла до исполнения операторов области действия цикла (тела цикла).

«Пока А, повторяй В». Здесь, как и ранее, А – условие, В – операторы тела цикла. Блок-схема изображена на рис. 3а). Предполагается, естественно, что исполнение группы действий В влияет на выполнение условия А и при какомто повторе условие А не будет выполнено и произойдет выход из цикла (иначе он некорректно построен).

Цикл с постусловием. Проверка производится в конце цикла после исполнения операторов тела цикла. Блок-схема изображена на рис. 3б).

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

Цикл с параметром. Конструкция цикла выглядит следующим образом: Для I от M до N шаг H повторяй B,

где I – параметр или индекс цикла, он выполняет роль счетчика, то есть следит за количеством повторений в цикле;

M и N – соответственно нижняя и верхняя границы изменения параметра цикла;

Н – шаг изменения параметра цикла;

14

В– некоторая группа действий.

Впроцессе работы параметр I принимает последовательные значения M, M+H, M+2H, …, соответствующие членам арифметической прогрессии.

Рис. 3. Блок-схемы циклов с условием

Контрольные вопросы и упражнения

1.Перечислите и охарактеризуйте основные управляющие структуры.

2.В чем отличие полного условного предложения и укороченного условного предложения?

3.Почему цикл с параметром можно называть циклом типа арифметической прогрессии?

4.Дайте определение линейного вычислительного процесса.

5.Какой процесс называется разветвляющимся?

6.Чем определяется выбор ветви вычислений?

7.Какие типы циклов вы знаете?

8.В чем отличие циклов с предусловием и с постусловием?

9.Какие величины задаются в случае цикла с заданным числом повторе-

ний?

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

1. Тривиальный. Найти наибольшее из двух чисел – max{A,B}. На неформальном уровне алгоритм решения прост

1)Ввод (А,В)

2)Если A≥B, то MAX:=A, иначе MAX:=B

3)Вывод (MAX)

15

Источник: https://studfile.net/preview/16563236/