Автор: Пользователь скрыл имя, 13 Декабря 2011 в 10:31, реферат
Язык программирования Паскаль был создан швейцарским профессором Никлаусом Виртом в 1968-1971 годах и назван в честь выдающегося французского математика и философа Блеза Паскаля. Изначально язык Паскаль задумывался как учебный язык для обучения студентов навыкам программирования.
История создания языка Turbo Pascal
Язык программирования Паскаль был создан швейцарским профессором Никлаусом Виртом в 1968-1971 годах и назван в честь выдающегося французского математика и философа Блеза Паскаля. Изначально язык Паскаль задумывался как учебный язык для обучения студентов навыкам программирования. Вирт сознательно пошел на заведомое ограничение возможностей языка, прежде всего это касалось функций ввода и вывода данных, а также средств, зависящих от компьютера и операционной системы, обеспечивая простоту и эффективность.
Достоинствами языка Pascal являются:
Огромную роль в массовом распространении Паскаля сыграла компания Borland International. Эта фирма объединила очень быстрый компилятор с редактором текста и добавила к стандартному Паскалю мощное расширение, что способствовало успеху первой версии этого языка. В 1992 году фирма Borland International выпустила два пакета программирования, основанные на использовании языка Паскаль, - Borland Pascal 7.0 и Turbo Pascal 7.0.На сегоднящний день Turbo Pascal 7.0 практически повсеместно применяется как учебный язык программирования.
История
Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные. Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию [5]. Результат этой работы -- язык Модула-2.
Реализации
UCSD Pascal
В 1978 году в Университете Сан-Диего (Калифорния, США) была разработана система UCSD p-System, включавшая порт виртовского компилятора с языка Паскаль в переносимый p-код, редактор исходных кодов, файловую систему и пр.[6], а также реализовывавшая значительное число расширений языка Паскаль, такие как модули, строки символов переменной длины, директивы трансляции, обработка ошибок ввода-вывода, обращение к файлам по именам и пр. Впоследствии основные реализации языка Паскаль основывались на этом диалекте.
Object Pascal от Apple
В 1986 году фирма Apple Computer разработала объектное расширение языка Паскаль, получив в результате Object Pascal. Он был разработан группой Ларри Теслера, который консультировался с Никлаусом Виртом.
Turbo Pascal и Object Pascal от Borland, Microsoft Pascal
В 1989 году объектное расширение языка было добавлено фирмой Borland в Turbo Pascal версии 5.5 (начиная со следующей версии среда была переименована в Borland Pascal). Объектные средства были позаимствованы из Object Pascal от Apple, языковые различия между объектным Turbo Pascal 5.5 и Object Pascal от Apple крайне незначительны. Почти в то же самое время, что и Borland, Microsoft выпустил свою версию объектно-ориентированного языка Паскаль.[7][8] Эта версия Паскаля не получила широкого распространения. Дальнейшее развитие реализации Паскаля от Borland породило Object Pascal от Borland, впоследствии, в ходе развития среды программирования Delphi, получивший одноимённое название.
Современные версии Object Pascal
Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими.
В настоящее время, начиная с Delphi 2003, создана реализация языка для платформы Net, хотя разработчики продолжают использовать Delphi более ранних версий. О коммерческих разработках на Free Pascal, GNU Pascal и TMT Pascal на данный момент известно мало. Кроме того, в Южном федеральном университете разрабатывается язык и система программирования PascalABC.NET, ориентированная на обучение современному программированию. Язык системы -- это Object Pascal для платформы Microsoft .NET, который содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщённые классы, сборку мусора, а также некоторые средства параллельного программирования.
Особенности языка
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком. Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования»[9] (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров. Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык». Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка. Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.
Стандарты
После начала использования Паскаля в 1970 году и появления реализаций, расходящихся не только в дополнениях, но и в синтаксисе, был поднят вопрос о стандартизации языка. Стандарт языка был разработан Никлаусом Виртом в 1974 году совместно с Кетлин Йенсен (Kathleen Jensen).[10] В дальнейшем, были приняты международный стандарт от ISO и американский от ANSI. На данный момент, выделяют три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный), Object-Oriented Extensions to Pascal (объектно-ориентированное расширение Паскаля).
Алфавит языка программирования Pascal
В любом языке программирования программа - это нa6оp понятных компилятору команд. Для создания программ надо знать синтаксис языка, т.е. правила записи команд и использования лексических единиц языка. Знакомство с языком начнем с алфавита. Алфавит языка программирования - это определенный нa6оp символов. С помощью этих символов могут быть записаны идентификаторы, выражения и операторы языка. Алфавит языка Pascal состоит из символов кодовой таблицы ASCII (American Standard Code for Information Interchange - Американский типичный код обмена информацией). Каждому такому символу соответствует числовой код от 0 до 255. Часть символов кодовой таблицы ASCII с кодами от 0 до 127 идентична для всех IBM- совместимых компьютеров. Символы алфавита языка Pascal можно разделить на такие категории:
* символы, используемые для составления идентификаторов (малые латинские литеры с кодами ASCII от 97 до 122, большие латинские литеры с кодами ASCII от 65 до 90, десятичные цифры от 0 до 9, с кодами ASCII от 48 до 57, символ подчеркивания (_) с кодом ASCII 95);
* разделяющий символ пробела, код ASCII 32;
* специальные символы, которые используются в процессе построения фразы языка (+ - * /=> <.,;:'( ) [ ] { } ^@$#);
* управляющие символы, имеющие ASCII-коды от 0 до 31.
Структура программы Pascal
Записанная на языке Pascal программа состоит из двух частей: декларативной (объявления идентификаторов, используемых в nporpaмме) и операторной (запись выполняемых действий). Декларативная часть программы предшествует операторной и состоит из разделов, каждый из которых начинается определенным ключевым словом. Операторная часть начинается ключевым словом begin и заканчивается ключевым словом end. (с точкой). В середине операторной части также могут использоваться слова begin и end, но ни одно из таких слов не должно заканчиваться точкой. Приведем последовательность частей и разделов Pascal-программы.
Program
{заглавие программы
{$} {область директив компилятора }
uses {область подключения модулей }
const {область объявления названных констант}
type {область объявления типов }
var {область объявления переменных }
procedure {область объявления процедур }
function {область объявления функций }
begin
{операторная часть
{операторы
end.
{конец программы
Заметим,
что все разделы декларативной части являются
необязательными, а такие разделы, как
const, type и var, могут быть записаны в произвольном
порядке, произвольное число раз.