Представление алгоритмов на языке программирования

Способы представления алгоритмов

Алгоритмом (algorithm) называют чёткое описание последовательности действий, направленных на решение конкретной задачи. О важности и типах алгоритмических последовательностей сказано уже немало. В этой статье пойдёт речь о способах их представления при записи алгоритмов.

Словесный способ

Можно представить ситуацию туристического посещения незнакомого города. Когда вы спрашиваете, как пройти в интересующее место, вам объясняют, что надо через 100 метров повернуть направо, потом пройти прямо, пока не увидите перед собой здание кинотеатра, далее потребуется перейти дорогу, повернуть налево и не сворачивая идти до нужного объекта.

Все эти примеры можно назвать словесным способом представления. У такого способа есть недостаток: отсутствие наглядности выполнения процесса и чёткой формализации объектов алгоритма.

Формульно-словесный способ

При использовании формульно-словесного способа инструкции задаются более чётко. Этот тот случай, когда словесные пояснения сопровождаются перечнем конкретных действий, плюс эти пояснения характеризуются наличием формальных символов и выражений (формул).

Для примера составим формульно-словесный алгоритм вычисления выражения: z=2∙x–(y+6): • вводим значения х и y; • находим сумму (y+6); • находим произведение (2∙x); • вычисляем z как разность уже полученных выше значений: z=2∙x–(y+6); • выводим z как результат вычисления выражения.

Это более компактный и лаконичный метод, он нагляднее, но всё же строго формальным не является.

Табличный способ

В случае применения табличного метода алгоритм задаётся в виде входных данных: расчётных форм и таблиц. Способ широко применяется в экономических расчетах. Исходные данные, как и результаты, заносятся в заголовки столбцов используемой таблицы. Простейший пример такого способа представления — та же таблица умножения:

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Графический способ

Этот метод ещё называют способом блок-схем. В данной ситуации каждый этап прохождения алгоритма представляется в виде геометрических фигур — так называемых «блоков», причём конкретная форма фигур зависит от выполняемой операции. Существует стандарт, регламентирующий размеры используемых графических блоков, а также их отображение, функции, формы и взаимное расположение. Направление работы алгоритма показывают линии соединения блоков.

Другое название способа — визуальное представление. При проектировании алгоритмов, представленных графически, придерживаются ряда правил: • в начале алгоритма располагаются блоки ввода значений (входные данные); • после ввода значений располагаются блоки обработки и блоки условия; • алгоритм завершается блоками вывода значений, полученных в результате работы алгоритма (выходные данные); • должен быть лишь один блок начала и один — окончания; • межблочная связь указывается линиями (направленными либо ненаправленными); • вычислительные формулы, данные и логические выражения размещаются внутри соответствующих блоков; • возможно наличие комментариев в виде выносок.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Графический способ представления имеет практическое значение и используется не только в случае программирования. Его применяют при составлении информационных и структурных схем, инфографики и в иных ситуациях, когда нужно обеспечить чёткую визуализацию данных и графически отобразить последовательность расположения объектов алгоритма.

Создание блок-схемы алгоритма — важный и нужный этап решения поставленной задачи. Но при некоторых обстоятельствах этот этап можно считать промежуточным, так как в таком виде описанный алгоритм невозможно выполнить средствами ЭВМ. Зато графический способ представления значительно облегчает процесс дальнейшего создания компьютерной программы. О ней ниже.

Программный способ (текстовая запись)

Программа представляет собой алгоритм, который записан как последовательность команд. Речь идёт о командах, понятных компьютеру, для чего используются различные языки программирования, представляющие собой системы кодирования предписаний с правилами их применения. Языки программирования характеризуются строго определённым синтаксисом, то есть свободное толкование конструкций не допускается.

В случае программного способа представления алгоритмическая последовательность записывается в виде компьютерной программы с высокой степенью формализации. В результате появляется возможность решать прикладные задачи.

Пример — простейший алгоритм сложения 2-ч чисел, который записан средствами языка программирования Qbasic:

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

О взаимодополнении способов представления

