Модульде жарияланған объекттерге қол жеткізу. Стандартты модульдер

Айталық, комплексті сандардың арифметикасын (мұндай арифметика стандартты Паскальда да, Турбо Паскальда да қарастырылмаған) жүзеге асыратын модуль құрамыз. Өкінішке орай, Турбо Паскальда мәндері құрылымдық тип болатын функцияларды қолдануға болмайды. Сондықтан, комплекс сандардың арифметикасы 4 процедура арқылы жүзеге асады:

UNIT Cmplx;

{———————}

INTERFACE

{———————}

type complex = record

re, im:real

end;

Procedure AddC (x, у : complex; var z : complex) ;
Procedure SubC (x, у : complex; var z : complex) ;
Procedure MulC (x, у : complex; var z : complex) ;
Procedure DivC (x, у : complex; var z : complex) ;
Const        
с : complex = (re : 0.1; im : -1);  

{———————}

IMPLEMENTATION

{———————}

Procedure AddC; begin

z.re := x.re + y.re; z . im := x.im + y. im

end {AddC};

Procedure SubC;

begin

z.re := x.re – y. re ;

z.im := x.im – y.im

end {SubC};

Procedure MulC;

begin

z.re := x.re*y.re – x.im*y. im;

z.im := x.re*у.im + x.im*y.re

end {MulC};

Procedure DivC;

var

zz : real;

begin

zz := sqr(y.re) + sqr(y.im);

  1. re := (x.re * y.re + x.im * y.im) / zz;

z.im := (x.re * y.im – x.im * y.re) / zz

end {DivC};

end.

Бұл модульдің текстін CMPLX.PAS файлымен сақтау керек.  TPU-файлды құрып, компиляция жасай аламыз. Бұдан соң, программаға жаңа библиотекадағы процедураларды қолдануға болады. Мысалы, келесі программада екі комплекс санның үстінен 4 арифметикалық амал жүзеге асырылады.

Мысал

Uses Cmplx;

var

а, Ь, с : complex;

begin

a.re := 1; a.im := 1;

b.re := 1; b.im := 2;

AddC(a, b, c);

WriteLn(‘Сложение: ‘c.re:5:1, c.im:5:1,’i’) ;

SubC(a, b, c) ;

WriteLn(‘Вычитание: ‘с.re:5:1, с.im:5:1,’i’);

MulC(a, b, c);

WriteLn(‘Умножение: ‘c.re:5:1, c.im:5:l,’i’) ;

DivC(a, b, c);

WriteLn(‘Деление: ‘c.re:5:l, с.im:5:1,’i’);

end.

Uses Cmplx жариялануынан кейін программа CMPLX модулінің интерфейс бөлімінде жарияланған барлық модульдерге қол жеткізе алады. Қажет кезде  осы объекттердің кез-келгенін қайтаанықтауға болады. Қайтаанықталған объектті бастапқы объектті “жауып тұрады”. “Жабылған” объектке қол жеткізу үшін құрама атаудан пайдалану керек: объект атының алдынан модуль атауын жазып, нүкте қойылады.  Мысалы,

WriteLn(cmplx.c.re:5:l, cmplx.с.im:5:1,’i’);

операторы  алдыңғы мысалдағы “жабылған” типтендірілген тұрақтыны экранға шығарады.

  1. Стандартты модульдер

Турбо Паскальда 8 стандартты модуль бар. Оларда көптеген әртүрлі типтер, тұрақтылар, процедура мен функциялар бар. Бұл модульдер: SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBOS , GRAPHS.

GRAPH, TURBOS және GRAPHS модульдері жеке TPU-файлдарға бөлінген, ал қалғандары TURBO.TPL библиотекалық файлына енгізілген. Тек бір модуль SYSTEM ғана кез-келген программаға автоматты түрде қосылады, ал қалғандарына USES-те жарияланғаннан кейін ғана қол жеткізуге болады.

Төменде стандатты модульдердің қысқаша сипаттамасы келтіріледі.

SYSTEM модулі. Оған стандартты Паскальдың барлық процедуралары мен функциялары енеді, сонымен бірге басқа стандартты модульдерге енбеген встроенный(қоса салынған) процедуралар мен функциялар да енеді(мысалы, INC, DEC, GETDIR т.с.с.). Бұл модуль USES-те жарияланбаса да кез-келген программаға  қосылады. Сондықтан, оның глобал тұрақтылары, айнымалылары, көмекші программалары Турбо Паскалға қоса салынған (встроенный) деп есептеледі.

PRINTER модулі.  Тексттерді принтерден шығаруға мүмкіндік береді. Бұл модульде TEXT типті  LST файлдық айнымалысы анықталады. Ол логикалық PRN құрылысымен байланыстырылады. Модульді қосқаннан кейін мысалы, мынадай программа орындалу мүмкін:

Uses Printer;

begin

writeln (LST, ‘Турбо Паскаль’)

end.

CRT модулі. Тексттік режимдегі экранды басқаруға арналған процедуралар мен функциялар жинақталған. Модульге енгізілген көмекші программалар арқылы курсорды экранның қалаған позициясына жылжытуға, шығарылатын символдардың түсін олардың айналасындағы фон түсін өзгертуге, терезелер құруға болады. Бұлардан бөлек модульге клавиатураны «көзсіз» оқу және дыбысты басқару процедуралары енгізілген.

GRAPH модулі. Графикалық режимдегі экранды басқаруға арналған процедуралар мен функциялар, тұрақтылар мен типтерге ие. Модульге енгізілген көмекші программалар арқылы әртүрлі графикалық бейнелер құруға және экранға тексттік жазбаларды стандартты немесе программист дайындаған шрифтпен шығаруға болады. Көмекші программалар сәйкес баптаулар жасаған соң түрлі типтегі графикалық аппараттарды қолдай алады.  Баптау жасау арнайы программа-драйверлермен жүзеге асырылады. Олар GRAPH. TPU файлына енбейді, бірақ солармен бірге қойылады.

DOS модулі. Модульде MS- DOS операциялық жүйесінің дисктік құралдарына қол жеткізуге мүмкіндік беретін процедуралар мен функциялар жинақталған.

OVERLAY  модулі. Ол қиылыса жабуды қолданатын ірі программаларды дайындауда қажет болады. Турбо Паскаль ұзындығы ДК-ң негізгі оперативті жадысымен ғана шектелетін программаларды құруға мүмкіндік береді. MS-DOS операциялық жүйесі орындалатын программаға негізгі жадыдан шамамен 580 кбайт қалдырады(Турбо Паскаль жүйесі  мен резидентті программаларды есепке алмағанда). Мұндай көлемдегі жады көбінесе жеткілікті, сонда да, қиылыса жабуды қолданатын программалар үшін мұндай шектеме жоқ.

TURBO3 и GRAPH3 модульдері Турбо Паскальдің алдыңғы 3.0 версиясымен үйлесімді болуы үшін енгізілген.

«Baribar.kz-тің» Telegram-каналына жазыламыз!