Ma'ruza №1 Paskal tilining umumiy tavsifi


Ma'ruza № 5 Paskal programmasining strukturasi. Paskal tilida protsedura



Download 336,5 Kb.
bet4/9
Sana03.01.2020
Hajmi336,5 Kb.
#31913
1   2   3   4   5   6   7   8   9
Bog'liq
Ma'ruza №1 Paskal tilining umumiy tavsifi

Ma'ruza № 5 Paskal programmasining strukturasi. Paskal tilida protsedura.


Ma’lumotlarning chegaralangan va qayd qilingan toifasi.

Reja:

  1. Qism dastur haqida tushuncha.

  2. Funktsiya qism dasturi

  3. Protsedura qism dasturi

Amalda shunday masalalar uchraydiki, ularni yechish jarayonida birgina funktsiyani hisoblash emas, balki bir necha amallar ketma-ketligi o’zgaruvchi kattalikning turli qiymatlarida bir necha marotoba takrorlashga to’gri keladi.

Bunday masalalarni EHMda yechish dasturini ixchamlashtirish maqsadida takrorlanayetgan buyruqlarni dasturda bir marotoba yozib kerak bo’lganda unga istalgancha murojaat qilish mumkin.



Dasturning turli joyidan murojaat qilinishi natijasida ko’p marotoba bajarilishi mumkin bo’lgan operatorlarning tuplami protsedura (qism dastur), protsedura joylashgan dastur asosiy dastur deyiladi.

Paskal dasturlash tilida qism dasturlar ikki ko’rinishda bo’ladi:

funktsiya va protsedura.

Qism dasturlarni tasvirlash qism dastur sarlavhasi va tasvirlash bo’limi va protsedura tanasini uz ichiga oladi. Qism dasturi sarlavhasi FUNCTION yoki PROCEDURE protsedura kalitli so’zi bilan boshlanib, qavs ichida formal parametrlar ro’xati beriladi. Protsedura qism dasturidan funktsiya qism dasturi farq qilib sarlavhada funktsiyani tipi ko’rsatilishi shart. Funktsiya bitta qiymatni hisoblash uchun ishlatiladi.

Umumiy ko’rinishi:

FUNCTION F(q1:T; q2:T;.....):Ti;

(parametrlarni tasvirlash va aniqlash bo’limi)

BEGIN P1;

P2;


END;

Bu yerda F- funktsiya nomi; q1,q2,..- formal parametrlar; T- funktsiyaning nomi; Ti- parametrlarni tipi; P1,P2,...- funktsiya tanasini operatorlari.



Misol: n!,m!,(n-m)!ni hisoblash dasturi tuzilsin.

Buni uchun faktorialni hisoblashda funktsiya qism dasturidan foydalanamiz.



Dastur PROGRAM FACTL(INPUT,OUTPUT);

VAR NF,MF, NMF: INTEGER;

FUNCTION FACT(K:INTEGER):INTEGER;

VAR PF,I: INTEGER;

BEGIN

IF K<0 THEN FACT =0 ELSE



IF K=0 THEN FACT =1 ELSE

BEGIN PF:=1;

FOR I:=2 TO K DO PF:=PF*I;

FACT:=PF;

END;

END.


BEGIN

READ (N,M);

NF:=FACT(N);

MF:=FACT(N);

NMF:=FACT(N-M);

WRITE(‘NF=’;NF,’MF=’;MF,’NMF=’;NMF);

END.

