Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
238
Ushbu operatorga javob tarzida kompilyator INTEGER_SORT nomi bilan
GENERIC_SORT protsedurasi versiyasini yaratib, u INTEGER tipi indeksili INTEGER tipi
elementlariga ega bo‘lgan INT_ARRAY tipi massivini sortirovkalaydi.
GENERIC_SORT protsedurasida > operatori sortirovkalanayotgan massiv
elementlari uchun aniqlangan. GENERIC_SORT protsedurasining universalligini
oshirish mumkin. Bunda unga o‘rnatilgan parametrli taqqoslash funksiyasi
o‘rnatiladi.
Ada tilida qism dasturlarni boshqa qism dasturlarning parametrlari kabi
yuborish yo‘lga qo‘yilmaydi. Ushbu imkoniyatga ega bo‘lish uchun, Ada tilida
o‘rnatilgan rasmiy qism dasturlar qo‘llaniladi. Pascal dasturlash tilida qism dasturlar
parametrlar kabi yuborilishi mumkin, shuning uchun aniq chaqiruvda yuborilayotgan
qism dasturdan qism dastur natijasini chiqarish uchun foydalanish mumkin. Ada
tilida xuddi shunday natijaga turli mavjud qism dasturlar bilan foydalanuvchiga
o‘rnatilgan qism dasturning cheklangan sonda nusxa yaratish imkoniyatini berish
orqali hal qilinadi. Masalan, 8.6. bo‘limda yozilgan integrate protsedurasini Ada tilida
quyidagi ko‘rinishda yozish mumkin:
generic
with function FUN (X: FLOAT) return FLOAT;
procedure INTEGRATE (LOWERBD : in FLOAT;
UPPERBD : in FLOAT;
RESULT : out FLOAT) is
FUNVAL : FLOAT;
begin
…
FUNVAL:= FUN (LOWERBD);
…
end;
Foydalanuvchi tomonidan FUN1 funksiyasini integratsiyalash uchun ushbu
protsedura nusxasini yaratishda quyidagi operatorni qo‘llash mumkin:
procedure INTEGRATE_FUN is new INTEGRATE (FUN=>FUN1);
Endi INTEGER_FUN1 protsedurasi FUN1 funksiyasini integratsiyalashga
qaratilgan.