Лабораторная работа 1.
Модули unit.

horizontal rule

Задание

Контрольные вопросы и задания

horizontal rule

Несколько замечаний перед тем, как приступить к выполнению задания...

Задание

  1. Задача "Квадратное уравнение с комплексными коэффициентами" (Pdf).

Указания

    1. Разработайте модуль unit complex.pas, который экспортирует тип данных "Комплексное число", подпрограммы ввода, вывода и математических операций с комплексными числами. Используйте решение задачи "Арифметические действия с комплексными числами" (Pdf), созданное при выполнении Лабораторной работы 7.
       
    2. Оформите решение задачи в виде головной программы, к которой подключите разработанный модуль unit complex.pas. Используйте решение задачи "Квадратное уравнение" (Pdf), созданное при выполнении Лабораторной работы 4.
       


 

Контрольные вопросы и задания

  1. Объясните отличия программной единицы program от программной единицы unit.
  2. В чем состоят недостатки использования директивы компилятора {$INCLUDE имя_файла} (включение исходного текста указанного файла в компилируемую программу) вместо использования модулей unit?
  3. Объясните назначение интерфейсной секции (interface), секции реализации (implementation) и секции инициализации модуля unit.
  4. Верно ли, что в модуле unit:
    a) количество подпрограмм в интерфейсной секции должно совпадать с количеством подпрограмм в секции реализации
    b) количество подпрограмм в интерфейсной секции может быть меньше количества подпрограмм в секции реализации
    c) количество подпрограмм в интерфейсной секции может быть больше количества подпрограмм в секции реализации
    Обоснуйте ответ.
  5. Пусть программа P подключает модули unit U1 и U2. Причем U1 экспортирует функцию MaxN от одного целого аргумента, а U2 экспортирует целую константу с тем же именем. Как должен быть оформлен оператор присваивания программы P, в котором имеются использующие вхождения функции MaxN модуля unit U1 и константы MaxN модуля unit U2?
  6. Рассмотрим следующие два способа подключения к модулю unit U1 модуля unit U2:
    a) подключение в интерфейсной секции
    unit U1;
    interface
    uses U2;
    ...
    implementation
    ...
    end.

    b) подключение в секции реализации
    unit U1;
    interface
    ...
    implementation
    uses U2;
    ...
    end.

    Объясните, как способ подключения влияет на видимость программных объектов модуля unit U2 в модуле unit U1.