Процедурное программирование




Процедурное (императивное) программирование является отражением архитекту­ры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теорети­ческой моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга».

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

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

Процедурные языки характеризуются следующими особенностями:

@ необходимостью явного управления памятью, в частности, описанием переменных;

@ малой пригодностью для символьных вычислений;

@ отсутствием строгой математической основы;

@ высокой эффективностью реализации па традиционных ЭВМ.

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

Двоичный язык является непосредственно машинным языком. В настоящее время такие языки программистами практически не применяются.

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

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

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

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

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

В С сочетаются достоинства современных высокоуровневых языков в части управ­ляющих конструкций и структур данных с возможностями доступа к аппаратным сред­ствам ЭВМ на уровне, который обычно ассоциируется с языком низкого уровня типа языка Ассемблера. Язык С имеет синтаксис, обеспечивающий краткость программы, а компиляторы способны генерировать эффективный объектный код.

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

Синтаксис языка затрудняет программирование и восприятие составленных про­грамм. Отсутствует и строгая типизация данных, что предоставляет дополнительные возможности программисту, но не способствует написанию надежных программ.

Basic (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык програм­мирования, разработанный в 1964 году для использования новичками. Он был разработан как простейший язык для непосредственного общения человека с вычислительной маши­ной. Поэтому первоначально работа велась в интерактивном режиме с использованием ин­терпретаторов. В настоящее время для этого языка имеются также и компиляторы.

Согласно концепциям, заложенным в Basic, этот язык в смысле строгости и строй­ности является антиподом языка Pascal. В частности, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков про­граммирования подобного типа.

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

Pascal является одним из наиболее популярных среди прикладных про­граммистов процедурным языком программирования, особенно для ПЭВМ. Разрабо­танный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом, язык назван в честь французского математика и по замыслу автора предназначался для обучения программированию. Однако язык получился на­столько удачным, что стал одним из основных инструментов прикладных и систем­ных программистов при решении задач вычислительного и информационно-логичес­кого характера. В 1979 году был подготовлен проект описания языка — Британский стандарт языка программирования Pascal BS6192, который стал также и междуна­родным стандартом ISO 7185.

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

Ø высоким уровнем;

Ø широкими возможностями;

Ø стройностью, простотой и краткостью;

Ø строгостью, способствующей написанию эффективных и надежных программ;

Ø высокой эффективностью реализации на ЭВМ.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: