Средства записи алгоритмов
Способ записи алгоритма в значительной степени определяется тем, для какого исполнителя предназначен алгоритм. Если он выполняется человеком, на первое место выдвигаются понятность и наглядность. Если алгоритм предназначен для машины, автомата, то необходима жесткая формализация. На практике в информатике наиболее часто используются три способа записи алгоритма. Рассмотрим их более подробно. 1-й способ: естественная (словесная) запись алгоритма. Запись на обычном языке общения, ориентированная на исполнителя - человека. Отдельные этапы алгоритма обычно нумеруются. Примеры.
2-й способ: запись алгоритма в графической форме. Обычно под этим понимается изображение алгоритма в виде блок-схемы. Блок-схема (flowchart) - подробное графическое представление алгоритма, в котором упор сделан на логические взаимосвязи и осуществляемые элементарные операции. Состоит из ряда блоков различной формы, соединенных совокупностью направленных связей. Связь показывает направление передачи управления в алгоритме, а форма блока характеризует особенности выполняемого действия.
Существуют международные стандарты на изображение графических символов, входящих в структуру блок-схемы. Например,
- пуск и останов (начало и конец алгоритма)
![]()
начало
вывод y
конец
К графическому способу можно отнести представление алгоритма с помощью структурограммы, что будет рассмотрено в дальнейшем.
3-й способ: запись алгоритма на конкретном языке программирования. Организация такой записи оставляет основной смысл следующего, четвертого этапа решения задач на ЭВМ.
4 этап. Очевидно, что алгоритм решения задачи, предназначенный для исполнения на ЭВМ, должен быть записан на понятном компьютеру языке, языке программирования. Язык программирования - формализованный язык (набор символов и система правил образования и истолкования конструкций из этих символов), предназначенный для описания алгоритмов решения задач на ЭВМ. Деятельность, включающая в себя запись алгоритма решения на конкретном языке программирования, а также выбор структуры используемых в ходе решения данных, называют программированием. Результатом такой деятельности является программа. Программа - упорядоченная последовательность предложений языка программирования (инструкций), описывающих алгоритм решения задачи. Очевидно, что каждое предложение программы должно заставлять компьютер выполнять определенную последовательность действий. При решении задач на ЭВМ 1-го поколения (40-e и начало 50-х годов XX века) программы записывались на т. н. машинном языке. Это означает, что каждая инструкция программы записывалась на языке внутреннего кодирования информации, т. е. чаще всего представляла последовательность нулей и единиц. Такое программирование: а) очень трудоемко; б) не наглядно (трудно понять по тексту программы, что она, собственно, делает); в) не эффективно (для выполнения одного и того же алгоритма на ЭВМ с различной архитектурой приходится создавать разные программы). Поэтому в середине 50-х годов появились первые языки программирования, использующие символику, близкую общепринятой математической. К настоящему времени число таких языков едва ли не превышает сотню. Одни из этих языков сохранили машинную ориентацию и предназначены для символической записи машинных команд. Их часто называют машинозависимыми (автокод, ассемблер). Другие языки создавались с ориентацией на программиста, а не на возможности конкретной ЭВМ. Они относятся к машинонезависимым, или языкам программирования высокого уровня. Одни из таких языков создавались для решения задач определенного класса (например, Фортран - для решения научно-технических задач, Кобол – экономических, Си - для написания операционных систем и т. д.). Их иногда называют процедурно-ориентированными. Другие, рассчитанные на решение широкого класса задач, считают универсальными языками (ПЛ/1, Паскаль, Ада). Таким образом, можно предложить следующую схему:
языки программирования / низкого уровня высокого уровня / (машинонезависимые) / /
Ассемблер – язык символического кодирования, в котором один оператор соответствует одной команде машинного языка. Следует отметить, что именно с появлением языков программирования высокого уровня появилась возможность привлечь к разработке программ непосредственно их заказчиков.
Пример фрагмента программы, в котором перемножаются числа 2 и 3, на различных языках:
Cуществует ряд требований к тексту программы: 1) программа должна иметь название, раскрывающее смысл решаемой задачи; 2) следует обозначать начало и конец выполнения алгоритма; 3) вводимые величины должны быть снабжены описаниями типа величин; 4) необходимо указать и описать величины, являющиеся результатом работы программы, и т. д.
Пример листинга программы вычисления выражения y = x*x + 2x - 5 для значения х = 7, записанного на языке Си: /* однократный просчѐт выражения*/ #include <stdio.h> main() { float x,y; x=7.0; y=x*x+2*x-5; printf(“x = \%3.1f y = \%6.4f ”,x,y); }
|
|