Способы, представленные выше, нередко являются взаимодополняемыми: — на этапе обсуждения используются словесные и словесно-формульные способы; — на этапе проектирования рекомендуется использовать графические алгоритмы (графическое представление); — на этапе проверки возможно табличное описание; — на этапе непосредственного применения и решения прикладных задач используют текстовую запись, представленную в виде компьютерной программы.

Источник

Алгоритмы и величины

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Этапы решения задачи на компьютере

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияРабота по решению любой задачи с использованием компьютера делится на следующие этапы:

Часто эту последовательность называют технологической цепочкой решения задачи на компьютере. Непосредственно к программированию в этом списке относятся пункты 3, 4, 5.

На этапе постановки задачи должно быть четко определено, что дано и что требуется найти. Здесь очень важно определить полный набор исходных данных, необходимый для решения задачи.

Второй этап — формализация задачи. Здесь чаще всего задача переводится на язык математических формул, уравнений, отношений. Если решение задачи требует математического описания какого-то реального объекта, явления или процесса, то формализация равносильна получению соответствующей математической модели.

Третий этап — построение алгоритма. Опытные программисты часто сразу пишут программы на языках программирования, не прибегая к каким-либо специальным способам описания алгоритмов (блок-схемам, псевдокодам). Однако в учебных целях полезно использовать эти средства, а затем переводить полученный алгоритм на язык программирования.

Первые три этапа — это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Последний (шестой) этап — это уже использование разработанной программы в практических целях. Выполнение учебных заданий на программирование обычно заканчивается пятым этапом, т. е. доказательством правильности составленной программы.

Таким образом, программист должен обладать следующими знаниями и навыками:

• уметь строить алгоритмы;
• знать языки программирования;
• уметь работать в соответствующей системе программирования.

Основой программистской грамотности является развитое алгоритмическое мышление.

Понятие алгоритма

Одним из фундаментальных понятий в информатике является понятие алгоритма. Сам термин «алгоритм» пришел из математики. Это слово происходит от «Algorithmi» — латинского написания имени Мухамеда аль-Хорезми (787-850 гг.), выдающегося математика средневекового Востока. В XII веке был осуществлен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами. Сложение, вычитание, умножение «столбиком», деление «уголком» многозначных чисел — вот первые алгоритмы в математике. Правила алгебраических преобразований, вычисление корней уравнений также можно отнести к математическим алгоритмам.

В наше время понятие алгоритма трактуется шире.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияАлгоритм — это последовательность команд управления каким-либо исполнителем.

В школьном курсе информатики с понятием алгоритма, с методами построения алгоритмов ученики впервые знакомятся на примерах учебных исполнителей: Робота, Черепашки, Чертежника и др. В учебнике для 9 класса описан графический исполнитель — ГРИС. Эти исполнители ничего не вычисляют. Они создают рисунки на экране, перемещаются в лабиринтах, перетаскивают предметы с места на место. Таких исполнителей принято называть исполнителями, работающими в обстановке.

В разделе информатики под названием «Программирование» изучаются методы программного управления работой компьютера. Следовательно, в качестве исполнителя выступает компьютер. Он работает с величинами — различными информационными объектами: числами, символами, кодами и пр. Поэтому алгоритмы, предназначенные для управления компьютером, принято называть алгоритмами работы с величинами.

Данные и величины

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияСовокупность величин, с которыми работает компьютер, принято называть данными.

По отношению к программе данные делятся на исходные, результаты (окончательные данные) и промежуточные данные, которые получаются в процессе вычислений (рис. 3.1).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Для успешного освоения программирования необходимо усвоить следующее правило: всякая величина занимает свое определенное место в памяти компьютера. Иногда говорят — ячейку памяти. Хотя термин «ячейка», с точки зрения архитектуры современных компьютеров, несколько устарел, однако в учебных целях его удобно использовать.

У всякой величины имеются три основных свойства: имя, значение и тип. На уровне команд процессора величина идентифицируется адресом ячейки памяти, в которой она хранится. В алгоритмах и языках программирования величины делятся на константы и переменные. Константа — неизменная величина, и в алгоритме она представляется собственным значением, например: 15, 34.7, ‘k’, true. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами — идентификаторами, например: X, S2, cod15. Любая константа или переменная занимают ячейку памяти, а значение этих величин определяется двоичным кодом в этой ячейке.

Теперь о типах величин — типах данных. С понятием типа данных вы уже встречались, изучая в курсе информатики основной школы электронные таблицы и базы данных. Это понятие является фундаментальным для программирования.

В каждом языке программирования существует своя концепция типов данных, своя система типов. Однако в любой язык входит минимально необходимый набор основных типов данных, к которому относятся целый, вещественный, логический и символьный типы. С типом величины связаны три ее свойства: множество допустимых значений, множество допустимых операций, форма внутреннего представления. В таблице 3.1 представлены эти свойства основных типов данных.

Типы констант определяются по контексту (т. е. по форме записи в тексте), а типы переменных устанавливаются в описаниях переменных.

Есть еще один вариант классификации данных: классификация по структуре. Данные делятся на простые и структурированные. Для простых величин (их еще называют скалярными) справедливо утверждение: одна величина — одно значение. Для структурированных: одна величина — множество значений.

К структурированным величинам относятся массивы, строки, множества и др.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияКомпьютер — исполнитель алгоритмов.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя, в рамках его системы команд. О каком же исполнителе идет речь в теме «Программирование обработки информации»? Ответ очевиден: исполнителем является компьютер. Точнее говоря, исполнителем является комплекс: компьютер + система программирования (СП). Программист составляет программу на том языке, на который ориентирована СП. Схематически это изображено на рис. 3.2, где входным языком исполнителя является язык программирования Паскаль.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на компьютере может быть составлен из команд:

• присваивания;
• ввода;
• вывода;
• обращения к вспомогательному алгоритму (подпрограмме);
• цикла;
• ветвления.

Для описания алгоритмов в дальнейшем мы будем использовать блок-схемы и учебный Алгоритмический язык, применяемый в школьном курсе информатики.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Вопросы и задания

1. Перечислите и охарактеризуйте этапы решения задач на компьютере.

2. Дайте определение алгоритма.

3. Что такое «система команд исполнителя алгоритмов» (СКИ)?

4. Какими возможностями обладает компьютер как исполнитель алгоритмов?

5. Назовите команды, входящие в СКИ компьютера, из которых составляется любая программа обработки данных.

6. Перечислите различные варианты классификации данных.

7. Придумайте пример задачи, решаемой на компьютере, и назовите для нее исходные, промежуточные и итоговые данные.

Структура алгоритмов

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Базовые алгоритмические структуры

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

С базовыми алгоритмическими структурами вы познакомились, изучая информатику в 9 классе. Там же для описания структур алгоритмов были использованы два способа: блок-схемы и учебный Алгоритмический язык (АЯ). Еще раз покажем, как изображаются базовые структуры в схемах алгоритмов и как они описываются на АЯ.

Следование — это линейная последовательность действий (рис. 3.3).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

В программе на Паскале серия — это либо один отдельный оператор, либо составной оператор: последовательность операторов, заключенная в операторные скобки. Например, в языке Паскаль операторными скобками являются служебные слова Begin и End.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияВетвление — алгоритмическая альтернатива. Управление передается одному из двух блоков в зависимости от истинности или ложности условия. Затем происходит выход на общее продолжение. Вот как изображается ветвление на блок-схеме и АЯ (рис. 3.4).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Условие представляет собой утверждение, которое может быть либо истинным, либо ложным. Такое утверждение называется логическим выражением.

Неполная форма ветвления имеет место, когда на ветви «нет» пусто (рис. 3.5).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияЦикл — повторение некоторой группы действий по условию. Различают два типа цикла. Первый — цикл с предусловием: цикл-пока (рис. 3.6).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Пока условие истинно, выполняется серия, образующая тело цикла.

Второй тип циклической структуры — цикл с постусловием: цикл-до (рис. 3.7).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Здесь тело цикла предшествует условию цикла. Тело цикла повторяет свое выполнение, если условие ложно. Повторение прекращается, когда условие становится истинным.

Теоретически необходимым и достаточным является лишь первый тип цикла — цикл с предусловием. Любой циклический алгоритм можно построить с его помощью. Это более общий вариант цикла, чем цикл-до. В самом деле, тело цикла-до хотя бы один раз обязательно выполнится, так как проверка условия происходит после завершения его выполнения. А для цикла-пока возможен такой вариант, когда тело цикла не выполнится ни разу. Поэтому в любом языке программирования можно было бы ограничиться только циклом-пока. Однако в ряде случаев применение цикла-до оказывается более удобным, и поэтому он используется.

Иногда в литературе структурное программирование называют программированием без GOTO — оператора безусловного перехода. Действительно, при таком подходе нет места безусловному переходу. Неоправданное использование в программе оператора GOTO лишает ее структурности, а значит, всех связанных с этим положительных свойств: прозрачности и надежности алгоритма. Хотя во всех процедурных языках программирования этот оператор присутствует, однако, с точки зрения структурного подхода, его употребления следует избегать.

Комбинации базовых структур

Сложный алгоритм состоит из соединенных между собой базовых структур. Соединяться эти структуры могут двумя способами: последовательным и вложенным.

Если блок, составляющий тело цикла, сам является циклической структурой, то имеют место вложенные циклы. В свою очередь, внутренний цикл может иметь внутри себя еще один цикл и т. д. В связи с этим вводится представление о глубине вложенности циклов. Точно так же и ветвления могут быть вложенными друг в друга.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Такие блок-схемы легко читаются. Их структура хорошо воспринимается визуально. Структуре каждого алгоритма можно дать название. Приведенные блок-схемы можно охарактеризовать следующим образом (в порядке номеров).

1. Вложенные ветвления. Глубина вложенности равна единице.
2. Цикл с вложенным ветвлением.
3. Вложенные циклы-пока. Глубина вложенности — 1.
4. Ветвление с вложенной последовательностью ветвлений на положительной ветви и с вложенным циклом-пока на отрицательной ветви.
5. Следование ветвления и цикла-до.
6. Вложенные циклы. Внешний — цикл-пока, внутренний — цикл-до.

Наглядность структуре описания алгоритма на АЯ придает структуризация внешнего вида текста.

Основной используемый для этого прием — сдвиги строк, которые должны подчиняться следующим правилам:

• конструкции одного уровня вложенности записываются на одном вертикальном уровне (начинаются с одной позиции в строке);
• вложенная конструкция записывается смещенной по строке на несколько позиций вправо относительно внешней для нее конструкции.

Для приведенных на рис. 3.8 блок-схем структура текста на АЯ должна быть следующей:

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Такой же способ структуризации используется и в текстах программ (например, на Паскале).

Структурное программирование — это не только форма описания алгоритма и программы, но это еще и способ мышления программиста. Размышляя над алгоритмом, нужно стремиться составлять его из стандартных структур. Если использовать строительную аналогию, то структурная методика построения алгоритма подобна сборке здания из стандартных секций, в отличие от складывания по кирпичику.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Вопросы и задания

1. Перечислите основные базовые алгоритмические структуры и покажите способы их отображения на блок-схемах и в АЯ.

2. Какой алгоритм называется структурным?

3. Нарисуйте блок-схемы и напишите на АЯ два варианта алгоритма решения задачи: выбрать из двух числовых величин наибольшее значение. Первый вариант — с полным ветвлением, второй вариант — с неполным ветвлением.

4. Нарисуйте блок-схемы и напишите на АЯ два варианта алгоритма решения задачи: выбрать из трех числовых величин наименьшее значение. Первый вариант — с вложенными ветвлениями, второй вариант — с последовательными ветвлениями.

Составьте блок-схему алгоритма решения и опишите его на АЯ.

Паскаль — язык структурного программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПредставление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияПрограммирование для ЭВМ — процесс создания программ управления работой компьютера.

Эволюция программирования

С изобретением программно управляемых вычислительных машин появилась новая профессия — программист. На ламповых ЭВМ первого поколения программисты составляли свои программы, используя непосредственно команды процессора. При этом программисту приходилось самому распределять ячейки памяти под данные и под команды программы. Нужно было знать систему команд процессора и коды всех команд. Исходные данные и команды представлялись в форме двоичного кода, т. е. непосредственно в том виде, в котором они хранились в памяти ЭВМ. Для сокращения записи программ на специальных бланках обычно использовали двоично-восьмеричный или двоично-шестнадцатеричный код. Вот пример команды программы для одного из компьютеров первого поколения:

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Такая команда называется трехадресной. Код 0216 относится к команде сложения. 1-й и 2-й адреса — это адреса ячеек ОЗУ, в которых хранятся слагаемые, 3-й адрес — адрес ячейки, куда заносится сумма. Сама команда хранится в ячейке ОЗУ с адресом 2816.

Программирование в машинных кодах представляло собой сложный процесс. По этой причине производительность работы программистов была довольно низкой. В 1950-х годах возникает направление, которое получило название «автоматизация программирования». Основная его цель — создание средств, облегчающих и ускоряющих процесс создания программы для ЭВМ. Появляются первые языки программирования.

Первыми языками программирования были машинно-ориентированные автокоды. Позднее за языками такого уровня закрепилось название ассемблеры. Первоначально ассемблером называли программу-переводчик с языка ассемблера в машинные команды. Позднее и сам язык ассемблера стали называть именем ассемблер. Программирование на ассемблере снимает с программиста заботу о распределении памяти под данные и команды программы. Программист не должен помнить внутренние коды всех команд процессора. Вот пример той же команды сложения на ассемблере (автокоде):

ADD а, Ь, с

Слово ADD обозначает команду «сложить», а и b — имена переменных-слагаемых, с — переменная, куда помещается результат.

Язык ассемблер называется машинно-ориентированным по той причине, что для каждой команды процессора существует свой аналог команды на ассемблере. Поскольку разные типы ЭВМ имели разные системы команд процессора, ассемблеры у них тоже отличались. Современные ассемблеры точно так же ориентированы на определенные типы процессоров. Позже появились так называемые макроассемблеры, в языке которых существуют макрокоманды, соответствующие сериям команд (подпрограммам) на языке процессора.

Составление программы на ассемблере проще, чем на языке команд процессора. Работу по распределению памяти под данные и команды, перевод команд ассемблера в машинные команды берет на себя специальная системная программа — транслятор.

Из машинной ориентированности программ на ассемблере следует, что такие программы нельзя переносить для исполнения на другие типы ЭВМ с другой системой команд процессора. Эта проблема создавала серьезные ограничения для прикладных программистов. Кроме того, само программирование на ассемблере является достаточно сложным для массового освоения, что ограничивало использование ЭВМ в прикладных областях.

Языки программирования высокого уровня

Следующим этапом развития программирования стало создание языков программирования высокого уровня — ЯПВУ. Примеры ЯПВУ: Паскаль, Бейсик, Фортран, Си, Java и др. Все названные ЯПВУ относятся к так называемой процедурной парадигме программирования. Поэтому их называют процедурными языками программирования. Программы на таких языках представляют собой последовательности команд, описывающих действия (процедуры) компьютера по обработке информации. Существуют другие парадигмы программирования. Относящиеся к ним языки называют декларативными языками программирования (Пролог, Лисп и др.). Однако мы их рассматривать не будем.

Для каждого языка существует машинно-независимый стандарт. Возможность программирования на данном ЯПВУ зависит от наличия на вашем компьютере транслятора с этого языка. Трансляторы для каждого типа компьютера создают системные программисты.

Текст программы на ЯПВУ по своей форме ближе к естественным языкам (чаще всего — английскому), к языку математики. Та же команда сложения двух величин на ЯПВУ похожа на привычную форму математического равенства:

с=а+Ь (на Фортране, Бейсике, Си).

Освоить программирование на языке высокого уровня гораздо проще, чем на ассемблере. Поэтому с появлением ЯПВУ значительно возросло число прикладных программистов, расширилось применение ЭВМ во многих областях.

Большое количество языков программирования появилось в 1960-1970-х годах. В 1965 году в Дартмутском университете был разработан язык Бейсик. По замыслу авторов это простой, легко изучаемый язык, предназначенный для программирования несложных расчетных задач. Наибольшее распространение Бейсик получил с появлением микроЭВМ и персональных компьютеров.

История Паскаля

Язык программирования Паскаль был создан швейцарским профессором Никлаусом Виртом в 1969 году как язык для обучения студентов структурной методике программирования. Язык получил свое название в честь Блеза Паскаля, изобретателя первого вычислительного механического устройства. Позднее фирма Borland International, Inc (США) разработала систему программирования Турбо Паскаль для персональных компьютеров, которая вышла за рамки учебного применения и стала использоваться для научных и производственных целей. В Турбо Паскаль были внесены некоторые дополнения к базовому стандарту Паскаля, описанному Н. Виртом.

Со временем язык развивался. Начиная с версии 5.5, в Турбо Паскаль вводятся средства поддержки объектно- ориентированного программирования (ООП). В дальнейшем это привело к созданию Object Pascal — языка с возможностями объектно-ориентированного программирования. В начале 1990-х годов объединение элементов ООП в Паскале с визуальной технологией программирования привело к созданию системы программирования Delphi.

Структура процедурных языков программирования высокого уровня

Во всяком языке программирования определены способы организации данных и способы организаций действий над данными. Кроме того, существует понятие «элементы языка», включающее в себя множество символов (алфавит), служебных слов и других изобразительных средств языка программирования. Несмотря на разнообразие процедурных языков, их изучение происходит приблизительно по одной схеме. Это связано с общностью структуры различных процедурных языков программирования высокого уровня, которая схематически отражена на рис. 3.9.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Всякий язык программирования образуют три его основные составляющие: алфавит, синтаксис и семантика.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияАлфавит — это множество символов, допустимых в записи текстов программ.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияСинтаксис — это правописание языковых конструкций (имен, констант, выражений, операторов и пр.).

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программированияСемантика — это смысловое содержание языковой конструкции.

Соблюдение правил в языке программирования должно быть более строгим, чем в разговорном языке. Человеческая речь содержит значительное количество избыточной информации. Не расслышав какое-то слово, можно понять смысл фразы в целом. Слушающий или читающий человек может додумать, дополнить, исправить ошибки в воспринимаемом тексте. Компьютер же — автомат, воспринимающий всё буквально. В текстах программ нет избыточности, компьютер сам не исправит даже очевидной (с точки зрения человека) ошибки. Он может лишь указать на место, которое «не понял», и вывести замечание о предполагаемом характере ошибки. Исправить же ошибку должен программист.

Структура программы на Паскале

По определению стандартного Паскаля, программа состоит из заголовка программы и тела программы (блока), за которым следует точка — признак конца программы. В свою очередь, блок содержит разделы описаний (меток, констант, типов, переменных, подпрограмм) и раздел операторов.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Раздел операторов имеется в любой программе и является основным. Предшествующие разделы носят характер описаний и не все обязательно присутствуют в каждой программе.

В Турбо Паскале, в отличие от базового стандарта Паскаля, возможно:
• отсутствие заголовка программы;
• разделы Const, Type, Var, Label могут следовать друг за другом в любом порядке и повторяться в разделе описаний сколько угодно раз.

Представление алгоритмов на языке программирования. Смотреть фото Представление алгоритмов на языке программирования. Смотреть картинку Представление алгоритмов на языке программирования. Картинка про Представление алгоритмов на языке программирования. Фото Представление алгоритмов на языке программирования

Вопросы и задания

1. В каком виде составлялись программы для первых компьютеров?

2. Чем отличались программы на автокодах (ассемблерах) от программ в машинных кодах?

3. Почему ЯПВУ являются машинно-независимыми языками программирования?

4. Что такое трансляция?

5. В какой парадигме программирования реализован язык Паскаль?

6. Что входит в структуру любого процедурного ЯПВУ?

7. Из каких основных разделов состоит программа на Паскале?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *