«Қазақстан тарихы, жалпы білім беру пәндері және ақпараттық жүйелер» кафедрасы


function Islnt(ch : char) : Boolean; begin if



жүктеу 0,51 Mb.
бет29/105
Дата21.01.2022
өлшемі0,51 Mb.
#34296
түріЛекция
1   ...   25   26   27   28   29   30   31   32   ...   105
« аза стан тарихы, жалпы білім беру п ндері ж не а паратты ж йе

function Islnt(ch : char) : Boolean;

begin if (ch >= '0'} and (ch <= '9') // сандар or (ch = 113) // пернесі or (ch = #8) // пернесі then Islnt := True // символ рұқсат етілген else Islnt := False; // рұқсат етілмеген символ end;

// бӛлшек санды енгізу кезінде енгізілген символдың // рұқсат етілген не етілмегендігін анықтайды function IsFloat(ch : char; st: string) : Boolean; begin if (ch >= '0') and (ch <= '9') // сандар



or (ch = #13) // пернесі or (ch = #8) // пернесі then begin

IsFloat := True; // дұрыс символ Exit; // функциядан шығу



end; case ch of

'-': if Length(st) = 0 then IsFloat := True; ',': if (Pos(',',st) = 0)



and (st[Length(st)]'>= '0') and (st[Length(st)] <= '9') then // бұрын енгізілмеген болса үтір белгісін цифрдан соң енгізуге

болады


IsFloat := True; else // басқа символдарға рұқсат етілмейді

IsFloat := False; end;



end;


2. Динамикалық жадыны бөлу және босату


Келесі мүмкіндік үйменің бүтін бір фрагментін босатудан тұрады. Осы мақсатпен динамикалық жадыны бӛлу алдынан HEAPPTR кӛрсеткішінің ағымдағы мәні MARK процедурасының кӛмегімен айнымалы-кӛрсеткішке сақталынып қойылады. Енді кез-келген уақытта MARK процедурасы сақтап қойған адрестен бастап динамикалық жадының соңына дейін босатуға болады. Бұл үшін RELEASE процедурасы қолданылады. Мысалы: var

p,p1,p2,p3,p4,p5 : integer;

begin


new(p1); new(p2); mark(p); new(p3); new(p4); new(p5);

……….


release(p); end.

Бұл мысалда MARK(P); процедурасы арқылы P кӛрсеткішіне HEAPPTR-ң ағымдағы мәні сақталынған, алайда айнымалы үшін жады бӛлінбеді. RELEASE(P) процедурасын шақыру динамикалық жадының Р кӛрсеткішіндегі адрестен бастап үйменің аяғына дейін босатады. Келесі суретте NEW-DISPOSE және NEW-MARK-RELEASE процедураларының механизмі, сонымен бірге RELEASE(P) операторының орнына мысалы DISPOSE(Р3) қолданылған жағдай кӛрсетілген.

р1^

р2^


Mark(p1) Dispose(p) //////////////////

//////////////////

//////////////////

//////////////////

//////////////////



жүктеу 0,51 Mb.

Достарыңызбен бөлісу:
1   ...   25   26   27   28   29   30   31   32   ...   105




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау