- •Исполнитель и свойства алгоритма
- •Словесная запись алгоритмов
- •Блок-схемы алгоритмов
- •Структура записи алгоритма
- •Стандартные типы величин
- •Числовые величины
- •Литерные величины
- •Операция присваивания
- •Ветвления и условные выражения
- •Комбинирование базовых структур
- •Метод пошаговой детализации
- •Вспомогательные алгоритмы (подалгоритмы)
Блок-схемы алгоритмов
Наиболее наглядной формой записи алгоритмов являются блок-схемы, состоящие из геометрических фигур - блоков. Каждый блок отвечает определенному действию. Например, запись алгоритма начинается и заканчивается следующими блоками:
Эти элементы называются блоками начала и конца алгоритма. Стрелки обозначают направление выполнения алгоритма. Блок Начало имеет одну выходящую стрелку, а блок Конец - одну входящую стрелку.
В алгоритмах часто встречаются команды ввода и вывода значений. Этим командам отвечают блоки ввода-вывода:
Здесь левый блок обозначает ввод величины X, а правый блок - вывод Y. С помощью приведенных выше блоков вы можете составить простейший алгоритм ввода величины X:
Согласно этому алгоритму в программу вводится значение величины X. Однако программа, состоящая только из операции ввода, вряд ли имела бы смысл. Обычно над введенной величиной выполняются определенные действия, которые обозначаются прямоугольными (операторными) блоками вида:
Внутри прямоугольников записаны выражения, выполняемые над величинами. Левый блок обозначает присваивание переменной х значения суммы х+1. Правый блок отвечает нахождению разности X-Y и присваиванию значения разности переменной Z. Операторные блоки могут иметь несколько входов и только один выход. Запишем простейший алгоритм вычисления квадрата некоторого числа:
Согласно этому алгоритму выполняется ввод величины Х, затем вычисляется квадрат этой величины (произведение Х*Х) и выводится полученное значение.
Все приведенные выше блоки позволяют организовать последовательное выполнение инструкций алгоритма. Однако на практике часто возникают ситуации, когда в зависимости от выполнения какого-либо условия требуется изменить последовательный ход вычислений. Примером такого условия является неравенство Х≥0 в алгоритме нахождения модуля числа X. В схему алгоритма логическое условие вводится с помощью условного блока. Этот блок принято изображать в виде ромба с одним входом и двумя выходами:
Если условие, указанное на изображении блока, выполняется (условие имеет значение Истина), то происходит переход по стрелке Да, если не выполняется (значение Ложь) - по стрелке Нет. Благодаря условному блоку вычислительный процесс как бы разветвляется, то есть условный блок используется для организации ветвления.
Приведем как пример алгоритм вычисления модуля числа (рис. 1). Запись этого алгоритма ограничивают блоки начала и конца алгоритма. За блоком начала алгоритма следует блок ввода значений х, а за ним - условный блок. В условном блоке выполняется проверка условия х≥0 и в результате проверки осуществляется переход по одной из ветвей Да или Нет. На каждой из ветвей находится операторный блок присваивания значений переменной Y. После операции присваивания ветви алгоритма сходятся, и следующая инструкция алгоритма содержится в блоке вывода полученного значения Y.
Учебный алгоритмический язык
Словесная запись алгоритма более подходит для исполнителя - человека. Если же исполнителем является компьютер, то алгоритм нужно записывать с помощью инструкций, которые легко переводятся на язык программы. Однако прежде чем составлять программу, учащимся обычно рекомендуется построить алгоритм решения и описать его на учебном алгоритмическом языке. Рассмотрим основные компоненты учебного алгоритмического языка или, как его иначе называют, алгоритмической нотации (слово «нотация» понимается как «обозначение»).
Алфавит
Алфавит учебного алгоритмического языка ничем не ограничен: он может быть как английским, так и украинским. В него могут быть введены любые понятные всем символы: знаки арифметических операций (+, -, *, /), знаки отношений (=,>,< и т.д.), специальные знаки и проч. То есть алфавит учебного алгоритмического языка является открытым.
Кроме алфавита, в алгоритмической нотации определяются служебные слова, которые являются неделимыми. К служебным словам относятся:
алг – заголовок алгоритма; нач – начало алгоритма; кон – конец алгоритма; арг – аргумент; |
рез – результат; чит – чтение (ввод); зап – запись (вывод); если, то, иначе – условные инструкции; |
и другие. Служебные слова обычно выделяются полужирным шрифтом или подчеркиванием. Смысл многих из этих слов будет вам понятен из дальнейшего изложения.
