Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка(Паскаль)(А4).doc
Скачиваний:
7
Добавлен:
27.08.2019
Размер:
1.25 Mб
Скачать

Лабораторна робота № 13 Модульна організація програм

Мета: навчитись створювати модулі і використовувати їх при розробці програмних проектів.

Теоретичний матеріал

Структура модуля

Повна форма

unit ; {заголовок модуля}

interface {опис інтерфейсу}

uses …{список модулів}

label …{оголошення загальнодоступних міток}

const …{ оголошення загальнодоступних констант}

type …{ оголошення загальнодоступних типів}

var …{ оголошення загальнодоступних змінних}

procedure …{заголовки загальнодоступних процедур}

function …{ заголовки загальнодоступних функцій}

implementation {початок виконуваної (інтерфейсної) частини}

uses …{модулі, що використовуються при реалізації}

label …{оголошення прихованих глобальних міток}

const …{ оголошення прихованих глобальних констант}

type …{ оголошення прихованих глобальних типів}

var …{ оголошення прихованих глобальних змінних}

procedure …{заголовки і вміст загальнодоступних і прихованих процедур}

function …{ заголовки і вміст загальнодоступних і прихованих функцій}

begin{початок ініціалізації}

…{тут можуть бути будь-які оператори }

end. {кінець модуля}

скорочена форма

unit ; {заголовок модуля}

interface {інтерфейс на частина}

<розділ описів>

implementation {реалізаційна частина}

<тексти підпрограм користувача>

begin

{блок ініціалізації}

end.

Ім'я модуля повинне співпадати з іменем того файлу, в якому знаходиться вихідний текст модуля.

У блоці ініціалізації у разі потреби задають початкові дані, відкривають файли, чистять екран тощо. Цей блок виконується першим. Якщо блок ініціалізації не потрібен, то службове слово begin опускають.

Всі допоміжні програмні елементи, оголошені в інтерфейсній частині, називаються прихованими, так як вони доступні для використання тільки в даному модулі і не видимі для програми, яка використовує модуль.

Щоб оформити підпрограму як модуль в меню Compile необхідно в пункті Destination встановить значення Disk (замість Memory) компілювати модуль за допомогою команди Compile/Build. Після успішної компіляції на диску отримаємо файл з тим же іменем, але розширенням .tpu.

Для того, щоб створити для заданого pas-файлу ехе-файл необхідно виконати команду: Compile Destination Disklt+F9.

Завдання

1. Створити модуль, опис об’єктів якого вибрати за варіантом вказаним викладачем. Написати програму для демонстрації всіх підпрограм розробленого модуля.

Варіант 1. Робота з матрицями

Const MaxR, MaxC – максимальна кількість рядків та стовпчиків. TElement – тип елементів матриці.

Тип матриці: TMatr = array[1..MaxR, 1..MaxC] of TElement;

1) procedure MatrixRead(var A : TMatr);

Ввести розмірність матриці та її елементи з клавіатури.

2) procedure MatrixWrite(var A : TMatr);

Вивести елементи матриці у звичайній формі.

3) function IsMatrixK(A: TMatr): Boolean;

Повернути значення True, якщо матриця квадратна.

4) procedure MatrixMultK(var A: TMatr; K: TElement);

Обчислити добуток матриці А на число К.

Варіант 2. Арифметичні дії з цілими числами, які не визначаються типом Longint

Const MaxCountDigit – найбільша кількість цифр чисел.

TCountDigit=0..MaxCountDigit – тип кількості цифр.

Тип числа:

TDigit = 0..9

TNumber= array[1..MaxCountDigit] of TDigit;

1) Procedure NumberRead(var A: TNumber);

Ввести число з клавіатури.

2) Function GetDigit(A: TNumber): TCountDigit;

Визначити кількість цифр числа.

3) Procedure NumberPlus(A,B: TNumber; var R: TNumber);

Обчислити суму чисел А, В.

4) Procedure NumberStep(A: TNumber; N: integer; var R: TNumber);

Піднести число А до степеня N.