Amaliy mashg‘ulot №1
Mavzu: Chiziqli tuzilmalarning algoritmlari va ularning dasturi
Ishdan maqsad: Eng sodda algoritm bo‘lgan chiziqli tuzilishga ega algoritmlarni
va ularga mos dastur tuzishni o‘rganish
I. Nazariy qism
Maʼlumki, har qanday vazifa u murakkab yoki oddiy bo‘lsin, albatta maʼlum bir harakatlarning ketma-ket amalga
oshirilishi natijasida
bajariladi.
Masalan, o‘quvchining ertalab uyg‘ongandan to o‘qishga chiqib ketguncha
bo‘lgan jarayon. Bunda o‘quvchi ertalab uyg‘onadi, badan tarbiya qiladi, yuz-qo‘lini
yuvadi, nonushta qiladi, maktab formasini kiyadi va maktabga yo‘l oladi.
Demak
harakat natijasi o‘quvchining maktabga yo‘l olishi bilan yakunlanuvchi vazifa bir
necha amallarning ketma-ket bajarilishi natijasida amalga oshmoqda.Aynan shu
amallar ketma-ketligi algoritm deyiladi.
Tasavvur qilaylik, kompyuter qurilmasi oldida o‘tirgan o‘quvchiga maʼlum
bir hisoblashni amalga oshirish vazifasi yuklatildi. Talaba
bu vazifani dasturlash
orqali bajarishi uchun u quyidagi ketma-ketlikni bajarishi lozim:
·
vazifani bosqichlarga bo‘lib chiqishi;
·
vazifani bajarilish ketma-ketligini ifodalovchi algoritmni ishlab chiqishi;
·
tuzilgan algoritmga mos maʼlum bir dasturlash tilida (Pascal, C++, Python va x.z.)
dastur tuzish lozim.
·
dasturga boshlang‘ich maʼlumotlarni kiritish;
·
agar dastur ishlashida xatolik yuz bersa xatolikni to‘g‘rilash;
·
natija olish;
·
olingan natijalarni tahlil qilish.
Demak yuqoridagi vaziyatdan shuni tushunish mumkinki, algoritmlash
dasturlash jarayonidagi eng asosiy bosqichlardan biridir.
Tuzilgan dasturning
qanchalik tez va samarali ishlashi uning asosida yotgan algoritmga ko‘p jihatdan
bog‘liq.
Algoritmlarning ko‘p turlari mavjud. Eng asosiy va sodda algoritm bu chiziqli
strukturaga (tuzilishga) ega bo‘lgan algoritmlardir.
Chiziqli tuzilishli algoritmlar bu shunday algoritmlarki, ular chizilgan ketma-
ketlikda va faqat bir marta bajariladigan buyruqlardan iborat. Chiziqli algoritmlar
sodda bo‘lib ularni matn ko‘rinishida ham, grafik ko‘rinishida
ham tasvirlash
mumkin.
Tasavvur qilamizki, gilamni chang yutkich yordamida tozalash vazifasini
yuklatilgan. Bu vazifani bajarishda quyidagi ketma-ketlikka amal qilish mumkin:
1. changyutgichni ish joyiga olib kelish;
2.
changyutgichni ishga tushirish;
3. gilamni tozalash;
4. changyutgichni o‘chirish;
5. changyutgichni saqlash joyiga olib borib qo‘yish.
Chiziqli tuzilishga ega algoritmlarni tuzish uchun avvalo algoritmlarni grafik
usulda ifodalashda qo‘llaniluvchi shartli belgilar, blok-sxemalar
bilan tanishish
lozim:
1. Boshlash va yakunlash blogi. Ushbu blok quyidagicha grafik ko‘rinishga ega:
2. Ma’lumotlarni kiritish va chiqarish blogi. Bu blok o‘zgaruvchilarni kiritish va
chiqarishni ifodalash uchun qo‘llaniladi. Ushbu blok quyidagicha grafik ko‘rinishga
ega:
3. Arifmetik blok. Ushbu blok yordamida biror bir hisoblash jarayoni ifodalanadi.
Ushbu blok quyidagicha grafik ko‘rinishga ega:
4. Shart kiritish bloki. Ushbu blog yordamida bajarilayotgan vazifaning shartlari
ifodalanadi. Shart kiritish blogining doim ikki chiqishi bo‘lib, ular “Ha” yoki “Yo‘q”
kabi nomlanadi. Ushbu blok quyidagicha grafik ko‘rinishga ega:
Yuqorida ko‘rib o‘tgan algoritmlashda qo‘llaniluvchi blok-sxemalarning eng
so‘ngisi shart kiritish algoritmi chiziqli tuzilishga ega bo‘lgan algoritmlashda
qo‘llanilmaydi. Ya’ni chiziqli tuzilishga ega bo‘lgan algoritmlarda barcha amallar
ketma-ket amalga oshiriladi.
Misol: To‘g‘ri burchakli parallelepiped berilgan bo‘lib uning tomonlari
a=5,
b=6, c=4 ni tashkil qiladi. Ushbu parallelepipedning
hajmini topish vazifasini
bajaruvchi chiziqli algoritm tuzing va C++ dasturlash tilida mos dasturini tuzing.
Demak,
a,b,c tomonlari ma’lum bo‘lgan to‘g‘ri burchakli parallelepipedning
V xajmini aniqlash vazifasini bajaruvchi chiziqli tuzilishdagi algoritm va dasturini
tuzish lozim.