Algoritm turlari
Tuzilish xususiyatiga ko‘ra algoritmlar uchta asosiy
turga bo‘linadilar:
1. Chiziqli;
2. Tarmoqlanuvchi;
3. Siklik (takrorlanuvchi).
Algoritmlarning turli-tumanligi ulardagi bo‘laklangan
ko‘rsatmalar yuqoridagi uchta turdan
biriga mos kelishi bilan aniqlanadi. Shuning uchun har
bir algoritmning strukturasini va uni
tuzilish tamoyillarini bilish muhimdir.
Misol sifatida ax 2 +bx-tc=0 kvadrat tenglamani yechish
algoritmining blok-sxemasi
Chiziqli algoritmlar
Masalaning yechish bosqichlariga mos ko’rsatmalari qat’iy
ketma-ketlik asosida bajariladigan algoritm chiziqli algoritm
deyiladi. Ya‘ni chiziqli algoritm ko‘rsatmalari berilgan tartib
bo‘yicha ketma-ket bajariladi va tarmoqlanish yoki
takrorlanish jarayonlarisiz tashkil etiladi. Bunday algoritmni
ifodalash uchun ketma-ketlik strukturasi ishlatiladi.
Strukturada bajariladigan amal mos keluvchi shakl bilan
ko‘rsatiladi.
Chiziqli algoritm strukturasi 2-rasmda keltirilgan.
___________xL __________
~~ xk~~
-----------------1 ------------------
. __________1 ___________ .
Chiziqli algoritmlar sxemalarini tuzishga doir misollar bilan
tanishib chiqaylik.
1-misol. Ikki A va B o‘zgaruvchilari berilgan. Ularning
qiymatlarini almashtirish talab
etiladi, ya‘ni, A o‘zgaruvchi B o‘zgaruvchining qiymatini, B
esa - A o‘zgaruvchining
qiymatini qabul qilishi kerak..
Yechish
1. A va B qiymatlari berilgan. Qo‘shimcha Q o‘zgaruvchisidan
foydalanib, natijani A, V lardan chiqarish kerak.
2. Misolni yechish metodi: EHM da har bir
qiymat
xotiraning
alohida
yacheykasida
(o‘zgaruvchiga biriktirilgan) saqlanadi. Shuning
uchun misol ikki yacheykaqiymatlarini o‘zaro
almashtirish
masalasiga
keladi.
Ushbu masalani yechishdan avval shunga
o‘xshash quyidagi masalani ko‘raylik. Ikki
piyola mavjud. Biriga suv va ikkinchisiga sut
to‘ldirilgan. Piyollardagi bu ichimliklar o‘rnini
almashtirish talab etiladi. Hayotiy tajriba shuni
ko‘rsatadiki, bu masalani yechish uchun yana
bita piyola zarur. Ushbu qo‘shimcha piyolaga
birinchi piyoladagi suvni to‘ldirib, so‘ngra unga
ikkinchi piyoladagi sut to‘ldiriladi.
Xuddi shu masalaga o‘xshash yuqoridagi misol ham
yechiladi. Buning uchun qo‘shimcha Q o‘zgaruvchi
(qo‘shimcha piyola kabi) kiritamiz. Misolni yechish
uch bosqichga ajraladi. Ularga mos bloklar 3-
rasmda tasvirlangan. Shunday qilib, berilgan
masalani yechish algoritmini blok-sxema orqali
tasvirladik. Ushbu algoritmni psedokod yordamida
tasvirlanishini
kurib
chiqaylik.
Psevdokod
-
bu
algoritm
qadamlari
ko‘rsatmalarining bajarilishini oddiy tilda talqin
qilinishidir.Algoritmni bayon etishda arifmetik
ifodalarda + , - , / , * belgilaridan foydalanamiz.
:= (ikki nuqta va barobar belgilari) ko‘rsatilgan
o‘zgaruvchi
tomonidan
qandaydir
qiymatni
o‘zlashtirilishini (qabul qilishini) bildiradi..
Chiziqli algoritm ko‘rsatmalarida ma‘lumotlarni
kiritish-chiqarish va o‘zlashtirish
amallari ishlatiladi. Psevdokod tilida ushbu amallar
quyidagicha tavsiflanadi:
• Kiritish amali - Kiritish (x, y, z);
*bunda qavslar ichida ma‘lumotlar kiritilayotgan
elementlar nomlari beriladi.
• Chiqarish amali - Chiqarish (x, y);
• O‘zlashtirish amali - x := 32;
*bu amal «x o‘zgaruvchisi 32 qiymatni
o‘zlashtiradi, deb o‘qiladi".
Yuqoridagi misol uchun algoritmning psevdokod
orqali itasvirlanishi quyidagicha:
Algoritm Joylarni almashtirish; {algoritm
sarlavhasi}
O‘zgaruvchilar A,B,Q; {tavsiflash bloki}
Boshlash
Kiritish (A,B);
Q:=A;
A:=B;
B:=Q;
Chiqarish (A,B);
|