7. Sanalanuvchi va chegaralangan turlar. Tanlash operatori
7.1. Tur va o'zgaruvchilar e'loni berilgan:
type mavsum = (qish, bahor, yoz, kuz);
var x,y: mavsum;
t: (issiq, sovuq);
Quyidagi savollarga javob berilsin:
a) x, u va t o'zgaruvchilar qanday qiymatlar qabul qilishi mumkin? Quyidagicha qiymat berish mumkinmi?:
1) x:= bahor; 2) u:=x; 3) t:= issiq; 4) u:= t; 5) t:= juda issiq.
b) Ifodalarning qiymati hisoblansin:
1) bahor < yoz; 2) qish yoz; 3) kuz < qish;
4) bahor <> issiq; 5) succ(bahor); 6) pred(bahor);
7) succ(kuz); 8) pred(sovuq).
v) Ifodalarning qiymati hisoblansin:
1) ord(bahor); 2) ord(kuz) + ord(sovuq).
g) Takrorlash operatorini quyidagicha e'lon qilsa bo'ladimi?
for x:= bahor to kuz do
d) Quyidagi o'qish-yozish amallari o'rinlimi?
1) read(x); 2) write(yoz); 3) writeln(‘qish’, t)?
7.2. Quyidagi turlar bo'limidagi xatolar ko'rsatilsin:
type
harf = (‘a’,‘b’,‘c’,‘d’); unli = (a,e,i,o,u);
undosh = (b..d,f,g); ildiz = (1.00,1.41,1.73,2.00);
qarta = (6,7,8,9,10, valet, dama, qirol, tuz);
shaxmat_donasi = (fil, ot, ruh, farzin);
ot = (pegiy, siviy,qauriy);
hayvon = (sher, fil, girafa);
bulish= (div,mod); mantiq = boolean;
7.3. Tur va o'zgaruvchilar e'loni berilgan:
type digit = ’0’..’9’;
var d: digit; k: 0..9; n: integer;
Quyidagi savollarga javob berilsin:
a) digit turining qiymatlari nima bo'lishi mumkin? Bu chegaralangan tur uchun asos tur nima? Quyidagicha qiymat berish mumkinmi?
1) d:= ‘7’; 2) d:= ‘a'; 3) d:=7;
b) k qanday qiymat qabul qilishi mumkin? Uning uchun asos tur nima? Quyidagicha qiymat berish mumkinmi?
1) k:=5; 2) k:=10; 3) k:=-0;
4) k:=‘5’; 5) k:=ord(d); 6) k:=ord(d)-ord(‘0’).
v) chegaralangan turdagi qiymatlarga, uning uchun asos bo'lgan tur qiymatlari ustida bajariladigan amallarni qo'llash mumkinmi? Quyidagi operatorda xatolar bormi?
if k+n>7*k then k:=abs(n) mod(10) else d:=chr(k+ord(‘0’));
g) tub sonlardan iborat chegaralangan turni Paskal tilida aniqlash mumkinmi?
7.4. Quyidagi e'lon qilishlardagi xatolar ko'rsatilsin?
const n=180; pi=3.14159;
type raqam = ’0’..’9’;
harf = a..z;
burchak = -n..n;
kesma = 0..n-1;
davr = -pi..pi;
plyus = ’+’..’+’;
hafta = (yaksh, dush, sesh, chor, paysh, juma, shanba);
ish_kuni = dush..juma;
dam_olish = shanba..yaksh;
7.5. Berilganlar turi va o'zgaruvchilar quyidagicha aniqlangan:
type oy =(yan,fev,mar,apr,may, iyn,iyl,avg,sen,okt,noy,dek);
kun = 1..31;
var d1, d2: kun; m1, m2: oy; t: boolean;
Agar d1, m1 sana (yil hisobida) d2, m2 sanadan oldin kelsa, t o'zgaruvchiga true qiymat, aks holda false qiymat berilsin.
7.6. var m, m1:oy; {‘oy'ning aniqlanishi 7.5 da};
k: 1..maxint; n:1..12;
m1 o'zgaruvchiga qiymat berilsin:
a) m oydan keyingi oyning nomi (dekabrdan keyin yanvar kelishini hisobga olgan holda);
b) m oydan keyingi k-chi oyning nomi;
v) yilning n-chi oyi nomi berilsin.
7.7. type davlat = (Avstriya, Bulgorya, Yunoniston, Italiya,
Norvegiya, Fransiya, Germaniya);
poytaxt = (Vena, Sofiya, Afina, Rim, Oslo, Parij, Berlin);
var st: davlat; shahar: poytaxt;
st o'zgaruvchining (davlatning nomi) qiymatiga ko'ra shahar o'zgaruvchiga shu davlat poytaxtining nomi berilsin.
7.8. var p: (ad, bas, mdl, lsp, pas, pl, for);
a: ( ada, basic, modula2, lisp, pascal, pl1, fortran);
Programmalash tilining p qisqa nomiga ko'ra shu tilning to'la nomi a o'zgaruvchiga berilsin.
Do'stlaringiz bilan baham: |