Nom kiritish bosManishini



Download 389,97 Kb.
bet100/142
Sana01.01.2022
Hajmi389,97 Kb.
#291707
1   ...   96   97   98   99   100   101   102   103   ...   142
Bog'liq
9- sinf dars ishlanmalari

b) Yangi mavzu bayoni

Paskalda belgili va satrli miqdorlar bilan ishlash uchun maxsus funksiya hamda protseduralar kiritilgan. Quyidagi jadvalda ularning ba’zilari keltirilgan.



Yozilishi

Vazifasi

Standart funksiyalar

Concat(Sl,S2,

...,SN)


S1,S2,...,SN satrli (belgili) o‘zgaruvchilar (o‘zgarmaslar)ni bir- biriga ketma-ket ulaydi

Length(S)

S satrning uzunligini (belgilari sonini) aniqlaydi.

Pos(b,S)

S satr ichidan b so‘zni izlaydi

Copy(S,nl,n2)

S satrning nl-belgisidan boshlab n2 ta belgining nusxasini oladi

Ord(B)

B belgining ASCII kodini aniqlab beradi

Chr(a)

ASCII kodi a ga teng belgini aniqlaydi

Standart protseduralar

Delete(S,nl,n2)

S satrning nl-belgisidan boshlab n2 ta belgisini olib tashlaydi

lnsert(Sl,S,n)

S satrgan-o‘rindan boshlab S1 satrni joylashtiradi

Str(a,S)

S satrli o‘zgaruvchining qiymati a sonning satr ko‘rinishidagi ifodasiga teng bo'ladi

Val(S,a,c)

a sonli o‘zgaruvchining qiymati S satrli o‘zgaruvchining son ko‘rinishidagi ifodasiga, с esa nolga teng boiadi (agar berilgan satrni son ko‘rinishida ifodalab bo‘lmasa, a ning qiymati nolga teng bo‘ladi, с ning qiymati esa noldan farqli boladi)

Shuni ta’kidlash joizki, dasturda funksiyalar qo'llanilganda ularning qiymati biror o'zgaruvchiga o‘zlashtiriladi, protseduralar ishlatilganda esa o‘zlashtirish operatorisiz yoziladi.

Endi sodda misollar ko‘rib chiqiladi.

a-Sog'lom tanda b='sog' aql.' bo‘lsa, c:= Concat(a,b); operatori bajarilganda с ning qiymati 'Sog'lom tanda sog' aql.’ ga teng. Lekin c:= Concat(a,b); o‘rniga c:=a+b; deb yozish ham kerakli natijani beradi.

a-informatika’ bo‘lsa, n:=Length(a); operatori bajarilganda n ning qiymati 11 ga teng bo‘ladi.

a:=Pos('m\ 'informatika'); operatori bajarilganda a ning qiymati 6 ga, a:=Pos('ma', 'informatika'); operatori bajarilganda ham a ning qiymati 6 ga, a:=Pos(’sn', 'sinf); operatori bajarilganda a ning qiymati

ga, a:=Pos('v', sinf); operatori bajarilganda esa, a ning qiymati 0 ga teng bo‘ladi.

a:=Copy('informatika',3,5); operatori bajarilsa, a ning qiymati 'forma’ so‘ziga teng bo‘ladi.

a:—A' bo‘lsa, Ord(a) funksiyaning qiymati 65 ga teng bo‘ladi. Chunki 'A' (lotin) harfming ASCII kodi 65. Ord funksiyasining argumenti o'zgarmas bo‘lsa, u apostrof ichida yoziladi. Masalan, Ord('A').

cod:=65 bo‘lsa, Chr(cod) funksyasining qiymati lotin 'A' harfiga,: Chr(66) funksiyasining qiymati esa lotin 'B' harfiga teng bo'ladi.

a:=’bajarilmadi’ bo‘lsa, Delete(a,8,2); protsedurasi bajarilgach natija a:='bajarildi' bo‘ladi. Buni sxematik ko‘rinishda quyidagicha tasvirlash mumkin:

(a:='bajarilmadi' Delete(a,8,2); -> 'bajarilmadi' -> a:—'bajarildi')

a:-bajarildi', b:='rna' bo‘lsa, Insert(b,a,8); protsedurasi baja­rilgach natija a:='bajarilmadi' bo‘ladi. Buni sxematik ko'rinishda quyi­dagicha tasvirlash mumkin:

(a:=,bajarildi', b:='ma' -> Insert(b,a,8); -> 'bajaril'+'ma'+'di' -> a='bajarilmadi')

a:=765 bo‘lsa, Str(a,s); protsedurasi bajarilgach, s:='765' bo‘ladi.

s:-123' bo'lsa, Val(s,a,c); bajarilgach, a:=123 va c:=0 bo'ladi; s:-34BMA51 bo‘lsa, Val(s,a,c); bajarilgach, a: = 0 va с * 0 bo‘ladi.

Endi ko‘rib chiqilgan funksiya va protseduralarni amalda qo'llashga. misollar keltiriladi:

misol. Berilgan 'mustaqir,'0‘zbekiston', 'davlat' so'zlaridan '0‘zbe- kiston mustaqil davlat' iborasini hosil qiluvchi dastur tuzing.



Yechish. Berilgan so‘zlar dastur ishlashi davomida o‘zgartirilmaydi. Shu sababli ular konstanta sifatida ifodalanadi.

Program Suzyasash;

Const a='mustaqil'; b=’0'zbekiston’; c=’davlat';

Var d : String;

Begin

d:=Concat(b,a,c); WriteLn(d);



End.

misol. Kiritilgan so‘zni teskarisiga o‘girib beruvchi dastur tuzing. Masalan, 'ota' so‘zidan 'ato' so‘zi hosil bo‘lishi kerak.

Yechish. Kiritilgan so‘zni a, hosil boladigan so‘zni b bilan belgilanadi. b ning qiymatini bo‘sh satrga tenglanadi (b:= "). a ning uzunligi aniq- lanadi va uning chap tomonidan boshlab bittadan belgisini olib b ga chap tomondan birlashtirib boriladi.

Program Teskari;

Var a, b, belgi: String; i, len : Integer;

Begin


Write('So'z kiriting : ’); ReadLn(a); Len:=Length(a); b:=";

For i:=l To len Do begin

belgi:=Copy(a,i,l);{fl ning i-belgisining nusxasi olindi}

b:=belgi+b; {a dan nusxasi olingan belgi b ning chap

tomoniga qo'shildi} end;

Write(b); readln;

End.

misol. Berilgan so‘zda berilgan belgi bor yoki yo'qligini aniqlovchi dastur tuzing.

Program Izlash;

Var suz : String; belgi : Char;

Begin


Write('So'z kiriting : '); ReadLn(suz);

Write('izlanayotgan belgini kiriting : '); ReadLn(belgi);

If Pos(belgi,suz)>0 Then WriteLn(’BOR') Else WriteLn('YO'O');

End.


Dastur bajarilgach kompyuter ekranida 'BOR' yoki 'YOQ' so‘zlaridan biri aks etadi.

misol. 'saodat' va 'qadoq' so‘zlaridan 'sadoqat' so‘zini yasovchi dastur tuzing.

Program Suz_yasash;

Var a,b : String;

Begin


a:='saodat'; b:='qadoq';

Delete(a,3,2); {a='saat' bo‘ldi}

Delete(b,l,2); {b='doq’ bo‘ldi}

Insert(b,a,3); {a='sadoqat'}

WriteLn(a);

End.


misol. Berilgan 'Buyuk shoir Alisher Navoiy', 'yilda tug'ilgan' jumlalari va 1441 sondan 'Buyuk shoir Alisher Navoiy 1441 -yilda tug'ilgan' satrni hosil qiluvchi dastur tuzing.

Program Alisher_Navoiy;

Const a— Alisher Navoiy '; b— — yilda tug'ilgan'; c=1441; d='Buyuk shoir';

Var yil, s : String;

Begin

Str(c, yil); {c= 1441 dan yil=’ 1441' hosil qilindi} s:=Concat(d,a,yil,b);



WriteLn(s);

End.


misol. Berilgan butun sonning raqamlari yig‘indisini hisoblovchi dastur tuzing.

Program Raqamlar;

Var son, raqam, len, i, c, natija : Integer; _son, _raqam : String; Begin Write('Butun son kiriting: '); ReadLn(son);

Str(son,_son); len:=Length(_son); natija:=0;

For i:=l to len Do begin

_raqam:=Copy(son, i, 1); Val(_raqam,raqam,c); natija:=natija+raqam; end;

WriteLn(son, ' ning raqamlari yig'indisi=', natija);

End.


Ushbu dastur kiritilgan son 32767 dan katta bo'lsa noto‘g‘ri natija beradi. Buning sababini o‘zingiz o'ylab ko'ring. Dasturga qanday o‘zgartirish Iciritilsa, 2147483647 gacha bo‘lgan sonlami ham qoilash mumkin bo'lishini o‘ylab ko'ring!

Paskalda satrlar «massiv xususiyati»ga ega. Ya’ni satr - massiv deb, satrdagi belgilar esa massivning elementlari deb qaraladi. Masalan, s - satrli o‘zgaruvchi bo‘lsa, s[3] - shu satrning 3-belgisini bildiradi. Ya’ni, s:='kompyuter' bo‘lsa, s[3]= ’m'.

misol. Berilgan satrdagi belgilarning ASCII kodlarini ekranga chiqaruvchi dastur tuzing.

Program Kod;

Var s, b : String; i, L, cod : Integer;

Begin


Write('Satr kiriting : '); ReadLn(s);

L := Length(s); { kiritilgan satr uzunligi hisoblanib,

L ga o‘zlashtirildi }

For i:=l to L Do WriteLn(Ord(s[i]));

End.

Satrlarning «massiv xususiyati» orqali ko‘pgina masalalarni hal etish qulay. Masalan, 6-misolni satrlarning shu xususiyatidan foydalanib o‘zingiz hal etib ko‘ring.




Download 389,97 Kb.

Do'stlaringiz bilan baham:
1   ...   96   97   98   99   100   101   102   103   ...   142




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish