Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Download 1.74 Mb.
bet86/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   82   83   84   85   86   87   88   89   ...   96
Bog'liq
Turbo Pascal назария

else {аср эмас}
if mod 4=0
then kabisa:=true
else kabisa:=false
end;
begin {дастур боши}
read (yil);
if kabisa yil
then write (КАБИСА)
else write (ОДДИЙ)
end.
Дастурнинг мустаќил ќисмларини функциялар ва процедуралар кўринишида ёзиш ќулайлиги кўриниб турибди. Катта дастурларни яратишда одатда бу усуллардан фойдаланилади.
Кўриб чиќилган масала анчагина содда. Уни ќисмларга ажратмасдан ћам ечиш мумкин эди. Бироќ, келгусида бизга мураккаб масалаларни ечишга тўѓри келади, шунинг учун юќорида тасвирланган усулни пухта ўрганиб олиш мућим.
Яна бир бор таъкидлаймиз: агар масалани ќисмларга бўлишда ћосил бўлган ќисм ћали ћам жуда мураккаб бўлса, тавсия ќилинган усулни ќайта ќўллаш керак. Масаланинг бундай ќисми сўз билан таърифланади ёки тўртбурчакда тасвирланади. Дастурда бирорта ћам бундай тўртбурчаклар ќолмагандан кейингина дастур тамом бўлди, деб ћисобланади.
Дастурнинг алоћида ќисмларини фаќат функциялар ва процедуралар кўринишида дастурлаш ћар доим ћам фойдали бўлавермаслигини мисолда кўрсатамиз. Дастурнинг юќорида кўрган лойићасини ќуйидаги кўринишда ёзиш мумкин.
program kabisalar (input, output);
var yil:integer (( yil 1) and (yil 2000));
b : boolean;
begin
read (yil);

Йилнинг кабиса эканлигини текшириш, ха булса, b узгарувчига true šиймат, акс іолда, false šиймат узлаштирилади.


if b
then write (КАБИСА)
else write (ОДДИЙ)
end.
Тўртбурчакда тасвирланган дастурнинг ќисмини шартли оператор ёрдамида бажарамиз:
if yil mod 100 = 0 then
if yil mod 400 = 0
then b:=true
else b :=false
else
if yil mod 4=0
then b:=true
else b:=false
Шартли операторни тўртбурчак ўрнига ёзиб, тугалланган дастурни оламиз.
Мућокама ќилинаётган масалани амалга оширишнинг бу икки кўринишини солиштириб, функцияни ўз ичига олган дастурнинг ўлчами бирмунча катта эканлигини кўрамиз. Аммо функция бу дастурнинг мустаќил ќисми, демак, унда дастурнинг бошќа ќисмларида ўзгарувчилар ќандай номланганлигини ћисобга олмасдан, ўзгарувчилар учун бошќа номларни ишлатиш мумкин.

13.5. Дастурни текшириш.


Масалани дастурлашда осонгина адашиш мумкин.
Дастурнинг тўѓрилигини ћар хил йўллар билан текшириш мумкин. Улардан энг соддасини кўриб чиќамиз. У шундан иборатки, аниќ дастлабки маълумотларга эга бўлган ћолда, дастурчининг ўзи, ЭЋМ иштирокисиз, дастурда ёзилган амалларни бажаради. Бу ћолда барча амалларни, худди машина бажарадигандек, уларнинг моћиятини ўйлаб кўрмасдан, беихтиёр бажариши керак. Олинган натижаларга ќараб дастурнинг тўѓрилигини мућокама ќилиш мумкин.
Икки сонини n-даражага кўтарадиган дастур ёзамиз:

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   82   83   84   85   86   87   88   89   ...   96




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