Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Нақты типтер






Мә ндері бү тін типтермен салыстырылатын реттелген типтерден нақ ты типтердің ерекшелігі нақ ты санның ішкі форматына тә уелді қ андай да бір дә лдікпен еркін алынғ ан санды анық тайды.

Ұ зындығ ы байт Атауы Мә нді цифрлар мө лшері Мә ндер аралығ ы
  Real 15...16 5, 0*10324- …1, 7*10308
  Single 7...8 1, 5*10-45 …3, 4*1038
  Double 15...16 5, 0*10-324 … 1, 7*10308
  Extended 19...20 3, 4*10-4951 …1, 1*104932
  Comp 19...20 -263…+263-1
  Currency 19...20 922 337 203 685 477, 5807

 

Кестеде кө рсетілгендей, Object Pascal тілінде нақ ты сандар 4-тен 10 аралығ ындағ ы аралас байтқ а дейін орын алады.

Арифметикалық сопроцессор барлық уақ ытта сандарды Extended форматында ө ң дейді; ал қ алғ ан ү ш нақ ты тип қ ажетті мө лшерге дейін нә тижені қ арапайым қ ысқ артылғ ан кү йінде беру болып табылады жә не олар жадыны ү немдеу ү шін қ олданылады.

Мысалы, «машиналық эпсилонды» мынадай программа кө мегімен есептеуге болады:

typeRealType=Real;

Var Epsilon, Eps 1: RealType;

Epsilon: =Epsilon/2;

Eps1: =1+ Epsilon;

Until Eps=1;

LBOutput.Caption: =FloatToStr(2* Epsilon)

End.

Object Pascal тілінде Comp жә не Currency типтері ерекше орын алады, бө лшек бө лігінің ұ зындығ ы шектеулі нақ ты сан ретінде қ арастырылады: Comp типінің бө лшек бө лігінің ұ зыдығ ы 0 (ноль) разряд, яғ ни болмайды, ал Currency типінің бө лшек бө лігінің ұ зындығ ы 4 ондық разряд. Бұ л аталғ ан екі типке 19...20 мә нді ондық цифрды сақ тайтын ү лкен бү тін санды анық тайды. Бұ л типтерді бухгалтерлік есептеуде қ олданғ ан ө те ың ғ айлы.

Нақ ты мә ліметтермен жұ мыс істеу ү шін орнатылғ ан математикалық функцияларды пайдалануғ а болады: abs(x), arctan(x), cos(x), frac(x) –санның бө лшек бө лігі; int(x)–санның бү тін бө лігі; ln(x) –натурал логорифм, Random-0..1 аралығ ындағ ы псевдокездейсоқ сан; Randomize - псевдокездейсоқ сандар генераторын орнату; sqr(x)-x – тің квадраты; sqrt(x) – тің квадрат тү бірі.

Псевдо кездейсоқ сандар генераторы – базалық деп аталатын қ андай да бір бү тін санды алып, оның разрядын белгілі бір анық талғ ан алгоритм бойынша ө згертіп, нә тиже ретінде жаң а санды береді. Сонымен бірге, функцияғ а оралғ анда жаң а сан базалық болады жә не т.с.с. (Сө йтіп процедура алгоритмі жұ мыс барысында ө згермейтін сандар деп аталады). System жү йелік модулінде кез келген программада автоматты тү рде кіруі мү мкін болатын базалық сан RandSeek айнымалысында сақ талады жә не оның барлық уақ ытта бастапқ ы мә ні 0-ге тең. Бұ л Random функциясына ә р тү рлі программамен оралғ анда бірдей кездейсоқ сандар тізбегінің шығ атынын кө рсетеді. Мысалы, тө мендегі оқ у программасынның BbRunClick терезесіне 300 кездейсоқ сан шығ арылады, олар 20 саннан жолғ а топтастырылып, егер сан ү ш цифрдан кем болса, нольмен толық тырылады. Егер программаны қ айтадан орындайтын болсаң ыз, дә л сондай сандар тізбегін аласыз.

Procedure TfmExample.bbRunClick(Sender: TObject);

Var k: integer; s, ss: string;

Begin

S: =’’;

For k: =1 to 300 do

Begin

Ss: =intToStr(Random(1000));

While Length(ss)< 3 do

Ss: =’0’+ss;

S: =s+ss+’’;

If k mod 20=0 then

Begin

mmOutput.Lines.Add(9);

s: =’’

end

end

end.

 

Randomize процедурасының кө мегімен RandSeek айымалысына сандардың басқ а тізбегін шығ аратын жү йелік уақ ыттың сандық мә ні орналасады.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.