M ataýEW, S. Garajaýewa algoritmleşdirme we programmirleme
Download 0,5 Mb. Pdf ko'rish
|
Ataýew M Algoritmleşdirme we programmirleme`2010`TDU
9. Paskalda proseduralar we funksiýalar. Turbo Paskalda programma düzülende programmanyň köp gaýtalanýan böleklerini aýratyn bir at bilen belgiläp bolýar, şonuň ýaly hem köp gaýtalanýan aňlatmalary hem at bilen belgiläp bolýar. Bu işler prsedura we funksiýa serişdeleriniň kömegi bilen gurnalýar. Proseduralar we funksiýalar paskal programmanyň başynda ýörüte düzgüne laýyklykda beýan edilmelidir. Proseduranyň beýanynyň umumy görnüşi aşakdaky ýalydyr: PROSEDURE proseduranyň_ady(baha_parametr: kysym; baha_parametr: kysym; . . . . . . . . . . . var üytgeýji_parametr: kysym; var üytgeýji_parametr: kysym; . . . . . . . . . . . . .); LABEL prosedurada_ulanylýan_belgiler; CONST prosedurada_ulanylýan_hemişelikler; TYPE prosedurada_ulanylýan_kysymlar; VAR prosedurada_ulanylýan_üýtgeýjiler; BEGIN proseduranyň_operatorlar_bölümi END; Bu beýan etmeden görnüşi ýaly, proseduranyň esasy programmadan bir tapawudy diňe ol PROGRAM sözi bilen däl-de, eýsem PROSEDURE sözi bilen başlanýanlygyndadyr. Şeýle hem proseduralarda baha we üýtgeýji parametrler ulanylyp bilner. Bu parametrler hökmünde harplarr bilen başlanýan islendik simwollaryň yzygiderligi ulanylyp bilner. Baha parametrleri bilen üytgeýji parametrleriň tapawudy olaryň soňkylarynyň bahalarynyň prosedura ýerine ýetirilenden soňra saklanýanlygyndan ybaratdyr. Prosedura esasy programmada ulanylanda onuň ady we ýaýyň içinde görkezilen argumentleri görkezilmelidir. Şonda her bir parametrine degişli argumentiň bahasy goýulýar we proseduranyň 24 operatorlary ýerine ýetirilýär. Alynýan netijeler diňe üýtgeýji parametrleriň üsti bilen kesgitlenýär. Şonuň üçin üytgeýji parametrlere degişli edilýän argumentler hökmünde üytgeýjiler ulanylmalydyr. Şeýle hem ähli parametrleriň we argumentleriň kysymlary biri-birlerine hökmany gabat gelmelidirler. Funksiýalaryň beýan edilşi hem proseduralaryňky ýalydyr. FUNCTION funksiýanyň_ady(baha_parametr: kysym; baha_parametr: kysym; . . . . . . . . . . . var üytgeýji_parametr: kysym; var üytgeýji_parametr: kysym; . . . . . . . . . .):kysym; LABEL funksiýada_ulanylýan_belgiler; CONST funksiýada_ulanylýan_hemişelikler; TYPE funksiýada_ulanylýan_kysymlar; VAR funksiýada_ulanylýan_üýtgeýjiler; BEGIN funksiýanyň_operatorlar_bölümi funksiýanyň_ady:aňlatma; END; Funksiýanyn beýanynyň esasy aýratynlygy onda kysym ulanylýandyr we onuň operatorlar bölüminde funksiýanyň adyna baha berilýändigindedir. Funksiýanyň parametrleriniň manysy proseduradaky ýalydyr, ýone adatça olarda üýtgeýji parametrler ulanylýan däldir. Şeýle hem funksiýalar diňe bir ululygy hasaplamaga, proseduralar bolsa köp ululyklary hasaplamaga mümkünçilik berýändirler. Mesalä garalyň. Goý N=10, N=20, N=30 sanlar üçin S=1+2+3+…+N jemi hasaplamak talap edilsin. Bu meseläni prosedura we funksiýa ulanman çözeliň: PROGRAM MESELE; VAR I,S:INTEGER; BEGIN S:=0; FOR I:=1 TO 10 DO S:=S+I; WRITELN(S); S:=0; FOR I:=1 TO 20 DO S:=S+I; WRITELN(S); S:=0; FOR I:=1 TO 30 DO S:=S+I; WRITELN(S); END. Görşümiz ýaly birnäce operatorlar gaýtalanyp ýerine ýetirilýändirler. Indi meseläni funksiýa ulanyp çözeliň: PROGRAM MESELE; FUNCTION SUMMA(N:INTEGER):INTEGER; VAR I,S:INTEGER; BEGIN S:=0; FOR I:=1 TO N DO S:=S+I; SUMMA:=S END; BEGIN 25 WRITELN(SUMMA(10)); WRITELN(SUMMA(20)); WRITELN(SUMMA(30)); END. Indi bolsa meseläni prosedura ulanyp çözeliň: PROGRAM MESELE; VAR S1,S2,S3:INTEGER; PROSEDURE SUMMA(N1,N2,N3:INTEGER,VAR S1,S2,S3:INTEGER); VAR I:INTEGER; BEGIN S1:=0;S2:=0;S3:=0 FOR I:=1 TO N DO BEGIN IF I<=N1 THEN S1:=S1+I; IF I<=N2 THEN S2:=S2+I; IF I<=N3 THEN S3:=S3+I; END; END; BEGIN SUMMA(10,20,30,S1,S2,S3); WRITELN(S1,S2,S3) END. Bu programmalardan görnüşi ýaly proseduralar we funksiýalar programmanyň gysga we düşnükli bolmagyna ýardam edýär. Download 0,5 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling