Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Алгоритмические языки высокого уровня

Курс лекций. № 372
Покупка
Артикул: 408304.02.99
Доступ онлайн
2 000 ₽
В корзину
В курсе лекций рассмотрены основные элементы алгоритмических языков программирования. Приводятся многочисленные примеры, в которых изложено все, что нужно современному специалисту для создания приложений: конструкции языка, динамические структуры данных и основы объектноориентированного подхода при разработке программ. Соответствует учебному плану курса «Алгоритмические языки высокого уровня». Предназначен для студентов специальностей «Автоматизированные системы обработки информации и управления» и «Прикладная информатика».
Мурадханов, С. Э. Алгоритмические языки высокого уровня : курс лекций / С. Э. Мурадханов, А. И. Ширков. - Москва : Изд. Дом МИСиС, 2011. - 170 с. - ISBN 978-5-87623-421-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1232385 (дата обращения: 03.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ 

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ  
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ  
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» 

 

 
 
 

 

 

 

 
 

 

№ 372 

Кафедра автоматизированных систем управления

С.Э. Мурадханов 
А.И. Широков 

Алгоритмические языки 
высокого уровня 

 

Курс лекций 

Рекомендовано редакционно-издательским 
советом университета 

Москва  2011 

УДК 681.3 
 
М91 

Р е ц е н з е н т  
канд. техн. наук, доц. С.В. Никифоров 

Мурадханов, С.Э. 
М91  
Алгоритмические 
языки 
высокого 
уровня : 
курс 
лекций / С.Э. Мурадханов, А.И. Широков. – М. : Изд. Дом МИСиС, 
2011. – 170 с. 
ISBN 978-5-87623-421-6 

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

УДК 681.3 

ISBN 978-5-87623-421-6 
© Мурадханов С.Э., 
Широков А.И., 2011 

ОГЛАВЛЕНИЕ 

Предисловие..............................................................................................4 
1. Основы языка программирования Pascal ...........................................5 
2. Элементы алгоритмического языка Pascal.........................................9 
2.1. Алфавит языка Pascal...................................................................9 
2.2. Константы ...................................................................................10 
2.3. Идентификаторы и переменные................................................13 
2.4. Служебные (ключевые и зарезервированные) слова ..............15 
2.5. Выражения и операции..............................................................17 
2.6. Структура исходного текста программы Pascal ......................25 
2.7. Операторы ввода-вывода...........................................................27 
3. Операторы языка Рascal .....................................................................32 
3.1. Простые операторы....................................................................33 
3.2. Условные операторы..................................................................34 
3.3. Операторы цикла........................................................................38 
3.4. Операторы перехода и выхода..................................................43 
4. Типы данных.......................................................................................45 
4.1. Простые типы данных................................................................47 
4.2. Структурированные типы данных............................................59 
4.3. Процедурные типы.....................................................................88 
4.4. Указатели, структуры данных...................................................91 
4.5. Динамические структуры данных...........................................100 
5. Процедуры и функции .....................................................................123 
5.1. Описание и вызов процедур и функций.................................123 
5.2. Параметры–массивы и параметры–строки ............................128 
6. Модули и устройства........................................................................131 
7. Объектно-ориентированное программирование ...........................134 
7.1. Объектные типы и экземпляры...............................................135 
7.2. Директивы  private и public......................................................136 
7.3. Наследование............................................................................137 
7.4. Полиморфизм............................................................................139 
7.5. Использование экземпляров объектов ...................................144 
Библиографический список.................................................................156 
Приложение. Системы счисления.......................................................157 

Предисловие 

Умение разрабатывать и отлаживать программы является неотъемлемым для современного специалиста в области информационных 
технологий. В предлагаемом курсе лекций рассмотрены основные 
элементы алгоритмического языка Pascal: типы данных (как простые, 
так и структурированные) и операторы. Но знание только конструкций для современного специалиста недостаточно, поэтому с их помощью изложены такие важные в программировании понятия, как 
разнообразные динамические структуры данных. Отдельные разделы 
пособия посвящены процедурным типам, файлам и устройствам. Последняя часть пособия посвящена объектно-ориентированному подходу при разработке программ. В приложении приводятся необходимые сведения по системам счисления, без чего, как считают авторы, 
спецалисты по компьютерным технологиям разрабатывать программы не должны. 
Материал пособия соответствует учебному плану курса «Алгоритмические языки высокого уровня», который преподается студентам специальностей «Автоматизированные системы обработки информации и управления» и «Прикладная информатика». 


1. ОСНОВЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ 
PASCAL 

Известно, что компьютерные устройства функционируют на 
основе машинных языков, называемых языками низкого уровня, 
которые позволяют выполнять только простые операции в системе 
кодов. Создание сложных программ с использованием машинных 
кодов встречается с большими трудностями, поэтому программисты разработали специальные программные средства, облегчающие 
работу 
на 
компьютере. 
Первыми 
машинноориентированными языками были Ассемблеры, которые упростили подготовку машинных кодов путём введения определённых 
мнемонических обозначений (assembler – сборщик частей в одно 
целое). Каждый тип компьютера характеризуется своим Ассемблером, что делает невозможным запуск программы, составленной 
для одного процессора, на компьютере с иным типом процессора. 
Другой недостаток Ассемблера связан с трудностью разработки 
больших программных проектов. Указанные обстоятельства послужили стимулом для развития теории программного обеспечения 
в направлении создания алгоритмических языков высокого уровня, 
независимых от типа компьютера и по своей форме и содержанию 
напоминающих обычные языки общения между людьми. 
К настоящему времени разработаны десятки алгоритмических 
языков: Алгол-60, Кобол, Модула 2, Фортран, Паскаль (Pascal), Бейсик, Си, Пролог и др. Перевод программы с алгоритмического языка 
высокого уровня на машинный язык производится с помощью специальных программ, называемых трансляторами. Трансляторы бывают двух типов: компиляторы и интерпретаторы. 
Первые ЭВМ предназначались для решения задач вычислительного характера по заказу военных ведомств. Поэтому не случайно, что 
один из первых языков высокого уровня Фортран, созданный в 
1957 г. группой специалистов фирмы IBM (США) под руководством 
Джона Бэкуса, предназначался для использования в математических 
приложениях. Само слово FORTRAN происходит от FORmula 
TRANslatоr, что означает «переводчик формул». Этот язык прекрасно адаптирован к решению научно-технических вычислительных задач и находит применение до настоящего времени.  
Появление ЭВМ второго и последующего поколений подготовили 
условия для решения задач невычислительного характера. Новые 

задачи потребовали специального программного обеспечения. Оно 
обсуждалось на международном форуме в Париже в 1960 г., где в 
качестве универсального алгоритмического языка был выбран Алгол-60. При решении экономических задач, требующих проведения 
операций над большими массивами данных, используется язык Кобол (COBOL – Computer Bisnes Oriented Language).  
Алгоритмический язык Pascal занимает особое место в программировании. История его создания начинается в 1965 г., когда Международная федерация по обработке информации (IFIP) предложила 
нескольким специалистам в области информатики принять участие в 
разработке нового языка программирования – преемника Алгол-60. 
Среди них был швейцарский учёный, работавший в то время доцентом 
на факультете информатики Стэндфордского университета, Николаус 
Вирт. Он создал версию языка Алгол под названием Алгол-W. Федерация IFIP отклонила этот проект в пользу работы Аад ван Вейнгаартена под названием Алгол-68. Николаус Вирт не прекратил работы 
по созданию новой среды для программирования и в 1968 г. вместе 
со своими сотрудниками из Швейцарского федерального института 
технологии (ЕТН) в Цюрихе предложил первую версию языка Pascal, 
которая предназначалась для обучения студентов программированию. Язык назвали в честь французского математика, физика и философа Блеза Паскаля (1623–1662). Через два года, в 1971 г., появился компилятор этого языка. Новый язык получил высокую оценку у 
специалистов, что стимулировало его развитие. Он воплотил в себе 
ряд новшеств, в частности, идею структурного программирования, и 
стал прародителем более поздних языков программирования (язык 
Модула-2 и Ада). Благодаря работе А. Хейлсберга язык Pascal превратился в современную систему программирования, удовлетворяющую самым высоким профессиональным требованиям к процессу разработки программ в операционной системе MS DOS. 
В 80-х годах прошлого века для этого языка появились диалоговые 
оболочки, так называемые турбосреды. В 1985 г. американская фирма Borland выпустила на рынок улучшенную версию языка под названием Тurbo Pascal 3.0 (ТP), которая получила большую популярность среди программистов В 1984 г. бывший студент Николауса 
Вирта французский математик Филип Кан, основал фирму Borland 
International и начал продавать по почте разработанную им программу – среду программирования Turbo Pascal для ПК. Предлагаемый 
им продукт был настолько удачен, что Turbo Pascal вскоре вывел 

фирму Borland в ряды основных производителей программного 
обеспечения. 
Постоянное усовершенствование языка Turbo Pascal (версии 4, 5, 
5.5, 6) принесли ему заслуженный успех. Появилась возможность 
создавать программы с использованием принципов объектноориентированного программирования, применять многооконный режим, использовать программы, составленные на языке Ассемблер, 
применять мышь и другие новшества. Седьмая версия языка Turbo 
Pascal унаследовала всё положительное от ранних разработок. Она 
выгодно отличается от других алгоритмических языков тем, что построена на небольшом количестве базовых понятий, имеет простой 
синтаксис и осуществляет транслирование программы на машинные 
коды относительно простым компилятором. Более эффективный 
компилятор и редактор предоставляют программисту возможность 
создавать сложные программные проекты. Работа в среде языка 
Turbo Pascal обеспечивается набором модулей, содержащих библиотеки стандартных процедур и функций. Компилятор имеет две версии, поддерживаемые различными файлами. Один из них (файл 
turbo.exe) предназначен для программирования в интегрированной 
среде разработки языка (ИСР), другой (файл tpc.exe) поддерживает 
пакетный режим работы.  
Лингвистические концепции Turbo Pascal строятся по принципу 
«Разделяй и властвуй», в основе которого предполагается разбиение 
большой программы на более мелкие фрагменты (модули, объекты). 
Отдельные фрагменты создаются независимо друг от друга. Данные 
могут объединяться с операциями. Подобные структуры и называются объектами.  
Изначально все программы писались в машинных кодах. С появлением алгоритмических языков высокого уровня (к которым, в частности, относятся Pascal, C++, Delphi и др.) методика создания программ изменилась. Сначала программист в программе–редакторе 
пишет исходный текст на языке высокого уровня, затем программа 
компилятор (транслятор) транслирует этот текст в машинные коды.  
Алгоритмические языки и ассемблеры относятся к языкам символьного кодирования, т.е. к языкам, которые оперируют не машинными кодами, а условными символьными обозначениями, поэтому 
программы, составленные на этих языках, не могут быть непосредственно выполнены на компьютере. Чтобы такая программа заработала, ее текст нужно преобразовать в машинный код. Для этого существуют специальные программы-переводчики (трансляторы). Разли
чают два вида трансляторов: компилятор и интерпретатор. Компилятор транслирует программу сразу целиком, и лишь после этого 
возможно ее выполнение. Интерпретатор – это более простой 
транслятор, он последовательно транслирует операторы программы 
и также по частям ее выполняет. После этого начинается процесс 
«линковки» или «компоновки», в результате которого происходит 
объединение всех модулей программы (с подключением необходимых для выполнения программы библиотек, драйверов и т.п.) в единое целое – исполняемый загрузочный модуль. Затем этот исполняемый модуль может быть загружен в оперативную память ПК для выполнения.  
Обычный разговорный язык состоит из четырех основных элементов: символов, слов, словосочетаний и предложений. Приблизительно такие же конструкции можно выделить и в языках программирования. Перейдем к их описанию.  

2. ЭЛЕМЕНТЫ АЛГОРИТМИЧЕСКОГО 
ЯЗЫКА PASCAL 

Алгоритмический язык содержит подобные элементы, только 
слова называют элементарными конструкциями, словосочетания – 
выражениями, предложения – операторами.  
Символы, элементарные конструкции, выражения и операторы 
составляют иерархическую структуру. Элементарные конструкции – 
это последовательность символов. Выражения – это последовательность элементарных конструкций и символов. Оператор – это последовательность выражений, элементарных конструкций и символов.  
Описание алгоритмического языка – описание четырех названных элементов. Описание символов заключается в перечислении допустимых символов языка. Под описанием элементарных конструкций понимают правила их образования. Описание выражений – правила образования любых выражений, имеющих смысл в данном языке. Описание операторов состоит из рассмотрения всех типов операторов, допустимых в языке.  
СИМВОЛЫ языка – это основные неделимые знаки, в терминах 
которых пишутся все тексты на языке.  
ЭЛЕМЕНТАРНЫЕ КОНСТРУКЦИИ – это минимальные единицы языка, имеющие самостоятельный смысл. Они образуются из 
основных символов языка.  
ВЫРАЖЕНИЕ в алгоритмическом языке состоит из элементарных конструкций и символов, оно задает правило вычисления некоторого значения.  
ОПЕРАТОР задает полное описание некоторого действия, которое необходимо выполнить. Для описания сложного действия может 
потребоваться группа операторов. В этом случае операторы объединяются в СОСТАВНОЙ ОПЕРАТОР или БЛОК. 
Действия, заданные операторами, выполняются над ДАННЫМИ. 
Предложения алгоритмического языка, в которых даются сведения о 
типах данных, называются ОПИСАНИЯМИ или неисполняемыми 
операторами. Объединенная единым алгоритмом совокупность описаний и операторов образует ПРОГРАММУ на алгоритмическом языке.  

2.1. Алфавит языка Pascal 

Текст программы на языке Turbo Pascal (ТР) представляет собой 
последовательность строк, состоящих из символов, образующих ал
фавит языка. Строки программы завершаются специальными управляющими символами, не входящими в алфавит (<CR> – возврат каретки, клавиша <Enter> и <LF> – новая линия). Максимальная длина 
строки составляет 126 символов. 
В алфавит языка входят: 
1. Буквы латинского алфавита (строчные и прописные) от a 
до z и от A до Z, а также знак подчеркивания «_», который приравнивается к буквам. (В ТР нет различия между прописными и 
строчными буквами алфавита, кроме случаев, когда они входят в 
символьные и строковые выражения.) 
2. Арабские цифры от 0 до 9. 
3. Специальные символы: 
+ - * / = . , : ; ' < > ( ) { } [ ] $ @ # ^  
и пробел, не имеющий графического изображения (используется для 
отделения лексем друг от друга). 
4. Знаки операций, которые формируются из одного или нескольких специальных символов или служебных слов: 
а) арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление вещественных чисел), mod (деление целых чисел), div (остаток от деления двух целых чисел); 
б) операции отношения: < (меньше), > (больше), <= (не больше), 
>= (не меньше), = (равно), <> (не равно); 
в) логические операции: and (логическое И), or (логическое 
ИЛИ), not (логическое НЕ), xor (исключительное ИЛИ); 
г) операции над множествами: * (пересечение множеств), + (объединение множеств), IN (принадлежность множеству). 
5. Символы национального алфавита, например русского.  
6. Комментарии – произвольная последовательность символов, в 
том числе и русских букв, заключенных в фигурные скобки {…} или 
(* … *), предназначенная для пояснений в программе. Комментарии могут находиться в любой части программы. 

2.2. Константы 

В качестве констант в Pascal могут использоваться целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указателя NIL.  

Целые числа в Pascal записываются в обычном виде, например: 
0, +100,-56498. Следует учесть, что если целочисленная константа выходит за указанные границы, компилятор дает сообщение 
об ошибке. Такие константы должны записываться с десятичной 
точкой, т.е. определяться как вещественные числа. 
Вещественные числа в Pascal представляются в одной из двух 
форм, которые называются: запись числа с фиксированной точкой и 
запись с плавающей точкой.  
Первая форма – запись числа в виде целой и дробной частей:  
–3.15, 0.1, +23.0125.  
Вторая форма (с плавающей точкой) – это запись числа с мантиссой и десятичным порядком, разделенными латинской буквой E. Такая запись означает, что мантисса (которая может быть целым числом или вещественным числом в форме с фиксированной точкой) 
умножается на 10 в степени, задаваемой порядком (который всегда 
должен быть целым числом): -18.7Е+3, 2.123Е+4, 2.34Е-2, 
6Е-1.  
В языке программирования Pascal запрещается запись вещественных чисел в виде .5 или 5, их необходимо записывать как 0.5 и 
5.0 соответственно. Если в записи числа содержится точка, то, по 
крайней мере, одна цифра ей должна предшествовать и следовать за 
ней.  
Выражение-константа представляет собой выражение, которое 
может вычисляться компилятором без необходимости выполнения 
программы. Поскольку компилятор  должен иметь возможность полностью вычислить выражение-константу во время компиляции, в качестве выражений-констант не допускается использовать следующие 
конструкции: 
• ссылки  на  переменные  и  типизированные константы 
(кроме констант в адресных   выражениях); 
• вызовы функций (кроме тех, которые отмечены далее); 
• оператор получения адреса @ (кроме констант в адресных 
выражениях). 
В выражениях-константах допускается использовать следующие 
стандартные функции: Abs, Chr, Hi, High, Length, Lo, 
Low, Odd, Ord, Pred, Ptr, Round, SizeOf, Succ, 
Swap, Trunc.  

Доступ онлайн
2 000 ₽
В корзину