Турбо паскаль жүйесінде процедураларды ұйымдастыру технологиясы


Турбо Паскаль жүйесінде процедураларды ұйымдастыру технологиясы

МАЗМҰНЫ

КІРІСПЕ 3

І. НЕГІЗГІ БӨЛІМ 4

1. 1. Жалпы түсінік 4

1. 2. Процедуралар 5

1. 3. Атаулардың пайдаланылу аймағы 6

1. 4 . Процедуралардың ерекшеліктері 9

1. 5. Жолдық процедуралар 16

1. 6. Файлдық процедуралар 17

ІІ. ЕСЕПТІҢ ҚОЙЫЛЫМЫ 19

2. 1. Есептің берілгені 19

2. 2. Есептің алгоритмі 19

2. 3. Программалау бөлімі 19

2. 4. Программаның жауабы 20

III. ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 22

КІРІСПЕ

Қазіргі кезде кеңінен қолданылатын программалау жүйесінің бірі - Turbo Pascal. Американың Borland корпорациясының бұл өнімі сол корпорацияның қызметкері Андерсон Хейлсбергтің жетекшілігімен құрастырылған. Turbo Pascal - дың түп нұсқасы швейцария ғалымы Никлаус Вирт жасаған Паскаль программалау тілінен тарайды. Бастапқыда Паскаль тілі программалауды алғаш үйренушілер үшін өте тиімді құрал болып табылған. Қарапайым Паскальды өңдеудегі А. Хейлсбергтің үлкен еңбегінің нәтижесінде Turbo Pascal қазіргі заман талабына сай, қуатты программалау жүйесіне айналды. Turbo Pascal - жоғарғы деңгейлі программалау жүйесі. Оның логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Сондықтан, оқушылар мен студенттерге программалаудың негізін Turbo Pascal тілін оқытып-үйретуден бастап, программкалаудың қыр - сырын меңгертудің маңызы зор.

Turbo Pascal - жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт (Niklaus Wirth) ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап, тіл атауын үнемі бас әріппен жазылуын сұраған.

Кейіннен тілдің көптеген нұсқалары жарық көреді. Солардың ішінде, 1983 жылы Borland корпорациясының талантты қызметкері Андерсон Хейлсбергтің жасаған жаңа үлгісі - Turbo Pascal программалаушылар арасында үлкен сұранысқа ие болды. Оның бұл нұсқасы СР/М операциялық жүйесіне негізделген. 1984 жылдың басында MS DOS жүйесіне ауыстырылғалы бері пайдалану қарқыны бұрынғыдан да арта түсті. Turbo Pascal - дің жоғарғы деңгейлі логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Turbo Pascal жүйесінде қарапайым есептерді шешудің программасынан бастап, күрделі мәліметтер қорын құрудың сан қырлы жұмыстары жүргізіледі.

І. НЕГІЗГІ БӨЛІМ

Қосалқы программа

1. 1. Жалпы түсінік

Практикалық есептерге программа құрғанда үлкен программаның белгілі бір бөлігін әр түрлі мәндер бойынша бірнеше рет қайталап пайдалануға тура келеді. Мұндай бір типтес программа бөлігін программаның әр бөлігінде қайталап жаза бермеу үшін оны жеке қосалқы программа ретінде бөліп жазған ыңғайлы.

Жеке программа түрінде бөлек жазылған, қажет кезінде оған оралып, оны пайдаланып отыруға болатын негізгі программаның арнайы бөлігін қосалқы программма (подпрограмма) дейді. Қосалқы программаға автоматты түрде енуге және одан щығуға болады.

Қосалқы программаны пайдалану төмендегідей мүмкіндіктер береді:

  • негізгі программаның көлемі кішірейеді;
  • негізгі программада пайдаланылған айнымалыларды қосалқы программада да пайдалануға болады;
  • қосалқы программаға берілген жады ұяшықтарын ол орындалмай тұрғанда бос ұяшық ретінде (бос айнымалы ретінде) пайдалануға болады;
  • қосалқы программаны пайдалану құрылымдық программмалауға мүмкіндік береді.

Паскаль тілінде алгоритмдік тіл тәрізді қосалқы программаның екі түрі пайдаланылады. Олар: процедура (PROCEDURE) және функция (FUNCTION) .

