- •Раздел 3. Технические средства информационных технологий Лекция 10. Понятие и свойства алгоритма. Принцип программного
- •1. Понятие алгоритма и его свойства. Способы записи алгоритмов.
- •2. Принцип программного управления.
- •1 Понятие алгоритма и его свойства.
- •1.1 Понятие алгоритма. Основные свойства алгоритма
- •1. 2 Способы записи алгоритмов
- •2 Принцип программного управления
- •2.1 Структура и система команд эвм
- •2.2 Принцип программного управления
1. 2 Способы записи алгоритмов
Алгоритм должен быть понятен и пользователю, и машине. Причем в качестве пользователя может выступать не только разработчик (автор алгоритма), но и любой, кто захочет воспользоваться алгоритмом в своих целях. Доступность пользователю будет обеспечена, если алгоритм отображается посредством конкретных формализованных изобразительных средств. В качестве таких изобразительных средств используются следующие способы записи алгоритмов: словесный; формульный; табличный; операторный (в терминах алгоритмического языка); графический; макроязык программирования.
При словесном способе записи содержание последовательных этапов алгоритма описывается в произвольной форме на естественном языке.
Формульный способ основан на строго формализованном аналитическом задании необходимых для исполнения действий.
Табличный способ подразумевает отображение алгоритма в виде таблиц, использующих аппарат реляционного исчисления и алгебру логики для задания подлежащих исполнению взаимных связей между данными, содержащимися в таблице.
Операторный способ базируется на использовании для отображения алгоритма условного набора специальных операторов: арифметических (А), логических (Р), печати (П), ввода данных (В) и т. д.; операторы снабжаются индексами и между ними указываются необходимые переходы, а сами индексированные операторы описываются чаще всего в табличной форме.
Графическое отображение алгоритмов в виде блок-схем — самый распространенный способ. Графические символы, отображающие выполняемые процедуры, стандартизованы. Наряду с основными символами используются и вспомогательные, поясняющие процедуры и связи между ними.
Алгоритмы могут быть записаны и в виде команд какого-либо языка программирования. Если это макрокоманды, то алгоритм читаем и пользователем-программистом, и вычислительной машиной, имеющей транслятор с соответствующего языка.
Языки, представляющие алгоритмы в виде последовательности читаемых программистом (не двоично-кодированных) команд, называются алгоритмическими языками. Алгоритмические языки подразделяются на машинно-ориентированные, процедурно-ориентированные и проблемно-ориентированные.
Машинно-ориентированные языки относятся к языкам программирования низкого уровня — программирование на них наиболее трудоемко, но позволяет создавать оптимальные программы, максимально учитывающие функционально-структурные особенности конкретного компьютера. Программы на этих языках, при прочих равных условиях, будут более короткими и быстрыми. Кроме того, знание основ программирования на машинно-ориентированном языке позволяет специалисту подробнейшим образом разобраться с архитектурой компьютера. Именно последнее в большей степени и обусловливает целесообразность ознакомления с машинно-ориентированным языком, каковым и является язык ассемблер, при изучении вычислительных систем. Большинство команд машинно-ориентированных языков при трансляции (переводе) на машинный (двоичный) язык генерируют одну машинную команду.
Понятно, что ЭВМ может понять только алгоритм, представленный с помощью алгоритмического языка низкого уровня. Для человека же наиболее наглядным и удобным является графический способ представления алгоритма. Он позволяет отобразить структуру алгоритма в виде графической схемы.
Чаще всего используются два способа графического изображения алгоритмов – блок-схемы и структурограммы Насси-Шнейдермана. При этом наиболее удобными и, следовательно, наиболее применяемыми являются блок-схемы.
Блок-схема алгоритма представляет собой совокупность геометрических фигур, помеченных порядковыми номерами и соединенных между собой связями (линиями потока), отражающими последовательность выполнения действий.
Геометрические фигуры называют блоками. Каждый блок имеет определенное смысловое значение и отображает некоторый этап решения задачи. Начертание блоков, их размеры и отображаемые ими функции определены соответствующим ГОСТом. Это обеспечивает однозначность записи и чтения алгоритма. Наглядность и обозримость блок-схемы, целостность восприятия, однозначность в отображении вычислительного процесса облегчают чтение алгоритма, проверку его правильности и внесение изменений.
Рассмотрим графические знаки основных блоков, применяемых в блок-схемах алгоритмов.
1 . Для обозначения начала или окончания алгоритма используют блоки, именуемые НАЧАЛО-КОНЕЦ (рисунок 1).
а) б)
Рисунок 1 – Графические знаки блоков группы НАЧАЛО-КОНЕЦ:
а) пуск; б) останов
2. Процесс преобразования данных в форму, пригодную для обработки в ЭВМ или для отображения результатов обработки, изображается с помощью блока ВВОД-ВЫВОД данных (рисунок 2).
Рисунок 2 – Графический знак блока ВВОД-ВЫВОД
3. Блок, в котором происходит обработка данных (выполнение операции или группы операций) или просто размещение данных в ячейки памяти без предварительной обработки (например, у = 5, у = 2 х + 3 и т. д.), носит название ПРОЦЕСС (или БЛОК ДЕЙСТВИЯ) (рисунок 3).
Рисунок 3 – Графический знак блока ПРОЦЕСС
4. Процесс выбора направления выполнения алгоритма в зависимости от некоторых переменных условий изображается с помощью блока РЕШЕНИЕ (рисунок 4), имеющего один вход и два выхода.
Рисунок 4 – Графический знак блока РЕШЕНИЕ
5. Если в алгоритме предполагается использование ранее созданных и отдельно описанных алгоритмов или программ (подпрограмм), то применяют блок вызов вспомогательного алгоритма (рис. 5).
Рисунок 5 – Графический знак блока вызов вспомогательного
алгоритма
6. Если блок-схема алгоритма вычислительного процесса занимает много места и требуется переносить часть блок-схемы на другой лист (или в другое место на том же листе), то используется блок с названием СОЕДИНИТЕЛЬ (рисунок 6). Внутри блока указывается номер того блока, к которому (от котор ого) ведет разорванная линия потока.
Рисунок 6 – Графический знак блока СОЕДИНИТЕЛЬ
7. На блок-схему алгоритма можно выносить различные текстовые фрагменты, поясняющие тот или иной блок (действие). Для этого используется блок КОММЕНТАРИЙ (рисунок 7).
Рисунок 7 – Графический знак блока КОММЕНТАРИЙ
Мы рассмотрели, как изображаются на блок-схемах алгоритмов наиболее часто используемые блоки. При составлении алгоритмов сложных вычислительных процессов могут быть использованы и другие блоки, предусмотренные ГОСТом.