Informatika va informatsion texnologiyalar faniga kirish va kursning mazmuni


Mavzu: Murakkab sikllar. Murakkab algoritmlar va ularni dasturlashtirish. Paskal tilida nostandart funktsiyalar va qism dasturlar



Download 3,61 Mb.
bet23/29
Sana29.01.2017
Hajmi3,61 Mb.
#1332
1   ...   19   20   21   22   23   24   25   26   ...   29

Mavzu: Murakkab sikllar. Murakkab algoritmlar va ularni dasturlashtirish. Paskal tilida nostandart funktsiyalar va qism dasturlar



Reja:

  1. Aralash strukturali algoritmlar

  2. Pascal dasturlashtirish tilida massiflar bilan ishlash

  3. Protsedura va funktsiyalar



Tayanch iboralar: Aralash strukturali algoritmlar, massiflar, protsedura, standart funktsiyalar, foydalanuvchining funktsiyasi, qism dasturlar
Aralash strukturali algoritmlar

Chiziqli, tarmoqlanuvchi va takrorlanuvchi dasturlardan tashkari ko’pgina masalalarni yechishda bu uchala jaryondan ham bir yula foydalanishga to’g’ri keladi. Bunday algortmlar aralash stukturali algoritmlar deyiladi.

Ya‘ni bu algortmda uchala algoritmdan ham foydalanish mumkin. Demak uchala turdagi algortmlar katnashgan algortmlar aralash algortmlar deb atalar ekan.

Ko’pgina muxandislik masalalarini, texnologik va xakozo jarayonlarni dasturlashtirishda aralash strukturali dasturlardan foydalanishga to’g’ri keladi. Biz yuqorida Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlarni dasturlashtirishni bir xil turdagilariga misollar keltirib, urganib chiqdik. Lekin kundalik xayotda aralash strukturali algoritmlar juda ko’p ishlatiladi. Bunday algoritmlarni dasturlashtirish uchun yuqorida aytganimizdek uchala turdagi algoritmlarni dasturlashtirishni bilish yetarli
Pascal dasturlashtirish tilida massiflar bilan ishlash

Murakkab uzgaruvchilar bilan bitta identifikator yordamida bir necha uzgaruvchilarni e‘lon qilish mumkin. Uzgaruvchilarni bunday ko’rinishlariga massiflar deyiladi.

Masalan ko’p hollarda

b={ b1, b2, b3,… bn} yoki kabi vektor va matritsalar bilan иш kuriladi.

Bu uzgaruvchilar Pascal tilida massiflar ko’rinishida e‘lon kilinadi. Massiflarni e‘lon qilishda array xizmatchi so’zidan foydalaniladi.

const n=25;

var

b: array [1..n] of real;

a: array[1..n, 1..n] of real;
Massiflarni e‘lon qilish jarayonida kurinib turibdiki, bir xil uzgaruvchilar (yozuvlar) kaytarilishi uchramokda. Bu noqulayliklarni bartaraf etish Maqsadida Pascal tilida uzgaruvchilarning (massiflarning) turidegan tushuncha kiritiladi.

Masalan:

type

vec=array[1..n] of real;

matr=array[1..n, 1..n] of real;

var b,c: vec;

x,y,z: matr;
Uzgaruvchilarning turi yordamida foydalanuvchining uzi ham mustaqil ravishda yangi uzgaruvchilar turini kiritishi mumkin.

Massiflar bilan ishlashga quyidagi misolni keltiramiz.
Misol:

Quyidagi formula orqali A matritsaning elementlarini aniqlang:

;
program massiv(input,output);

var a:array[1..3, 1..3] of real;

i, j: integer;

begin

for i:=1 to 3 do

for j:=1 to 3 do

begin

a[i,j]:=ln(abs(i+j*j*j))/sqrt(i*i*i+j);

writeln(‘a(‘, i, ’,’ ,j, ’)=’, a[i,j]);

end;

end.
Protsedura va funktsiyalar

Pascal dasturlash tilida protsedura va funktsiyalardan foydalaniladi. Pascal tilidagi protsedurani beysik tilidagi qism dasturga kiyoslash mumkin. Dastur tuzishda ba‘zan bir xil hisoblashni, kattaliklarning turli kiymatlari uchun bir necha marta takrorlab yozishga to’g’ri keladi. Bunday hollarda shu takrorlanuvchi hisoblashni alohida protsedura shaqlida yozib, undan istalgancha foydalanish Maqsadga muvofikdir.

Dasturda ishlatiladigan protseduralar dasturning protseduralar va funktsiyalarni bayon etish bo’limida tavsiflanishi lozim.

Protseduraning umumiy ko’rinishi quyidagicha:

procedure n (p1:t1; p2:t2; var p3:t3,…);

By yerda n-protsedura nomi, PI-formal parametrlar, TI-parametr turlari. Protsedura ham asosiy dastur qanday strukturaga ega bo’lsa shu strukturaga ega. Protsedura asosiy dasturning var bo’limidan keyin va begin bo’limidan oldinda joylashadi.

Protseduradan foydalanib 5,7u2-1,2u-8,3=0 tenglamani yechish dasturini tuzamiz.
program kv_t(output);

var y1,y2,d: real;

procedure sq (a,b,c:real; var x1,x2:real);

begin

d:=b*b-4*a*c;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

end;

begin {asosiy dastur boshlandi}

sq(5.7, -1.2, -8.3, y1, y2);

writeln (‘x1=’, x1 , ’ y2=’, y2);

end.
natija х1=0.49, х2=-5.2
Agar protsedurada bir dona kattalikning kiymati hosil kilinsa, unda bunday protsedurani funktsiya sifatida tashkil qilish qulay. Funktsiya function so’zi bilan boshlanib, sungra uning nomi (ixtiyoriy identifikator) yoziladi va uning parametrlari, turlari ko’rsatilib dasturda begin va end operatorlari oraligida funktsiya tanasi yoziladi. Protsedura funktsiyaning umumiy ko’rinishi quyidagicha:

function n ({parametrlar ro’yxati}: {protsedura kiymatining turi});

Misol:

a=0,13457; b=2,13458; c=1,71345.



Dastlab nostandart funktsiyani aniqlab olamiz. Soxta parametrlar sifatida x va u larni olamiz, u holda nostandart ( foydalanuvchining) funktsiyasi bo’ladi. Berilgan funktsiyani hisoblash algoritmining blok – sxemasi va dasturini tuzamiz.

Program nsf(input,output);

Uses crt;

Var a,b,c,w:real;

{ностандарт функцияни тавсифлаймиз}

function f(x,y:real):real;

begin

f:=ln(exp(3*x)+exp(ln(x)*ln(y))+

sqrt(x*y));

end;

begin clrscr;

write(‘a=’); readln(a);

write(‘b=’); readln(b);

write(‘c=’); readln(c);

w:=f(a,b)-sqr(f(c,b)+1)+exp(4*

*ln(int(f(a,c))));

writeln(‘натижа w=’,w:3:6);

end.

boshlash








tamomlash




Nazorat savollari

  1. Qanday algoritmlarga aralash strukturali algoritmlar deyiladi?

  2. Pascal dasturlashtirish tilida massiv deganda nimani tushinasiz?

  3. Massivlar dasturning qaysi qismida tavsiflanadi?

  4. Array operatorining umumiy ko’rinishini yozing va izoxlang

  5. Matritsa necha o’lchovli massif bo’ladi?

  6. Protsedura nima?

  7. Pascal tilida qism dasturlar qanday tashkillashtiriladi?

  8. Protsedura operatorining umumiy ko’rinishini yozing va izoxlang

  9. Foydalanuvchining funktsiyasi deganda nimani tushinasiz?

  10. Pascal tilida foydalanuvchining funktsiyasi deganda nimani tushinasiz?

  11. Pascal tilida protsedura va funktsiya dasturning qaysi qismida tavsiflanadi?



Download 3,61 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   29




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish