Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

мет_указ_СР_ФОРМ

.pdf
Скачиваний:
5
Добавлен:
13.02.2015
Размер:
1.52 Mб
Скачать

21

Примером линейного алгоритма может служить, например, формула сложения содержимого двух ячеек в MS Excel: =А1+С3. В творчестве А.С. Пушкина можно легко выделить примеры линейных алгоритмов:

Товарищ, верь: взойдет она, Звезда пленительного счастья, Россия вспрянет ото сна, И на обломках самовластья Напишут наши имена!

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

Примером условного алгоритма может служить, например, функция ЕСЛИ MS Excel: =ЕСЛИ(A1>A2;"число а больше b";"число b больше а"). В творчестве А.С. Пушкина также можно выделить примеры ветвящихся алгоритмов:

Если жизнь тебя обманет, Не печалься, не сердись! В день уныния смирись:

День веселья, верь, настанет.

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

это алгоритмы, в которых одна или несколько команд выполняются многократно.

Примером циклического алгоритма может служить, например, формула сложения чисел в диапазоне с использованием функции СУММ MS Excel: =СУММ(A1:А25). В творчестве А.С. Пушкина часто присутствуют примеры циклических алгоритмов:

Пока свободою горим, Пока сердца для чести живы,

Мой друг, отчизне посвятим Души прекрасные порывы!

По количеству выполнения циклы делятся на циклы с определенным (заранее заданным) числом повторений (арифметические циклы) и циклы с неопределенным числом повторений (итерационные циклы). Количество повторений последних зависит от соблюдения некоторого условия, задающего

22

необходимость выполнения цикла. При этом условие может проверяться в начале цикла – тогда речь идет о цикле с предусловием (цикл «ПОКА», который выполняется ПОКА условие ИСТИННО), или в конце – тогда это цикл с постусловием (цикл «ДО», который выполняется ДО того момента, когда условие станет истинным, т.е. тело цикла выполняется при ЛОЖНОМ условии).

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

1.Естественный язык (словесный способ).

2.Формулы.

3.Таблицы.

4.Псевдокод.

5.Синтаксические диаграммы.

6.Структурные диаграммы (структурограммы).

7.Блок-схемы.

8.Р-графы.

9.Алгоритмический язык и др.

Поскольку формулы и таблицы понятны и уже неоднократно использо-

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

знаковые модели: естественный язык и псевдокод

графические модели: синтаксические диаграммы; структурные диаграммы (структурограммы); Р-графы и блок-схемы.

Задача 1. Построение знаковых моделей алгоритмов на естественном языке и псевдокоде.

Задание:

1.Формализовать заданную фразу (информационный блок) в три вида алгоритмов: линейный, ветвящийся и циклический.

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

Заданная фраза для формализации и построения моделей: «Верти-

кальные углы равны».

Решение. На первом этапе целесообразно осуществить сбор информации, вспомнив определение, свойства и геометрическое представление вертикальных углов (на рисунке они обозначены символами α и ):

23

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

1.Вертикальные углы имеют общую вершину.

2.Вертикальные углы имеют одинаковую градусную меру и могут рассматриваться как равные.

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

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

1.Введем угол α.

2.Угол равен углу α.

3.Углы α и – вертикальные.

4.Выведем информацию.

Теперь представим фразу в виде линейного алгоритма на псевдокоде.

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

Базовые управляющие структуры псевдокода

Название структуры

Псевдокод

 

 

присваивание, ввод, вывод

=, ввод, вывод

 

 

ветвление

если условие то (серия1 иначе серия 2)

 

 

цикл ПОКА

пока условие нц серия кц

 

 

Знаковая модель линейного алгоритма на псевдокоде:

алг ВЕРТИКАЛЬНЫЕ УГЛЫ

нач ввод УГОЛ α

24

= α

α = вертикальный= вертикальный

вывод ('Углы α и - вертикальные')

кон алг ВЕРТИКАЛЬНЫЕ УГЛЫ

Ветвящиеся алгоритмы

Естественный язык:

1.Введем два угла: α и .

2.Если угол α равен углу , углы α и – вертикальные.

3.Выведем информацию.

Псевдокод:

алг ВЕРТИКАЛЬНЫЕ УГЛЫ

нач ввод УГОЛ α

ввод УГОЛ если α = , то вывод ('Углы α и - вертикальные')

иначе вывод ('Углы α и не являются вертикальными') кон алг ВЕРТИКАЛЬНЫЕ УГЛЫ

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

Естественный язык:

1.Значение суммы вертикальных углов S равно 0.

2.Последовательно вводим пять пар вертикальных углов α и , накапливая значение суммы.

3.Выведем информацию о сумме вертикальных углов.

Псевдокод:

алг ВЕРТИКАЛЬНЫЕ УГЛЫ нач

сумма S = 0 счетчик К = 1 пока К ≤ 5 нц ввод УГОЛ α

25

УГОЛ = УГОЛ α

Сумма S = Сумма S + УГОЛ α + УГОЛ Счетчик К = Счетчик К + 1 кц

вывод Сумма S

кон алг ВЕРТИКАЛЬНЫЕ УГЛЫ

Задача 2. Построение графических моделей алгоритмов.

Задание:

1.Формализовать заданную фразу (информационный блок) в три вида алгоритмов: линейный, ветвящийся и циклический (см. решение предыдущей задачи).

2.Представить получившиеся алгоритмы в виде основных графических моделей: синтаксических диаграмм; структурных диаграмм (структурограмм); Р-графов и блок-схем.

Заданная фраза для формализации и построения моделей: «Вертикальные углы равны». При решении задачи вспомним основные определения и основные правила построения графических моделей.

Синтаксическая диаграмма

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

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

Название ал-

Синтаксическая диаграмма

горитма

 

 

 

Линейная

Действие 1

Действие 2

 

структура

 

 

 

 

 

 

то

Действие 1

Ветвящаяся

Условие

 

 

структура

 

иначе

Действие 2

Циклическая

 

 

 

 

 

 

 

 

26

 

 

 

 

 

структура

 

 

 

 

 

 

 

 

 

с

предусло-

 

 

Условие

Действие 2

Действие 1

 

 

 

 

 

 

 

 

 

 

 

вием

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие 1

Действие 2

Условие

 

с

постуслови-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ем

 

 

 

 

 

 

 

 

 

 

Решение.

 

 

 

 

 

 

 

 

 

 

Название

 

Фраза в виде синтаксической диаграммы

 

алгоритма

 

 

 

 

 

 

 

 

 

 

 

Линейная

Ввод угла α

 

Ввод угла

 

α

Углы α и

 

 

 

вертикальные

 

структура

 

 

 

 

 

 

 

 

 

 

 

 

Ветвящаяся

 

 

 

 

 

то

Печать «Углы

 

 

 

 

 

Если углы α и

вертикальные»

 

 

Ввод угла α

Ввод угла

 

 

 

 

 

 

 

структура

равны

Печать «Углы не являются

 

 

 

 

 

 

 

 

 

 

иначе

вертикальными»

 

 

 

 

 

 

 

 

Циклическая

 

 

 

 

 

 

 

 

 

структура

 

 

 

 

 

 

 

 

 

с

предусло-

Сумма

Счетчик

Пока К ≤ 5

Ввод угла α

α

Сумма

К = К + 1

Вывод

S = 0

 

К = 1

S = S + α

суммы S

 

 

 

 

 

вием

 

 

 

 

 

 

 

 

 

с

постусло-

Сумма

 

Счетчик

Ввод угла α

α

Сумма

До К ≥ 5

К = К + 1

Вывод

S = 0

 

К = 1

S = S + α

суммы S

 

 

 

 

 

вием

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Структурограмма

 

 

 

 

Структурограмма – одна из графических форм записи. Действия в

структурограмме располагаются друг под другом. Это позволяет наглядно

отслеживать обработку данных в алгоритмах. Структурограмма состоит из

набора прямоугольных элементов.

 

 

 

 

 

Название алгоритма

 

Структурограмма

Линейная структура

 

 

 

 

 

 

Действие 1

 

 

Действие 2

 

 

 

 

 

Ветвящаяся структура

 

 

Условие

 

 

 

 

 

Да

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие 1

Действие 2

 

 

 

 

 

27

Циклическая структура

спредусловием

спостусловием

Условие

Действие 1

Действие 1

Условие

Решение.

Название алгоритма

Линейная

структура

Ветвящаяся

структура

Циклическая

структура

Фраза в виде структурограммы

 

Ввод угла α

 

Ввод угла

 

α

 

Углы α и

 

вертикальные

 

Ввод угла α

 

Ввод угла

 

Если углы

Да

равны

Нет

 

Печать «Углы

Печать «Углы не

являются

вертикальные»

вертикальными»

 

28

с предусловием

с постусловием

Сумма S = 0 Счетчик К =1 Пока К ≤ 5

Ввод угла α

α

Сумма S = S + α

К = К + 1

Вывод суммы S

Сумма S = 0 Счетчик К =1

Ввод угла α

α

Сумма S = S + α

К = К + 1

До К ≥ 5 Вывод суммы S

Блок-схема

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

Блок-схемой называется графическое изображение логической структуры алгоритма, в котором каждый этап процесса обработки информации представляется в виде геометрических символов (блоков), имеющих опреде-

29

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

Название алгоритма

Блок-схема

Линейная структура

 

 

Действие 1

Действие 2

Ветвящаяся структура

Условие

Действие 1

Действие 2

 

Циклическая структура

 

 

с предусловием

 

 

Да

Условие

Нет

Действие 1

 

 

с постусловием

 

 

 

Действие 1

 

Условие Нет

Да

Решение.

Название ал-

Фраза в виде блок-схемы

горитма

 

 

30

 

 

 

Ввод угла α

 

 

Ввод угла

 

Линейная

 

 

 

структура

 

 

 

 

α

 

 

 

Углы α и

 

 

вертикальные

 

 

Ввод угла α

 

 

 

Ввод угла

 

 

Ветвящаяся

 

 

 

структура

Если углы равны

 

Да

Нет

 

 

Печать «Углы

 

 

Печать «Углы не являются

вертикальные»

 

 

вертикальными»

Циклическая

 

 

 

структура