q * n+r = m va o≤ abs (1) < abs (n) o‘rinli bo‘ladi.
Qoldiq ishorasi bo‘luvchi ishorasi kabi bo‘ladi (yoki nolga teng). Shunday qilib, butun Eyler bo‘linmasi nolga nisbatan simmetrik emas va uning uchun quyidagi tenglik o‘rinli.
(-m)/n = m/(-n) = -(m/n)
Misollar:
31/10 = 3 31 Rem 10 = 1 -31/10 = -3 -31 Rem 10 = 1 31/-10 = -3 31 Rem 10 = 1 -31/-10 = 3 -31 Rem 10 = -1
Modulyar arifmetikada m MOD n qiymat amaliy jihatdan qandaydir kongruentlik sinfidir, ya’ni yagona bo‘lmagan butub sonlar to‘plamidir. Ixtiyoriy Q uchun bu to‘plamga m-Q*n ko‘rinishdagi barcha sonlar kiradi. Shunday qilib R=m MOD n ni aniqlaymiz va o‘z navbatida Q = m div n quyidagi munosabatni aniqlaydi:
Q*n+R = m va o≤R
Misollar:
31 Div 10 = 3 31 MOD = 1 -31 Div 10 = -3 -31 MOD 10 = -1
Real tipi haqiqiy sonlar to‘plam ostisidir. INTEGER va CANDINAL tipli operandlar arifmetikasi aniq qiymat beradi. Lekin Real tipli operandlar qiymati esa qandaydir xatoliklar tufayli aniq bo‘lmasligi mumkin. Bu hol chekli sondagi raqamlarni hisoblash bilan bog‘liq. Shuning uchun Real va Integer tiplar umuman olganda boshqa-boshqa tiplardir.
Boolean standart tipining ikkita qiymati TRUE va FALSE identifikatorlari bilan belgilanadi. Bul amallarga mantiqiy kon’yunktsiya, diz’yunktsiya va inkor amallari kiradi (jadval).
p
q
p and q
p on q
Not p
True
True
True
True
False
True
False
False
True
False
False
True
False
True
True
False
False
False
False
True
Misol: Faraz qilaylik p va q Bul o‘zgaruvchilari bo‘lsin, butun x = 5, y = 8, z = 10 o‘zgaruvchilar quyidagi ikkita o‘zlashtirish amallari berilgan bo‘lsin
p: = x = y; q: = (x
u holda p = false va q = true qiymatlarni qabul qiladi.
Mashinaga bog‘liq bo‘lmagan formada dastur yozish to‘g‘risida gap ketganda, u holda ayniqsa char va cardinal tiplarni o‘zgartiruvchi standart ikkita funktsiyalari mavjudligini ko‘rsatib o‘tish ayniqsa muhimdir. Ularni biz ORD (ch) (simvollar to‘plamida ch ning tartib raqamini beradi) va CHR (i) (i tartib raqamli C simvolni beradi). Shunday qilib CHR funktsiyasi ORD funktsiyasiga nisbatan teskari munosabatda bo‘ladi, ya’ni
ORD (Chr (i)) = i (agar Chr(i) aniqlangan bo‘lsa),
CHR (ord(c)) = c.
Bundan tashqari CAP(ch) standart funktsiyasini kiritamiz. Uning qiymati ch ga mos katta harf bo‘ladi (agar ch umuman harf bo‘lsa).
ch – kichik harf bo‘lsa → CAP(ch) = mos ravishda katta harf.
ch – katta harf → CAP(ch) = ch bo‘ladi.
Intervalli (chegaralangan) tiplar.
Agar o‘zgaruvchi biror-bir aniq interval ichidagi qiymatni qabul qilsa, unda bu tip ishlatiladi.
Bu tip quyidagicha aniqlanadi:
type T = [min…max],
bu yerda min va max ifodalar bo‘lib intervalni (diapazonni) quyi va yuqori chegarasini aniqlaydi. Shuni ta’kidlaymizki bu ifodalar faqat konstantalar bo‘lishi kerak.
Misollar:
type year = [1900…1999];
type letter = [“A”… “Z”];
type digit = [‘0’… ‘9’];
type index = [0…2*N-1];
Endi bu tiplarga mos o‘zgaruvchilarni aniqlash mumkin.
Var y: year;
L: letter
Bunda y:= 1990 va L:= ‘L’ o‘zlashtirishlar o‘rinlidir. Lekin y:=1290 va L:= ‘9’ o‘zlashtirish o‘rinli emas.