Дано: R, радиус круга.
Требуется: S, площадь руга.
Связь: S=3.14R2.
Запишем алгоритм словесно (на русском языке). То есть запишем последовательность команд, выполнение которых позволит при заданном значении радиуса круга найти его площадь:
Прочесть (получить) значение R. (ВВОД ДАННЫХ)
Присвоить переменной S значение выражения 3,14*R*R. (КОМАНДА ПРИСВАИВАНИЯ)
Записать (вывести) полученное значение S. (ВЫВОД РЕЗУЛЬТАТА)
Короче можно записать так:
Прочесть значение R
S:= 3,14*R*R
Записать значение S
Знак ":=" означает "присвоить". Запись А:=А+2 в программировании она означает команду присваивания. Сначала исполнитель вычисляет значение выражения, стоящего в правой части, а затем полученное значение присваивает переменной, стоящей в левой части. Например, после выполнения команд х:=3; х:=х*5 переменная х примет значение 15.
Графическая форма представления основана на замене типичных алгоритмических команд определенными геометрическими фигурами.
Блок ввода
Блок вычисления
|
|
Блок вывода
Разветвляющиеся алгоритмы. Команда ветвления.
Существует широкий круг задач, при решении которых необходимо сделать определенный выбор в зависимости от выполнения некоторых условий. Процесс решения таких задач описывается алгоритмом, тип которого определяется как ветвящийся (разветвляющийся). В разветвляющихся алгоритмах принцип линейного автоматического перехода от команды к команде, от действия к действию в порядке естественного следования не является всеобщим, так как иногда возникает необходимость произвольного перехода к предписанию, то есть нарушения линейности переходов. Ветвящиеся алгоритмы допускают два способа представления - графический и словесный.
При графическом представлении алгоритма ветвление (развилка, выбор дальнейших действий) организуется с помощью логического элемента (ромб с записанным внутри условием), имеющего один вход и несколько (в простейшем случае - два) выходов. Назначение логического элемента - проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь "Да" или "Нет". Пример:
Задача: вычислить y=|x|.
Дано: х – значение аргумента.
Требуется: у – значение функции. Связь: y =
Словесное представление:
Прочесть значение x.
Если х>=0 то
y:= х
иначе
у:=– х
Конец ветвления
Записать значение у
Упражнение. Какое значение примет Z в результате выполнения алгоритма
X:=3; Y:=4
ЕСЛИ X>Y, ТО Z:=X*X+Y
ИНАЧЕ Z:= Y*Y+X
Конец ветвления
Z:=2*Z
Вид получившейся графической схемы объясняет, почему алгоритм, соответствующий ей, назвали ветвящимся. Кроме того, на схеме наглядно проявляется важное свойство ветвящихся алгоритмов: их исполнение всегда проходит только по одному из возможных путей, который определяется конкретными текущими условиями, причем в каждом случае от начала алгоритма (входа) до его конца (выхода). Это свойство присуще всякому логически правильно составленному алгоритму и является признаком правильной организации ветвлений.
|
|
Составляя алгоритм решения задачи о вычислении абсолютной величины заданного значения переменной, мы получили так называемую полную условную конструкцию. Общий вид полной условной конструкции, реализующей ветвление при графическом представлении алгоритма, изображен на рисунке
Здесь Q - проверяемое условие; P1, P2, …, Pn - действия, которые должны быть выполнены в случае истинности условия Q (положительная ветвь ветвления); T1, T2, …, Tm - действия, выполняемые, если условие Q ложно (отрицательная ветвь ветвления).
При словесном представлении алгоритма полная условная конструкция реализуется командой ветвления вида:
Если Q то
P1
P1
…
Pn
иначе
T1
T2
…
Tm
Конец ветвления
Циклические алгоритмы. Команда повторения
При составлении алгоритмов решения достаточно большого круга задач нередко возникает потребность в неоднократном повторении одних и тех же команд. Алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов), называется циклическим.
Однако "неоднократно" не значит "до бесконечности". Организация циклов, никогда не приводящая к остановке в выполнении алгоритма (так называемое "зацикливание"), является нарушением требования его результативности - получения результата за конечное число шагов.
Рассмотрим графическое представление циклического блока алгоритма. В него входят в качестве базовых следующие структуры: логический элемент с проверкой условия Р и блок S, называемый телом цикла. Здесь тело цикла S расположено после проверки условия Р (цикл с предусловием), поэтому может случиться, что при определенных условиях блок S не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называется цикл-пока. При словесном представлении алгоритма команда, организующая повторение в цикле-пока имеет вид: