Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kitkat_otvety.doc
Скачиваний:
3
Добавлен:
01.08.2019
Размер:
3.29 Mб
Скачать

Билет 19

  1. Модули в Паскале. Структура модуля.

  2. Арифметические выражения. Приоритет операций. Как определяется тип значения арифметической формулы?

Модули - это программные единицы, предназначенные для раз­мещения фрагментов программ. С помощью содержащегося в них программного кода реализуется вся поведенческая сторона про­граммы.

Любой модуль имеет следующую структуру:

заголовок

секция интерфейсных объявлений

секция реализаций

терминатор

Инициирующая и завершающая части являются необязательными.

Заголовок открывается зарезервированным словом unit за кото­рым следует имя модуля и точка с запятой. Секция интерфейсных объявлений открывается зарезервированным словом interface, a секция реализаций - словом implementation. Терминатором модуля, как и терминатором программы, является end с точкой. Следующий фрагмент программы является синтаксически правильным вариан­том модуля:

unit Unitl;

interface // Секция интерфейсных объявлений

implementation // Секция реализаций

end.

В секции интерфейсных объявлений описываются программные элементы (типы, классы, процедуры и функции), которые будут «видны» другим программным модулям, а в секции реализаций раскрывается механизм работы этих элементов. Раздел интерфейса сообщает компилятору, какие дан­ные, располагающиеся в модуле, являются доступными для других модулей программы. В этом разделе могут быть перечислены после слова uses модули, используемые дан­ным модулем.

Разделение моду­ля на две секции обеспечивает удобный механизм обмена алго­ритмами между отдельными частями одной программы. Получив откомпилированный «посторонний» модуль, программа получает доступ только к его интерфейсной части, в которой содер­жатся объявления элементов. Детали реализации объявленных процедур, функций, классов скрыты в секции реализаций и недос­тупны другим модулям.

Программный код модуля содержится в файле с расширением pas.

2) Выражения различают по типу их результата: целые, вещественные, символьные, ло­гические, строковые и т.Д. Выражения, имеющие результат целого и вещественного типа, называются арифметическими.

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

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

• операция, находящаяся между двумя операциями с равными приоритетами, связы­вается с той операцией, которая находится слева от него;

• выражение, заключенное в скобки, перед выполнением вычисляется, как отдель­ный операнд.

Управлять по­рядком выполнения операций можно при помощи круглых скобок.

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

Билет 20

  1. Объявление типов и использование имен типов для описания данных.

  2. Процедуры вывода write и writeln. Управление форматом вывода числовых и текстовых величин.

1) Типы данных играют огромную роль. Первоначально они использовались для указания компилятору сколько памяти необходимо в программе. Применение типов защищает программу от случайных ошибок. В Object Pascal значение типов возросло в еще большей степени, так как с их помощью определяются классы. Любые данные характеризуются своими типами. Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а так же множество операций применимых к нему. Тип определяет формат внутреннего представления данных в памяти компьютера. Типы можно разделить на стандартные, то есть предопределенные в языке, и определяемые программистом. К стандартным типам относятся следующие: целые, вещественные, символы, строки, указатели, логические и variant. Типы, создаваемые программистом, объявляются в разделе описания типов после слова type. В общем виде: <имя типа> = <описание типа>;

Стандартные типы не нужно указывать в разделе описания типов, а можно сразу использовать при описании переменных в разделе var. Имеющиеся в Паскале стандартные типы можно классифицировать следующим образом:

Простые

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

Действительные – некоторое подмножество действительных чисел.

Строки

Структуры (множества, массивы, записи, файлы)

Указатели

Процедурные

Variant

2) Назначение процедур write и writeln – выводить информацию на экран. Формат этих процедур таков: Write(элемент1, элемент2,…); или Writeln (элемент1, элемент2,…); Элементами списка вывода может являться целое либо вещественное число, символ, строка или логическое значение, константа, переменная, разыменованный указатель или обращение к функции, если она возвращает значение имеющее целый, вещественный, символьный, строковый или логический тип. Все элементы из списка печатаются в одной строке дисплея в заданном порядке. В случае процедуры writeln курсор после выполнения процедуры переходит в начало следующей строки. В случае процедуры write курсор остается на той же строке после последнего напечатанного символа. Когда распечатываются элементы списка вывода, между ними не ставятся автоматически пробелы, поэтому разделители должны ставиться пользователем в строке вывода. Для улучшения внешнего вида выводимых на экран дисплея данных можно использовать формат (описание поля вывода) для определения количества позиций, которые займет на экране дисплея элемент из списка вывода.. Ширина поля в Паскале задается числовым выражением, которое записывается в операторе вывода через двоеточие вслед за выводимым значением: writeln (элемент1:ширина1, элемент2:ширина2, …), где ширина поля –целое выражение, определяющее длину поля, в которое должен быть записан элемент. Элемент дополняется начальными пробелами в том случае, когда ширина поля больше, чем необходимо. Внутри поля выравнивание происходит по правой границе. Если ширина поля меньше, чем необходимо, то она автоматически увеличивается до минимально необходимого размера. Этот способ можно применять для целых, вещественных значений, символов, строк и логических выражений. Однако, при таком задании ширины поля вещественные числа распечатываются в экспоненциальной форме. Для вещественных значений можно после ширины поля указать второй параметр – количество позиций, отводимых под дробную часть из общей ширины поля. Такое задание поля позволяет выдать вещественное число в формате с фиксированной точкой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]