Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмирование.docx
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
128.25 Кб
Скачать

5 Вопрос.

Паскаль (англ. Pascal) — язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании[4], до сих пор используется для обучения программированию в высшей школе, является базой для ряда других языков. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Синтаксис и языковые конструкции

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.

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

Существует несколько подходов к определению семантики языков программирования.

Наиболее широко распространены разновидности следующих трёх: операционного, деривационного (аксиоматического) и денотационного (математического).

  • При описании семантики в рамках операционного подхода обычно исполнение конструкций языка программирования интерпретируется с помощью некоторой воображаемой (абстрактной) ЭВМ.

  • Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий.

  • Денотационная семантика оперирует понятиями, типичными для математики — множества, соответствия, а также суждения, утверждения и др.

6 Вопрос.

Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции в Pascal ABC допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения. Например, в модулях может отсутствовать разделение на секцию интерфейса и секцию реализации. В этом случае модули устроены практически так же, как и основная программа, что позволяет приступить к их изучению параллельно с темой "Процедуры и функции". Тела методов можно определять непосредственно внутри классов (в стиле Java и C#), что позволяет создавать классы практически сразу после изучения записей, процедур и функций. В языке Pascal ABC имеются арифметические операции с типизированными указателями (в стиле языка C), а также тип complex, предназначенный для работы с комплексными числами.

Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal, и в 50 раз медленнее этой программы, откомпилированной в среде Borland Delphi.

7-8 вопрос.

Языком называется совокупность символов, соглашений и правил, используемых для общения. Основой Паскаля, как и любого языка, являетсяалфавит – конечный набор знаков, состоящий из букв и других символов. В Паскале разрешается использовать буквы латинского алфавита, десятичные и шестнадцатеричных цифры, а также ряд специальных символов (+, -, *, /, ( , ) и т.п.).

Неделимые последовательности знаков алфавита образуют слова, несущие в программе определённый смысл. Слова разделяются пробельными символами. Набор слов Паскаля можно разделить на три группы: зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя. Зарезервированные слова (служебные слова) имеют неизменяемый вид и смысл (они не могут быть изменены программистом). Например: if, end, or – зарезервированные слова. Зарезервированные слова нельзя использовать в качестве имён для обозначения величин в программе.

Группа слов, имеющая некоторый смысл, называется словосочетанием. Минимальная конструкция языка, представляющая собой законченную мысль, называется предложением. Если предложение языка задаёт полное описание некоторого действия, оно называется оператором. Предложение, описывающее структуру и организацию данных – объектов языка, над которыми производятся различные действия, называется описанием.

Для того чтобы научиться составлять программы для компьютера, необходимо изучить синтаксис языка (правила записи его конструкций) и егосемантику (смысл и правила использования этих конструкций).

Для того чтобы программа решения задачи обладала свойством массовости, следует употреблять не конкретные значения величин, а использовать их обозначения для возможности изменения их значений в ходе выполнения программы. Для этого предназначены имена – идентификаторы, которые ставят в соответствие объекту программы некоторый набор символов. Все идентификаторы можно разделить на стандартные и пользовательские.Стандартные идентификаторы определяются разработчиками языка и служат для обозначения типов данных, констант, процедур и функций (например, sin– имя функции для вычисления синуса заданного угла). Стандартные идентификаторы в отличие от зарезервированных слов можно переопределять в программе, но без особой необходимости это делать не следует. Пользовательские идентификаторы вводятся программистом по своему усмотрению. В пределах одного блока программы нельзя использовать один идентификатор для обозначения более чем одного объекта.

Решение задачи на компьютере – это процесс сбора, обработки и передачи информации. Поэтому любая программа имеет смысл, если она обрабатывает какие-либо данные. Как и в других языках программирования, в Паскале данные разделяются на константы и переменные.Константами называют элементы данных, значения которых не могут изменяться в процессе выполнения программы. Так в выражении 7*x+10*y, 7 и 10 это целые константы. Программист может присвоить некоторым константам символические имена в описательной части программы, а затем использовать эти имена в записи выражений. В программе, кроме констант, используются переменные. Переменными называют величины, которые могут менять свои значения в процессе выполнения программы. В программе переменные определяются именами (идентификаторами), по которым к ним можно обращаться для получения текущих значений. Имя переменной подобно ячейке, которую можно заполнить различными значениями (чего нельзя сделать с константой). Однако имя переменной используется только в тексте программы. Компьютер реально работает только с числами и вместо имени переменной использует ее адрес – номер первого байта участка памяти отведенного под переменную. Адрес переменной используется при каждом обращении к переменной. Когда значение переменной используется в выражениях, то происходит чтение по определенному адресу оперативной памяти. Когда значение переменной изменяется, то происходит запись по соответствующему адресу.

10-11вопрос.

Целоецелочисленный тип данных (англ. Integer), в информатике — один из простейших и самых распространённых типов данных в языках программирования. Служит для представления целых чисел. Множество чисел этого типа представляет собой подмножество бесконечного множества целых чисел, ограниченное максимальным и минимальным значениями. Если используется 32-разрядное машинное слово, то беззнаковое целое будет представлять значения 0..232−1 ≈ 4×109.

В Турбо Паскале имеется 5 вещественных типов:

Real (занимает 6 байт, диапазон от 2.9E-39 до 1.7E+38 по модулю, точность 11-12 значащих цифр)

Single (занимает 4 байта, диапазон от 1.5E-45 до 3.4E+38 по модулю, точность 7-8 значащих цифр)

Double (занимает 8 байт, диапазон от 5.0Е-324 до 1.7Е+308 по модулю, точность 15-16 значащих цифр)

Extended (занимает 10 байт, диапазон от 3.4E-4932 до 1.1E+4932 по модулю, точность19-20 значащих цифр).

Comp (занимает 8 байт, диапазон от -9.2E-18 до 9.2E+18, хранятся точно, поскольку это целые числа)

Вещественные типы являются упорядоченными, но не порядковыми. Операции над вещественными числами: сложение ,вычитание, умножение, деление и операции отношения. Кроме того, имеется большое количество встроенных функций для работы с числами: abs, sqr, sqrt, sin, cos и т.п.

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

Неточности в хранении вещественных чисел могут привести к тому, что при вычитании близких чисел может произойти потеря значимости. Это же объясняет, почему следует избегать сравнения вещественных величин на точное равенство.