ELSE
END;
O’zgarmaslar tipi doim selektor tipiga tugri kelishi kerak . Selektor uchun real va string tiplari man etilgan.
CASE operatori kuyidagicha ishlaydi. Birinchi navbatda selektor- ifoda kiymati xisoblanadi, keyingi navbatda joriy selektor kiymatiga teng bulgan o’zgarmas katnashgan operator bajariladi. Agar xech kaysi o’zgarmas selektorning joriy kiymatiga teng bulmasa ELSE suzidan keyingi operator bajariladi. Agar ELSE suzi bulmasa END suzidan keyingi operator ishga tushadi,ya’ni CASE chegarasidan keyingi operator.
Selektor butun sonli ( -32768..32767 diapazonida bulgan) bulev, liter yeki foydalanuvchi tipiga boglik bulishi kerak .
O’zgarmas kiymatlar ruyxati tasodifiy kiymat yeki diapazondan iborat, ular bir-biridan vergul yerdamida ajratiladi. Diapazon chegaralari ikkita biri-biridan ".." belgisi yerdamida ajratilgan uzgaramas sonlar yerdamida yeziladi. O’zgarmaslar tipi selektor tipiga tugri kelishi kerak.
Kuyida CASE operatorining tipik yezilish tartibi ko’rsatilgan:
Interval tipli selektor :
CASE I OF
1..10: Writeln ('rakam ', I:4, ' diapazon 1 - 10');
11..20: Writeln ('rakam ', I:4, ' diapazon 11 - 20');
21..30: Writeln ('rakam ', I:4, ' diapazon 21 - 30')
ELSE Writeln ('chislo ', I:4, ' kontrolya chegarasidan tashkarida')
END;
Butun son tipli selektor :
CASE I OF
1: Z := I + 10;
2: Z := I + 100;
3: Z := I + 1000
END;
Foydalanuvchi xisob tipli selektor:
VAR
Season: (Winter, Spring, Summer, Autumn);
BEGIN
... CASE Season OF
Winter: Writeln('Winter');
Spring: Writeln('Spring');
Summer: Writeln('Summer');
Autumn: Writeln('Autumn')
END;
END;
Xizmatchi so`z va iboralar: CASE ,REPEAT va UNTIL ,FOR, REPEAT, WHILE,CASE I OF,IF,THEN,ELSE
Savol va Topshiriqlar:
1.Tanlash operatori deb nimaga aytiladi?
2. Foydalanuvchi xisob tipli selektorni tushuntiring?
Reja
Asosiy funksiyalar, apifmetik funksiyalar, matematik funksiyalar,
Statistik funksiyalar, kidipish funksiyalari, mantikiy funksiyalar
Kuyidagifoydalanadigan " kiymat" suzi aloxida katak yeki uz-
gapmasni bildipadi. "puyxat" suzi blokni yeki bipnecha vepgullap
bilan sanalgan kataklap blokini bildipadi.
Apifmetik funksiyalar
"+" kushish, "-" ayipish, "*"- kupaytipish, "/" bulish, "$$" yeki
^ dapajaga oshipish "%" - ppsentni xisoblash.
Matematik funksiyalar
ABS (kiymat)- absolyut kiymat
EXP (kiymat)- eksponenta ("ye"ning "kiymat" dapajasi)
INT (kiymat)- Butun kism
LN (kiymat)- natupal logapifm
LOG (kiymat)- unli logapifm
MOD (kiymat1,kiymat2,)- "kiymat1," ni"kiymat2" ga bulishdan
kolgan koldik
ROUND (kiymatlap, aniklik) - "kiymat" ni kasp kismini "anik-
lik" ga cha yaxlitlash
SORT (rbqvfn) - kvadrat ildiz
Tpigonometpik funksiyalar:
ACOS (kiymat)- apkkosinus
ASIN (kiymat)- apksinus
ATAN (kiymat)- apktangens
ATAN2(kiymat)- apktangens "kiymat1"/ "kiymat2"
COS (kiymat)- kosinus
PI (kiymat)- Pi soni: 3.14592563589793 ga teng
SIN (kiymat)- sinus TAN (kiymat)- tangens
Statistik funksiyalar
AV (puyxat) - puyxatdagi elementlapni uptachasi
COUNT - puyxatdagi elementlap soni
MAX - puyxatdagi eng katta kiymat
MIN - puyxatdagi engt kichik kiymat
RAN - 0 dan 1 gacha opalikdagi tasodifiy son
STD - puyxatdagi elementlapning
SUM - puyxatdagi elementlap yigindisi
VAR - puyxatdagi elementlap dispepsiyasi
Kidipish funksiyalari
LU (kattalik, jopiy ustun) - Bu funksiya bepilgan kattalikni
kupsatilgan ustun opaligida izlab topib, uning ungdan papalel
joylashgan kushni ustundagi kiymatni olib kuyadi.
LU (kattalik, jopiy katop) - Bu funksiya bepilgan kattalikni
kupsatilgan katop opaligida izlaydi va pastdagi papalel katopda
joylashgan kiymatni upniga olib bopib kuyadi.
HLU (kattalik, blok, masofa) - Bu funksiya bepilgan kattalik-
ni kupsatilgan blokning eng yukopi katopidan topib, upniga kupsa-
tilgan masofa (katoplap soni) buyicha pastki papalel katopdagi
kiymatni olib bopib kuyadi.
VLU (kattalik, blok, masofa) - Bu funksiya bepilgan kattalik-
ni kupsatilgan blokning chapki ustunidan topib, upniga masofa bu-
yicha (ustunlap soni) usha ustundan ungda joylashgan kiymatni kuyadi.
Mantikiy funksiyalar
IF(shartli, kiymat1, kiymat2) - agap shapt bajapilsa, funksiya
kiymat1 ga ega buladi, aksincha bulsa kiymat2 ni.
AND (kiymat1, kiymat2) - VA mantikiy funksiyasi. Agap kiymat1
va kiymat2 post bulsa, POST (TRUE) kattalikka ega buladi, aksin-
cha bulsa YeLGOH (FALSE) kiymat oladi.
OR (kiymat1, kiymat2)- YeKI mantikiy funksiyasi. Agap kiymat1
va kiymat2 post bulsa, POST (TRUE) kiymatga ega buladi, aksincha
YeLGOH (FALSE) kiymat oladi.
NOT (kiymat)- IHKOP mantikiy funksiyasi. Agap kiymat YeLGOH
bulsa, POST (TRUE) kattalikka ega buladi.
Tayanch so`z va iboralar: ABS,EXP,INT,LN,LOG,MOD,ROUND,SORT,ACOS,ASIN,ATAN,ATAN,PI,SIN,COS, COUNT,MAX,MIN, RAN
Nazorat savollari:
Elektpon jadval katori nima?
2.Jadval ppotsessoplapi deganda nimani tushinasiz?
3. sistemani yuklash qanday bajariladi?
4. sistemaning ekpani nima?
5. status-katop,.taklif-katopi,.komanda-katopi ,yepdam katoplari deganda nimani tushinasiz.
6. Funksional tugmachalarning vazifalari nimalardan iborat?
7.Jadval kupsopini boshqapish kaday amalga oshiriladi?
8.Kipitish va taxpiplash pejimlapi qanday o’rnatiladi?
9.Bepilganlapning asosiy tuplapi nima?
10.Buypuklap nima?
11.Funksiyalarni sanab bering?
Ma’ruza .№ 11 Massivlar. Bir o'lchamli massivlar. Ko'p o'lchamli massivlar
Reja
Massiv tiplarini ifodalash
Massivlar ustida ishlash
Massiv elementlari ustida ishlash
Massiv tiplarini ifodalash.
Massiv, massiv elementlari, massivlarni ifodalash, bir ulchovli massiv, kup ulchovli massiv.
Umumiy nomga ega bulgan bir xil Ko’rinishda tartiblangan elementlar ketma-ketligi massiv deb ataladi. Massiv uzgaruvchilari ularning komponentlari deb ataladi. Komponenta tipi - baza tipi xisoblanadi. Xar bir tip uzining indeksi va nomiga ega, ular kavs ichida keltiriladi.
Massiv elementlari ixtiyeriy tipda, xattoki ma’lumotlar xam bulishi mumkin.Massiv elementlarining tiplari bazali deyiladi.Massiv elementlarining soni programma ishlash jarayenida unga uzlashtirib boriladi. Uning xar bir aloxida elementiga murojaat massiv elementlarigva mos kelgan indeks buyicha buladi.Massiv indeksi xuddi vektorlar indeksi tushunchasi kabi buladi. Massivlarni e’lon kilish uchun Array of (massivdan) suz birligi ishlatiladi.
Yozilishi:
TYPE
= array[ indeks tipi ] of < komponenta tipi >;
VAR
: < tip nomi>;
Massivlar tiplarni e’lon kilmasadan xam kullash mumkin::
VAR
: array[indeks tipi] of < komponenta tipi>;
Misol.
TYPE
Klass = (K1, K2, K3, K4);
Znak = array[1..255] of char;
VAR
M1: Znak; { Znak tipi tiplar bulimida oldindan keltirilgan }
M2: array[1..60] of integer; { M2 massivining yozilishi}
M3: array[1..4] of Klass;
Mas:array[1..4] of integer;
Massivning baza tipi xar qanday tip bulishi mumkinligi sababli, u boshqa massiv
xam bulishi mumkin. Natijada, kup ulchamli massiv xosil buladi.
Masalan.
TYPE
Vector = array[1..4] of integer;
Massiv = array[1..4] of Vector;
VAR
Matr : Massiv;
Xuddi shu strukturani boshqa turdagi yozuvni kullash natijasida xam xosil kilish mumkin:
VAR
Matr : array[1..4,1..4] of integer;
Shu xildagi yozilishdagi massivlarda bitta indeks katnashsa, bu massiv bir ulchovli, ikkita indeks bulsa, ikki ulchovli, n indeks bulsa, n ulchovli massivlar deyiladi. Bir ulchovli massivlar vektorlarini ikki ulchovli massivlar matritsalarini ifodalashda ishlatiladi.
Misol.
VAR
VectorZ: array[1..40] of real; { 40 elementdan tashkil topgan 1 ulchovli massiv }
MatrU : array[1..8,1..8] of byte; { 8x8 elementdan tashkil topgan 2 ulchovli massiv }
Trilf : array[1..4,1..5,1..8] of integer; { Uch ulchovli massiv }
Massivlar bilan ishlashda konstantalar xam ishlatilishi mumkin.
CONST
G1 = 4; G2 = 6;
VAR
MasY : array[1..G1,1..G2] of real;
Massiv elementlari xotirada ketma-ket joylashadi. Indekslari kichkina bulgan elementlar xotiraning pastki adreslarida saklanadi. Kup elementli massivlarda eng ung tarafdagi indeks birinchi bulib usib boradi. Masalan; Agarda
A : array[1..5,1..5] of integer; bulsa u xolda massiv elementlari adreslarning usishi buyicha joylashadi:
A[1,1]
A[1,2]
...
A[1,5]
A[2,1]
A[2,2]