13-mavzu. Algoritmlarni grafik ifodalash vositalari Reja 13-lectures Means of alg Jarayon algoritmlash

13-mavzu. Algoritmlarni grafik ifodalash vositalari
Reja :
Chiziqli hisоblаsh jаrаyonini algoritmlashtirish.
Tаrmоqlаngаn hisоblаsh jаrаyonini algoritmlashtirish.
Takrorlanuvchi hisоblаsh jаrаyoni algoritmlashtirish.
CHiziqli algoritmlarda asosan xech qanday shart tekshirilmaydi va jarayonlar tartib bilan ketma - ket bajariladi. Demak, chiziqli algoritmlar sodda hisoblashlar yoki amallar ketma – ketligini ifodalaydi.
Algoritmlarni blok-sxema ko’rinishida ifodalanishi, ularni tasvirlashning juda o’ng’ay va eng ommalashgan vositalaridan biri hisoblanadi. Algoritmning blok-sxemasida gometrik figuralar ishlatiladi va ular - jarayon, yechish, modifikatsiya, kiritish-chiqarish, shartlarni tekshirish, hujjatni chop etish kabi belgilardan iborat bo’ladi. Algoritmning blok sxema ko’rinishidagi tasvirida geometrik figuralar shaklidagi oddiy elementlardan foydalaniladi, ya’ni:
Ellips, boshlash va tamomlash, algoritmni boshlash va tugallab undan chiqishni ifodalaydi;
Parallelogrammlar, ma’lumotlarni kiritish va chiqarishni ifodalaydi;
10.1-rasm. CHiziqli algoritm masalalarini
echishni blok-sxemasini umumiy ko’rinishi.
To’rtburchaklar, ma’lumotlar ustida ko’rsatilgan amallar bajarilishini ifodalaydi;
Romblar, algoritmdagi shartlarni tekshirishni ifodalaydi.
Algoritmdagi bu figuralar ketma-ketligi strelkali chiziqlar bilan birlashtiriladi.
Algoritmlarni amaliyotida o’larni: matn (so’zli); blok-sxema; dastur shakllarida ifodalash ommalashgan hisoblanadi.
Shuni eslatib o’tish lozimki, dastur bu masalaning yechish jarayonini ifodalovchi, ma'lum bir tilda ifodalangan algoritm bo’lib, kompyuter bajaruvchi vosita hisoblanadi.
Paskal tilida yozilgan dastur to’g’ridan-to’gri kompyuterga emas, balki biror bajaruvchiga mo’ljallanganki, unga qanday toifadagi qiymatlar bilan ishlay olishi va qo’shimcha ko’rsatmalarsiz qanday amallarni bajara olishi belgilab berilgan bo’lishi kerak.
U yoki bu masalani yechish uchun kattaliklar ustida bajarilishi kerak bo’lgan amallarni ko’rsatish uchun algoritmik tilda operator tushunchasi xizmat
qiladi. Dasturdagi har bir operator ma'lumotlarga ishlov berishning mustaqil, mantiqan tugallangan bosqichini ifodalaydi. Paskalda operatorlarning 8 ta turi ko’zda tutilgan. Har qanday masalani yechish aniq qoidalar bo’yicha, berilgan kattaliklardan boshqa kattaliklarni keltirib chiqarish jarayonidan iboratdir.
Ko’p oddiy algoritmlarni dasturlashtirishda asosan o’zlashtirish, kiritish-chiqarish operatorlaridan foydalaniladi.
1. O’zlashtirish operatori
Masalani yechish jarayoni qator bajariluvchi bosqichlarga bo’linib ketadi. Bu bosqichlarning har birida ma'lum qiymatlar bo’yicha yangi qiymatlar hisoblanadi.
Yangi qiymatlarni hisoblash uchun ifoda tushunchasi xizmat qiladi, har bir ifoda bitta qiymatni hisoblash qoidasini belgilaydi. Hisoblangan qiymatni hisoblash jarayonining keyingi bosqichida foydalanish uchun eslab qolish zarur, bunday eslab qolish hisoblangan qiymatni ma'lum o’zgaruvchiga o’zlashtirish yo’li bilan amalga oshiriladi.
Bunday amalni bajarish, asosiy operatorlardan biri hisoblanuvchi qiymat berish, ya'ni o’zlashtirish operatori bilan bajariladi.
O’zlashtirish operatorining bajarilishida «:=» belgisining o’ng tomonidagi ifodaning qiymati hisoblanib, belgining chap tomonidagi o’zgaruvchi tomonidan o’zlashtiriladi.
Shunday qilib, o’zlashtirish operatori mustaqil mantiqiy tugallangan hisoblash jarayonini ifodalaydi: o’zlashtirish operatori bajarilishi natijasida ma'lum o’zgaruvchilar keyingi bosqichlarda ishlatilishi mumkin bo’lgan yangi joriy qiymatni qabul qiladi.
Masalan:
A:=10; T:=2; H:=4.4;
2. Ma'lumotlarni kiritish va chiqarish
Dasturda ma'lumotlarning qiymatlarini xotiraga kiritishni bir necha usullarda bajarish mumkin.
Sonli o’zgaruvchilarga ularning qiymatini berishda o’zlashtirish operatoridan foydalaniladi. Masalan:
A:=15; B :=-3.1;
Dasturni o’zgaruvchilarning turli qiymatlarida bajarish uchun READ - kiritish operatori mo’ljallangan.
Kiritish operatori quyidagicha ko’rinishlarda ishlatilishi mumkin:
1) READ(al,a2,...,an);
bunda, al,a2,...,an - o’zgaruvchi qiymatlarini ketma- ket standart INPUT protsedura faylidan oluvchi o’zgaruvchilar. O’zgaruvchilarga qiymatlar turiga mos ravishda klaviaturadan kiritiladi.
Aytaylik, A, B, C o’zgaruvchilarga dastur bajarilishi davomida quyidagi qiymatlarni berish kerak bo’lsin: A=15, B=11, S=2.3.
Operator READ(A,B,C) ko’rinishiga ega bo’lib, sonlar qiymatlarini dastur bajarilishi davomida quyidagicha kiritish mumkin:
5 17 6.2 [Enter].
Agar o’zgaruvchi REAL toifada aniqlangan bo’lsa, uning qiymatini butun son yoki haqiqiy son ko’rinishida kiritiladi. Kompyuterning o’zi butun sonni haqiqiy songa o’tkazib oladi.
Masalan:
VAR A, B:REAL;
READ(A, B) operatorining ishlatilishi natijasida 4 va 5 sonlarini probel (bo’sh joy) orqali kiritish mumkin.
2) READLN - bu operator kiritish jarayonida bo’sh qator qoldiradi;
3)READLN( al,a2,...,an);
- operatorning bajarilishida avval al,a2,...,an ga qiymat kiritilib, so’ng keyingi satrga o’tiladi. Bu operator oldingi ikki operatorga teng kuchlidir.
KOMPYUTER xotirasidagi ma'lumotlarni displey ekraniga chiqarish operatori - WRITE dir. Operator quyidagi bir nechta ko’rinishlarda ishlatilishi mumkin:
1) WRITE( al,a2,..., an);
bunda al,a2,...,an oddiy o’zgaruvchilar, o’zgarmaslar yoki ifodalar bo’lishi mumkin va ular standart OUTPUT protsedura fayliga chiqariladi.
Masalan:
WRITE( 'B ning qiymati =', B) operatori displey ekraniga:
B ning qiymati = va undan so’ng B o’zgaruvchining qiymatini chiqaradi.
WRITE operatorida butun va haqiqiy sonlarni ma'lum formatda chiqarish mumkin. Bu format ikki nuqta orqali o’zgaruvchidan so’ng ko’rsatiladi.
Masalan:
WRITE(Y:4:2); operatori bilan Y ning qiymatini chiqarishda, Y ning hamma qiymatini chiqarish uchun 4 ta xona ajratilishi, ulardan ikkitasi kasr qismi uzunligini anglatadi (bunda sonning butun va kasr qismini ajratuvchi vergul (nuqta) ham hisobga olinishi zarur).
Butun sonlarni chiqarishda kasr qismi formati ko’rsatilmaydi.
Aytaylik, N=111 butun sonli qiymatni chiqarish kerak bo’lsin. Chiqarish operatori buning uchun quyidagi ko’rinishda bo’lishi mumkin:
WRITE ('N=', N:3)
Paskal tilida boshqa chiqarish operatorlari ham ishlatiladi.
Parametrlarsiz chiqarish operatori
WRITELN - displey ekranida yangi satrga o’tishni ta'minlaydi.
3)WRITELN(al,a2,...,an);
- chiqarish operatori oldin al,a2,...,an larning qiymatlarini chiqaradi, so’ng yangi qatorga o’tishni ta'minlaydi. Shunday qilib, bu ham quyidagi ikki operatorga ekvivalent:
WRITE( al,a2,...,an); WRITELN;
Pifagor teoremasi bo’yicha uchburchakning gipotenuzasini hisoblashni hisoblashni: a) so’zli; b) blok-sxemali algoritmni tuzing.
Formulasi: s2=a2+b2. Bu yerda a va b lar uchburchak katetlarini uzunligi, s - uchburchak gipotenuzasi.
a) so’zli algoritmi:
1) boshlanishi;
2)uchburchakning a va b lar uchburchak katetlarini qiymatlari kiritilsin;
3) uchburchak gipotenuzasi s2=a2+b2 formula bilan hisoblansin;
4) hisoblash natijasi s ni qiymati chiqarilsin;
5) hisoblash tugatilsin. Tamom.
b) blok-sxemali algoritmi:
10.2-rasm.
Fermer xo’jaligida paxta ishlab chiqarish xarajatlari X so’mni va daromad sumdan iborat bo’lsa, F foyda va R rentabellik darajasini hisoblashni: a) so’zli; b) blok-sxemali algoritmni tuzing.
Belgilashlar: X- xarajatlar, ming sum; D- daromad, ming sum; F – foyda; R-rentabellik,%.
Formulasi: 1) foyda F = D- X; 2) Rentabellik darajasi R=( F/ X)*100%.
a) so’zli algoritmi:
1) boshlanishi;
2) X- xarajatlar va D daromad (ming sum) summalari kiritilsin;
3) Foyda F = D- X formula bilan hisoblansin;
4) Rentabellik darajasi R=( F/ X)*100% formula bilan hisoblansin;
5 ) Hisoblash natijasi F va R ni qiymatlari chiqarilsin;
6) Hisoblash tugatilsin. Tamom.
b) blok-sxemali algoritmi:
10.3-rasm.
|