(Topshiriq: Ushbu misolni amaliyotda komp'yuterga kiritib tekshirib ko’ring)

Misol: y=ax2+bx+d;

ni 100 20

a=ti; b= ti d=  qi

i=1 i=ni+1 i=1

j

SUM= masi



i=k funktsiyadan foydalanamiz.
Dastur:

PROGRAM FUNY (INPUT,OUTPUT);

CONST N=100;

TYPE INDEX =1,...,N;

VECT= ARRAY [INDEX] OF REAL;

VAR I,NR,NT,NG: INTEGER;

T,Q: VECT;

Y:REAL;


FUNCTION SUM(MAS:VECT;K:INTEGER;MM:INDEX):REAL;

VAR J:INTEGER;

BEGIN

S:=O;


FOR J:=1 TO MM DO S:=S+MAS(J);

SUM:=S;


END;

BEGIN


READ(NR,NT,NQ);

FOR I:=1 TO NT DO READ(T(I));

FOR J:=1 TO NQ DO READ(Q(I));

Y:=SUM(T,1,NR)*X*X*SUM(T,NR,+1,NT)*X

+SUM(Q,1,NQ);

WRITE(‘Y=’;Y);

END.

Protsedura bir necha natijalarni olish uchun ishlatiladi. Protseduraning umumiy ko’rinishi:


PROCEDURE F(q1:T1, q2:T2,....,var q3:T3);

(podprogramma va parametrlarni tasvirlash);

BEGIN

P1;


P2;

....


END;

bu yerda F-protsedura nomi; qi-formal parametrlar nomi; Ti- parametrlar tipi; Pi- qism dastur tanasini operatorlari.

Protseduraga murojaat qilish F(b1,b2,.......); ko’rinishda bo’ladi. F- podprogramma nomi, b1,b2,....- faktik parametrlar nomi.

Misol: Quyidagi funktsiyani hisoblashda protsedura qism dasturidan foydalanib dastur tuzing.

Z=(Sh2a+Sh(a-b))/(Sha+ Sh(a2-b2) ; Shx=(ex-e-x)/2.



Dastur: PROGRAM FSN(INPUT,OUTPUT);

VAR A,B,Z,T1,T2,T3: REAL;

PROCEDURE SH(X:REAL; VAR R: REAL);

BEGIN


R:=(EXP(X)-EXP(-X))/2;

END;


BEGIN

READ(A,B); SH (A,T1);

SH (A-B,T2); SH (A*A-B*B,T3);

Z:=(T1*T1*+T2)/(T1+SQR(T3));

WRITE(‘Z=’;Z);

END.


Protsedurani ishlatishda qayd qilingan cheklanishlarni yukotish va uniumumiylashtirish maqsadida parametrli protseduralarni, ya'ni protsedurada soxta parametrlarni ishlatish maqsadga muvofiq.

Haqiqiy parametrlar (kattaliklar) o’z qiymatini soxta parametrlarga uzata oladigan va soxta qiymatini o’zlashtira oladigan parametrlardir. Haqiqiy parametrlar sifatida o’zgarmaslar, o’zgaruvchilar va ifodalarini ishlatish mumkin.

Asosiy dasturda protsedura operatori bajarilganda protseduraning nomi orqali protseduraga murojaat qilinadi, so’ngra protsedura sarlavhaqida ko’rsatilgan soxta parametrlar haqiqiy parametrlar qiymatlarini o’zlashtirib protsedura tanasi bajariladi. Shuning uchun soxta va haqiqiy parametrlar soni, kelish tartibi va toifasi o ‘zaro mos kelishi kerak .

Protsedura tanasi bajarilgandan so’ng boshqaruv asosiy dasturning protsedura operatoridan keyingi operatoriga uzatiladi.

Soxta parametrlar uz navbatida qiymat va o’zgaruvchi parametrlarga bo’linadi. Qiymat parametrlar haqiqiy parametr qiymatini o’zlashtirishi mumkin, lekin uz qiymatini asosiy dasturga uzata olmaydigan parametrlardir. Ularning qiymati faqat protsedurada ishlatiladi. O’zgaruvchi parametrlar haqiqiy parametrlar qiymatini o’zlashtirishi va o’z qiymatini haqiqiy parametrga uzatishi mumkin. Sarlavhada o’zgaruvchi parametrlar VAR xizmatchi so’zidan keyin yoziladi.

Qismni quyidagi testni yechish orqali xulosalaymiz:

Paskal tilida funktsiya va protsedurani tasvirlash kalit so’zlarini ko’rsating.

A) INTEGER, REAL

B) PACKED, ARRAY

V) BOOLEAN, CHAR

G)FUNCTION, ROCEDURE
Tayanch iboralar:

Jarayon, qism dastur, asosiy dastur, funtsiya dastur, soxta parametr, faktik parametr, dastur, protsedura, qayd qilingan cheklanish, parametrli protsedura, haqiqiy parametr, kattalik, qiymat, soxta parametr, o’zgarmaslar, o’zgaruvchilar, ifoda, operator, protseduraning nomi, haqiqiy parametrlar soni, toifa, sarlavha.

Nazorat savollari:


  1. Qism dastur deb nimaga aytiladi? Asosiy dasturga ta'rif bering.

  2. Qism dastur va funtsiya dasturining farqi.

  3. Soxta parametr deganda nimani tushunasiz? Faktik parametrlar qayerda ishlatiladi?

Ma’ruza .№ 6 Paskal tilining operatorlari . Turbo-Paskalda sodda programmalar tuzish. Operatorlar.


Reja:

  1. Umumiy ma’lumotlar

  2. K iritish-chiqarish protseduralari

  3. Chiqarish formatlari

  4. Eng sodda operatorlar

  5. Strukturali operatorlar


Umumiy ma’lumotlar


Berilganlarni kiritish-chiqarish, Input va Output oldindan aniklangan fayllari.
EXMda eng sodda masalani yechishda xam kiritish-chiqarish amalidan foydalaniladi. Berilganlarni kiritish - tashki tashuvchidan operativ xotiraga kayta ishlash uchun olib utish, chiqarish-teskari jarayen, bunda berilganlar kayta ishlash. Keyin operativ xotiradan tashki tashuvchiga olib utiladi. Tashki tashuvchi sifatida, kiritish-chiqarish yumshok (disk) yeki kattik (vinchester) magnit disk va boshqa kurilmalar, xizmat kilishi mumkin. Paskal tilida standart odam va EXM urtasidagi mulokat vositasi bu oldindan aniklangan va fayllari xizmat qiladi. Ular e’lon kilinmaganda dastur parametrlari bulib xizmat qiladi. Dastur kiritiladigan ma’lumot faylidan oladi va ishlov berilgan natijani faylga yezadi. Fayliga standart klaviatura belgilangan, faylga esa - terminal ekrani kiritish chiqarish protsedurasi.

Ukish protsedurasi, yezish protsedurasi. Kiritish-chiqarish amalini bajarishda 4 ta protsedura ishlatiladi:

Berilgan mavzuda ularni ishlash jarayeni kuriladi . Klaviaturadan berilganlarni kiritish va ekranga chiqarish , chop etish kurilmalari simvollarni , katorlarni va ukish protsedurasida sonli berilganlarni kiritish va navbatdagi dastur bilan ishlov berishni ta’minlaydi.

Yozilishi:

Read (X1, X2,...,Xn); yeki

Read (FV, X1, X2,...,Xn);

bu yerda etilgan berilgan tiplari uzgaruvchilar fayl bilan boglangan uzgaruvchi Berilgan mavzuda farmatning 1 chi varianti kiritiladi. Ularning belgisi minimum 1 probel oraligi bilan klaviatura kiritish va ekranda Ko’rinadi 1 Read protsedurasining berilganlari kiritilgandan keyin Enter bosiladi Uzgaruvchilarni belgilari Paskal tilining sintaksisi kat’iy munosabatda kiritish. Agar munosabat buzilsa, ( masalan, x1 integer tipda, kiritganda esa char tipi kiritilgan) kiritish-chiqarish xatolari paydo buladi. Xatoni e’lon kilish kuyidagi Ko’rinishda buladi. Xato kodi, bu yerda tushuntirish matni dasturni tuxtashi sababini aniklaydi.

Misol.


VAR

I : real;

J : integer;

K : char;

BEGIN

Read (I, J, K);



. . .

Javobning 1 chi varianti.

Birinchi variant berilganlarni tugri kiritishni ta’lim, kiritilayetgan berilganlari uzgartirish tipidagi tugri keladi. Protsedurasidagi 2 chi variant 10 uli xatoni chiqaradi, uzgarish uchun Read tipni urniga char tipi kiritilganligi uchun. Agarda dasturda bir nechta Read protsedurasi bulsa, berilganlar kiritilgandan keyingi Read protsedurasining berilganlari kiritiladi kator tugagandan sung keyingi katorga utiladi.

Misol .


VAR

A, B, Sum1 : integer;

C, D, Sum2 : real;

...


BEGIN

Read (A, B);

Sum1 := A + B;

Read (C, D);

Sum2 := C + D;

...


END.

Klaviaturadan kuyidagilar kiritiladi: 18758 34 2.62E-02 1.54E+01.

Xar bir berilganlar juftligi kiritilgandan sung Enter tugmachasi bosiladi, ya’ni.

18758 34 Enter 2.62E-02 1.54E+01 Enter.



Ukish protsedurasi Readln xuddi Read protsedurasiga uxshaydi, bitta farkli tomoni shuki, Readln protsedurasida berilganlarning 1- katori tugagandan sung keyingi kator berilganlari uqiladi. Agar yukoridagi misolda Read protsedurasini Readln protsedurasiga almashtirsak :

. . .


Readln (A, B);

Sum1 := A + B;

Readln (C, D);

Sum2 := C + D;

. . .

klaviaturada A va V larning kiymatlari kiritilgandan sung kursor avtomatik ravishda keyingi katorga utadi, bunda C va D larning kiymatlari kiritiladi:



18758 34 Enter

2.62E-02 1.54E+01 Enter



Yezish protsedurasi Write sonli berilganlarni , simvollarni, katorlarni va bulev kiymatlarini chiqarishni ta’minlaydi.

Formati:


Write (Y1, Y2,...,Yn); yeki

Write (FV, Y1, Y2,...,Yn);

Bu yerda Y1, Y2,...,Yn - integer, byte, real, char, boolean

va xakozo tipdagi ifodalar . FV - fayl nomi, bu yerga chiqarilgan natijalar yeziladi. Printerga chiqarish uchun FV kiymati Lstga tenglashtirniladi. Lst kurilmasi ishga tushishi uchun albatta USES suzi yerdamida Printer moduli ulanishi shart .

Misol.

USES Printer;



VAR

...


BEGIN Write(234); {ifoda kiymatlarda takdim kilingan}

Write(A+B-2); {ifodaning natijasi chiqariladi}

Write(Lst, 'xisoblash natijalari = ', Result1);

END.


Formatning birinchi variantida Y1, Y2,...,Yn larning kiymatlari ekranga chiqariladi, ikkinchi variantda esa chop etish kurilmasiga.
Yezish operatori Writeln xuddi Write protsedurasiga uxshaydi,lekin ruyxat oxiridagi joriy protseduraning kiymati chiqarilgandan keyin kursor keyingi katorning boshiga utadi. Parametrlarsiz yezilgan Writeln protsedurasi katorning utishiga olib keladi.Writeln protsedurasini ishlash jarayenini ko’rsatish uchun programmaning kismini kuramiz:

A := 4;


B := 6;

C := 55;


Write(A:3); Write(B:3); Write(C:3);

Sum:= A + B + C;

Writeln('A=', A);

Writeln('B=', B);

Writeln('C=', C);

Writeln(' A+B+C yigindisi teng ', Sum);

Natija:

4 6 55


A=4

B=6


C=55

A+V+S yigindisi 65 ga teng.



Download 336,5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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