Модел ва алгоритм тушунчаси


program Kopaytrish; type


Download 0.77 Mb.
bet41/56
Sana18.06.2023
Hajmi0.77 Mb.
#1556825
1   ...   37   38   39   40   41   42   43   44   ...   56
Bog'liq
7 Алгоритмлар мавзуси

program Kopaytrish;
type
Complex=record
Re:Real;
Im:Real
end;
var x,y,malt:Complex;
begin
readln(x.Re, x.Im);
readln(y.Re, y.Im);
with malt do
begin
Re:=x.Re*y.Re-x.Im*y.Im;
Im:=x.Re*y.Im+x.Im*y.Re;
writeln;
writeln('(',x.Re:3:1,'+i',x.Im:3:1,')*(',y.Re:3:1,'+i',y.Im:3:1,')');
writeln('=', Re:3:1, '+i', Im:3:1, ';');
end
end.

Талабалар ҳақидаги маълумот ёзувини аниқлашда талабаларнинг фамилияси - fio, туғилган йили - ty, яшаш жойи yj ва бошқаларни майдон сифатида қабул қилиш мумкин.


Ёзув типидаги ўзгарувчиларни массив ўзгарувчиларга ухшатиш мумкин, агар массив ўзгарувчининг ҳар бир элементи турли типда бўлиши мумкин бўлса ва фойдаланишда қавсларни ташлаб юбориб, массив номи билан индекс ўртасига нуқта қуйилса, индекс сифатида идентификатор олинса ёзув типидаги ўзгарувчи ҳосил бўлади.

Масала. Икки кишининг бир бири билан ёши тенг ёки тенг эмаслигини аниқлаш дастури тузилсин.


program tengqur;
type
t=record;
f:string[20];
yosh:byte;
end;
var
x,y:t;
begin
write(‘Биринчи киши фамилияси ва ёши -‘);
readln(x.f,x.yosh);
write(‘Иккинчи киши фамилияси ва ёши –‘);
readln(y.f,y.yosh);
if (x.yosh=y.yosh) then writeln(x.f,’ва’,y.f,’лар тенгкур’)
else writeln(x.f,’ва’,y.f,’лар тенгкур эмас’);
end.


Мустахкамлаш учун саволлар:
1. Тўплам типи нима.
2. Ёзув типи нима.


Таянч тушунчалар: Тўпламлар, тўплам устида амаллар, Set of, ёзув типлар, ёзув майдони, Record.

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




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


Режа:
1. Процедуралар ҳақида тушунча.
2. Параметрсиз процедуралар.
3. Ўзгарувчи параметрли процедуралар
4. Қийматли параметрли процедуралар
5. Аралаш параметрли процедуралар

1. Программалашда шундай ҳолатлар кузатиладики, унда дастурнинг турли жойларида мазмуни жихатидан бир хил алгоритмни бажаришга тўғри келадики, у мустақил қийматга эга, яъни ечилаётган асосий масаланинг бирор бир қисм масаласини ечишга мўлжалланган, масалан иккита натурал соннинг энг катта умумий бўлувчисини топиш, векторнинг компоненталарини усиш ёки камайиш кўринишда тартиблаш ва бошқа масалалар. Агар бу хусусий алгоритм ҳажм жихатидан катта ва мураккаб бўлса, у ҳолда бу алгоритмни ҳар сафар қайта ёзиш дастурни мураккаблаштириш билан бир қаторда уни ёзиш жараёнида грамматик хатоларга йўл қўйиш эхтимолини оширади. Юқоридаги камчиликларни олдини олиш мақсадида, ҳамда унинг ихчамлигини ва тушунарли кўринишини таъминлаш учун Паскал тили ҳар қандай хусусий алгоритмни асосий дастур матнидан ажратиб, уни мустақил дастур объекти кўринишда, фақат бир марта ёзиш имконини беради. Бу дастур объекти процедура (кисм-дастур) дейилади.


Процедура - процедура ва функциялар бўлимида процедурани эълон қилиш ёрдамида ишга туширилади.
Процедуранинг сарлавхаси рrоcedure хизматчи сўзидан, процедуранинг номи ва қавс ичида баъзи бир қўшимча маълумотларни ўз ичига олган бўлиши мумкин.
Берилган процедурани фаоллаштириш, яъни ишга тушириш учун дастурни зарур жойида процедура операторни ёзиш керак:
<процедура оператор>:= <процедура номи> ёки <процедура номи> (<фактик параметрлар рўйхати>);

Процедура параметри сифатида (агар у мавжуд бўлса) шундай қийматлар ишлатиладики, уларсиз процедура ишлай олмасин, яъни улар бу процедура учун бошланғич берилганлари аниқланади.


Процедуранинг икки хил кўринишини ишлатиш мумкин: параметрли процедура ва параметрсиз.
2. Параметрсиз процедураларда берилганлар асосий дастурнинг блокидан олинади, яъни глобал қиймат ҳисобланади. Бу эса рационал ҳисобланмайди.

Download 0.77 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   ...   56




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