Условные графические обозначения в схемах алгоритмов.
1. Пуск-останов. Начало, конец алгоритма
2. Процесс Действие, вычислительная
операция
| |||||
| |||||
3. Решение Проверка условий
4. Предопределенный Вычисления по подпрограм.
Процесс стандартной программе
5. Ввод-вывод Ввод-вывод в общем виде
|
7. Модификация Начало цикла
Блок-схема алгоритма нахождения максимального из двух значений.
Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединить в один блок.
Блок «решение» используется для обозначения переходов управления по условию.
Блок «модификация» используется для организации циклических конструкций (модификация – видоизменение, преобразование).
Внутри блока записывается размер цикла, для которого указывается его начальное значение, граничное условие и шаг применения значения параметра для каждого повторения.
Блок «предопределенный процесс» используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.
Программное представление алгоритма.
Записи алгоритма в словесной форме и в виде блок-схемы позволяют человеку понять суть дела и исполнить алгоритм.
Однако на практике в качестве исполнителей алгоритмов используются автоматы (станки с ЧПУ) или компьютеры. Поэтому алгоритм, предназначенный для исполнения автоматическим устройством или компьютером должен быть записан на понятном ему языке.
Здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.
Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке – программой для компьютера.
ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Какими бы совершенными ни были электронно-вычислительные машины, без набора соответствующих программ компьютеры превращаются в бесполезную груду стекла, пластмассы и металла. Успех применения ЭВМ в любой области человеческой деятельности зависит прежде всего от того, есть ли в наличии программы для решения возникающих задач и насколько эти программы совершенны.
Поскольку ЭВМ применяются для решения все новых и новых задач, программное обеспечение(ПО) постоянно развивается. Совершенствование ПО можно сравнить с ростом дерева.
"Корень дерева" — это аппаратные средства; именно они определяют возможности ЭВМ и круг задач, которые можно решить с помощью данной машины.
"Надземная часть дерева" - это математическое обеспечение, которое включает в себя:
"Ствол и крона дерева" — программное обеспечение и "листья" - информация, связанная с использованием этих программ.
По мере роста дерева усиливается его корневая система (аппаратные средства), появляются все новые и новые "ветви" г программы нового назначения, а также "листья" — информация к ним.
Современные ЭВМ - это не только комплекс технических устройств, но и приложенный к нему, как его основная часть, заранее разработанный комплект программ.
Этот комплект программ образует так называемое математическое обеспечение(МО). По современным оценкам, доля математического обеспечения (т.е. всего того, что не является аппаратурой) составляет в среднем 80% от общей стоимости компьютерного продукта.
Иногда бывает ситуация, когда, не зная, как решить ту или иную задачу, человек думает: "Надо заложить в ЭВМ, и пусть она посчитает". Это говорит о том, что не все понимают, что можно, а чего нельзя ждать от компьютера и почему нельзя. А компьютер может делать лишь то, что осмыслил человеческий разум. Необходимо запомнить главное:
"Ум" компьютера - это ум человека, воплощенный в программе.
Мы уже знаем, что алгоритм, записанный на языке программирования, называется программой.А что же мы понимаем под языком программирования?
ЯЗЫК ПРОГРАММИРОВАНИЯ - это совокупность набора символов (алфавит) системы, правил образования (синтаксис) и истолкования конструкций из символов (семантика) для задания алгоритмов с использованием символов естественного языка.
Именно для удобного решения задач с помощью ЭВМ искусственно и создавались языки программирования. Естественным же языком, который "понимает" компьютер, является машинный. Машинный язык- это такой язык, который компьютер воспринимает непосредственно, то есть это язык машинных команд данной модели компьютера. А мы уже знаем, что ЭВМ "понимают" только язык двоичных знаков: нулей и единиц.
Процесс описания конкретного алгоритма на языке машинных команд называется программированием в машинных кодах.Для выполнения этой работы программист должен знать коды всех машинных операций, назначение и особенности применения каждой из них, также помнить адреса конкретных ячеек памяти, хранящие те или иные операции. Процесс разработки такой программы чрезвычайно трудоемок и непроизводителен. Поэтому для своего облегчения программисты придумали язык, переводящий символические имена в машинные коды. Ведь гораздо легче запомнить какое-то ключевое слово, чем соответствующий ему двоичный код. Такие программы, работающие с помощью мнемонических (символьных) обозначений, называют ассемблерами.Они и сейчас находят широкое применение, особенно при разработке эффективных, быстродействующих программ.
Именно такие машинные и полумашинные языки программирования относят к языкам низкого уровня.Их еще называют машинно-ориентированными языками(сюда относят и автокод).
В 1955 г. появился первый язык высокого уровня. Программы, написанные на таком языке, представляли собой набор уже не отдельных машинных команд, а более крупных элементов, называемых операторамиданного языка. На языке высокого уровня исходная программа состояла из последовательности операторов.
Именно такие языки и ориентированы на описание алгоритмов. Поэтому их еще называют алгоритмическими языками.
Все алгоритмические языки отличаются прежде всего наглядной формой реализации алгоритма в виде программы, поскольку используют привычную математическую символику и ограниченный набор понятных ключевых слов. Основным достоинством алгоритмических языков является их универсальность, то есть независимость от конкретного типа машин (машинно-независимые языки).
Поскольку машина "понимает" - только свой машинный язык, программа на алгоритмическом языке перед выполнением переводится на этот язык с помощью специальной программы - транслятора,название которой происходит от английского слова translator (переводчик). В программе-трансляторе "заложены" все правила алгоритмического языка и способы преобразования различных его конструкций на машинный язык.
Существуют два способа трансляции:
1. ИНТЕРПРЕТАЦИЯ (Interpretation) - метод выполнения в ЭВМ программы, заданной на языке программирования, при котором инструкция исходной программы переводится и сразу выполняется.