Бір программада бір немесе бірнеше процедура және функция пайдаланылыуы мүмкін.

Паскаль тілінде процедуралар мен функциялар программаның басында айнымалылар белгіленіп болғаннан кейін жазылады.

Жоғарыда ескертілгендей, негізгі және қосалқы программада бір айнымалы, мысалы, «К» қатар пайдаланылуы мүмкін, бірақ әр программада пайдаланылғанда К - ның физикалық мағынасы бірдей болуы шарт емес. Атау берілген операторлар тізбегін Паскаль тілінде процедура дейді. Әр қосалқы программаның (процедураның немесе функцияның) атауы (аты) болады, қосалқы программа сол атауы бойынша шақырлады.

1. 2. Процедуралар

Процедураның құрылымы программаға ұқсас жазылады. Олардың басы, бейнелеу және операторлар бөліктері болады.

PROCEDURE аты (формальды параметрлер тізімі) ;

Label . . . ; {белгілерді сипаттау бөлімі}

Const . . . ; {тұрақтыларды сипаттау бөлімі}

Type . . . ; {типтерді сипаттау бөлімі}

Var . . . ; {айнымалыларды сипаттау бөлімі}

Procedure . . . ; {Процедураны сипаттау бөлімі}

Function . . . ; {функцияны сипаттау бөлімі}

BEGIN

Операторлар бөлімі

END; {процедураның соңы}

Процедураны параметрсіз де пайдалануға болады. Екі процедуралық программа схемасы төмендегідей болады:

PROGRAM P;

Ортақ берілгендерді бейнелеу бөлігі

PROCEDURE P1;

P1 процедурасының бейнелеу бөлігі

BEGIN

P1 процедурасының операторлар бөлігі

END;

PROCEDURE P2;

P2 процедурасының бейнелеу бөлігі

BEGIN

P2 процедурасының операторлар бөлігі

END;

BEGIN

Негізгі программаның операторлар бөлігі

END.

Программаның орындалуы негізгі программаның операторлдарының орындалуынан басталады. Негізгі программада әрқашан процедураның орындалуы қажет болғанда ғана процедуруға көшеді. Бұл жағдайда берілгендер негізгі программадан процедураға (енетін параметрлер) беріледі. Процедура орындалып болған соң оның нәтижесі (шығатын параметрлер), процедураға негізгі программадан қай жерден көшті, сол жерге береді. Одан кейін негізгі программа опындала бастайды.

1. 3. Атаулардың пайдаланылу аймағы

Негізгі программада хабарландырылған (бейнеленген) атау, негізгі және қосалқы программада да (процедураларда да, функцияларда да) пайдаланыла алады.

Мұндай атаулар ортақ (глобальды) атаулар деп аталады. Қосалқы программада хабарланған атаулар тек сол қосалқы программада ғана пайдаланылады. Мұндай атауларды жергілікті (локальды) атаулар дейді.

Процедураны құруға және пайдалануға мысал келтірейік.

PROCEDURE SUMMA(A, B:real; Var y, z:real) ;

Const N:=10;

Var i:integer;

Begin

For i:=1 to N do

Begin

y:=A+B+1;

z:=A*y+1;

End

End.

Мұнда А, В - енетін параметрлер, олардың мәндері негізгі программада беріледі және осы процедураға ғана пайдаланылады. Процедура нәтижелері Y, Z (шығатын) негізгі программаға беріліп, пайдаланылады.

Негізгі программада процедураны шақыру түрі төмендегідей болады:

процедура аты(формальды параметрлер тізбегі) ;

Мұнда параметрлер формальды параметрлер тізімінен тұрады. Бұлардың ішіндегі процедураға берілетіндері - айнымалы, тұрақты типті өрнек болуы да мүмкін.

Процедураның өзінен мән алатын параметрлердің мәндері айнымалы болуы да мүмкін. Мысалы, жоғарғы процедураны негізгі программада былай шақыруға болады:

SUMMA (3, 5, 7, 6, Y1, Z) ;

Бұл жағдайда 3, 5 және 7, 6 сандары А, В формальды параметрлеріне меншіктеледі, Y1 мен Z мә»ндері процедурадан (Y және Z - айнымалыларға) негізгі программаға беріледі және сонда пайдаланылады, мысалы,

P:= 2*Y1;

Write (Z) ;

Формальды параметрлер атауы негізгі программада және процедурада бірдей де, әр түрлі де болуы мүмкін.

Мысалы, дөңес төртбұрыштың төрт қабырғасы мен диагоналының ұзындығы бойынша оның ауданын табуға программа құрайық.

Шешуі. Дөңес төртбұрыштың диагоналы оны екі үшбұрышқа бөледі.

С

В

А D

Әр үшбұрыштың ауданын табу үшін белгілі Герон формуласын пайдалануға болады.

S = ; p =

Мұндағы a, b, c - үшбұрыштың қабырғалары, р - жарты периметрі : p = ( a + b + c ) / 2. Есепті шешу үшін үшбұрыштың ауданын табу программасын екі рет пайдаланады. Бұл есепті шешудегі негізгі және көмекші программа төмендегідей болады :

Program B20 ( input, output ) ;

Var AB, BC, CD, DA, AC, S1, S, a, b, c, p : real;

PROCEDURE aud;

Begin

P : = ( a + b + c ) / 2;

S : = sqrt ( p * ( p - a ) * ( p - b ) * ( p - c ) ) ;

End;

Begin

Read ( AB, BC, CD, DA, AC ) ;

a : = AB; b : = BC; c : = AC ; aud; S1 : = S;

a : = DA; b : = AC; c : = CD; aud; S1 : = S1 + S;

Write ( ‘ S1 = ‘, S ) ;

End.

Бұл программада қосалқы программаға aud көмегімен екі рет оралдық. Әр оралу алдында а, b, с айнымалылары жаңамәндер қабылдап отырды. Мұндағы а, b, с - лар негізгі программада да, қосалқы программада да пайдаланылды, олай болса, оларды ортақ (глобальды) айнымалылар ретінде қарау керек. Ал айнымалы Р тек қосалқы программада ғана пайдаланылады. Сондықтан оны ортақ емес, жергілікті (локальды) айнымалы ретінде қарап, оны тек қосалқы программада ғана бейнелесе болады. Мысалы, aud қосалқы программасы былай жазылады:

Procedure aud;

Var P : real;

Begin

P : = ( a + b + c ) / 2;

S : = sqrt ( p * ( p - a ) * ( p - b ) * ( p - c ) ) ;

End;

Осы алгоритммен кез келген дөңес көпбұрыштың ауданын табуға арналған программа құруға болады.

1. 4. Процедуралардың ерекшеліктері

1. Паскаль тілінде процедураның құрылымы негізгі программаның құрылымымен бірдей болады. . Процедура тақырыбынан соң (PROCEDURE атау) жаңа айнымалыларды (локальды айнымалыларды) бейнелейді, одан кейін BEGIN және END операторлық жақша ішіне процедура денесі (операторлар тізбегі) жазылады. Бірақ END қызмет сөзінен соң міндетті түрде «; » тұру қажет. Себебі, процедурадан соң негізгі программаның операторлары жалғасады.

2. Процедура атауынан соң формальды параметрлер тізімінің болу, болмауы шарт емес. Онымен бірге процедура мәні белгілі сан болуы да шарт емес. Мысалы, арнайы белгілер көмегімен бірнеше (мысалы, үш) квадрат сызу қажет болсын. Оны мына программа арқылы орындауға болады.

Program H;

Procedure RW;

Begin

Writelen(‘* * * * *’) ;

Writelen(‘* *) ;

Writelen(‘* *) ;

Writelen(‘* *) ;

Writelen(‘* * * * *’) ;

End;

Begin

RW;

Writeln;

Writeln; (*2 жол қалдырылды*) ;

RW;

Writeln;

Writeln;

RW

End.

* *

* *

* * * * *

Программа орындалып болғанда экраннан араларында екі бос жолы бар, қабырғалары « * » - дан құралған үш квадрат шығады.

Бұл программада Writeln(‘* *) операторы үш рет қайталанып отыр, ал квадратты одан үлкен етіп жасау қажет болса, онда бұл жолмен процедура құру өте қолайсыз болады. Бұл қиындықтан құтылу үшін параметрлі процедураны пайдаланған ыңғайлы. Мұны екі түрлі жолмен ұйымдастыруға болады:

а) глобальды немесе локальды айнымалыны пайдалану;

б) формальды параметрлерді пайдалану.

Бұған мысал ретінде төмендегі процедураны келтіруге болады.

Procedure KW1;

Var i : integer;

Begin

For i : = 1 to 5 do writeln(‘*’) ;

For i : = 1 to 3 do writeln(‘* *’) ;

For i : = 1 to 5 do writeln(‘*’) ;

Writeln

End;

Бұл процедурада локальдық айнымалыны пайдаландық.

Енді формальды параметрлерді пайдалану мысалын қарастырайық.

Program BK;

Procedure KW (LP : integer) ;

Var i, k : integer;

Begin

For i:= 1 to LP-2 do

Begin

Write(‘*’) ;

For k:= 1 to LP-2 do write(‘ ‘) ;

Writelen (‘*’) ; (*ортасы сызылды*)

End;

For i:= 1 to LP do write(‘*’) ;

Writeln; (*төменгі қыры сызылды*)

End;

Begin

KW(3) ;

Writeln; Writeln; (*2 жол бос*)

KW(5)

End.

Бұл программа бойынша алдымен қабырғалары 3*3 «*» - дан тұратын квадрат сызылады. Себебі KW(3) деп берілген, бұл жағдайда LP = 3, ал KW(5) арқылы қабырғалары 5х5 жұлдызшадан тұратын квадрат сызылыды, себебі LP = 5.

3. Процедураның формальды параметрлерінің типтері әр түрлі болуы мүмкін. Мысалы,

Procedure OW(a, b, c : integer; D, P1, F2 : real; L, L2 :char) ;

4. Процедураның параметрлері айнымалы түрінде берілүі мүмкін. Бұған мысал ретінде айнымалылардың мәндерін алмастыруға программма құрайық.

Program AINA;

Var a, b : integer;

Procedure ALMASTRY ( Var x, y : integer ) ;

Var H : integer;

Begin

H:= x; x:= y; y:= H

End;

Begin

a:=1; b:=2; writeln(a, b) ;

ALMASTRY(a, b) ; writeln(a, b) ;

ALMASTRY(a, b) ; writeln(a, b)

End.

Экранда көрінетін нәтиже:

1 2

  1. 1

1 2

Бұл программада А және В айнымалыларына нақты 1 және 2 деген сәйкес мәндер меншіктедік. Программа әмбебап болу үшін олардың мәндерін READ (немесе READLN ) операторы арқылы енгізген дұрыс. Процедурада параметрлердің мәндерін Х, Ү арқылы, ал негізгі программада олардың орнына А және В айнымалылары пайдаланылды. Бұдан ешнәрсе өзгермейді. Себебі, процедураға оралғанда ALMASTRY(А, В) деп жазылғандықтан, Х - ке А - ның, Ү - ке В - ның мәні меншіктеледі. Процедура денесіндегі операторлар былай орындалады:

H:=A; A:=B; B:=H

5. Процедураның параметрлері тұрақты, айнымалы типті арифметикалық өрнекті де алғашқы мән ретінде қабылдауы мүмкін. Мысалы:

а) Procedure AYDAN(a, b, c:real; Var S:real) ;

б) Procedure MSAL(K:integer; Var P:integer) ;

Алдында VAR қызмет сөзі пайдаланылмаған формальды параметрлер - мәндер деп аталады. Бірінші процедурадағы а, в, с - формальды параметрлері - мәндер болады да, ал S формальды параметрі - айнымалы, екінші мысалда сәйкес К формальды параметрі - мән, ал р формальды параметрі - айнымалы. Енді үш санның үлкенін табу алгоритмін процедураны пайдаланып тауып көрейік.

program mmm;

var a, b, c, k:integer;

procedure max(x, y:integer; var z:integer) ;

begin

if x>y then z:=x else z:=y;

end;

Begin

write(‘a, b, c=’) ;

readln(a, b, c) ;

max(a, b, k) ;

max(c, k, k) ;

writeln(‘max=’, k) ;

end.

6. Процедурада тек қарапайым айнымалыларды ғана емес, индексті айнымалыларды (массивтерді) пайдалануға болады.

Нақты сандар тізбегі (бір өлшемді кесте) Аі, і=1, n берілген. Осы тізбектегі ең кіші элементті және оның нөмірін табуға процедураны пайдаланып программа құрайық.

Program BK1;

Type MA=array[1. . 50] of real;

Var (* жалпы айнымалылар *)

A : MA; M : real; (*мин. элемент*)

K : integer; (*рет нөмірі*)

N : integer; (*массив өлшемі*)

j : integer; (*қайталану параметрі*)

Procedure MIN;

Var i : integer; (*локальды параметр*)

Begin

M:=A[1] ; K:=1;

For i:=2 to N do

If A[i] <M then begin M:=A[i] ; K:=1

End;

End;

Begin

Writeln (‘N - массив өлшемін енгіз:’) ;

Readln(N) ;

Writeln (‘массив элем. «ENTER» арқылы енгіз:’) ;

For j:=1 to N do read(A[i] ) ;

MIN; (*MIN - процедурасын шақыру*)

Writeln; Writeln (‘мин. элемент М=’, M : 5 : 2) ;

Writeln (‘мин. элемент нөмірі К=’, K : 3) ;

End.

7. Кей жағдайларда процедураның ішінде процедураны пайдалануға тура келеді. Айталық, бірінші процедурада ( А процедурасында ) екінші процедураны (В процедурасын) пайдалануға тура келді делік, бірақ В процедурасы әлі хабарланбаған болсын. Жалпы жағдайда Паскаль тілінде алдын ала хабарланбаған конструкцияны пайдалануға болмайды. Бірақ бұл проблеманы Паскаль тілінде былай шешуге болады: А процедурасын (1- процедура) бейнелемей тұрып, компьютерге бұл процедурадан кейін программада бейнеленетін басқа екінші (В - процедура) процедура пайдаланылатынын ескерту қажет. Ол ескеру FORWARD; операторы арқылы жүзеге асырылады.

Жоғарыда айтылғандарды ескерсек, программаның құрылымы: PROGRAM ATAY;

.

PROCEDURE B (формальды параметрлер) ; FORWARD; PROCEDURE A(формальды параметрлер) ; .

B (параметрлер) ;

B процедурасын пайдаланудағы А процедурасының блогы

.

PROCEDURE B(*параметр тізімсіз*)

.

. B процедурасының блогы

BEGIN

. A және В процедураларын

. пайдаланатын негізгі

. программа

END.

Тәжірибелі программист әрқашан да жеке - жеке программаларды программа кітапханасына жинап, қажет кезінде процедура ретінде пайдалана алады.

Паскаль тілінің кейбір нұсқасында кітапханадан қажетті процедураны «ала тұру» үшін EXTERN (немесе EXTERNAL) операторын пайдаланады.

Кітапханадан қажетті процедураны «алу» үшін процедураның басынан (тақырыбынан) соң (PROCEDURE атау) EXTERN; операторы жазылады.

1. 5. Жолдық процедуралар

Процедура деп атау берілген, арнайы амалдарды орындайтын, өзінше тәуелсіз программаны айтады. Процедура тақырыбынан және оның денесінен тұрады. Процедураны оның атауы арқылы шақырады.

1. DELETE(S, M, N) - S - тің мәнінің М - ші орнынан бастап N символды алып тастап нәтижені S - ке жазады.

2. INSERT(S1, S2, N) - S2 - нің N позициясынан бастап S1 жолын S2 жолының арасына орналастырады да, нәтижені S2 - ге жазады.

3. STR(I, S) - I санын жолға айналдырады да, S - айнымалысына орналастырады.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal жүйесінде процедураларды ұйымдастыру технологиясы
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы туралы
Програмистің библотекасын ұйымдастыру технологиясы
Паскаль тілінің функцияларымен процедураларын қолдану
Паскаль тіліндегі програманың құрлымы
Паскаль программалау тілі
Алгоритмдер теориясы және берілгендер құрылымы
Турбо Паскалль тілінің негізгі элементтері
Кестенің құрылымын құру суреті
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz