SlideShare a Scribd company logo
1 of 14
Подготовил ученик 7 б класса
    МБОУ гимназии №64
  Имени В.А.Котельникова
         Г.Липецка
     Минаков Михаил
1.   Биография Никлауса
     Вирта(создателя языка
     программирования Pascal)
2.   История разработки Pascal
3.   История названия
4.   Краткий обзор Pascal
5.   Недостатки Pascal
 Никлаус Вирт (нем. Niklaus Wirth, род. 15
  февраля 1934) — швейцарский
  учёный, специалист в области
  информатики, один из известнейших
  теоретиков в области разработки языков
  программирования. Ведущий
  разработчик языков Паскаль, Модула-
  2, Оберон, профессор компьютерных
  наук (ETH), Лауреат премии Тьюринга
  1984 года.
 Никлаус Вирт родился 15 февраля 1934
  года в Винтертуре, в предместье Цюриха
  (Швейцария). Родители — Уолтер и
  Хедвиг Вирт. Отец Никлауса был
  школьным учителем.
Небольшой городок Винтертур имеет
многовековую историю и славится
своими машиностроением: там
выпускаются локомотивы и дизельные
двигатели. С детских лет Вирт увлекался
техником, особенно
авиамоделированием. Он буквально
грезил небом. Но для запуска ракет
нужно было получать топливо, и потому
он занялся химией. Юный Вирт
оборудовал в подвале школы "секретную"
лабораторию. Ничто не могло его
остановить: однажды сделанная им
модель отклонилась от заданной
траектории и угодила под ноги директору
школы. Однако Вирт все равно
продолжал упорно идти к намеченной
цели.
От строительства моделей Никлаус
 довольно быстро перешел к разработке
 их дистанционного управления. Когда
 ему исполнилось 18 лет, то он с еще двумя
 цюрихскими авиамоделистами получили
 из Англии желанную радиоаппаратуру.
 Это предопределило его дальнейшую
 судьбу – в 1954 г. Вирт поступил на
 факультет электроники в цюрихский
 ETH (Eidgenoessische Technische
 Hochschule, Швейцарский федеральный
 технологический институт). После
 четырех лет обучения Вирт получил
 степень бакалавра в области
 электротехники. А затем начинается
 славное десятилетнее заокеанское
 научное "турне" будущего "отца Паскаля"
 и "короля компиляторов" по маршруту
 Швейцария – Канада – США –
 Швейцария.
Pascal разрабатывался с 1968 по 1970 год.
  Цель заключалась в том, чтобы создать
  язык, лишенный многочисленных
  недостатков ALGOL. Компилятор языка
  Pascal сначала транслировал исходную
  программу в программу на языке
  гипотетической машины со стековой
  архитектурой. Благодаря такой своей
  организации Pascal легко переносился на
  компьютеры других систем. Компилятор
  Pascal был написан на одноименном
  языке. Все, что требовалось для перехода в
  другую систему, - это переписать
  соответствующим образом интерпретатор
  Р-кода.
 Появившийся в 1970 году Pascal начал
  завоевывать признание. В 1983 году был
  разработан американский стандарт языка
  (IEEE 770/ ANSI X3.97), а вскоре был
  разработан стандарт ISO (ISO 7185).
 Блэз Паскаль – один из самых знаменитых людей в
  истории человечества. Паскаль умер, когда ему было 39
  лет, но, несмотря на столь короткую жизнь, вошел в
  историю как выдающийся математик, физик, философ
  и писатель. Его именем названы единица давления
  (паскаль) и весьма популярный сегодня язык
  программирования.
  Работы Паскаля охватывают самые разные области. Он
  является одним из создателей математического
  анализа, проектной геометрии, теории
  вероятностей, гидростатики (широко известен закон
  Паскаля, согласно которому изменения давления в
  покоящейся жидкости передается в остальные точки
  без изменений), создателем механического счетного
  устройства – "паскалева колеса", как говорили
  современники. Философские мысли Паскаля (после его
  смерти в разных вариантах, под разными названиями
  издавались материалы в виде книги, которую чаще
  всего называют "Мысли") оказывали влияние на
  многих выдающихся людей и, в частности, на великих
  русских писателей –
  И.С.Тургенева, Ф.М.Достоевского, Л.Н.Толстого.
 Некоторые из практических достижений Паскаля
  удостоились высшего отличия – сегодня мало кто
  знает имя их автора. Так, сейчас очень немногие
  скажут, что самая обыкновенная тачка, это
  изобретение Блэз Паскаля. Ему принадлежит и идея
  омнибусов – общедоступных карет с
  фиксированными маршрутами – первого вида
  регулярного городского транспорта. Уже в
  шестнадцатилетнем возрасте Паскаль
  сформулировал теорему о
  шестиугольнике, вписанном в коническое сечение
  (теорема Паскаля). Известно, что позже он получил
  из своей теоремы около 400 следствий.
 Блез Паскаль родился в Клермон-Ферране 19 июня
  1623 года. Блез был третьим ребенком в семье хорошо
  образованного юриста, увлекавшегося математикой.
  Однако по непонятным причинам отец запретил ему
  изучать точные науки до 15 лет. Впрочем, вскоре
  запрет был снят: юный гений поразил
  родителя, сообщив ему о том, что сумма углов в
  любом треугольнике равна 180 градусам. Ну как
  можно после этого не познакомить ребенка с
  Евклидом?
 Структура программ на языке Pascal напоминает
  программы на С. Тем не менее в Pascal предусмотрена
  возможность описания внутренних локальных
  процедур и создания вложенной иерархии имен.
  Программа на Pascal представляет собой единый
  программный блок, в котором содержатся определения
  используемых подпрограмм.
 В Pascal имеется достаточно широкий набор простых и
  структурированных типов данных: целые и
  вещественные числа, символьные
  данные, перечисления, логические (булевы)
  значения, массивы, записи, последовательные файлы и
  ограниченный тип множеств. Оператор type позволяет
  программисту определять новые типы данных, хотя не
  обеспечивает группирование и инкапсуляцию
  определения нового типа данных с набором
  подпрограмм, обеспечивающих выполнение основных
  операций над объектами данных этого нового типа.
  Кроме того, указатель и операция создания новых
  объектов данных любого типа позволяют
  программисту конструировать новые объекты
  связанных данных непосредственно во время
  выполнения программы.
Во время выполнения программ на Pascal
центральный стек используется для записей
активации подпрограмм, область динамически
распределяемой памяти отводится под объекты
данных, созданных для прямого
манипулирования с помощью переменных-
указателей, а область статически распределяемой
памяти используется для хранения сегментов
кода подпрограмм и вспомогательных
подпрограмм из библиотеки поддержки
выполнения. Из вспомогательных подпрограмм
нужны в основном стандартные программы
ввода-вывода для последовательных файлов и
процедуры для управления ресурсами памяти.
 Хотя Pascal в целом очень удобный и полезный язык, у него
  есть свои недостатки, перечень которых приведен ниже.
 1. В определении этого языка имеется некоторое
  противоречие между идеологией самого языка и его
  реализацией. Например, конструкция forward нужна только
  для того, чтобы компиляция могла выполняться в один
  проход, - это следствие представлений о том, что таким
  образом достигается максимальная эффективность
  компиляции. Но это не всегда верно. Например, компилятор
  PL/C для языка PL/I совершал три прохода и вместе с тем
  являлся одним из самых эффективных среди наиболее
  распространенных компиляторов своего времени . Кроме
  того, в настоящее время при использовании недорогих
  быстродействующих компьютеров скорость компиляции не
  имеет большого значения.
 2. Возможно, самой главной слабостью языка Pascal является
  то, что массивы рассматриваются как отдельные типы, а не
  как агрегация различных объектов одного типа. Это
  приводит к тому, что, например, array [1. .10] of Integer и
  аггау[1. .20] of integer представляют собой/разные типы
  данных. В результате алгоритмы обработки массивов
  усложняются, поскольку массивы различных размеров
  невозможно передать общей подпрограмме
  (например, подпрограмме перемножения матриц). Строки
  реализованы как массивы символов, что также затрудняет их
  обработку в случае строк различной длины.
 3. Синтаксис определения процедуры в Pascal выглядит
  следующим образом: заголовок процедуры локальные
  переменные локальные параметры begin тело_процедуры
  end Поскольку в программе может содержаться большое
  количество вложенных локальных процедур, то
  определение локальной переменной, которая
  используется в какой-либо процедуре, оказывается
  (синтаксически) сильно отдаленным от места ее
  использования в теле подпрограммы. Это приводит к
  затруднениям при создании документации и чтении
  больших программ на Pascal.
 4. Возможности, предоставляемые языком, должны
  выполняться не с помощью пропуска некоторой
  информации, а явным указанием этой информации. В
  Pascal передача параметров нарушает это правило. Все
  параметры в Pascal передаются по значению, если только в
  списке параметров не указан явным образом атрибут
  var, который означает, что соответствующий параметр
  должен передаваться по ссылке. Многие начинающие
  программисты (в том числе один из авторов этой книги)
  часами рассматривали листинги программ, стараясь
  обнаружить ошибку, связанную с пропуском ключевого
  слова var.
5. Pascal был реализован таким образом, что компиляция программы
представляла собой единый процесс, то есть не была предусмотрена
возможность компилировать отдельные программные модули. В
большинстве реализаций, однако, эту проблему удалось решить: было
принято соглашение, что допускаются дополнительные внешние
процедуры, аналогичные заголовочным файлам с расширением .h в
языке С. Но такая нестандартная реализация ограничивает
возможность перенесения программ на Pascal на другие машины.
6. Хотя в Pascal допускается определение новых типов данных для
поддержки абстракций, в нем фактически не предусмотрена
возможность инкапсуляции и сокрытия информации. (Это замечание
является скорее не критикой данного языка, а
комментарием, касающимся общего уровня развития
программирования в 1970 г., когда создавался Pascal.)
язык программирования

More Related Content

Viewers also liked

Academia De Futbol De Menores Nervi F C
Academia De Futbol De Menores Nervi F CAcademia De Futbol De Menores Nervi F C
Academia De Futbol De Menores Nervi F Cguestb4eaf75
 
Jcef Anniversaire 2010
Jcef   Anniversaire 2010Jcef   Anniversaire 2010
Jcef Anniversaire 2010JCEF Shanghai
 
картинки
картинкикартинки
картинкиTatyana
 
BUZZ DIGITAL
BUZZ DIGITALBUZZ DIGITAL
BUZZ DIGITALjvr66
 
Pink Elephant Bedrijfspresentatie
Pink Elephant BedrijfspresentatiePink Elephant Bedrijfspresentatie
Pink Elephant Bedrijfspresentatiedenisbierling
 
Fakt Presentation 2010
Fakt Presentation 2010Fakt Presentation 2010
Fakt Presentation 2010tarutin
 
Severo Ochoa
Severo OchoaSevero Ochoa
Severo OchoaCCMC
 
Tribunal de Justiça da UE e BCE
Tribunal de Justiça da UE e BCETribunal de Justiça da UE e BCE
Tribunal de Justiça da UE e BCEInes Loureiro
 
Parcerias Corajem
Parcerias CorajemParcerias Corajem
Parcerias Corajemguest0b73ee
 
Economia brasileira em perspectiva 30.12.2014
Economia brasileira em perspectiva   30.12.2014Economia brasileira em perspectiva   30.12.2014
Economia brasileira em perspectiva 30.12.2014DenizecomZ
 
Resultados, Clasificaciones Y ProgramacióN (1)
Resultados, Clasificaciones Y ProgramacióN (1)Resultados, Clasificaciones Y ProgramacióN (1)
Resultados, Clasificaciones Y ProgramacióN (1)Web Futbolaragones
 
Kristalezko fabrika
Kristalezko fabrikaKristalezko fabrika
Kristalezko fabrikanaturgaia
 
Irakaskuntza 2 0 (HIKHASI 2007)
Irakaskuntza 2 0 (HIKHASI 2007)Irakaskuntza 2 0 (HIKHASI 2007)
Irakaskuntza 2 0 (HIKHASI 2007)Jokin Lacalle
 

Viewers also liked (18)

Nirrimi
NirrimiNirrimi
Nirrimi
 
Academia De Futbol De Menores Nervi F C
Academia De Futbol De Menores Nervi F CAcademia De Futbol De Menores Nervi F C
Academia De Futbol De Menores Nervi F C
 
Jcef Anniversaire 2010
Jcef   Anniversaire 2010Jcef   Anniversaire 2010
Jcef Anniversaire 2010
 
картинки
картинкикартинки
картинки
 
BUZZ DIGITAL
BUZZ DIGITALBUZZ DIGITAL
BUZZ DIGITAL
 
Estudando geografia
Estudando geografiaEstudando geografia
Estudando geografia
 
Pink Elephant Bedrijfspresentatie
Pink Elephant BedrijfspresentatiePink Elephant Bedrijfspresentatie
Pink Elephant Bedrijfspresentatie
 
Fakt Presentation 2010
Fakt Presentation 2010Fakt Presentation 2010
Fakt Presentation 2010
 
LAS 10 PREGUNTAS
LAS 10 PREGUNTASLAS 10 PREGUNTAS
LAS 10 PREGUNTAS
 
