А. А. Медатов, М. З. Носиров, М. К


Download 392.5 Kb.
bet30/39
Sana20.12.2022
Hajmi392.5 Kb.
#1034416
1   ...   26   27   28   29   30   31   32   33   ...   39
Bog'liq
Turbo Pascal услубий кулланма

program param;
var
p1,s,n,m:integer;
procedure faktor(var p:integer);
var
i;byte;
begin
p:=1; for i:=1 to m do p:=p*i;
end;
begin
writeln(‘n ни киритинг); read(n);
s:=0;
for m:=1 to n do begin faktor(p1); s:=s+p1; end;
writeln(‘жавоб=,s);
end.

2. Кийматли параметрли процедура ёрдамидаги дастур.


program param;
var
p,s,n,k:integer;
procedure faktor(m:integer);
var
i;byte;
begin
p:=1; for i:=1 to m do p:=p*i;
end;
begin
writeln(‘n ни киритинг’); read(n);
s:=0;
for k:=1 to n do begin faktor(k); s:=s+p; end;
writeln(‘жавоб',s);
end.

3. Ўзгарувчи ва қийматли параметрли процедура ёрдамидаги дастур.


program param;
var
p1,s,n,k:integer;
procedure faktor(var p:integer; m:integer);
var
i;byte;
begin
p:=1; for i:=1 to m do p:=p*i;
end;
begin
writeln(‘n ни киритинг'); read(n);
s:=0;
for k:=1 to n do begin faktor(p1,k); s:=s+p1; end;
writeln(‘жавоб' ,s);
еnd.

Мустахкамлаш учун саволлар


1. Турбо паскальда процедура қандай тузилади.
2. Параметрли ва параметрсиз процедуралар.
3. Процедураларга мисол келтиринг.

Таянч тушунчалар


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


2. Ўзгарувчи параметрли процедуралар.
3. +ийматли параметрли процедуралар.
4. Аралаш параметрли процедуралар.
5. Процедура бичими.

Адабиётлар [1],[2],[3],[7].


Функциялар


Режа:
1. Функция ҳақида тушунча.
2. Функциянинг бичими.
3. Функция ва процедура орасидаги фарқлар.

Функция деганда функциянинг қиймати деб аталувчи қийматни функцияни аргументи деб аталувчи бошқа бир қиймат билан боғликлиги тушунилади.


Алгоритмик тилларда эса шундай функциялар қараладики, улар учун функциянинг қийматини аниқловчи алгоритм бериш мумкин бўлиши керак.
Паскал тилида қийматлари фақат оддий турга тегишли бўлган функциялар қаралади. Программалашда ҳар қандай функцияни ҳам формула кўринишда бериш мумкин эмас, баъзан рекурсив кўринишдаги кетма-кетлик орқали функцияни қиймати ҳисобланиши мумкин. Агар бу кетма-кетлик дастурнинг бир нечта жойида келадиган бўлса ҳар сафар уни ёзмасдан фақат бир марта функционал боғликлигини кўрсатиб унга ном бериш, керак бўлса аргументларини кўрсатиш кифоя (процедурада кўрилганидек).
Функционал боғлиқликни аниқлаш учун мўлжалланган процедурага процедура-функция дейилади.
Паскал тилида функцияни аниқлаш учун <функцияни эълон қилиш> тушунчаси хизмат қилади ва булар функция ва процедуралар бўлимига жойлаштирилади.
Функцияни эълон қилиш синтаксиси худди процедурани синтаксисига ўхшаб аниқланади:
<функцияни эълон қилиш>:=<функцияни сарлавхаси>;<блок>
<функцияни сарлавхаси>:functiоn <функция номи>; <турнинг номи>(<рамзий параметр номи>{,<рамзий параметр номи>})
ёки functiоn <функция номи >: <турнинг номи>

Бу қоидадан кўриниб турибдики, процедура функциянинг сарлавхаси процедуранинг сарлавхасига ўхшаш, лекин сарлавханинг охирида функциянинг қийматига мос келувчи турни кўрсатиш лозим.


Шуни такидлаш лозимки, процедура-функцияни параметрсиз, ҳамда параметр-қийматли ва параметр-ўзгарувчили кўринишда ишлатиш мумкин. Процедура-функцияни ташкил этувчи блок одатдагидек аниқланади, аммо функцияни ҳисоблаш жараёнида функцияни қиймати билан бирга оралиқ қийматлар ҳам ҳисобланади. Шунинг учун функция қийматини бу оралиқ қийматлардан фарқлаш учун функцияни ҳисобловчи операторлар кетма-кетлигида камида битта қуйидаги кўринишдаги қиймат бериш оператори қатнашиши керак:
<функция номи>:<ифода>;

бу ёзув функциянинг қиймати сифатида ўнг томондаги ифоданинг қиймати олинишини билдиради. Шуни эслатиб ўтиш зарурки, бу кўринишдаги операторлар фақат функцияни эълон қилишдагина ишлатилади.


Шундай қилиб процедура-функцияни процедурадан учта фарқи бор:
1) процедура-функция functiоn хизматчи сўзидан бошланади;
2) процедура- функциянинг сарлавхасида функция қийматининг тури кўрсатилади;
3) функцияни ҳисобловчи дастурда камида битта чап томонида эълон қилинган функциянинг номи бўлган қиймат бериш оператор кўрсатилиши керак ва бу операторларнинг камида биттаси бажарилиши керак.

Масалан n факториални ҳисобловчи дастурни паскал тилида қуйидаги кўринишда ёзиш мумкин:



Download 392.5 Kb.

Do'stlaringiz bilan baham:
1   ...   26   27   28   29   30   31   32   33   ...   39




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