Файл: Основы программирования на языке Pascal ( Теоретические основы языка Pascal).pdf
Добавлен: 02.04.2023
Просмотров: 229
Скачиваний: 2
Введение
Актуальность. Среди множества языков программирования, предназначенных для обучения именно навыкам программирования, есть один, выделяющийся особо. Язык Паскаль, названный в честь французского ученого XVII столетия Блеза Паскаля, был разработан в конце 1960-х гг. ученым из Швейцарии Никлаусом Виртом, и далеко не с образовательной целью, как этот язык воспринимают теперь.
Наоборот, в те времена ученые пробовали разные языки программирования для практического применения. И позже этот ученый позднее создал ещё два языка программирования – Оберон и Модула, которые, правда, не получили распространения среди специалистов. Если быть точным, то 1968 году была создана первая версия языка Паскаль (на основе АЛГОЛа), а 1970 году – первый компилятор.
Идея структурного программирования оказалась как актуальной на то время, так и очень плодотворной, поскольку далеко не для всех задач удается написать программу посредством указания последовательности простых команд, без разъединения последних на отдельные блоки. Действительно, только при наличии определенной структуры программы можно судить об эффективном алгоритме решения задачи.
Как раз язык программирования Паскаль и является первым из языков, в котором имеются все необходимые инструменты для проверки эффективности написанных программ.
Цель работы – изучить основы программирования на языке Pascal.
Достижение указанной цели определило постановку и решение следующих задач:
- исследовать историю языка Pascal;
- выделить преимущества языка Pascal;
- изучить основы программирования на языке Pascal.
Предметом исследования можно назвать языки программирования.
Объектом исследования является язык Pascal.
Теоретико-методологическую основу исследования составили научные труды, посвященные анализу языков программирования. При разработке и решении поставленных задач использовались методы сравнительного анализа, а также группировки.
Структура работы. Работа включает введение, две главы, заключение и список литературы. В первой главе рассматриваются история и преимущества языка Pascal. Во второй главе рассматриваются основы программирования на языке Pascal.
Научно-методической основой работы служат труды отечественных и зарубежных ученых в области программирования. При выполнении работы использовалась научно-методическая литература, публикации в периодической печати и научных изданиях, материалы Интернет-порталов.
Глава 1. Теоретические основы языка Pascal
1.1. История языка Pascal
История языка Паскаль продолжается, и в 50-е годы XX века появились первые языки программирования высокого уровня: ФОРТРАН, КОБОЛ и АЛГОЛ. ФОРТРАН и КОБОЛ они существуют и по сей день, а вот АЛГОЛ как раз и стал родоначальником языка программирования Паскаль.
Первая версия АЛГОЛа появилась в 1958 году, разработчиком которого был создатель ФОРТРАНа Джон Бэкус. Последующими версиями языка АЛГОЛ стали АЛГОЛ-60 и АЛГОЛ-68. Однако из-за громоздкости языков АЛГОЛ-60 и АЛГОЛ-68 создавались большие трудности[1].
Поэтому в 1965 году Международная федерация по обработке информации предложила проект нескольким специалистам ЭВМ. Необходимо было создать новый язык программирования — преемник АЛГОЛа-60.
В этом проекте и принял участие будущий создатель языка программирования Паскаль — Николас Вирт, швейцарский ученый, на тот момент доцент факультета информатики Стэнфордского университета[2].
Николас Вирт начал разрабатывать проект АЛГОЛ-W. Целью проекта было обучение студентов различным методам: «структурное программирование», «программирование сверху вниз» и др. В 1970 году произошли два великих события:
- появление операционной системы UNIX
- появление нового языка программирования.
Николас Вирт назвал новый язык программирования в честь французского математика XVII века Блеза Паскаля, поскольку Паскаль создал вычислительное устройство (паскалево колесо). Первая версия нового языка программирования вышла на компьютере CDC 6000.
Pascal был создан на базе ALGOL, языка программирования, который предназначался для научных вычислений. После встречи в Цюрихе Международный комитет разработал ALGOL как независимый от платформы язык. Это дало его разработчикам относительную свободу действий над функциями, которые они могли бы выполнить в ALGOL, но также затрудняло создание компиляторов для него. В то время на многих компьютерах отсутствовали аппаратные функции, которые мы сейчас считаем стандартными[3].
Отсутствие компиляторов на многих платформах в сочетании с отсутствием указателей и многими основными типами данных, такими как символы, привело к тому, что ALGOL не получил широкого распространения. Ученые и инженеры в большей мере предпочитали FORTRAN, язык программирования, который был доступен на многих платформах. ALGOL больше не использовался при решении задач различной степени сложности, за исключением описания алгоритмов. В 1960-е годы несколько компьютерных ученых работали над расширением ALGOL. Одним из них был доктор Никлаус Вирт из Швейцарского федерального технологического института (ETH-Zurich), член первоначальной группы, создавшей ALGOL[4].
В 1971 году он опубликовал свои работы для высокоструктурированного языка, который во многом напоминал ALGOL. Он назвал его Паскалем в честь французского философа и математика XVII века. Основная функция Pascal – работа с данными, что предоставляет программисту возможность определять пользовательские типы данных. Благодаря этому происходит строгая проверка данных, что предотвращает смешивание типов данных. Изначально Паскаль был предназначен для преподавания. Pascal является более простым, в отличие от FORTRAN, написанный на нем код очень похож на естественный язык, поэтому его легко понять обычному пользователю.
К началу 1980-х годов Паскаль уже получил широкое признание в университетах. В его становление на путь популярности немалую роль сыграли два события. Во-первых, Служба Образовательных Испытаний, компания, которая пишет и администрирует главный вступительный экзамен в колледже в Соединенных Штатах, решила добавить экзамен по информатике, для этого экзамена они выбрал язык Pascal.
Из-за этого ученики средних школ, а также студенты колледжа начали изучать именно данный язык программирования. Pascal оставался официальным языком экзаменов в США до 1999 года, но в дальнейшем был заменен C ++, а далее – на Java. Во-вторых, небольшая компания Borland International выпустила компилятор Turbo Pascal для персонального компьютера IBM. Компилятор был разработан Андерсом Хейльсбергом, который позже возглавил группу в Microsoft, разработавшую C # и (повторно) представившую Managed Code обратно в мир вычислений[5].
Turbo Pascal был действительно революционным. Были внесены некоторые изменения в стандартный Pascal, но они были незначительными и помогли ему достичь своего наибольшего преимущества: скорости. TurboPascal составлен с головокружительной скоростью: несколько тысяч строк в минуту. В то время доступные компиляторы для платформы ПК были медленными и «раздутыми». Создание Turbo Pascal являлось в то время «глотком свежего воздуха». Вскоре Turbo Pascal стал стандартом де-факто для программирования на ПК. В дальнейшем Apple выпустила серию компьютеров Macintosh[6].
Поскольку Pascal был выдающимся структурированным языком программирования того времени, Apple выбрала Pascal в качестве стандартного языка программирования для Mac. Программисты получили API и пример кода для программирования Mac, которые были написаны на языке Pascal. Начиная с версии 1.0 до 7.0 Turbo Pascal, Borland (создатель разработческих инструментов Turbo Pascal и Delphi) продолжал расширять язык. Одним из немаловажных замечаний в оригинальной версии Pascal было отсутствие отдельной компиляции для модулей. Вирт даже создал новый язык программирования Modula-2 для решения этой проблемы. Borland добавила модули в Pascal с функциями своих устройств. В версию 7.0 было добавлено множество дополнительных функций. Одним из них был DPMI (DOS Protected Mode Interface), способ запуска программ DOS в защищенном режиме, получение дополнительной скорости и разрыв без барьера 640K для доступа[7].
Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими[8].
На данный момент, язык программирования Pascal является общепризнанным языком при освоении различных ступеней образования, который сочетает в себе основные свойства алгоритмического языка программирования высокого уровня и доступную форму, позволяющую начинающему программисту освоить технологию создания программы. Также, существуют пакеты, основанные на использовании Pascal (Delphi, компонентный Pascal), использующие современный объектно-ориентированный подход. Однако, как язык разработки, в последнее время Pascal теряет свою популярность.
На 2018 год он занимает 128 место в рейтинге языков программирования TIOBE. Все большую популярность приобретает web-программирование[9]. Как видно на рисунке 1, в период с 2008 по 2013 год язык Pascal входил в ТОП-20 языков программирования, но в последние годы произошло его стремительное падение на низкую позицию.
Pascal отличается легким синтаксисом языка, а, как известно, чем сложнее грамматика языка и чем больше вариантов предполагают семантические правила – тем больше проходов будет выполнять компилятор. Именно поэтому компиляторы с языка Pascal работают очень быстро[10].
Рисунок 1. Pascal в рейтинге языков TIOBE
Несмотря на это, Pascal остается одним из основных языков при обучении программированию, поэтому его активно изучают в школах и профессиональных учебных заведениях.
1.2. Особенности и преимущества языка Pascal
Изначально Паскаль создавался как учебный язык программирования. Он должен был иметь простой синтаксис, строиться на минимальном количестве базовых понятий и уметь переводить программы в машинный код простым компилятором. Однако первая разработанная версия языка была слишком громоздкой для коротких программ[11].
Но уже тогда он имел возможность создания больших программ с поддержкой строгой логической структуры[12].
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.
В отличие от многих языков в Pascal регистр букв не имеет никакого значения, то есть AbC, aBc и abc - это одна и та же переменная. Также пробелы и абзацы - это разделительные знаки, которые игнорируются компилятором и фактически нужны только когда нет какого-либо другого разделительного знака, такого как точка с запятой или скобка, например после слова Begin. Всё написанное в фигурных скобках {} игнорируется компилятором. Всё после точки также игнорируется[13].
Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров[14].
Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».
Выдающийся успех языка Паскаль обусловлен рядом причин:
- Язык в естественной форме отразил самые важные современные концепции технологии разработки программ.
- Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения.
- Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем.
- Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур.
- Память экономится за счет определения типов (Byte, Integer и т.д.)
- Операторы языка позволяют не использовать метки, что действительно очень удобно.
- С легкостью можно написать рекурсивную программу.
- Встроенный ASSEMBLER, что действительно круто.
- Огромные библиотеки (UNITS) к языку.
- Практически нет глюков.
- Встроенный редактор + оболочка.