Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ПиОА[1].doc
Скачиваний:
20
Добавлен:
30.08.2019
Размер:
2.53 Mб
Скачать

Алгоритмизация - техника составления алгоритмов и программ для решения задач на эвм.

5.2. Изобразительные средства описания алгоритмов

К ним относятся следующие способы: 1) словесный - запись на естественном языке, 2) структурно-стилизованный - запись на языке псевдокода, 3) программный - текст на языках программирования, 4) Графический - схемы графических символов.

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

Пример. Записать алгоритм Евклида на естественном языке.

  • Если числа равны, то взять любое из них в качестве ответа, в противном случае - продолжить выполнение алгоритма.

  • Определить число наибольшее из двух.

  • Заменить большее число разностью большего и меньшего чисел.

  • Повторить алгоритм с начала.

2. Структурно-стилизованный способ записи алгоритмов основан на формализованном представлении предписаний, задаваемых путем использования ограниченного набора типовых синтаксических конструкций. Такие средства описания алгоритмов называются псевдокодами. Разновидностью этого способа является алгоритмический язык в русской нотации (АЯРН).

П ример. Описать на АЯРН алгоритм решения задачи о принадлежности точки D треугольнику АВС.

алг Определение принадлежности точки треугольнику (действ Хa, Ya, Хb, Yb, Хс, Yс, Хd, Yd целое z лит а);

арг Хa, Ya, Хb, Yb, Хс, Yс. Хd, Yd;

рез z, a;

нач

действ S1, S2, S3, S4

вычислить значение S1, равное площади тр-ка АВС;

вычислить значение S2, равное площади тр-ка ABD;

вычислить значение S3, равное площади тр-ка ACD;

вычислить значение S4, равное площади тр-ка СDВ;

если S1 = S2+S3+S4

то z := 1, а := "точка внутри треугольника"

иначе z := 0, а := "точка вне треугольника"

все

напечатать значение а:

кон

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

Пример. Составить программу перевода температуры из градусов Цельсия в градусы Форенгейта на языке Бейсик.

PRINT "Перевод температуры из град. Цельсия в град. Форенгейта"

6 PRINT "Укажите температуру в град. Цельсия"

INPUT С

IF С = 99999 THEN 7

F=C*1.8+32

PRINT С, F

GOTO 6

7 END

3 . Для графического изображения алгоритмов используются графические символы. Наиболее распространенными являются блочные символы (блоки), соединяемые линиями передач управления. Графическая запись алгоритма является наиболее наглядной (рис. справа). Схемы могут быть представлены также в виде структограмм или по имени их авторов, диаграммами Нэсси – Шнейдермана (рис. слева).

5.3. Блок-схемы алгоритмов. Графические символы

Блок-схема – это ориентированный граф, вершины которого могут быть одного из трех типов.

Функциональная вершина представляет функцию f: XY. Предикатная вершина представляет функцию-предикат p: X(T, F). Иначе логическое выражение, передающее управление по одной из двух ветвей. Объединяющая вершина представляет передачу управления от одной из двух входящих ветвей к одной выходящей ветви.

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

П редикатная вершина изображается ромбом (рис. слева), внутри которого записывается проверяемое условие. В результате проверки выбирается один из двух путей вычислительного процесса. Если условие выполняется (ДА, +, 1), то следующим выполняется этап по стрелке ДА. Если условие не выполняется (НЕТ, -, 0), то - этап по стрелке НЕТ.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]