14
Подготовил ученик 7 б класса МБОУ гимназии №64 Имени В.А.Котельникова Г.Липецка Минаков Михаил Язык програм м ирования Pas с al

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

Embed Size (px)

Citation preview

Page 1: язык программирования

Подготовил ученик 7 б класса

МБОУ гимназии №64

Имени В.А.Котельникова

Г.Липецка

Минаков Михаил

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

Page 2: язык программирования

1. Биография Никлауса Вирта(создателя языка программирования Pascal)

2. История разработки Pascal

3. История названия

4. Краткий обзор Pascal

5. Недостатки Pascal

Содержание

Page 3: язык программирования

Никлаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования. Ведущий разработчик языков Паскаль, Модула-2, Оберон, профессор компьютерных наук (ETH), Лауреат премии Тьюринга 1984 года.

Никлаус Вирт родился 15 февраля 1934 года в Винтертуре, в предместье Цюриха (Швейцария). Родители — Уолтер и Хедвиг Вирт. Отец Никлауса был школьным учителем.

Вирт Никлаус - биография

Page 4: язык программирования

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

Page 5: язык программирования

От строительства моделей Никлаус довольно быстро перешел к разработке их дистанционного управления. Когда ему исполнилось 18 лет, то он с еще двумя цюрихскими авиамоделистами получили из Англии желанную радиоаппаратуру. Это предопределило его дальнейшую судьбу – в 1954 г. Вирт поступил на факультет электроники в цюрихский ETH (Eidgenoessische Technische Hochschule, Швейцарский федеральный технологический институт). После четырех лет обучения Вирт получил степень бакалавра в области электротехники. А затем начинается славное десятилетнее заокеанское научное "турне" будущего "отца Паскаля" и "короля компиляторов" по маршруту Швейцария – Канада – США – Швейцария.

Page 6: язык программирования

Pascal разрабатывался с 1968 по 1970 год. Цель заключалась в том, чтобы создать язык, лишенный многочисленных недостатков ALGOL. Компилятор языка Pascal сначала транслировал исходную программу в программу на языке гипотетической машины со стековой архитектурой. Благодаря такой своей организации Pascal легко переносился на компьютеры других систем. Компилятор Pascal был написан на одноименном языке. Все, что требовалось для перехода в другую систему, - это переписать соответствующим образом интерпретатор Р-кода.

Появившийся в 1970 году Pascal начал завоевывать признание. В 1983 году был разработан американский стандарт языка (IEEE 770/ ANSI X3.97), а вскоре был разработан стандарт ISO (ISO 7185).

История разработки Pascal

Page 7: язык программирования

Блэз Паскаль – один из самых знаменитых людей в истории человечества. Паскаль умер, когда ему было 39 лет, но, несмотря на столь короткую жизнь, вошел в историю как выдающийся математик, физик, философ и писатель. Его именем названы единица давления (паскаль) и весьма популярный сегодня язык программирования.Работы Паскаля охватывают самые разные области. Он является одним из создателей математического анализа, проектной геометрии, теории вероятностей, гидростатики (широко известен закон Паскаля, согласно которому изменения давления в покоящейся жидкости передается в остальные точки без изменений), создателем механического счетного устройства – "паскалева колеса", как говорили современники. Философские мысли Паскаля (после его смерти в разных вариантах, под разными названиями издавались материалы в виде книги, которую чаще всего называют "Мысли") оказывали влияние на многих выдающихся людей и, в частности, на великих русских писателей – И.С.Тургенева, Ф.М.Достоевского, Л.Н.Толстого.

История названия Pascal

Page 8: язык программирования

Некоторые из практических достижений Паскаля удостоились высшего отличия – сегодня мало кто знает имя их автора. Так, сейчас очень немногие скажут, что самая обыкновенная тачка, это изобретение Блэз Паскаля. Ему принадлежит и идея омнибусов – общедоступных карет с фиксированными маршрутами – первого вида регулярного городского транспорта. Уже в шестнадцатилетнем возрасте Паскаль сформулировал теорему о шестиугольнике, вписанном в коническое сечение (теорема Паскаля). Известно, что позже он получил из своей теоремы около 400 следствий.

Блез Паскаль родился в Клермон-Ферране 19 июня 1623 года. Блез был третьим ребенком в семье хорошо образованного юриста, увлекавшегося математикой. Однако по непонятным причинам отец запретил ему изучать точные науки до 15 лет. Впрочем, вскоре запрет был снят: юный гений поразил родителя, сообщив ему о том, что сумма углов в любом треугольнике равна 180 градусам. Ну как можно после этого не познакомить ребенка с Евклидом? 

Page 9: язык программирования

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

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

Краткий обзор Pascal

Page 10: язык программирования

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

Page 11: язык программирования

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

1. В определении этого языка имеется некоторое противоречие между идеологией самого языка и его реализацией. Например, конструкция forward нужна только для того, чтобы компиляция могла выполняться в один проход, - это следствие представлений о том, что таким образом достигается максимальная эффективность компиляции. Но это не всегда верно. Например, компилятор PL/C для языка PL/I совершал три прохода и вместе с тем являлся одним из самых эффективных среди наиболее распространенных компиляторов своего времени . Кроме того, в настоящее время при использовании недорогих быстродействующих компьютеров скорость компиляции не имеет большого значения.

2. Возможно, самой главной слабостью языка Pascal является то, что массивы рассматриваются как отдельные типы, а не как агрегация различных объектов одного типа. Это приводит к тому, что, например, array [1. .10] of Integer и аггау[1. .20] of integer представляют собой/разные типы данных. В результате алгоритмы обработки массивов усложняются, поскольку массивы различных размеров невозможно передать общей подпрограмме (например, подпрограмме перемножения матриц). Строки реализованы как массивы символов, что также затрудняет их обработку в случае строк различной длины.

Недостатки Pascal

Page 12: язык программирования

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

4. Возможности, предоставляемые языком, должны выполняться не с помощью пропуска некоторой информации, а явным указанием этой информации. В Pascal передача параметров нарушает это правило. Все параметры в Pascal передаются по значению, если только в списке параметров не указан явным образом атрибут var, который означает, что соответствующий параметр должен передаваться по ссылке. Многие начинающие программисты (в том числе один из авторов этой книги) часами рассматривали листинги программ, стараясь обнаружить ошибку, связанную с пропуском ключевого слова var.

Page 13: язык программирования

5. Pascal был реализован таким образом, что компиляция программы представляла собой единый процесс, то есть не была предусмотрена возможность компилировать отдельные программные модули. В большинстве реализаций, однако, эту проблему удалось решить: было принято соглашение, что допускаются дополнительные внешние процедуры, аналогичные заголовочным файлам с расширением .h в языке С. Но такая нестандартная реализация ограничивает возможность перенесения программ на Pascal на другие машины.6. Хотя в Pascal допускается определение новых типов данных для поддержки абстракций, в нем фактически не предусмотрена возможность инкапсуляции и сокрытия информации. (Это замечание является скорее не критикой данного языка, а комментарием, касающимся общего уровня развития программирования в 1970 г., когда создавался Pascal.)

Page 14: язык программирования