Severo Ochoa
Severo OchoaSevero Ochoa
Severo Ochoa
 
Art
ArtArt
Art
 
Tribunal de Justiça da UE e BCE
Tribunal de Justiça da UE e BCETribunal de Justiça da UE e BCE
Tribunal de Justiça da UE e BCE
 
Parcerias Corajem
Parcerias CorajemParcerias Corajem
Parcerias Corajem
 
Economia brasileira em perspectiva 30.12.2014
Economia brasileira em perspectiva   30.12.2014Economia brasileira em perspectiva   30.12.2014
Economia brasileira em perspectiva 30.12.2014
 
Resultados, Clasificaciones Y ProgramacióN (1)
Resultados, Clasificaciones Y ProgramacióN (1)Resultados, Clasificaciones Y ProgramacióN (1)
Resultados, Clasificaciones Y ProgramacióN (1)
 
Kristalezko fabrika
Kristalezko fabrikaKristalezko fabrika
Kristalezko fabrika
 
Autoestima
AutoestimaAutoestima
Autoestima
 
Irakaskuntza 2 0 (HIKHASI 2007)
Irakaskuntza 2 0 (HIKHASI 2007)Irakaskuntza 2 0 (HIKHASI 2007)
Irakaskuntza 2 0 (HIKHASI 2007)
 

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

Orxan9r2 pascal
Orxan9r2 pascalOrxan9r2 pascal
Orxan9r2 pascalorxan9r2
 
Orxan9r2 pascal
Orxan9r2 pascalOrxan9r2 pascal
Orxan9r2 pascalorxan9r2
 
лекции презентации
лекции презентациилекции презентации
лекции презентацииGulnaz Shakirova
 
лекции презентации
лекции презентациилекции презентации
лекции презентацииGulnaz Shakirova
 
лекции презентации
лекции презентациилекции презентации
лекции презентацииZhanna Kazakova
 
Vvedenievturbopascal
VvedenievturbopascalVvedenievturbopascal
VvedenievturbopascalSerghei Urban
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin
 
вопросы на тему Turbo pascal
вопросы на тему Turbo pascalвопросы на тему Turbo pascal
вопросы на тему Turbo pascalFarida7777
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнацияtimofey_kravchenko
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнацияsonyadark
 
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Tatyanazaxarova
 
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...ivanov15548
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Fwdays
 
Программирование
ПрограммированиеПрограммирование
Программированиеalecsa
 
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)ScalaNsk
 

Similar to язык программирования (20)

Orxan9r2 pascal
Orxan9r2 pascalOrxan9r2 pascal
Orxan9r2 pascal
 
Orxan9r2 pascal
Orxan9r2 pascalOrxan9r2 pascal
Orxan9r2 pascal
 
Pascal+
Pascal+Pascal+
Pascal+
 
история паскаль
история паскальистория паскаль
история паскаль
 
лекции презентации
лекции презентациилекции презентации
лекции презентации
 
лекции презентации
лекции презентациилекции презентации
лекции презентации
 
лекции презентации
лекции презентациилекции презентации
лекции презентации
 
Vvedenievturbopascal
VvedenievturbopascalVvedenievturbopascal
Vvedenievturbopascal
 
Niklaus virt by_toqrul_9r1
Niklaus virt by_toqrul_9r1Niklaus virt by_toqrul_9r1
Niklaus virt by_toqrul_9r1
 
Turbo pascal. toqrul
Turbo pascal. toqrulTurbo pascal. toqrul
Turbo pascal. toqrul
 
Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)Viacheslav Eremin about DOT NET (rus lang)
Viacheslav Eremin about DOT NET (rus lang)
 
вопросы на тему Turbo pascal
вопросы на тему Turbo pascalвопросы на тему Turbo pascal
вопросы на тему Turbo pascal
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнация
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнация
 
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
Использование библиотеки анализа кода OpenC++: модификация, улучшение, исправ...
 
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
507.методическое пособие по дисциплине «информатика» ч1 программирование на я...
 
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...Alexandr Serbul "The Rust language for a high-load network service - a quick ...
Alexandr Serbul "The Rust language for a high-load network service - a quick ...
 
Программирование
ПрограммированиеПрограммирование
Программирование
 
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
Павел Павлов - Scala для Java программистов (JavaDay Nsk 28.11.2013)
 
Архитектура ROS
Архитектура ROSАрхитектура ROS
Архитектура ROS
 

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

  • 1. Подготовил ученик 7 б класса МБОУ гимназии №64 Имени В.А.Котельникова Г.Липецка Минаков Михаил
  • 2. 1. Биография Никлауса Вирта(создателя языка программирования Pascal) 2. История разработки Pascal 3. История названия 4. Краткий обзор Pascal 5. Недостатки Pascal
  • 3.  Никлаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования. Ведущий разработчик языков Паскаль, Модула- 2, Оберон, профессор компьютерных наук (ETH), Лауреат премии Тьюринга 1984 года.  Никлаус Вирт родился 15 февраля 1934 года в Винтертуре, в предместье Цюриха (Швейцария). Родители — Уолтер и Хедвиг Вирт. Отец Никлауса был школьным учителем.
  • 4. Небольшой городок Винтертур имеет многовековую историю и славится своими машиностроением: там выпускаются локомотивы и дизельные двигатели. С детских лет Вирт увлекался техником, особенно авиамоделированием. Он буквально грезил небом. Но для запуска ракет нужно было получать топливо, и потому он занялся химией. Юный Вирт оборудовал в подвале школы "секретную" лабораторию. Ничто не могло его остановить: однажды сделанная им модель отклонилась от заданной траектории и угодила под ноги директору школы. Однако Вирт все равно продолжал упорно идти к намеченной цели.
  • 5. От строительства моделей Никлаус довольно быстро перешел к разработке их дистанционного управления. Когда ему исполнилось 18 лет, то он с еще двумя цюрихскими авиамоделистами получили из Англии желанную радиоаппаратуру. Это предопределило его дальнейшую судьбу – в 1954 г. Вирт поступил на факультет электроники в цюрихский ETH (Eidgenoessische Technische Hochschule, Швейцарский федеральный технологический институт). После четырех лет обучения Вирт получил степень бакалавра в области электротехники. А затем начинается славное десятилетнее заокеанское научное "турне" будущего "отца Паскаля" и "короля компиляторов" по маршруту Швейцария – Канада – США – Швейцария.
  • 6. Pascal разрабатывался с 1968 по 1970 год. Цель заключалась в том, чтобы создать язык, лишенный многочисленных недостатков ALGOL. Компилятор языка Pascal сначала транслировал исходную программу в программу на языке гипотетической машины со стековой архитектурой. Благодаря такой своей организации Pascal легко переносился на компьютеры других систем. Компилятор Pascal был написан на одноименном языке. Все, что требовалось для перехода в другую систему, - это переписать соответствующим образом интерпретатор Р-кода.  Появившийся в 1970 году Pascal начал завоевывать признание. В 1983 году был разработан американский стандарт языка (IEEE 770/ ANSI X3.97), а вскоре был разработан стандарт ISO (ISO 7185).
  • 7.  Блэз Паскаль – один из самых знаменитых людей в истории человечества. Паскаль умер, когда ему было 39 лет, но, несмотря на столь короткую жизнь, вошел в историю как выдающийся математик, физик, философ и писатель. Его именем названы единица давления (паскаль) и весьма популярный сегодня язык программирования. Работы Паскаля охватывают самые разные области. Он является одним из создателей математического анализа, проектной геометрии, теории вероятностей, гидростатики (широко известен закон Паскаля, согласно которому изменения давления в покоящейся жидкости передается в остальные точки без изменений), создателем механического счетного устройства – "паскалева колеса", как говорили современники. Философские мысли Паскаля (после его смерти в разных вариантах, под разными названиями издавались материалы в виде книги, которую чаще всего называют "Мысли") оказывали влияние на многих выдающихся людей и, в частности, на великих русских писателей – И.С.Тургенева, Ф.М.Достоевского, Л.Н.Толстого.
  • 8.  Некоторые из практических достижений Паскаля удостоились высшего отличия – сегодня мало кто знает имя их автора. Так, сейчас очень немногие скажут, что самая обыкновенная тачка, это изобретение Блэз Паскаля. Ему принадлежит и идея омнибусов – общедоступных карет с фиксированными маршрутами – первого вида регулярного городского транспорта. Уже в шестнадцатилетнем возрасте Паскаль сформулировал теорему о шестиугольнике, вписанном в коническое сечение (теорема Паскаля). Известно, что позже он получил из своей теоремы около 400 следствий.  Блез Паскаль родился в Клермон-Ферране 19 июня 1623 года. Блез был третьим ребенком в семье хорошо образованного юриста, увлекавшегося математикой. Однако по непонятным причинам отец запретил ему изучать точные науки до 15 лет. Впрочем, вскоре запрет был снят: юный гений поразил родителя, сообщив ему о том, что сумма углов в любом треугольнике равна 180 градусам. Ну как можно после этого не познакомить ребенка с Евклидом?
  • 9.  Структура программ на языке Pascal напоминает программы на С. Тем не менее в Pascal предусмотрена возможность описания внутренних локальных процедур и создания вложенной иерархии имен. Программа на Pascal представляет собой единый программный блок, в котором содержатся определения используемых подпрограмм.  В Pascal имеется достаточно широкий набор простых и структурированных типов данных: целые и вещественные числа, символьные данные, перечисления, логические (булевы) значения, массивы, записи, последовательные файлы и ограниченный тип множеств. Оператор type позволяет программисту определять новые типы данных, хотя не обеспечивает группирование и инкапсуляцию определения нового типа данных с набором подпрограмм, обеспечивающих выполнение основных операций над объектами данных этого нового типа. Кроме того, указатель и операция создания новых объектов данных любого типа позволяют программисту конструировать новые объекты связанных данных непосредственно во время выполнения программы.
  • 10. Во время выполнения программ на Pascal центральный стек используется для записей активации подпрограмм, область динамически распределяемой памяти отводится под объекты данных, созданных для прямого манипулирования с помощью переменных- указателей, а область статически распределяемой памяти используется для хранения сегментов кода подпрограмм и вспомогательных подпрограмм из библиотеки поддержки выполнения. Из вспомогательных подпрограмм нужны в основном стандартные программы ввода-вывода для последовательных файлов и процедуры для управления ресурсами памяти.
  • 11.  Хотя Pascal в целом очень удобный и полезный язык, у него есть свои недостатки, перечень которых приведен ниже.  1. В определении этого языка имеется некоторое противоречие между идеологией самого языка и его реализацией. Например, конструкция forward нужна только для того, чтобы компиляция могла выполняться в один проход, - это следствие представлений о том, что таким образом достигается максимальная эффективность компиляции. Но это не всегда верно. Например, компилятор PL/C для языка PL/I совершал три прохода и вместе с тем являлся одним из самых эффективных среди наиболее распространенных компиляторов своего времени . Кроме того, в настоящее время при использовании недорогих быстродействующих компьютеров скорость компиляции не имеет большого значения.  2. Возможно, самой главной слабостью языка Pascal является то, что массивы рассматриваются как отдельные типы, а не как агрегация различных объектов одного типа. Это приводит к тому, что, например, array [1. .10] of Integer и аггау[1. .20] of integer представляют собой/разные типы данных. В результате алгоритмы обработки массивов усложняются, поскольку массивы различных размеров невозможно передать общей подпрограмме (например, подпрограмме перемножения матриц). Строки реализованы как массивы символов, что также затрудняет их обработку в случае строк различной длины.
  • 12.  3. Синтаксис определения процедуры в Pascal выглядит следующим образом: заголовок процедуры локальные переменные локальные параметры begin тело_процедуры end Поскольку в программе может содержаться большое количество вложенных локальных процедур, то определение локальной переменной, которая используется в какой-либо процедуре, оказывается (синтаксически) сильно отдаленным от места ее использования в теле подпрограммы. Это приводит к затруднениям при создании документации и чтении больших программ на Pascal.  4. Возможности, предоставляемые языком, должны выполняться не с помощью пропуска некоторой информации, а явным указанием этой информации. В Pascal передача параметров нарушает это правило. Все параметры в Pascal передаются по значению, если только в списке параметров не указан явным образом атрибут var, который означает, что соответствующий параметр должен передаваться по ссылке. Многие начинающие программисты (в том числе один из авторов этой книги) часами рассматривали листинги программ, стараясь обнаружить ошибку, связанную с пропуском ключевого слова var.
  • 13. 5. Pascal был реализован таким образом, что компиляция программы представляла собой единый процесс, то есть не была предусмотрена возможность компилировать отдельные программные модули. В большинстве реализаций, однако, эту проблему удалось решить: было принято соглашение, что допускаются дополнительные внешние процедуры, аналогичные заголовочным файлам с расширением .h в языке С. Но такая нестандартная реализация ограничивает возможность перенесения программ на Pascal на другие машины. 6. Хотя в Pascal допускается определение новых типов данных для поддержки абстракций, в нем фактически не предусмотрена возможность инкапсуляции и сокрытия информации. (Это замечание является скорее не критикой данного языка, а комментарием, касающимся общего уровня развития программирования в 1970 г., когда создавался Pascal.)