70
ТУРБО ПАСКАЛЬДІҢ СТАНДАРТТЫ МОДУЛЬДЕРІ
4.1 Математикалық функциялар
Функция аты
|
|
Функция қызметі
|
Нəтиже типі
|
Abs(X)
|
Аргументтің абсолюттік шамасы
|
Х типімен
|
|
(модулі)
|
Abs(-3.5)=3.5
|
сəйкес келеді
|
|
|
|
ArcTan(X)
|
Аргументтің радианмен алынған арк-
|
Real
|
|
тангенсі
|
ArcTan(1)=7.8539816340E-01
|
|
Cos(X)
|
Аргументтің радианмен алынған коси-
|
Real
|
|
нусы Сos(PI/3)=5.0000000000E-01
|
|
Exp(X)
|
Аргументтің экспонентасы (E-нің X
|
Real
|
|
дəрежесі)
|
Exp(1)=2.7182818285E+00
|
|
Ln(X)
|
Натуралдық логарифм
|
Real
|
|
Ln(10)=2.3025850930E+00
|
|
PI
|
Pi санының мəні
|
Real
|
|
PI=3.1415926536E+00
|
|
|
( дəлірек 3.1415926535897932385)
|
|
Random
|
0 мен 1 арасындағы кезейсоқ сан
|
Real
|
|
|
|
Random(X)
|
0 мен Х арасындағы кезейсоқ сан
|
Word
|
Sin(X)
|
Аргументтің радианмен алынған сину-
|
Real
|
|
сы Sin(PI/3)=8.6602540378E-01
|
|
Sqr(X)
|
Аргументтің квадраты
|
Х типімен
|
|
Sqr(-12)=144
|
сəйкес келеді
|
Sqrt(X)
|
Аргументтің квадрат түбірі
|
Real
|
|
Sqrt(841)=2.9000000000E+01
|
|
Турбо Паскаль тілінде стандартты функция түрінде жазыл-маған математикалық функцияларды есептеу үшін, оларды стан-дартты функциялар арқылы өрнектеу керек. Мысалы:
tg(X)=Sin(X)/Cos(X)
lg(X)=Ln(X)/Ln(10)
Xn=Exp(n*Ln(X))
Random немесе Random(X) функцияларын қолданар алдында, осы функциялар генерациялайтын кездейсоқ сандар тізбегінің
71
сəйкес келмеуін қадағалайтын, Randomize процедурасын (пара-метрсіз процедура) іске қосу керек.
4.2 Дөңгелектеу функциялары жəне типтерді түрлендіру
Функция
|
Аргументтің типі
|
Нəтиже типі
|
Функцияның қызметі
|
аты
|
|
|
|
|
|
|
|
Chr(X)
|
Бүтін Chr(66)=’B’
|
Char
|
ASCII-кодты символға
|
|
Chr(Ord(‘M’)=’M’
|
|
түрлендіру (0-255)
|
Frac(X)
|
Real
|
Real
|
Нақты Х санының
|
|
Frac(-12.34)=-.34
|
|
бөлшегін алу
|
Int(X)
|
Real
|
Real
|
Нақты санның бүтін
|
|
Int(-12.34)=-12
|
|
бөлігін алу
|
High(X)
|
Реттік жиым, жол,
|
Аргументпен
|
Элемент нөмірінің ең
|
|
ашық жиым
|
сəйкес келеді
|
үлкен мəнін алу
|
Low(X)
|
Реттік жиым, жол,
|
Аргументпен
|
Элемент нөмірінің ең
|
|
ашық жиым
|
сəйкес келеді
|
кіші мəнін алу
|
Ord(X)
|
Реттік
|
LongInt
|
Х символына сəй-
|
|
Ord( ‘A’)=65
|
|
кес келетін ASCII-
|
|
Ord(Chr(86))=86
|
|
кестесіндегі оның
|
|
|
|
кодын анықтау
|
Round(X)
|
Real
|
LongInt
|
Х-ті ең жақын бүтінге
|
|
Round(-1.2)=-1
|
|
дейін дөңгелектеу
|
|
Round(-1.5)=-2
|
|
|
|
Round(1.2)=1
|
|
|
|
Round(1.5)=2
|
|
|
Trunc(X)
|
Real
|
LongInt
|
Санның бөлшегін алып
|
|
Trunc(-1.2)=-1
|
|
тастау
|
|
Trunc(-1,5)=-1
|
|
|
|
Trunc(1.2)=1
|
|
|
|
Trunc(1.5)=1
|
|
|
4.3 Реттік типтегі процедуралар жəне функциялар
Функция аты
|
Функция қызметі
|
|
|
Odd(X)
|
Аргументтің тақ сан екендігін тексереді
|
|
Odd(0)=false; Odd(1)=true; Odd(2)=false; Odd(-1)=true;
|
Pred(X)
|
Аргументтің алдыңғы мəнін береді
|
|
Pred(10)=9; Pred(-10)=-11
|
Succ(X)
|
Аргументтің келесі мəнін береді
|
|
Succ(10)=11; Succ(-10)=-9
|
Процедура аты
|
Процедураның қызметі
|
Dec(X [,dx]) Х айнымалысының мəнін dx-ке кемітеді (егер dx параметрі берілмесе, онда ол –1-ге кемітеді) k:=5; Dec(k)=4; Dec(k,2)=3; Dec(k,-2)=7
Inc(X [,dx]) Х айнымалысының мəнін dx-ке өсіреді (егер dx параметрі берілмесе, онда +1-ге өсіреді) k:=5; Inc (k)=6; Inc (k,2)=7; Inc (k,-2)=3
4.4 Сөз тіркестерімен жұмыс істейтін процедуралар мен функциялар
Функция аты
|
Функция қызметі
|
|
|
Concat(<1 тіркес>,<2 тіркес>,..)
|
Сөз тіркестерін біріктіру
|
|
Сoncat(‘A’,’BC’,’_1’)=’ABC_1’
|
|
|
Copy(<тіркес>,<позиция>,<саны>)
|
Сөз тіркесінің берілген бөлігін
|
|
көрсетілген позициядан бастап
|
|
көшіру
|
|
Copy (‘INFORMATION’,3,5) =
|
|
’FORMA’
|
|
|
Length(<тіркес>)
|
Ағымдағы сөз тіркесінің
|
|
ұзындығын анықтау
|
|
Length('Астана’)=6
|
|
|
Pos(<ішкі тіркес>,<толық сөз
|
Сөз тіркесіне оның ішкі бөлігінің
|
тіркесі>)
|
кіру позициясын анықтау
|
|
Pos(‘т’,‘Анықтама’)= 5
|
|
Pos(‘к’,‘Анықтама’)= 0
|
|
|
Conca функциясы үшін сөз тіркесінің жалпы ұзындығы 256 байттан аспауы керек. Сөз тіркестері үшін орындалатын «+» белгісі оның символдары үшін конкатенация (біріктіру) опе-рациясының атқарылатынын білдіреді.
Copy функциясы үшін, көрсетілген позиция сөз тіркесінің ұзындығынан үлкен болса, функция нəтижесі бос жол болады. Егер <позиция>+ <саны> сөз тіркесінің ұзындығынан үлкен бол-са, онда тек соңғы символдар көшіріледі. Егер <позиция> нөмірі [1,255] аралығына жатпаса, онда программа орындалуында қате болады.
73
Процедура аты
|
|
Процедураның қызметі
|
|
|
Delete(<тіркес>,<позиция>,<саны>)
|
Берілген позициядан бастап сөз
|
|
тіркесінің бөлігін алып тастау
|
|
1)
|
S:=’abcdefgh’;
|
|
|
Delete(S,2,4);
|
|
|
Нəтиже: S=’afgh’
|
|
2)
|
S:=’abcdefgh’;
|
|
|
Delete(S,2,10);
|
|
|
Нəтиже: S=’a’
|
Insert(<ішкі тіркес>,<толық тіркес>,
|
Берілген позициядан бастап бір
|
<позиция>)
|
сөз тіркесін екінші сөз тіркесіне
|
|
кірістіру
|
|
S:=’abcdefgh’;
|
|
Insert(‘XXL’,S,3);
|
|
Нəтиже: S=’abXXLcdefgh’
|
Str(<сан>,<символдар тіркесі>)
|
Сандық мəнді символдар
|
|
тіркесіне түрлендіру
|
|
1)
|
Str(567,A);
|
|
|
Нəтиже: A=’567’
|
|
2) )B:=567; {B:integer}
|
|
|
Str(B:5,A);
|
|
|
Нəтиже: A=’_ _567’
|
|
3) B:=5.67E+3; {B:real}
|
|
|
Str(B:8:0,A);
|
|
|
Нəтиже: A=’_ _ _ _5670’
|
2>1> |
Достарыңызбен бөлісу: |