Академический Документы
Профессиональный Документы
Культура Документы
Департамент Информатики
Лабораторная работа №2
Тема: Тип объекта. Создание. Инициализация.Методы.
Методы сравнения. Анонимные блоки.
Кишинев, 2021
Условия:
Цель работы:
Задание 2.1:
Задание 2.2:
DECLARE
t1 triangle;
t2 triangle;
t3 triangle;
Per number;
BEGIN
t1 := triangle(5,15,20);
t2 := triangle(5,16,20);
t3 := triangle(5,7,9);
Per := t1.perimetr();
DBMS_OUTPUT.PUT_LINE('Perimetr 1 ='||to_char(Per));
Per := t2.perimetr();
DBMS_OUTPUT.PUT_LINE('Perimetr 2 ='||to_char(Per));
Per := t3.perimetr();
DBMS_OUTPUT.PUT_LINE('Perimetr 3 ='||to_char(Per));
END;
Результат таков:
/
CREATE OR REPLACE TYPE BODY rectangle AS
MEMBER FUNCTION exist RETURN BOOLEAN IS
BEGIN
IF (s_a> 0 AND s_b> 0) THEN
RETURN TRUE;
ELSE RETURN FALSE;
END IF;
END exist;
MAP MEMBER FUNCTION perimetr RETURN NUMBER IS
BEGIN
IF (exist()) THEN RETURN (s_a + s_a +s_b +s_b);
ELSE RETURN 0;
END IF;
END perimetr;
DECLARE
a_1 APARTMENTSECLAB;
a_2 APARTMENTSECLAB;
a_3 APARTMENTSECLAB;
a_4 APARTMENTSECLAB;
a_5 APARTMENTSECLAB;
result number;
BEGIN
a_1 := APARTMENTSECLAB(add_typ('Chisinau','Botanica
Veche',2,11),own_typ('Tiuleanu','Andrei',to_date('27.10.2001','dd.mm.yyyy'),7864249
6),APARTYPSECLAB('obshaga',1),5,40000,NULL,110,2,1);
a_2 := APARTMENTSECLAB(add_typ('Chisinau','Botanica
Veche',2,11),own_typ('Tiuleanu','Andrei',to_date('27.10.2001','dd.mm.yyyy'),7864249
6),APARTYPSECLAB('obshaga',1),5,40000,NULL,100,2,2);
a_3 := APARTMENTSECLAB(add_typ('Chisinau','Botanica
Veche',2,11),own_typ('Tiuleanu','Andrei',to_date('27.10.2001','dd.mm.yyyy'),7864249
6),APARTYPSECLAB('kvartira',1),5,50000,NULL,235,3,5);
a_4 := APARTMENTSECLAB(add_typ('Chisinau','Botanica
Veche',2,11),own_typ('Tiuleanu','Andrei',to_date('27.10.2001','dd.mm.yyyy'),7864249
6),APARTYPSECLAB('dom',2),5,99999,NULL,400,8,5);
a_5 := APARTMENTSECLAB(add_typ('Chisinau','Botanica
Veche',2,11),own_typ('Tiuleanu','Andrei',to_date('27.10.2001','dd.mm.yyyy'),7864249
6),APARTYPSECLAB('villa',3),5,99999,NULL,500,7,7);
result := a_1.compare(a_2);
DBMS_OUTPUT.PUT_LINE(result);
result := a_2.compare(a_3);
DBMS_OUTPUT.PUT_LINE(result);
result := a_4.compare(a_5);
DBMS_OUTPUT.PUT_LINE(result);
result := a_5.compare(a_4);
DBMS_OUTPUT.PUT_LINE(result);
END;
Результат:
Вывод:
В этой лабороторной мы познакомились с такими методами сравнения , типам
ORDER , а также MAP.
На практике ознакомилсиь с труктурой построения, а также убедились в
принципах их работы.