2-misol. U=5x2-(16x-4).
(Bu misolning algoritmini studentlar mustaqil tuzsin).
Tarmoqlangan algoritmga misollar. Agar algoritm buyruqlari tarkibida tarmoqlanish komandasi uchrasa bunday algoritm tarmoqlangan algoritm deyiladi.
Tarmoqlanish komandasini yozilishi quyidagicha:
Agar bo’lsa
U xolda seriya 1 Aksxolda seriya2 Xal buldi
Agar shart bajarilsa u xolda seriya1bajariladi,aks xolda seriya2 Bajariladi.Shartlarni ezishda munosabat belgilaridan foydalaniladi: <,<=,>,>=,=,<>.
-misol. Ikkita “m“ va “p“ natural sonlari uchun eng katta umumiy buluvchi topilsin. Bu masalani echishning, m > p bo’lsa, m va p sonlarning eng katta umumiy buluvchisi ( t-p ) va p sonlarnikidek bo’lishiga asoslangan algoritmini tuzamiz:
Agar sonlar teng bo’lsa, ulardan istaganini javob o’rnida olinsin, aks xolda algoritmni bajarish davom ettirilsin .
Sonlardan kattasi aniqlansin.
Katta son, kattasining kichigidan farqi bilan almashtirilsin.
Algoritm boshidan boshlansin.
Tsiklik algoritmga misollar. Algoritm buyruqlari ichida takrorlash buyrugi kelsa bunday algoritm tsiklik algoritm deyiladi.Tsiklik algoritmlarni ezishda
Parametrli takrorlash buyrugidan foydalaniladi.Bu buyruqni yozilishi quyidagicha:
X=A dan V gacha N qadam
TsB
Seriyalar
KTs
Buerda takrorlash buyrugi ko’p marta bajariladi to X ni qiymati V dan oshgo’nga kadar.Har safar A ning qiymatiga N ni qiymati qo’shilib xisoblanadi.Agar N=+1 bo’lsa qadam yozilmaydi,boshqa xollarda qadam yoziladi.Agar N ning qiymati manfiy bo’lsa,tsikl kamayuvchi bo’ladi.
1-misol. X ning –25,-24,...........24,25 qiymatlari uchun u=2*x2-1 funktsiyaning qiymatlar jadvalini tuzish algoritmini yozing.
Algoritm: 1. X ga – 25 qiymat berilsin.
U=2*x2-1 qiymat xisoblansin.
U ning qiymati jadvalga yozilsin.
X ning qiymati 1 ga orttirilsin ( qo’shilsin).
Agar x 25 bo’lsa, u xolda 2punktga utilsin, aks xolda navbatdagi ko’rsatmaga utilsin.
Jarayon to’xtatilsin.
Algoritm hozirgi zamon matematikasining eng keng tushunchalaridan biri hisoblanadi.
Hozirgi paytda o'nlik sanoq tizimida arifmetik amallarni bajarish usullari hisoblash algoritmlariga soddagina misol bo'la oladi xolos. Hozirgi zamon nuqtai nazaridan algoritm tushunchasi nimani ifodalaydi? Ma'lumki, inson kundalik turmushida turlituman ishlarni bajaradi. Har bir ishni bajarishda esa bir qancha elementar (mayda) ishlarni ketma-ket amalga oshirishga to'g'ri keladi. Mana shu ketma-ketlikning o'zi bajariladigan ishning algoritmidir. Ammo bu ketma-ketlikka e'tibor bersak, biz ijro etayotgan elementar ishlar ma'lum qoida bo'yicha bajarilishi kerak bo'lgan ketma-ketlikdan iborat ekanligini ko'ramiz. Agar bu ketma-ketlikdagi qoidani buzsak, maqsadga erishmasligimiz mumkin.
Masalan, shaxmat o'yinini boshlashda shohni yura olmaymiz, chunki bu o'yin algoritmida yurishni boshqa bir shaxmat donalaridan boshlash kerak yoki palov pishirish algoritmida birinchi navbatda qozonga suv solib ko'ringchi, osh qanday bo'lar ekan. Berilgan matematik ifodani soddalashtirishda amallarning bajarilish ketma-ketligiga e'tibor bermaslik noto'g'ri natijaga olib kelishi barchaga ma'lum.
Demak ishni, ya'ni qo'yilgan masalani bajarishga mayda elementar ishlarni muayyan ketma-ketlikda ijro etish orqali erishiladi. Bundan ko'rinib turibdiki, har bir ish qandaydir algoritmning bajarilishidan iboratdir. Algoritmni bajaruvchi algoritm ijrochisidir. Algoritmning ijrochisi masalaning qanday qo'yilishiga e'tibor bermagan holda natijaga erishishi mumkin. Buning uchun u faqat avvaldan ma'lum qoida va ko'rsatmalarni qat'iy bajarishi shart. Bu esa algoritmning juda muhim xususiyatlaridan biridir.
Umuman, ajgoritmlarni ikki guruhga ajratish mumkin. Birinchi guruh algoritmning ijrochisi faqat inson bo'lishi mumkin ( masalan palovni faqat inson pishira oladi), ikkinchi guruh algoritmlarning ijrochisi ham inson, ham EHM bo'lishi mumkin (faqat aqliy mehnat bilan bog'liq bo'lgan masalalar). Ikkinchi guruh algorimtlarning ijrochisini EHM zimmasiga yuklash mumkin. Buning uchun algoritmni EHM tushunadigan biror tilda yozib, uni mashina xotirasiga kiritish kifoya.
Shunday qilib, biz algoritm deganda, berilgan masalani yechish uchun ma'lum tartib bilan bajarilishi kerak bo'lgan chekli sondagi buyruqlar ketma-ketligini tushunamiz.
Biror sohaga tegishli masalani yechish algoritmini tuzish algoritm tuzuvchidan shu sohani mukammal bilgan holda, qo'yilgan masalani chuqur tahlil qilishni talab qiladi. Bunda masalani yechish uchun kerak bo'lgan ishlarning rejasini tuza bilish muhim ahamiyatga ega. Shuningdek, masalani yechishda ishtirok etadigan ob'ektlarning qaysilari boshlang'ich ma'lumot va qaysilari natijaligini aniqlash, ular o'rtasidagi o'zaro bog'lanishni aniq va to'la ko'rsata bilish, yoki dastur (programma) tuzuvchilar tili bilan aytganda, masalaning ma'lumotlar modelini berish lozim.
Berilgan masala algoritmini yozishning turli usullari mavjud bo'lib, ular qatoriga so'z bilan, bloktarh (bloksxema) shaklida, formulalar, operatorlar yordamida, algoritmik yoki dasturlash tillarida yozish va xokazolarni kiritish mumkin.
Endi biror usulda tuzilgan algoritmning ayrim xossalari va algoritmga qo'yilgan ba'zi bir talablarni ko'rib chiqayli
1. Algoritm har doim to'liq bir qiymatlidir, ya'ni uni bir xil boshlang'ich qiymatlar bilan ko'p marta qo'llash har doim bir xil natija berad
2. Algoritm birgina masalani yechish qoidasi bo'lib qolmay, balki turlituman boshlang'ich shartlar asosida ma'lum turdagi masalalar to'plamini yechish yo'lidir.
3. Algoritmni qo'llash natijasida chekli qadamdan keyin natijaga erishamiz yoki masalaning yechimga ega emasligi haqidagi ma'lumotga ega bo'lam Yuqorida keltirilgan xossalarni har bir ijrochi o'zi tuzgan biror masalaning algoritmidan foydalanib tekshirib ko'rishi mumkin. Masalan: