Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_9_библиотеки.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
214 Кб
Скачать
☆

4. Контрольні запитання

  1. Для чого призначено підпрограми-процедури?

  2. Що включає в себе заголовок підпрограми-процедури?

  3. В якому місці програми описується текст підпрограми-процедури?

  4. Чим відрізняються формальні й фактичні параметри?

  5. Чим відрізняється передаванння параметрів за засиланням від переда-вання параметрів за значенням?

  6. Що таке глобальна змінна?

  7. Що називається локальною змінною?

8Які елементи мови Object Pascal можна використовувати у вигляді формальних, а які − у вигляді фактичних параметрів?

  1. Чи є в підпрограмі-функції вихідні параметри?

  2. Як передається результат обчислення підпрограми-функції у викликаючу програму?

  3. Де оголошується тип підпрограми-функції?

9Чи визначає ім’я підпрограми-функції її тип?

  1. Чи треба dказувати тип функції в її заголовку?

  2. Що таке бiблiотека?

  3. Якi елементи може мiстити бiблiотека? Наведiть приклади елементiв рiзного типу.

  4. У чому полягає рiзниця системних i власних бiблiотек?

  5. Ваша програма звертається до пiдпрограми з бiблiотеки mylib. Як залучити цю бiблiотеку до програми?

  6. У бiблiотецi uselib є пiдпрограма subr з таким оголошенням:

type vtype = array[1..10] of integer;

procedure subr( A : vtype; var B : vtype );

……………………………….

Зовнiшня програма p1звертається до subr у такий спосіб:

Unit p1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

…………………

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var x, y : array[1..10] of integer;

begin

…………………..

subr( x, y );

…………………..

Чи все є правильно в цьому фрагменті? а якщо − нi, то як його виправити?

  1. Для чого потрiбна директива {$F+}? Наведiть приклади, в яких її використання є необхiдним.

  2. Як вiдрiзняти директиви вiд коментарiв?

  3. Нарисуйте структуру Pascal-тексту довiльної бiблiотеки.

  4. Якi iснують роздiли у Pascal-бiблiотецi? Якi з цих роздiлiв є обов'яз-ковi, а якi − нi ?

  5. Пояснiть рiзницю у призначеннi роздiлiв interface та implementation.

  6. В яких випадках слiд оголошувати костанту у роздiлi iнтерфейсу, а в яких – у роздiлi реалiзацiї? Наведiть приклади таких оголошень.

  7. У бiблiотецi Pvm оголошено тип matr. Запишiть першi оператори бiблiотеки MyLib, котра мiстила б в iнтерфейсi пiдпрограму-функцiю RangMatr, яка має єдиний формальний параметр типу matr i значення (результат) типу integer .

5. Лабораторне завдання

Задано квадратну матрицю А розміром k k, де k = ( m+n ) mod 3+3,

(m − номер групи, n − номер студента в журналі групи).

Елементи матриці обчислитити за виразом

аi,j = (k /2 − i +0,3)( jk +5n )  sin j,

де i=1,…,k; j=1,…,k.

  1. Написати текст бiблiотеки, котра мiстила б дві пiдпрограми:

  • обчислення елементів матриці;

  • обчислення величин, наведених в iндивiдуальному варiантi завдання.

  1. Написати головну програму для тестування бiблiотечної пiдпрограми з виведенням результатів на форму проекту.

Варіанти індивідуальних завдань

  1. Упорядкувати елементи головної діагоналі в порядку зростання.

  2. Упорядкувати елементи головної діагоналі в порядку спадання.

  3. Упорядкувати елементи неголовної діагоналі в порядку зростання.

  4. Упорядкувати елементи неголовної діагоналі в порядку спадання.

  5. Обчислити суму непарних елементів парних стовпчиків.

  6. Обчислити суму елементів парних стовпчиків.

  7. Обчислити суму елементів непарних стовпчиків.

  8. Обчислити суму елементів парних рядків.

  9. Обчислити суму елементів непарних рядків.

  10. Обчислити суми від’ємних елементів головної й не­головної діагоналей.

  11. Обчислити суми додатніх елементів головної діагоналі і першого рядка.

  12. Обчислити суми непарних елементів всіх стовпчиків.

  13. Обчислити суми парних елементів всіх рядків.

  14. Обчислити добуток від’ємних елементів парних стовпчиків.

  15. Обчислити добуток додатніх елементів непарних рядків.

  16. Визначити мінімальний елемент матриці.

  17. Визначити максимальний елемент кожного рядка матриці.

  18. Обчислити середньоарифметичне значення елементів парних рядків.

  19. Обчислити середньоарифметичне значення елементів непарних рядків.

  20. Обчислити середньоарифметичне значення елементів парних стовпчиків.

  21. Обчислити середньоарифметичне значення елементів непарних стовпчиків.

  22. Обчислити суму транспонованої й вихідної матриць.

  23. Обчислити різницю транспонованої й вихідної матриць.

  24. Обчислити добуток матриці на головну діагональ.

  25. Обчислити скалярний добуток k-го рядка на 1-й стовпчик.

  26. Обчислити скалярний добуток головної й неголовної діагоналей.

  27. Обчислити скалярний добуток (k − 2)-го рядка і (k − 1)-го стовпчика.

  28. Поміняти місцями 1-й і k -й стовпчики.

  29. Поміняти місцями 1-й і k -й рядки.

  30. Скласти матрицю, елементами якої є квадрати елементів транспонованої матриці.

1) Icнують також iншi директиви, кожна з яких являє собою запис вигляду {$...} або (*$...*) . Слiд вiдрiзняти директиви вiд коментарiв, якi беруться у такi самi дужки. Ознакою директив є знак долара, який стоїть безпосередньо за лiвою дужкою (директиви часто називають також псевдокоментарями ).

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