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

Правила выполнения программы

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

Операторы программы выполняются в порядке следования, один за другим, с учетом действия управляющих операторов, таких как goto, if, while, for, repeat.

Текст Паскаль - программы может содержать ключи компиляции, которые позволяют управлять режимом компиляции. Синтаксически ключи компиляции записываются как комментарии в самом начале программы. Ключ компиляции содержит символ $ и букву-ключ с последующим знаком + (включить режим) или - (выключить режим). Например:

{$E+} - эмулировать математический сопроцессор; {$F+} - формировать дальний тип вызова процедур и функций; {$N+} - использовать математический сопроцессор; {$R+} - проверять выход за границы диапазонов.

Некоторые ключи компиляции могут содержать параметр, например:

{$I имя файла} - включить в текст компилируемой программы названный файл.

Типы данных Понятие типа

Мы рассматриваем алгоритм как вычислительную процедуру, на вход которой подается некоторая величина или набор величин, и результатом выполнения которой является выходная величина или набор величин. Эти величины принято называть данными. Данные обладают типом. Например, на вход алгоритму Евклида поступают положительные целые числа. Мы говорим, что входные данные имеют тип «натуральные числа». На вход алгоритму поиска поступают символы некоторого алфавита. Мы говорим, что входные данные имеют символьный тип. Если алгоритм поиска должен определить только наличие какого-нибудь символа, то на выходе такого алгоритма будет значение «да» или «нет» (значение истинности), и мы говорим о логическом типе выходных данных.

На практике выделяют типы данных по признаку одинаковых действий, связанных с ними. Чаще всего такие типы сложились естественно. Наиболее часто употребляемые типы данных обычно включают в состав языков программирования как стандартные типы. Такими являются, в первую очередь, тип целых и действительных чисел. Многие языки программирования включают тип символов, строковый тип, тип логических значений. Реже – комплексные числа, иногда – списки. Как правило, современные языки программирования высокого уровня предоставляют программисту средства для конструирования собственных типов.

Таблица 4. Типы данных в Паскале4

  • целочисленные типы:

    byte:

    1 байт без знака

    ShortInt:

    1 байт со знаком

    Word:

    2 байта без знака

    Integer :

    2 байта со знаком

    Longint:

    4 байта со знаком

    Int64

    8 байт со знаком

  • дробные (действительные):

    Real:

    6 байт

    Single:

    4 байта

    Double:

    8 байт

    Extended:

    10 байт

    Comp:

    8 байт

  • логические:

    Boolean:

    1 байт

    WordBool:

    2 байта

    ByteBool:

    1 байт

    LongBool:

    4 байта

  • символьные:

    Char:

    1 байт

    String:

    от 1 до 255 байт + байт длины

  • указатели:

    Pointer:

    4 байтa, нетипизированный указатель

    ^<имя_типа>:

    4 байта, типизированный указатель

  • массивы - несколько однотипных элементов, объединенных одним именем; доступ к элементам производится по их номерам (индексам)

  • записи - несколько элементов, объединенных одним именем; доступ к элементам производится по их уникальным "полям"

  • множества - несколько однотипных элементов, объединенных одним именем, причем элементы не повторяются; доступ к элементам производится через специальные функции

  • файлы - несколько элементов, объединенных одним именем и расположенных вне оперативной памяти; доступ к ним производится с помощью специфических процедур и функций

  • типы, определяемые программистом, - поименованные структуры из некоторых стандартных типов (эти типы не являются стандартными).