228
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI ALISHER NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI AXBOROTLASHTIRISH TEXNOLOGIYALARI KAFEDRASI « ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy M A J M U A 5480100 – «Amaliy matematika va informatika» yo’nalishining 2-kurs talabalari uchun SAMARQAND-2010

ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

  • Upload
    others

  • View
    1.054

  • Download
    70

Embed Size (px)

Citation preview

Page 1: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI

ALISHER NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI

AXBOROTLASHTIRISH TEXNOLOGIYALARI KAFEDRASI

« ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy

M A J M U A

5480100 – «Amaliy matematika va informatika»

yo’nalishining 2-kurs talabalari uchun

SAMARQAND-2010

Page 2: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

2

Tuzuvchi:«Axborotlashtirish texnologiyalar» kafedrasi dosenti Axatov A.R.

Mazkur o’quv-uslubiy majmua Samarqand davlat universiteti “Axborot texnologiyalari” kafedrasida 5140800 – «Amaliy matematika va informatika» bakalavriat ta’lim yo’nalishlarining o’quv rejasidagi “Algoritmlar nazariyasi” fani bo’yicha Universitet o’quv-usluby kengashining qarori bilan tasdiqlangan Namunaviy o’quv dasturi asosida ishlab chiqilgan.

«Axborot texnologiyalari» kafedrasining 2010 yil 28 avgustdagi yig’ilishida (bayonnoma № 1) muxokama qilingan va ma’qullangan.

Kafedra mudiri: ___________ Jumanov I.I.

«Mexanika –matematika» fakulteti uslubiy kengashida 2010 yil 30 avgustda (bayonnoma № 1) ko’rib chiqilgan va tavsiya qilingan.

Uslubiy kengash raisi: __________

Page 3: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

3

M U N D A R I J A

Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi ……4 1. FANNING O’QUV DASTURI………………………………..………5 2. FANNING IShChI DASTURI ……………………………………....10 3. FAN BO’YIChA KALENDAR REJA ……………………….……...15 4. MA’RUZALAR MATNI …………………………………….………17 5. AMALIY MAShG’ULOTLARGA USLUBIY KO’RSATMALAR ……………………...…………………………..51 6. MUSTAKIL IShLAR TIZIMI ……………………………………. 107 7. ORALIQ VA YaKUNIY NAZORAT SAVOLLARI .……………. 109 8. ORALIQ VA YaKUNIY NAZORAT VARIANTLARI (BILETLAR) …………..…………………….…………………….110 9. TEST SAVOLLARI ………………………………………………..116 10. BAHOLASh MEZONLARI VA REYTING NAZORATLARI GRAFIGI …………………………………………………………..127 11. MA’RUZA MASHG’ULOTLARI DARS ISHLANMASI ………………………………………………........130 12. AMALIYOT MASHG’ULOTLARI DARS ISHLANMASI ……………………………………………….........184 13. GLOSSARIY ………………………………………………….......221 14. YANGI PEDAGOGIK TEXNOLOGIYA ………………………..228

Page 4: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

4

Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

1. Fanning o’quv dasturi (fakultet Ilmiy-uslubiy kengashi tomonidan 30.08.2010 y. da 1-qaror bilan tasdiqlangan )

2. Fan ishchi dasturi (fakultet Ilmiy-uslubiy kengashi tomonidan 30.08.2010 y. da 1-qaror bilan tasdiqlangan )

3. Kalendar reja 4. Ma’ruzalar matni :

Axatov A.R. Algoritmlar nazariasi ( Ma’ruzalar matni), 2010 y , SamDU. 33 bet

5. Amaliy mashgulotlarga uslubiy ko’rsatmalar: a) Axatov A.R., Abdullayev A.N. Algoritmlash va dasturlash: uslubiy

qo’llanma. – Samarqand: SamDU nashri, 2010. – 56 bet. 6. Mustakil ishlar tizimi va uslubiy ko’rsatmalar :

Mustaqil ish rejasi va topshiriqlari. 7. Oralik va yakuniy nazorat savollari va topshiriklar. 8. Oralik va yakuniy nazorat variantlari (biletlar). 9. Test savollari. 10. Reyting ballari taksimoti. 11. Ma’ruza mashg’ulotlari dars ishlanmalari 12. Amaliyot mashg’ulotlari dars ishlanmalari 13. Glossariy. “Algoritmlar nazariyasi” fanidan atamalar lo’gati. 14. Yangi pedagogik texnologiya. “Algoritmlar nazariyasi” fani ma’ruzalari bo’yicha taqdimot slaydlari majmuasi.

Page 5: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

5

1. FANNING O’QUV DASTURI

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI A.NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI

MEXANIKA-MATEMATIKA FAKULTETI «AXBOROTLASHTIRISH TEXNOLOGIYALARI» KAFEDRASI

TASDIQLAYMAN: SAMDU O’QUV ISHLARI

BO’YICHA PRORECTORI ________________SOLEYEV A.S.

«_____» ___________ 2010 y.

5480100 – Аamaliy matematika va iformatika ixtisosligi bo’yicha bakalavriaturaning II bosqich talabalari uchun

TUZUVCHI: «axborotlashtirish texnologiyalari»

kafedrasi dotsenti: _______________ A.R.Axatov

ISHCHI O’UV REJASI: «Axborotlashtirish texnologiyalari» kafedrasining «___»______ 2010 yildagi yig’ilishida muhokama qilindi va tasdiqland. Кaf. mudiri: prof. I.I.Jumanov Fakultet o’quv uslubiy kengashining «___»____________ 2010 yildagi yig’lishida muhokama qilindi va tasdiqlandi. Fakultet o’quv-uslubiy kengashining raisi: «Mexanika-matematika» fakulteti ilmiy kengashinin «___»__________2010 yildagi yig’ilishida muhokama qilindi va tasdiqlandi. Fakultet ilmiy kengashining raisi: Fakultet dekani:

ALGORITMLAR NAZARIYASI fanidan

o’quv dasturi

SAMARQAND - 2010

Page 6: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

6

KIRISH

Ushbu o’quv dasturi Samarqand davlat universiteti «Mexanika-matematika»

fakultetida 5480100 – «Amaliy matematika va informatika bakalavri» yo’nalishi bo’yicha

a’lim olayotgan II-bosqich talabalar uchun DTSning yo’riqnoma va ko’rsatmalari,

universitetning tajribali mutaxassis professor-o’qituvchilarining maslahatlari hamda

talabalarning istak va qiziqishlarini hisobga olgan holda tuzildi.

Bu kursni o’rganish jarayonida talabalar:

- Algoritmlashtirish haqida tushuncha;

- Ma’lumotlarni qayta ishlash algoritmlariga misollar;

- Algoritmlarni bajaruvchi formal modellari;

- EHM algoritmlarini tuzish tillari

kabi tushunchalar bilan tanishadi hamda nazariy bilimlarni amaliy va laboratoriya

mashg’ulotlarida mustahkamlaydi. Bu bilim va ko’riknomalarni hosil qilish uchun ularga

IV semestrda 30 soat ma’ruza, 32 soat amaliyot mashg’ulotlari ta’lim vaqti ajratilgan.

JAMI 112 SOAT

MARUZALAR 30 soat

AMALIYOT MASHG’ULO

TLARI 32 soat

MUSTAQIL TA’LIM

SOATLARI 52 soat

Page 7: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

7

I. MA’RUZALAR DASTURI (30 SOAT)

1.1. Algoritmlarni ishlab chiqish va tahlil qilish (16 соат)

Algoritmlashtirish fan va san’at sifatida. Algoritmlashtirishning matematik asoslari.

Algoritmlar. Algoritmlar yaratishning tuliq bosqichlari. Algoritmlarni tavsiflash tili

haqida kelishuvlar.

Algoritmlar va ularning murakkabligi.

1.2. Algoritmlarni ishlab chiqish uslublari. Algoritmlarga misollar (14 soat)

Maksimumni topish masalasi. Evklid algoritmi. Tasvirlarni tanish masalasi.

Kommivoyajer masalasining yechimiga ikki hil yondashuv.

Evristik algoritmlar. Shohlar vachegaralar uslubi. Eng qisqa yo’llar. Deykstra

algoritmi.

Tartiblash algoritmlari. Hoar algoritmi. Matritsalarni ko’paytiruvchi Shtrassen

algoritmi.

NP-tuliqlik tushunchasi va yechimi murakkab masalalar. Algoritmni dastur sifatiga

ta’siri.

II. AMALIYOT MASHG’ULOTLARI DASTURI (32 соат)

Ba’zi standart murakkab algoritmlarning tahlili (yig’indi, ko’paytma, faktorial,

maksimum). Tartiblash va izlash masalalari. Kombinatorik masalalar. Rekursiya va

itertsiya. Graflardagi masalalar. Sikllarni optimizatsiyalashga misollar. Kiritish-chiqarishni

optimizatsiyalash.

Algoritmlarning blok-sxemalari va ularning elementlario bilan tanishish; chiziqli,

tarmoqlanuvchi, tanlovchi va takrorlanuvchi (sharti oldindan berilgan, sharti keyin

berilgan, parametr bilan berilgan) algoritmlar tuzish; qismiy dasturlar (funksiya va

protsedura) algoritmlarini tuzish; birlashtiruvchi algoritmlar tuzish; massivlar va ularning

elementlari ustida amallar bajaruvchi algoritmlar tuzish; chiziqli va kvadratik

tenglamalarning ildizlarini hisoblovchi, eng katta va eng kichik qiymatlarni topuvchi,

berilgan qiymatlarni o’sish yoki kamayish tartibida joylahtiruvchi algoritmlar tuzish.

Page 8: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

8

III. MUSTAQIL TA’LIM SOATLARI DASTURI (52 soat)

Xotiradan ixtiyoriy tartibda foydalanadigan mashinalar. Hisoblash modellari sifatidagi mashinalar. Mashinalar uchun hisoblash vaqti va hajmi.

Dasturlar sxemalari. Dasturlar sxemalari uchun tahlil va qayta o’zgartirish algoritmlari. Dastular sxemalari uchun ommaviy muammolar.

Ma’lumotlar structuralari va turlari. Ma’lumotlarni dasturlash tillarida ifodalash va ulardan foydalanish.

Eng katta umumiy buluvchi topish va shu kabi masalalar algoritmlari. To’plamlar bilan ishlash asoslari. Graflar bilan ishlash asoslari va ularni amalga oshirish algoritmlari. Tez tartiblash va tartiblashning boshqa usullari. Tutatish usuli. Daraxtlar. Daraxtlar bilan ishlash uchun asosiy algoritmlar. Dasturlarni translyatsiya qilish. Leksik va sintaksik tahlil algoritmlari.

Adabiyotlar ro’yxati

1. Жуманов И.И., Кобилов С.С. СУБД и информационные системы. Уч. пособие. Самарканд, 1977 г.

2. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основны открытия и приложения. – М: Наука, 1987, 287 с.

3. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

4. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

5. Д.Кнут. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир, 2000 г.

6. Уотермен Д. Руководство по экспертным системам. М: Мир, 1989 г. 7. А.Ахо., Дж.Хопкрофт. Построение и анализ вычислительных алгоритмов. -

М: Мир, 1979 г., 535 с. 8. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975 г. 9. Донован Дж. Системное программирование. М: Мир,1975г. 10. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники.

Под ред. Ю.М.Смирнова. М: 1989 г. 11. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 12. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982. 13. Построение экспертных систем. Пер. с англ. Под ред. Хенес-Рота Р.,

А.Уотермана, А.Лента. М: Мир, 1987 г. 14. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 15. Фигурнов В.Э. IBM PC для пользователя. М: Финансы и статистика. Юнити.

1997. 16. Шафрин Ю. Основы компьютерной технологии: Справочник школьника. М,

1997.

Page 9: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

9

17. Таусенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ. – М: Финансы и статистика, 1990.

18. Нортон Н. Программно-аппаратная организация IBM PC. – М: Мир. 1991. 19. Кинг А. WINDOWS-95 изнутри / Перев. с англ. – СПб: Питер. 1995. 20. Андреев А.Г. и др. Новые технологии WINDOWS-2000. – СПб.: БХВ-Санкт-

Петербург, 2000.

Qo’shimcha adabiyotlar

1. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

2. Мингбаев Н.С., Жуманов И.И. Информатика.- Самарқанд: СамДУ нашри, 2002, 107 бет.

3. Мингбаев Н.С., Жуманов И.И. Компьютер технологиялари- Самарқанд,: СамДУ нашри, 2004, 152 бет.

4. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (1-қисм: ахборот технологияларининг қурилмавий ва дастурий таъминоти), Самарқанд,: СамДУ нашри, 2005, 148 бет.

5. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (2-қисм: ахборот технологияларининг информацион таъминоти), Самарқанд,: СамДУ нашри, 2005, 70 бет.

Page 10: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

10

2. FANNING IShChI DASTURI

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI A.NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI

MEXANIKA-MATEMATIKA FAKULTETI «AXBOROTLASHTIRISH TEXNOLOGIYALARI» KAFEDRASI

TASDIQLAYMAN: O’QUV ISHLARI

BO’YICHA PRORECTORI __________SOLEYEV A.S.

«_____» ___________ 2010 y.

5480100 – Аmaliy matematika va informatika ihtisosligi bo’yicha bakalavriaturaning II bosqich talabalari uchun

TUZUVCHI: «Axborotlashtirish texnologiyalari»

kafedrasi dotsenti: _______________ A.R.Axatov

ISHCHI O’UV REJASI: «Axborotlashtirish texnologiyalari» kafedrasining «___»______ 2010 yildagi yig’ilishida muhokama qilindi va tasdiqland. Кaf. mudiri: prof. I.I.Jumanov Fakultet o’quv uslubiy kengashining «___»____________ 2010 yildagi yig’lishida muhokama qilindi va tasdiqlandi. Fakultet o’quv-uslubiy kengashining raisi: «Mexanika-matematika» fakulteti ilmiy kengashining «___»__________2010 yildagi yig’ilishida muhokama qilindi va tasdiqlandi. Fakultet ilmiy kengashining raisi: Fakultet dekani:

ALGORITMLAR NAZARIYASI fanidan

ishchi o’quv rejasi

SAMARQAND - 2010

Page 11: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

11

I.Fanning mazmuni III semestr

1.1. Ma’ruza № Mavzu Soat miqdori Adabiyotlar

raqami 1 2 3 4

1. Kirish. Algoritmlashtirish fan sifatida. 2 [2,3,5,7,14] 2. Algoritmlash nazariyasining elementar

matematik asoslari. 2 [4, 10, 14,

18,19,20] 3. Algoritmlar. Algoritm yaratishning

bosqichlari. Masala qo’yilishi. Modelni yaratish.

2 [4, 10, 14, 18,19,20]

4. Algoritm to’g’riligini tekshirish va uni amalga oshirish.

2 [4, 10, 14, 21, 18,19,20]

5. Algoritmni va uning murakabligini tahlil qilish. Dasturni testlash. Hujjatlashtirish.

2 [4, 10, 14, 21, 18,19,20]

6. Algoritmlar va ularning murakkabligi tushunchasi.

2 [4, 8, 10, 14, 15,18,19,20]

7. Algoritmlarni ishlab chiqish metodlari. Maksimum topish masalasi.

2 [5, 7, 8, 9, 11, 12, 16, 18]

8. Evklid algoritmining tahlili. 2 [2, 3, 5, 14] 9. Kommivoyajer masalasini echish uslublari. 2 [1, 2, 3, 6, ] 10. Evristik algoritmlar asosida masalalarni

yechish. 2 [1, 2, 3, 4, 6,

20] 11. Eng qisqa yo’llarni topish. Deykstra

algoritmlari. 2 [1-6, 11- 14]

12. Tartiblash algoritmlari. Tez tartiblash. 2 [1, 2, 3, 6, 11, 13, 14]

13. Jadval – axborot strukturasi elementi sifatida.

2 [1, 2, 3, 6, 11, 13, 14]

14. Graflar. Graflar asosida algoritmlar. 2 [1, 2, 3, 6, 11, 13, 14]

15. Shoxchalar va chegaralar algoritmi. 2 [1, 2, 3, 6, 11, 13, 14]

Jami 30

Page 12: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

12

1.2. Amaliyot mashg’ulotlari

1 2 3 4 1 Algoritmlarni ishlab chiqish metodlarini

qo’llash

2 [2,3,4,5,7]

2 Mashg’ulot №1. Algoritmlar murakkabligini baholash Masalaning quyilishi. Programmani loyihalash. Modulni yaratish. Programmani sozlash va sinash. Hisobot.

2 2 2

[2,3,4,5,7, 12, 14, 17-20, 1*-5*]

3

Mashg’ulot №2. Maksimum, minimum topish algoritmlarini dasturlash. Masalaning quyilishi. Programmani loyihalash. Modulni yaratish. Programmani sozlash va sinash. Hisobot.

2 2 2

[2,3,4,5,7,12, 14, 17-20, 1*-5*]

4 Mashg’ulot №3. Optimallashtirish algorimlarini dasturlash. Masalaning quyilishi. Programmani loyihalash. Modulni yaratish. Programmani sozlash va sinash. Hisobot.

2 2 2

[2,3,4,5,7, 12, 14, 17-20, 1*-5*]

5

Mashg’ulot №4. Eng qisqa yo’llar topish algoritmlarini dasturlash. Masalaning quyilishi. Programmani loyihalash. Modulni yaratish. Programmani sozlash va sinash. Hisobot.

2 2 2

[2,3,4,5,7, 12, 14, 17-20, 1*-5*]

6 Mashg’ulot №5. Kommivoyajer masalasi algorimini dasturlash. Masalaning quyilishi. Programmani loyihalash. Modulni yaratish. Programmani sozlash va sinash. Hisobot.

2 2 2

[2,3,4,5,7, 12, 14, 17-20, 1*-5*]

Jami 32

II. Mustaqil ta’lim uchun topshiriqlar

1. Algoritmlar nazariyasini tarixini o’rganish. 2. Birinchi algoritmlarni tuzishga misollar. 3. Algoritmalar sifatini baholashning asosiy mezonlari. 4. Matematik induksiya usulini o’rganish. 5. Butunqiymatli funksiyalar. 6. Binomial koeffitsientlar. 7. Algoritm tarifini va hususiyatlarini o’rganish.

Page 13: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

13

8. Maala quyilishiga misollar. 9. Modellrani qurishga misollar. 10. Algoritmni tug’riligini tekshirishga misollar. 11. Hujjatlashtirishga misollar. 12. Algoritmlarning umumiy ko’rinishia misollar keltirish. 13. Tarmoqlanish buyruqlariga misollar. 14. Tanlash buyruqlariga misollar. 15. Takrorlanish buyruqlariga misollar. 16. Maksimum va minimum topish algoritmlarini o’rganish. 17. EKUB va EKUKlarni topish kabi masalalar algoritmlarini o’rganish. 18. Tasvirlarni tanish masalalariga algoritmlarni o’rganish. 19. Evristik algoritmlarini hususiyatlarini o’rganish. 20. Kommivoyajer masalalari. 21. Qirralar va chegaralar usuli yordamida yechiladigan masalalar. 22. Eng qisqa yo’llar topish masalalariga algoritmlar tuzish. 23. Tartiblash usullari turlari. 24. Tartiblash masalalarini yechishda rekursiv va oddiy bo’lmagan algoritmlardan

foydalanish. 25. matritsalarni ko’paytirish masalasiga algoritmlar. 26. Graflarni amalgam oshirih algoritmlari. 27. Geometrik algoritmlar. 28. To’rlar va daraxtlar. Daraxtlar tasniflanishi. 29. Daraxtlar bilan ishlash algoritmlari (ikkilik daraxt ustida amallar, daraxtlarda

izlash va ma’lumotlarni qo’shish va boshqalar). 30. NP-to’liqlik. 31. Algoritmning hisoblash murakkabligini tushinchasi. 32. Algoritmni dastur sifatiga ta’sirini hisobli tahlili.

Adabiyotlar ro’yhati

21. Жуманов И.И., Кобилов С.С. СУБД и информационные системы. Уч.

пособие. Самарканд, 1977 г. 22. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 23. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 24. Гуломов С.С. ва бошšалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 25. Д.Кнут. Искусство программирования для ЭВМ. Основные алгоритмы.-М:

Мир, 2000 г. 26. Уотермен Д. Руководство по экспертным системам. М: Мир, 1989 г. 27. А.Ахо., Дж.Хопкрофт. Построение и анализ вычислительных алгоритмов. -

М: Мир, 1979 г., 535 с. 28. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975 г. 29. Донован Дж. Системное программирование. М: Мир,1975г.

Page 14: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

14

30. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под ред. Ю.М.Смирнова. М: 1989 г.

31. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 32. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982. 33. Построение экспертных систем. Пер. с англ. Под ред. Хенес-Рота Р.,

А.Уотермана, А.Лента. М: Мир, 1987 г. 34. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 35. Фигурнов В.Э. IBM PC для пользователя. М: Финансы и статистика. Юнити.

1997. 36. Шафрин Ю. Основы компьютерной технологии: Справочник школьника. М,

1997. 37. Таусенд К., Фохт Д. Проектирование и программная реализация экспертных

систем на персональных ЭВМ. – М: Финансы и статистика, 1990. 38. Нортон Н. Программно-аппаратная организация IBM PC. – М: Мир. 1991. 39. Кинг А. WINDOWS-95 изнутри / Перев. с англ. – СПб: Питер. 1995. 40. Андреев А.Г. и др. Новые технологии WINDOWS-2000. – СПб.: БХВ-Санкт-

Петербург, 2000.

Qo’shimcha adabiyotlar

6. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион асослари. Самарқанд,: СамДУ нашри, 2002, 107 бет.

7. Мингбаев Н.С., Жуманов И.И. Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

8. Мингбаев Н.С., Жуманов И.И. Компьютер технологиялари- Самарқанд,: СамДУ нашри, 2004, 152 бет.

9. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (1-қисм: ахборот технологияларининг қурилмавий ва дастурий таъминоти), Самарқанд,: СамДУ нашри, 2005, 148 бет.

10. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (2-қисм: Ахборот технологияларининг информацион таъминоти), Самарқанд,: СамДУ нашри, 2005, 70 бет.

Page 15: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

15

3. FAN BO’YIChA KALENDAR REJA

SAMARQAND DAVLAT UNIVERSITETI 2010/2011 o’quv yili 3-semestrida 5140800 – amaliy matematika va informatika bakalavriat yo’nalishlari talabalariga Mexanika-matematika fakulteti «Axborotlashtirish texnologiyalari» kafedrasi o’qituvchilari tomonidan o’tiladigan “Algoritmlar nazariyasi» fani ishchi dasturining mashg’ulotlar turi bo’yicha bajarilishining

KALENDAR REJASI

Ma’ruzachi dosent A.R.Axatov Amaliy mashg’ulotlar A.R.Axatov, J.A.Samatov

T.r.

Mash-g’ulot

turi Mavzu nomi

Ajra-tilgan soati

Bajarilgan-ligi O’qituvchi

imzosi Sana Soat-lar soni

1 2 3 4 5 6 7 1 Ma’ruza Kirish. Algoritmlashtirish fan sifatida. 2 2 Ma’ruza Algoritmlash nazariyasining elementar

matematik asoslari. 2

3 Ma’ruza Algoritmlar. Algoritm yaratishning bosqichlari. Masala qo’yilishi. Modelni yaratish.

2

4 Ma’ruza Algoritm to’g’riligini tekshirish va uni amalga oshirish.

2

5 Ma’ruza Algoritmni va uning murakabligini tahlil qilish. Dasturni testlash. Hujjatlashtirish.

2

6 Ma’ruza Algoritmlar va ularning murakkabligi tushunchasi.

2

7 Ma’ruza Algoritmlarni ishlab chiqish metodlari. Maksimum topish masalasi.

2

8 Ma’ruza Evklid algoritmining tahlili. 2 9 Ma’ruza Kommivoyajer masalasini echish

uslublari. 2

10 Ma’ruza Evristik algoritmlar asosida masalalarni yechish.

2

11 Ma’ruza Eng qisqa yo’llarni topish. Deykstra algoritmlari.

2

12 Ma’ruza Tartiblash algoritmlari. Tez tartiblash. 2 13 Ma’ruza Jadval – axborot strukturasi elementi

sifatida. 2

14 Ma’ruza Graflar. Graflar asosida algoritmlar. 2 15 Ma’ruza Shoxchalar va chegaralar algoritmi. 2 16 Amaliy Algoritmlarni ishlab chiqish metodlarini

qo’llash 2

Page 16: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

16

17 Amaliy Mashg’ulot №1. Algoritmlar murakkabligini baholash Masalaning quyilishi.

2

18 Amaliy Programmani loyihalash. Modulni yaratish.

2

19 Amaliy Programmani sozlash va sinash. Hisobot. 2 20 Ama liy Mashg’ulot №2. Maksimum, minimum

topish algoritmlarini dasturlash. Masalaning quyilishi.

2

21 Amaliy Programmani loyihalash. Modulni yaratish.

2

22 Amaliy Programmani sozlash va sinash. Hisobot. 2 23 Amaliy Mashg’ulot №3. Optimallashtiris

algorimlarini dasturlash. Masalaning quyilishi.

2

24 Amaliy Programmani loyihalash. Modulni yaratish.

2

25 Amaliy Programmani sozlash va sinash. Hisobot. 2 26 Amaliy Mashg’ulot №4. Eng qisqa yo’llar topish

algoritmlarini dasturlash. Masalaning quyilishi.

2

27 Amaliy Programmani loyihalash. Modulni yaratish.

2

28 Amaliy Programmani sozlash va sinash. Hisobot. 2 29 Amaliy Mashg’ulot №5. Kommivoyajer masalasi

algorimini dasturlash. Masalaning quyilishi.

2

30 Amaliy Programmani loyihalash. Modulni yaratish.

2

31 Amaliy Programmani sozlash va sinash. Hisobot. 2 Jami 62

Darsning xrono xaritasi № Dars mobaynida bajaraladigan ishlar vaqt 1 Darsning jami vaqti 80 minut 2 Tashkiliy qismi 2 minut 3 Talabalar bilimini baholash 10 minut 4 Yangi mavzu bayoni 55 minut 5 Mavzuni o’zlashtirish darajasini aniqlash va mustahkamlash 5 minut 6 Sinov savollari 5 минут 7 Uyga vazifa berish 3 минут

Page 17: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

17

4. MA’RUZALAR MATNI

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI

Samarqand davlat universiteti

«Axborotlashtirish texnologiyalari» kafedrasi

A.Axatov

«ALGORITMLAR NAZARIYASI»

fanidan

MA’RUZALAR MATNI

SAMARQAND – 2010 yil

Page 18: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

18

Ushbu ma’ruzalar matni fakultet uslubiy kengashida kurib chikilgan va

foydalanishga tavsiya etilgan «___»______________200__y.

Tuzuvchi: Samarqand davlat universiteti «Axaborotlashtirish texnologiyalar» kafedrasi dosenti t.f.n., dos. A.R.Axatov

Ushbu ma’ruzalar matni «Axborotlashtirish texnologiyalari» kafedrasi yig’ilishida

kurib chikilgan va foydalanishga tavsiya etilgan «___»______________200__y. Bayonnoma №______

Kafedra mudiri: prof. I.I.Jumanov

Page 19: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

19

SUZ BOShI

Hozirgi kunda biror bir sohada ishni boshlash va uni boshqarishni kompyutersiz

tasavvur qilish qiyin. XXI asr savodxon kishisi bo’lishi uchun kompyuter savodxon

bo’lish, axborot texnologiyalarini puxta egallamoq lozim. Har bir mutaxassis, u qaysi

sohada ishlashdan qat’iy nazar, o’z vazifasini zamon talabi darajasida bajarishi uchun

axborotni ishlab chiqaruvchi vositalar va ularni ishlatish uslubiyotini bilish va ishlash

ko’nikmalarga ega bo’lishi zarur. Talabalarni ijtimoiy-iqtisodiy va ma’naviy muammolarni

hal etishga safarbar qilmoq uchun tegishli axborotlarni o’z vaqtida to’plab, qayta ishlab,

muayyan bir tartibga solish va zudlik bilan kishilarga etkazish kerak bo’ladi. Buning uchun

jamiyatni axborotlashtirish dasturini amalga oshirish va ilg’or axborot texnologiyasini joriy

etish zarurdir.

Dasturlarni mustaqil tuzishdan maqsad kompyutеrga mutloq xokimlik qilish, ya’ni

ish davomida yuzaga kеladigan muammolarni tеzroq hal etish imkonini yaratishdir.

Kompyutеr dasturlari sеrmеhnat ishlarni avtomatlashtiradi, xatolarni kamaytiradi va

mеhnat unumdorligini oshiradi. Bundan tashqari, dasturlar tuzish juda ham mashg’ulotdir.

Dasturlarni yaratish jarayonida qo’yilgan masalaning yechish algoritmi dastlab

to’g’ri ishlab chiqilishi muhim axamiyatga ega. Shuning uchun algoritmlarni tuzish va

dasturlarni ishlab chiqish bir-biri bilan chambarchas bog’liq jarayonlardir. Oliy o’quv

yurtlarining informatika, axborot tеxnologiyalari, amaliy matеmatika kabi yo’nalishlarida

ta’lim olayotgan talabalar algoritmni ishlab chiqish, dasturlar yaratish, ularni sinash,

sozlash, tahlil qilish uchun bilimlarni puxta o’zlashtirishlari zarur. Bunda, ta’lim oluvchi

uchun dasturlarni ishlab chiqishda asosiy va eng muhim bosqich hisoblangan algoritmlarni

tuzish va shular asosida dasturlar yaratish haqida ma’lumotlarni bеruvchi adabiyotlar

kеrak.

Ma’ruzalar matni Oliy o’quv yurtlari talabalari uchun mo’ljallab yozilgan va

zamonaviy kompyutеr tеxnologiyalarini mustaqil ravishda o’rganayotgan barcha

qiziquvchilar uchun ham foydalidir.

Page 20: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

20

1 - MAVZU: KIRISH. ALGORITMLASH FANI VA ALGORITMLASH SAN’ATI

Algoritm tushunchasi zamonaviy matematika va informatikaning asosiy

tushunchalaridan biri hisoblanadi. Algoritm termini o’rta asrlar ulug’ matematigi al-Xorazmiy nomidan kelib chiqqan. XX asrning 30-yiligacha algoritm tushunchasi ko’proq matematik ma’no emas, balki metodologik ma’noni kasb etar edi. Algoritm deganda, u yoki bu masalalar sinfini yechish imkonini beruvchi aniq ifodalangan chekli qoidalar majmui tushunilgan. EHM larning paydo bo’lishi bilan algoritm tushunchasi yanada keng tarqaldi. EHM va dasturlash usullarining rivojlanishi algoritmlarni ishlab chiqish avtomatlashtirishdagi zaruriy bosqich ekanligini tushunishga yordam berdi. EHM larning paydo bo’lishi algoritmlar nazariyasining rivojlanishiga olib keldi. Algoritmlarni tuzish – bu ijodiy ish bo’lib, ixtiyoriy zaruriy algoritmni tuzish uchun umumiy usullar mavjud emas, kishining ijodiy qobiliyatiga bog’liq. Albatta, algoritmni aniq sxema bo’yicha tuzish zarur bo’lib qoladigan sodda hollar ham mavjud. Bunday hollarda yechilish algoritmiavval biron kim tomonidan olingan masalalarni misol keltirish mumkin. Masalan, differensial tenglamalarni sonli integrallash uchun Eyler metodi. Bu metod masalani yechish uchun umumiy holda ifodalangan algoritmdir, lekin algoritmlash ijodiy ekanligini quyidagi algoritmlar nazariyasining ba’zi bir ma’lumotlaridan ko’rish mumkin. Agar bizdan biror algoritmni ishlab chiqish talab qilinsa, dastlab izlanayotgan algoritmni tuzish mumkinmi yo’qmi degan savolga javob izlash kerak. Chunki ba’zi hollarda algoritmni tuzish mumkin emasligini ko’rsatib berish mumkin. Ba’zi bir hollarda algoritmni tuzish mumkinligi isbotlanadi. Bunday isbot mavjud bo’lganligi bilan tuzilgan algoritmni amalgam oshirib bo’lmaydi yoki uning samaradorligi talabga javob bermaydi. Shunga qaramasdan bir nechta algoritmlar bitta amaliyotga qo’llanilayotganini topish mumkin. Boshqa hollarda algoritmni tuzish mumkinligini ham, mumkin emasligini ham isbotlab bo’lmaydi. U vaqtda algoritm tuzish jarayonida boshqa predmet sohalaridan qurilgan algoritmlardan foydalanish mumkin. Algoritmlar sifatini baholash uchun mezonlarni ko’raylik. Mavjud mezonlar juda tahminlashgan. Masalan, algoritmni bajarishda bajaruvchining xotira uskunalari hajmi yetarli bo’lmasa, u algoritm yomon deb hisoblanadi. Boshqa mezon sifatida algoritmning bajarilishi uchun talab qilinadigan vaqtni ko’rsatish mumkin. Vaqtni baholash bajaruvchining fizik xarakteristikalari hisobga olinishi kerak. Chunki har bir operatsiya har xil o’zgaruvchilar bilan bajarilganda vaqt ham har xil bo’ladi. Bunchalik aniq ma’lumotni har bir foydalanuvchi uchun yig’ib bo’lmaganligi sababli odatda o’rtacha tezkorlik qabul qilinadi. Ketma-ket bajarilayotgan operatsiyalar sonini aniqlab, uni o’rtacha tezkorlikka ko’paytirsa, algoritm bajarilishining amalga yaqin bo’lgan vaqtini topishimiz mumkin. Faraz qilaylik, 2 ta tahlil qilingan algoritmlardan bittasining bajarilish vaqti tezroq bo’ladi, uni xotira ishlash hajmi bo’yicha ham tahlil qilish kerak va bunday tahlillar murakkab nazariyasiga mansub bo’ladi. Shunday qilib, algoritmlar nazariyasi fani masalalarni yechishga mo’ljallangan algoritmlarni samaradorligini va murakkabligini tahlil qilish, o’zgartirish, qo’shimcha qilish va qayta ishlash natijasida yahshilash usul va uslublarini o’rganadi.

Page 21: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

21

2 - MAVZU: ALGORITMLASHNING MATEMATIK ASOSLARI

Reja 1. Matematik induksiya . 2. Yig’indi va Ko’paytmalar. 3. Butun qiymatli funksiyalar. 4. O’rin almashtirishlar va faktoriallar. 5. Binomial koeffitsiyentlar. 6. Fibonachi sonlari.

Algoritmlarni tuzishda va ularning tahlilida ishlatiladigan ba’zi matematik

belgilashlarni qarab chiqamiz. Matematik induksiya .

Faraz qilaylik P(n) – bu n butun son to’g’risidagi biror bir tasdiq bo’lsin. «n(n+3) – juft son» n10 bo’lsa, u holda nn 322 . Bizdan P(n) ning barcha butun musbat n sonlar uchun o’rinli ekanligini isbotlash talab qilinsin. Isbotning asosiy usuli quyidagilardan iborat:

1. P(1) o’rinli ekanligini isbotlash. 2. P(1), P(2), …, P(n) lar o’rinli bo’lsa, u holda P(n+1) ham o’rinli ekanligini isbotlash,

bu isbot barcha butun musbat n lar uchun o’rinli bo’lishi kerak. Misolni keltiramiz. )1(47531353123111 2222 Ularning umumiy ko’rinishda quyidagicha yozish mumkin: ).2()12(...31)( 2nnnP Biz P(n) ning barcha musbat n lar uchun o’rinli ekanini isbotlashimiz kerak.Yuqoridagi proseduraga muvofiq: a). P(1) o’rinli, chunki 211 b). agar barcha P(1), P(2), …,P(n) tasdiqlar o’rinli bo’lsa, P(n) uchun ham o’rinli, ya’ni (2) munosabat bajariladi. (2) ning har ikkala tomoniga 2n+1 ni qo’shsak, quyidagiga ega bo’lamiz: 22 )1(1212)12(...531 nnnnn Bu esa P(n+1) ning ham to’g’riligini ko’rsatadi. Bu metodni isbotlashning algoritmik prosedurasi deb qarash mumkin. Haqiqatan ham, agar a) va b) bosqichlar amalga oshgan deb hisoblasak, quyidagi algoritmP(n) tasdiqning ixtiyoriy butun musbat n uchun isbotini beradi. Berilgan butun musbat n uchun P(n) ning o’rinli ekanini isbotlash algoritmi. A1 algoritm.

1. boshlash. 2. 1k {((a)ga asosan P(1) tasdiqni isbotlang} 3. agar k=n bo’lsa, u holda 6 ga o’ting 4. p(k+1) uchun isbotlang ((b) ga asosan p(2), p(3), p(k) to’g’riligini isbotlang va

p(k+1) uchun to’g’ri degan xulosaga keling) 5. 1 kk 3 ga o’ting 6. tugash (so’ralayotgan isbot bajarildi)

(a) va (b) bosqichlar (a1 algoritm) shaklidagi isbotlash matematik induksiya yordamida isbotlashdir

Page 22: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

22

Yig’indi va Ko’paytmalar. ,..., 21 aa - ixtiyoriy sonlar ketma-ketligi bo’lsin. naaa ...21 ko’rinishdagi yig’indini

nji

ja kompakt ko’rinishida yozish mumkun.

Agar n nolga yoki manfiy songa teng bo’lsa berilishiga ko’ra bu yig’indi nolga teng bo’ladi. j harfi indeks yoki yig’indining o’zgaruvchisi. Yig’indilar chekli (j qiymatlarini chekli soni) va cheksiz bo’lishi ham mumkin. Agar belgisi ostida ikki yoki undan ortiq shartlar joylashgan bo’lsa, ularning barchasi bir vaqtning o’zida bajarilish kerak. Yig’indi uchin qisqa yozuv bo’lganidek, ko’paytma uchun ham

njja

1

qisqa yozuv

ishlatiladi. nj

ja1

belgi nj 1 shartni qanoatlantiruvchi barcha butun j lar uchun barcha

ja lar ko’paytma 1ga teng deb hisoblanadi (yig’indi esa nolga teng bo’ladi). Butun qiymatli funksiyalar.

Ixtiyoriy haqiqiy son uchu quyidagi belgilashlarni kiritamiz: x - x ga eng yoki x dan kichik bo’lgan eng katta butun son. x - x ga eng yoki x dan katta bo’lgan eng kichik butun son. Bu funksiyalar ni ba’zida x sonining butun qismi deb yuritiladi. Masalan: 12 xx 22 . Ixtiyoriy haqiqiy x va y sonlar uchun quyidagi Binar amalini belgilaymiz. X mod Y – x ni y ga bo’lgandagi qoldiqni bildiradi. Agar x va y lar butun son bo’lsa, u holda qoldiq ham butun son va x,y ga karrali bo’lsa, nol bo’ladi. 5 mod 3=2 18 mod 3=0 Agar x va y butun sonlar bo’lsa, div butun qiymatli bo’lishni bildiradi, ya’ni butun qiymatli bo’lish natijasida har doim butun bo’ladi. 7 div 2=3 2 div 5=0

O’rin almashtirishlar va faktoriallar. n tartibli o’rin almashtirish deb, n ta turli ob’yektlarni qatorga joylashtirish operatsiyasiga aytiladi. Masalan, a, b, c lar uchun 6 ta o’rin almashtirishlar bor. abc, bac, bca, cba, cab, acb. n ob’yektdan tuzish mumkin bo’lgan umumiy o’rin almashtirishlar soni P(n)=n(n-1)(n-2)…1=n! P(n) qiymatni n! deb hisoblaydilar va u quyidagicha yoziladi.

nk

knn1

...321!

0!=1 ekanligi qabul qilingan. Butun musbat n lar uchun n!=(n-1)!n ayniyat o’rinli. 0!=1 1!=1 3!=6. Faktoriallar juda tez o’sadi. 10!=3628800 1000! esa 2500 dan ortiq o’nli belgilardan iborat. Shunga qaramasdan kompyuterda faktorialni hisoblash uchun kam vaqt ketadi. Dj. Stirling degan olim n

ennn )(2! ga teng deb olgan.

Page 23: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

23

Yana bir savol tug’ildi. Biz n! uchun n butun musbat bo’lgan hol uchun ta’rif berdik. n ning ratsional qiymatlari yoki n haqiqiy bo’lganda n! nimaga teng degan savol tug’iladi.

Masalan, !21

nimaga teng. Bu masalani yechish uchun butun manfiymas n lar uchun n! ni

aniqlaymiz. )1(...21!

1

nkknn

Bu faktorialning analogi, lekin bu yerda biz ko’paytirish o’rniga qo’shishdan foydalanayapmiz Arifmetik progressiyaning yig’indisi )2()1(

21! nnn

(2) ni (1) ning o’rniga ishlatish n! funksiyani n ning ixtiyoriy qiymatlari uchun aniqlash

imkonini beradi. Masalan, 83!

21

.

Binomial koeffitsiyentlar. n ta ob’yektdan k ta ob’yektni jamlash bu n ta elementdan mumkin bo’lgan k ta turli elementni tanlash. Masalan, 5 ob’yektdan 3 tadan jamlash, a, b, c, d, e. abc, abd, abe, acd, ace, ade, bcd, bce, bde, cde. kn orqali belgilangan jamlashni umumiy soni

1)...1(

)1)...(1(

kkknnnkn

Masalan 10123345

35

.

kn qiymat binomial koeffitsiyent deb aytiladi. Binomial koeffitsiyentni faktorial

yordamida hisoblash mumkin. )!(!

!knk

nkn

Binomial koeffitsiyentlar uchun quyidagi hossa mavjud:

11

kr

kr

kr

Fibonachi sonlari. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… ketma-ketlikda har bir son oldingi 2 ta sonning yig’indisiga teng bo’lsa, Fibonachi sonlari deb aytiladi. 021 nFFF nnn . Bu ketma-ketlik Leonardo Fibonachi tomonidan taklif etilgan. Fibonachi sonlari va algoritmlar orasida o’zaro bog’liq borligi isbotlangan.

Takrorlash uchun savollar

1. Matematik induksiya haqida tushuncha bering. 2. Yig’indi va Ko’paytmalarning asosoy farqini ko’rsating. 3. Butun qiymatli funksiyalarga misol keltiring. 4. O’rin almashtirishlar va faktoriallarni hisoblashga misol ko’rsating. 5. Binomial koeffitsiyentlar - bu nima? 6. Fibonachi sonlari algoritmlarga qanday aloqasi bor?

Page 24: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

24

3 - MAVZU: ALGORITMLAR VA ULARNING TO’LIQ TUZULISHINING BOSQICHLARI

Reja

1. Algoritmning ta’rifi. 2. Algoritmni to’liq yaratish bosqichlarni 3. Masalaning qo’yilishi. 4. Modelni yaratish. 5. Algoritmni ishlab chiqish. 6. Algoritm to’g’riligini tekshirish. 7. Algoritmni amalga oshirish. 8. Algoritmni va ularning murakkabligini tahlil qilish. 9. Dasturni tekshirish. 10. Hujjatlashtirish.

Algoritmlarning turli ta’riflari mavjud. Rasmiy ta’riflardan biri bo’yicha algoritm bu qo’yilgan masalani bir xil yechilishiga olib keluvchi aniq harakatlarning ketma-ketligi. Bu tushunchadan algoritmning quyidagi xossalari kelib chiqadi:

1. Diskretlilik – ya’ni aniqlanayotgan jarayonni qadamba-qadam ko’rinishi. 2. Ommaviylik – algoritm o’xshash masalalar turkumini yechishi kerak. 3. Tushunarlilik – algoritmda beriladigan ko’rsatmalar foydalanuvchiga tushunarli

bo’lib, uning talablariga javob berishi kerak. 4. Aniqlilik – algoritmda ma’lum tartibda amallarni bajarish nazarda tutilishi kerak va

bajaruvchiga joriy qadam tugatilishi bilan qaysi qadam keyingi bo’lib bajarilishi aniq ko’rsatilishi kerak.

Algoritmlar rasmiy ravishda bajariladi, bu degani bajaruvchi bajarilayotgan amallarni mazmunini anglash shart emas. Algoritm tuzish jarayoniga algoritmlashtirish deyiladi. Algoritm tuzish jarayonida nazariy va amaliy nuqtai nazardan algoritmlash, dasturlash va EHM larni qo’llash bilan bog’liq bo’lgan bilimlar kerak. Asosiy maqsad bu masalani qo’yish, masalaning yechish algoritmini tuzish, algoritmi mashina dasturi ko’rinishida amalga oshirish va algoritmni samaradorligini ko’rsatish muammolarini o’rganish. Bu jarayonlar algoritmni to’liq yaratish tushunchasiga olib keladi va quyidagi bosqichlarni belgilaydi:

1. Masalaning qo’yilishi. 2. Modelni yaratish. 3. Algoritmni ishlab chiqish. 4. Algoritm to’g’riligini tekshirish. 5. Algoritmni amalga oshirish. 6. Algoritmni va ularning murakkabligini tahlil qilish. 7. Dasturni tekshirish. 8. Hujjatlashtirish.

Masala qo’yilishi Masalani yechishdan oldin, uni berilishini aniq shakllantirib olish zarur. Bu jarayon to’g’ri savollarni aniqlash bo’lib, savollar quyidagicha bo’lishi mumkin: 1.1. Dastlabki berilgan masala shartlarida hamma iboralar tushunarlimi? 1.2. Nima berilgan? 1.3. Nimani topish kerak?

Page 25: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

25

1.4. Yechimni qanday ta’riflash kerak? 1.5. Qaysi berilganlar yetarli emas va hammasi kerakmi? 1.6. Qanaqa mumkinliklar qabul qilingan? Albatta, bulardan tashqari boshqa savollarni ham ishlatish mumkin, yoki ayrim savollarni bir necha bor takror ishlatishga to’g’ri keladi.

Modelni yaratish

Akademik A. N. Tixonov fikri bo’yicha matematik modellashtirish dunyoni bilish va o’rganishda kuchli qurollardan (vositalardan) biridir. Uning ta’rifi bo’yicha matematik model tashqi dunyoning xodisalar turkumini matematik belgilar yordamida taxminiy tavsifi. Xodisani tavsiflash uchun uning muhim xususiyatlarini, qonuniyliklarini, ichki aloqalarini, ayrim xossalarning ahamiyatini aniqlash zarur. Eng muhim faktorlari aniqlanganda, ahamiyatlari kamroq bo’lganlarini hisobdan chiqarish mumkin. Umuman, modelni tanlash fandan ko’ra, ko’proq san’at ishi deb hisoblanadi, yahshi tuzilgan modellarni o’rganish esa – modellashtirishda tajriba orttirishning eng yahshi usuli. Modelni yaratishda quyidagi savollarni aniqlash maqsadga muvofiq: 2.1. Masalani yechish uchun qaysi matematik struktura ko’proq mos keladi? 2.2. O’xshash masalaning yechimi bormi? 2.3. Masalaning barcha muhim ma’lumotlari matematik ob’yektlar orqali tavsiflanadimi? 2.4. Izlanayotgan natija biron bir matematik o’lchamga mos keladimi? 2.5. Modelning ob’yektlari orasidagi bog’lanishlar aniqlanganmi? 2.6. Tuzilgan model bilan ishlash qulaymi?

Algoritmni ishlab chiqish

Algoritmlashtirish jarayoni uslublari bo’yicha matematik modellarni tuzish jarayoniga juda yaqin. Har bir algoritmni ishlab chiqish bevosita o’ziga xos yondashishni talab qilishiga qaramasdan, bu faoliyatni umumiy uslub va bosqichlari ham mavjud. Ba’zan dasturlarni tezroq yozib boshlashga hohish paydo bo’ladi. Lekin bu xatoli, chunki aynan algoritmni ishlab chiqish bosqichiga va uning to’g’riligiga masalaning to’liq yechimi bog’liqdir.Algoritmlarni tuzish turli xil uslublari mavjud.

Algoritmni to’g’riligini tekshirish Dastur to’g’riligini isbotlashning eng keng tarqalgan turi – bu uni testlardan o’tkazishdir. Algoritmni tekshirishda nazoratchi boshlang’ich ma’lumotlarni majmui algoritmik test deb nomlanadi. To’g’ri deb shunday algoritmga aytiladiki, u masalaning qo’yilishida talab qilinadigan natijani har qanday ruxsat etilgan boshlang’ich ma’lumotlar bilan ham shakllantirib biladi. Odatda, dastur bergan natijalar ma’lum bo’lgan yoki qo’lda hisoblangan ma’lumotlar bilan taqqoslanadi, va ular to’g’riligi aniqlansa dastur to’g’ri ishlaydi degan hulosaga kelish mumkin. Ammo bu usul bilan foydalanuvchini hamma shubhalardan xalos qilib bo’lmaydi, ya’ni dastur ishlamaydigan hamma holatlarni hisobga olib bo’lmaydi.

Page 26: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

26

Gudman va Xidetniyemi [2] lar tomonidan algoritm to’g’riligini isbotlash uchun quyidagi uslubiyat taklif qilingan. Algoritm 0 dan m gacha bo’lgan qadamlar ketma-ketligi ko’rinishida tavsiflangan deb tahmin qilaylik. Har bir qadam uchun qandaydir asoslanishni taklif etamiz. Xususan, qadamdan oldin va keyin ishlaydigan shartlar haqida lemma kerak bo’lishi mumkin. Shu bilan birgalikda, algoritm chekliligining isbotini ham taklif etamiz, va hamma ruxsat etilgan kiritish ma’lumotlarini tekshirib, hamma mumkin bo’lgan chiqarish ma’lumotlarni olamiz. Algoritmni to’g’riligi bilan samaradorligi o’rtasida hech qanday aloqa yo’qligini ta’kidlab o’tamiz. Aslida hamma talablarga bir xil yahshi javob beradigan algoritm kamdan-kam ishlab chiqiladi.

Algoritmni amalga oshirish

Algoritmni amalga oshirish deganda, EHM uchun dasturni yozish deb tushuniladi. Buning uchun quyidagi savollarga javob berish kerak:

5.1. Asosiy o’zgaruvchilarni aniqlash. 5.2. O’zgaruvchilarning turlarini aniqlash. 5.3. Nechta massiv yoki fayllar va qanday kattalikda ular kerak bo’ladi? 5.4. Bog’lanilgan ro’yhatlardan foydalanish ma’nolimi? 5.5. Qanday dasturiy qismlar kerak bo’lishi mumkin (tayyor bo’lsa ham)? 5.6. Qaysi dasturlash tilini tanlash?

Dastur yozish yoki tuzishning hilma-hil usillari va uslublari mavjud.

Algoritmni va uning murakkabligini tahlil qilish

Algoritmni tahlil qilishdan maqsad – algoritmga ma’lumotlarni aniq muvaffaqiyatli qayta ishlash uchun kerak bo’ladigan xotira hajmi va ishlash vaqtining baholari va chegaralarini olish. Bir masalani yechadigan ikki algoritmni taqqoslash uchun qandaydirsonli mezon topish kerak. Faraz qilaylik, A – qandaydir bir turkumdagi masalalarni yechadigan algoritm, n – esa shu turkumdagi alohida bir masalaning kattaligi. Umumiy holda, n – oddiy skalyar yoki massiv yoki kiritiladigan ketma – ketlikning uzunligi bo’lishi mumkin. )(nf A - n kattalikdagi ixtiyoriy masalani yechadigan algoritm A bajarish kerak bo’lgan asosiy amallarni (qo’shish, ayirish, taqqoslash,…) yuqori chegarasini beradigan ishchi funksiya. Algoritmningsifatini baholash uchun quyidagi mezonni ishlatamiz. Agar )(nf A o’sish tartibi n dan bog’liq bo’lgan polinomdan katta bo’lmasa, A algoritm polinomial deb aytiladi, aks holda algoritm A eksponensial hisoblanadi. Shular bilan birgalikda tahlil jarayonida ko’p matematik fanlarda standart bo’lgan iboralar ishlatiladi. )(nf A funksiya O[g(n)] deb belgilanadi, va 0

)()(lim

const

ngnf

n bo’lganda, uni tartibi

katta n lar uchun g(n) deb qabul qilinadi. Demak f(n)=O[g(n)].

Page 27: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

27

)(nf A funksiyasi o[z(n)] deb katta n lar uchun belgilanadi, va unda 0)()(lim

nznh

n sharti

bajariladi. Bu begilar “katta O” va “kichik o” deb nomlanadi. Agar f(n)=O[g(n)] bo’lsa, ikkala funksiya ham n bo’lganda bir xil tezlikda o’sadi. Agar f(n)=O[g(n)] bo’lsa,unda g(n), f(n) nisbatan ancha tez o’sadi. Demak, )(nPk - qandaydir n o’zgaruvchidan bog’liq va k darajadagi polinom uchun

)]([)( nPOnf kA yoki )()( noPnf kA bo’lganda algoritm polynomial hisoblanadi, aks holda algoritm eksponensial. Eksponensial algoritm yahshi ishlamaydigan deb hisoblanadi. Agar algoritmlar eksponensial bo’lsa, ular orasida eng samaralisini topish kerak, n kattalikdagi masalani

)2( nO qadamda yechadigan algoritm )!(nO yoki )( nnO qadamda masalani yechadigan algoritmdan afzalroq.

Dasturni tekshirish

Biz dasturni har bir qismini tekshiradigan kirituvchi ma’lumotlar to’plamini tanlashimiz kerak. Ko’p murakkab algoritmlarni matematik tomondan tadqiq qilish yoki juda qiyin yoki mumkin emas. Bunday holatlarda algoritmni faoliyat jarayonida va qiyinligi bo’yicha tekshiradi. Bundan tashqari dasturlarni hisoblash imkoniyatlarini aniqlash uchun ham testlash maqsadga muvofiq. Ko’p dasturlar qandaydir kiritiladigan ma’lumotlar bilan yahshi ishlasa, boshqalari bilan yomon ishlaydi. “Yahshi” lardan “yomon” larga o’tish “mayin” bo’lish kerak. Testlash uchun ma’lumotlar dasturning qiyinligiga, mavjud vaqt resurslariga, kiritish-chiqarishsoniga bog’liq holda tanlanadi. Bu yerda analitik va eksperimental tahlil bir-birini to’ldiradi.

Hujjatlashtirish

O’zingiz yozmagan dastur kodini o’qish juda qiyin. Bu muammoni hujjatlashtirish yordamida yechsa bo’ladi. Hujjatlashtirish o’z ichiga hamma yordamchi ma’lumotlarni oladi va dasturda nima bajarilishini tushuntirib beradi, xususan, blok-sxemalardagi boshqarishni uzatish, berilganlarni kiritish-chiqarish shaklini batafsil tavsif qilish, siklning parametrlari, yordamchi local va global proseduralarni bajarilishi va boshqalar. Hujjatlashtirishning eng asosiy qoidasi bu “boshqalar yozgan dasturlarni qanday ko’rishni istasangiz, o’zingiz ham dasturni shunday ko’rinishda rasmiylashtiring”.

Takrorlash ucun savollar

1. Algoritmning qaysi ta’riflarinin bilasiz? 2. Algoritmni to’liq yaratish bosqichlarini aytib o’ting 3. Masalani qo’yishda va modelni yaratishdagi savollarni qanday aniqlash kerak? 5. Algoritmni va ularning murakkabligini tahlil qilishda nimalarga e’tibor berish kerak?

Page 28: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

28

4 - MAVZU: ALGORITMLARNI TAVSIFLASH TILI HAQIDA KELISHUV

Reja 1. Algoritmning umumiy ko’rinish 2. Tarmoqlanuvchi yoki shartli buyruqlar 3. Tanlash buyruqlari. 4. Takrorlash buyruqlari.

Algoritmlarni tavsiflash usullari haqida aytadigan bo’lsak, ular so’zlar bilan, jadvallar bilan, grafik yoki blok-sxemalar va maxsus sun’iy tilda berilishi mumkin. So’zli tavsiflashda tabiiy til va matematik belgilar elementlari ishlatiladi. Jadvalli berilishida algoritm jadvallar va hisoblash formulalari shaklida ko’rsatiladi. Grafikli, blok-sxemali va graflar yordamida berilishda algoritm geometrik figuralar va bloklar yordamida tavsiflanadi. Algoritmik til – bu algoritmlar va ular bajarilishini bir qolirda va aniq yozish uchun belgilar va qoidalar tizimi. Algoritmik til so’zlarni tuzishga xizmat qiladigan o’z lug’atiga ega bo’ladi. So’zlar algoritmni buyruqlarini yozish uchun ishlatiladi. Bundan tashqari tilning xizmat so’zlari ham bo’ladi, ularning berilishi va ma’nosi aniq belgilangan. So’zli algoritmik tillarga misol bo’lib “Informatika” kursidagi maktab algoritm tili xizmat qilishi mumkin. Bu til yordamida ixtiyoriy algoritmni o’qishva tahlilga qulay ko’rinishda, hamda unga qandaydir qo’shimcha buyruqlar va konstruksiyalar kiritish imkoni bilan yozish mumkin. Algoritmning umumiy ko’rinishi va shu tilning asosiy buyruqlari. 1. Algoritmning umumiy ko’rinishi: Alg nomi (argumentlar va natijalar ruyhati). Arg ruyhat. Nat ruyhat. Bosh Buyruqlar ruyhati. Tamom. 2. Tarmoqlanuvchi yoki shartli buyruqlar. Agar shart. Unda ruyhat 1. Aks holda ruyhat 2. Tamom. 3. Tanlash buyruqlari. Tanlash Shart 1: ruyhat 1. Shart 2: ruyhat 2.

………………… Shart N: ruyhat N. Tamom. 4. Takrorlash buyruqlari. 1. toki shart. Sikl bosh. ruyhat. Sikl tug.

Page 29: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

29

2. Takror ruyhat to shart . 3. i=n dan m gacha sikl bosh ruyhat sikl tug. Bu tilda yozilgan algoritmlarni yuqori darajali dasturlash tiliga bevosita o’tkazish oson. Algoritmni tuzishda va tahlil qilishda bu yerda faqatgina qabul qilingan algoritmik tildagi konstruksiyaga mos buyruqlarni bajarish uchun kerak bo’ladigan vaqt va xotira muhim.

Takrorlash ucun savollar 1. Algoritmni tavsiflash uchun qaysi tillardan foydalansa bo’ladi? 2. Asosiy konstruksiyalarni blok-sxema yordamida ifodalang. 3. Asosiy konstruksiyalarni Paskal dasturlash tilida ifodalang. 4. Asosiy konstruksiyalarni C++ tilida ifodalang.

5 - MAVZU: ALGORITMLAR VA ULARNING QIYINLIGI

Reja 1. Algoritmni baholash mezonlari. 2. Algoritmni vaqt qiyinligi bo’yicha optimallashtirish. 3. Algoritmni hajmiy qiyinligi bo’yicha optimallashtirish.

Algoritmlarni baholash uchun ko’pgina mezonlar mavjud. Odatda kirituvchi berilganlarni ko’payishida masalani yechish uchun kerak bo’ladigan vaqt va xotira hajmlarini o’sish tartibini aniqlash muammosi qo’yiladi. Har bir aniq masala bilan kiritiladigan berilganlarni miqdorini aniqlovchi qandaydir sonni bog’lash zarur. Bunday son masalaning kattaligi deb qabul qilinadi. Masalan, ikkita matritsani ko’paytirish masalasining o’lchami bo’lib, matritsalar kattaligiga xizmat qilishi mumkin. Graflar haqidagi masalada o’lcham sifatida graf shohlarining soni bo’lishi mumkin.

Algoritm sarflanayotgan vaqt masalaning o’lchami funksiyasi sifatida algoritmni vaqt bo’yicha qiyinligi deb nomlanadi. Bunday funksiyaga masalaning kattaligi oshganda limit ostidagi o’zgarish asimptotik qiyinlik deb aytiladi.

Shunga o’xshab, hajmiy qiyinlik va asimptotik hajmiy qiyinlikni aniqlash mumkin. Aynan algoritmning asimptotik qiyinligi natijada shu algoritm yordamida

yechiladigan masalarni kattaligini aniqlaydi. Agar algoritm n kattalikdagi kirishlarni 2nС vaqtda qayta ishlasa (c-const), unda algoritmning vaqt bo’yicha qiyinligi )( 2nO teng deb hisoblanadi, va n tartibda deb aytiladi.

Hisoblash mashinalar tezligi oshishiga qaramasdan, ular yordamida yechilayotgan masalalar kattaligini oshishini algoritm qiyinligini tahlil orqali aniqlaydi.

Faraz qilaylik, A1,A2,…,A5 nomli 5 ta algoritm quyidagi vaqtli qiyinliklar bilan berilgan.

Page 30: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

30

Algoritm Vaqtli qiyinlik

A1 N

A2 nN 2log

A3 2N

A4 3N

A5 n2

Bu yerda vaqtli qiyinlik – bu n kattalikdagi kirishlarni qayta ishlash uchun kerak

bo’ladigan vaqt birliklar soni. Masalan, vaqt birligini 1 millisekund deb qabul qilaylik. Bunda A1 algoritm bir sekundda 1000 kattalikdagi kirishni qayta ishlash mumkin,

A5 algoritmi esa kirish kattalikdagina 9 dan oshirib bilmaydi. Keyingi jadval 1 sekundda, 1 minutda, 1 soatda 5 ta algoritmlarni har birining

yordamida yechiladigan masalaning kattaligi keltirilgan.

Algoritm Vaqtli qiyinlik Masalaning maksimal o’lchami

1 sek 1 min 1 soat

A1 N 1000 60*100 610*6,3

A2 nN 2log 140 4893 410*2

A3

2N 31 244 1897

A4 3N 10 39 153

A5 n2 9 15 21

Faraz qilaylik, keyingi avlod hisoblash mashinalari birinchi jadvalga nisbatano’n

barobar tezligi oshadi. Keyingi jadvalda shunday oshishga nisbatan yechiladigan masalalar kattaligining oshishi ko’rsatilgan.

Page 31: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

31

Bu yerda A5 algoritm uchun tezlikni 10 barobar oshishi masalaning kattaligining

uchga oshishiga olib keladi. A3 algoritm esa kattalik uch barobardan ziyod oshadi. Endi, tezlik oshishining o’rniga algoritmni kiruvchi berilganlarning hajmini oshishini ko’ramiz. Birinchi jadval bo’yicha taqqoslash asosi sifatida 1 min.ni qabul qilsak, A4 algoritm o’rniga A3 ni qo’llaganimizda, masalaning kattaligi 6 barobar oshadi, A4 algoritmni o’rniga A2 ni qo’llaganda esa 125 barobar oshirilishga erishamiz Agar taqqoslash asosi sifatida 1 soatni qabul qilsak, natijalar yanada ham muhimlashadi.

Algoritm va uning qiyinligini batafsilroq muhokama qilish uchun biz algoritmni amalga oshirish uchun qo’llaniladigan hisoblash qurilmalarning modelini va hisoblashning elementar qadamini aniqlashimiz zarur. Afsus-ki, sharoitlarga mos keladigan modelni o’zi yo’q. Eng katta qiyinchilikni mashina so’zlarining kattaliklari tug’diradi. Masalan, agar mashina so’zi ixtiyoriy uzunlikda butun son shaklini qabul qilsa, unda butun masalaning kodi mashina so’zi ko’rinishdagi bir son bo’lishi mumkin. Lekin mashina so’zining uzunligi cheklangan bo’lsa, unda masalaning kattaligi kamroq bo’lganda muammolar yechilsa ham, oddiy katta sonlarni xotiralashda qiyinchiliklar tug’ilishi mumkin.

Takrorlash ucun savollar

1. Algoritmni baholash mezonlari nima bilan farqlanadi? 2. Algoritmni vaqt qiyinligini qanday hisoblash kerak? 3. Algoritmni qaysi mezon bo’yicha optimallashtirish samarali?

Algoritm Vaqtli qiyinlik Masalaning maksimal kattaligi

1 sek 1 min 1 soat

A1 N 1s 110 s 10 A2 nN 2log 2s 210 s 10 A3 2N 3s 316,3 s 3 A4 3N 4s 415,2 s 2 A5 n2 5s 3,35 s 3/10

Page 32: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

32

6 - MAVZU: ALGORITMLARNI ISHLAB CHIQISH USLUBLARI

Reja 1. Algoritmlarni konstruksiyalash 2. Algoritmlarni ekvivalent qayta ishlash. 3. Toraytiruvchi o’zgartirishlar. 4. Formal usulni matematikaga bog’liq bo’lmagan muammoga qo’llash.

Algoritmlarni yaratish ijobiy ish, shuning uchun ixtiyoriy zarur algoritmlarni tuzish imkonini beradigan bir umumiy usul mavjud emas. Lekin algoritmlarni ishlab chiqishni asoslangan oddiy sxemalarini beradigan ko’pgina algoritmlashtirish nazariyalari bor. Bunday sxemalar va yangi algoritmlarni paydo qilishning o’rtasida qattai bog’liqlik kuzatiladi. Tez uchraydigan va ko’p foydalaniladigan usullarni quyidagicha ajratib olish mumkin:

1. Algoritmlarni konstruksiyalash. Bu usulda yangi algoritm mavjud algoritmlardan tarkibiy qismlar sifatida foydalanib, bir-biriga moslab bir butunlik hosil qilish yo’li bilan ishlab chiqiladi.

2. Algoritmlarni ekvivalent qayta ishlash. Ikki algoritm ekvivalent hisoblanishi uchun quyidagi shartlar bajarilish kerak:

- Bittasi uchun mumkin bo’lgan dastlabki berilganlar varianti, ikkinchisi uchun ham mumkin bo’lishi kerak.

- Bir algoritmni qandaydir dastlabki ma’lumotga qo’llanilishi, ikkinchi algoritmni ham shu berilganga qo’llanilishiga kafolat beradi.

- Bir xil dastlabki berilgan ma’lumot uchun ikkala algoritm ham bir xil natija berishi. Lekin bu algoritmni ikki xil shakllarini ekvivalent deb nomlash noto’g’ridir.

Shunday qilib, algoritmni ekvivalent qayta ishlash deb, natijada dastlabki algoritmga ekvivalent algoritmni paydo qiladigan o’zgartirilishlarga aytiladi. Misol tariqasida, algoritmni bir tildan boshqa tilga o’tkazishni keltirish mumkin. Shu bilan birgalikda algoritmni ekvivalent qayta ishlash usuli bilan keskin o’zgartirish mumkin, lekin bu holda asosiy e’tiborni dastlabki algoritmga nisbatan yahshi algoritmni yaratishga berish kerak. 3, Toraytiruvchi o’zgartirishlar. Bunday o’zgartirishlar natijasida dastlabki algoritmlar yechish kerak bo’lgan masalalarning xususiy holati yechimi algoritmlari ishlab chiqiladi. Odatda, bu usulda ekvivalent qayta ishlash jarayonida algoritmni ixchamlashtirish maqsaddida foydalaniladi. 4. Formal usulni matematikaga bog’liq bo’lmagan muammoga qo’llash. Buyerda matematik muammo matematik ko’rinishga o’tkazilib, uning algoritmini ishlab chiqishga uriniladi. Agar o’xshash matematik masala yechimining algoritmi ma’lum bo’lsa, undan foydalaniladi.

Takrorlash ucun savollar

1. Har bir usul bo’yicha algoritm tuzishga misol ko’rsating. 2. Algoritmni ishlab chiqish uchun yana qanday usullarni bilasiz?

Page 33: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

33

7 - MAVZU: MAKSIMUMNI TOPISH MASALASI

Reja 1. Masalaning qo’yilishi. 2. So’zli algoritmni ishlab chiqish 3. Algoritmni tahlil qilish

Yuqorida orttirilgan bilimlar yordamida bir tipik masalani yechamiz:

Masalaning qo’yilishi.

nxxx ,...,, 21 berilgan elementlar bo’yicha m va j larni shunday topingki,

jk xnkxm }1{max bo’lsin. Bu yerda j mumkin bo’lgancha maksimal bo’lsin. So’zli algoritm

1. Boshlanish.

2. j:=n; k:=n-1; m:=xn;

3. agar k::=0 unda 7 o’ting.

4. agar xk<=m unda 6 o’ting.

5. j:=k; m:=xk;

6. k:=k-1; 3 o’ting;

7. tamom.

Algoritm sodda va analizga muhtoj emas deb hisoblanadi. Lekin shu misolda murakkab algoritmn qanday tahlil qilish kerakligini ko’rsatish mumkin. Algoritm tahlili dasturlash uchun juda muhim.

Biz faqatgina bu algoritmni bajarish uchun kerak bo’ladigan vaqtni tahlil qilamiz.Buning uchun har bir qadam necha marta bajarilishini hisoblaymiz:

Qadam raqami Necha marta bajarilishi

2 1 3 n 4 n-1 5 A 6 n-1

Har bir qadam necha marta bajarilishini bilgan holda, kompyuterga masalani

bajarish uchun qancha vaqt kerakligini hisoblab chiqish mumkin.

Page 34: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

34

Jadvalda A dan tashqari hamma qiymatlar ma’lum, A – bu joriy maksimum qiymatini necha marta o’zgartirish kerakligini ko’rsatkichi. Taxlilimiz to’liq bo’lishi uchun A ni ko’rib chiqamiz.

Tahlilning maqsadi A uchun min va max qiymatlarni topish. 1) Min A = 0,

bu holat }1{max nkxx kn

bo’lganda kuzatiladi.

2) Max A=n-1;

bu qiymatga

nxxx ...21 holatida erishiladi. Shunday qilib A ning tahlili 0 va n-1 larning o’rta arifmetik qiymati va o’rta kvadratini chetlanishini va usullari yordamida topish masalasiga olib keladi.

Takrorlash ucun savollar

1. Masala quyilishida qaysi o’zgaruvchilar aniqlandi? 2. Algoritmda qanday konstruksiyalar qatnashgan? 3. Aniqlangan noma’lum qiymat nechanchi qadamda bajariladi? 4. Algoritm tahlilini yakunga yetkazish ucun qanday usullarni qo’llash kerak?

8 - MAVZU: EVKLID ALGORITMI

Reja 1. Masala qo’yilishi. 2. Algoritmni tuzish 3. Algoritm tahlili 4. Algoritm optimallashtirish 5. Algoritmni amalga oshirish

Masala qo’yilishi

Ikkita butun musbat m va n sonlar berilgan. Ularning umumiy bo’luvchisini topish

talab qilinadi. Ya’ni, eng katta butun musbat son topish kerakki, unga m va n ni bo’lganda butun son chiqsin.

Page 35: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

35

Algoritmni tuzish 1. Boshlash; 2. m ni n ga bo’lamiz, qoldiq r ga teng bo’lsin; 3. Agar r=0 unda n-natija; 5 o’ting; 4. m:=n; n:=r; 2 o’ting; 5. tamom.

Algoritm tahlili

Shu algoritmni tadqiq qilib ko’raylik. m=119, n=544 deb qabul qilaylik. Ikkinchi qadamdan boshlaymiz. Algoritmga binoan bo’lish natijasini nolga teng deb hisoblaymiz va r ga 119 ni ta’minlaymiz, keyin 3-qadamga o’tamiz. R nolga teng bo’lmaganligi uchun, hech nima qilmaymiz va 4-qadamga o’tamiz. Bu yerda m ga 544 ni, n ga 119 ni ta’minlaymiz. Umuman, ravshan bo’ldiki, m<n bo’lsa, 2-qadamda m va n larga nisbatan hech qanday amallar bajarilmaydi, algoritm esa m va n o’zgaruvchilar qiymatlari o’rin almashishiga olib keladi.

Algoritm optimallashtirish Algoritmni optimallashtirish uchun unga quyidagi qadamni qo’shamiz:

1.1. agar m<n t:=n; n:=m; m:=t; Endi 2-qadamga kelsak, 544:119=4,68/119. r ga 68 ni ta’minlaymiz. 3-qadam ishlamaydi. 4-qadamda n=68, m=544, r=68. Keyingi sikllarda (r=51, m=68, n=51), keyin (r=17, m=51, n=17) va 51/17, ya’ni r=0. Shunday qilib, algoritm sikli 3- qadamda tugadi va 544 va 119 larning umumiy bo’luvchisi 17 ga teng bo’ldi. Bu algoritm umumiy bo’luvchini topish uchun yagona emas. Bunday algoritmni topish uchun Dj. Steynning binar algoritmi, yoki V, xorrisning algoritmidan foydalaniladi.

Algoritmni amalga oshirish Shu algoritmni kompyuterda amalga oshirish uchun quyidagi Paskal dasturini keltirish mumkin: Program evklid; Var a, b, nod, r, x, y: integer; Begin read (a, b); if a>b then begin x:=a; y:=b; end; else begin x:=b; b:=a; end; if (x>0) and (y>=0) then begin while y<>0 do begin r:=x mod y; x:=y; y:=r; end; Nod:=x; write (nod); end; else write (‘berilganlarda xato’); end.

Takrorlash ucun savollar 1. Masala qo’yilishidagi o’zgaruvchilarni aniqlang. 2. Algoritm optimallashtirish uchun qanday qadam qo’shildi? 3. Algoritm qaysi dasturlash tilida amalga oshirildi?

Page 36: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

36

8 MAVZU: TASVIRLARNI TANISH MASALASI

Reja 1. Masala qo’yilishi. 2. Algoritmni tuzish 3. Algoritm tahlili 4. Algoritm optimallashtirish

Masala qo’yilishi

Etalon bilan taqqoslash muammosining bir o’lchamli holatida tasvirlarni tanish masalalaridan quyidagisini ko’ramiz. Kirish ma’lumoti sifatida n ta haqiqiy sonlardan iborat X vektor berilgan. Chiqishda shu vektorning barcha uzluksiz qism vektorlari orasida maksimal elementlar yig’indini hosil qilish kerak. Masalan, kirish vektori

31 -41 59 26 -53 58 97 -93 -23 84

3 7

bo’lsa, unda chiqishda X[3..7] vektorning 187 qiymatli yig’indisini hosil qilamiz. Bu yerda, agar kirish vektorida hamma sonlar musbat bo’lsa, masala osonlashadi; maksimal qism-vektor sifatida kirish vektorning o’zi xizmat qiladi. Agar X vektorda manfiy sonlar ham bo’lsa, masala qiyinlashadi.

Algoritmni tuzish

Masalani yechish uchun, barcha elementlari manfiy bo’lgan vektorda maksimal yig’indiga ega bo’lgan vektor-qismni bo’sh vektor, ya’ni elementlar yig’indisi nolga teng bo’lgan vektorni qabul qilish shartini kiritamiz. Eng oddiy variantda algoritm NUL 1 shartini qanoatlantiruvchi barcha L va U butun sonlar juftliklari bo’yich X[L..U] vektorlari elementlari yig’indilarini hisoblab chiqadi va har qadamda topilgan yig’indi shungacha topilgan yig’indidan kattaligi tekshiriladi. Psevdotilda dastur quyidagicha bo’ladi: Maxsum:=0,0; For L:=1 to N do For U:=L to N do Begin Sum:=0,0; For i:=L to U do Sum:=Sum+x[i]; Maxsum:=max(maxsum, sum); End.

Page 37: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

37

Algoritm tahlili

Dasturning jiddiy kamchiligi – sekin ishlashi. 1990 yildagi o’rta tezlikka ega bo’lgan kompyuterlarda (286) N=1000 bo’lganda 1 soat, N=10000 bo’lganda 39 soat vaqtda bajarilgan. Bunday tezlikdagi dasturni qo’llab bo’lmaydi. Algoritm samaradorligini intuntiv baholab ko’raylik. O-yozuvdan foydalanamiz. Eng tashqi siklning operatorlari aniq N marta bajariladi, o’rta siklning operatorlari tashqi siklning har bir qadami bo’yicha bajarilishi N dan oshmaydi. Demak, o’rta siklda bajarilayotgan 4 ta satr )( 2NO marta qiyinlik bilan baholanadi. Shu 4 ta satrlarda joylashgan sikl bajarilish soni ham N dan oshmaydi va O(N) bilan baholanadi. Baholarni ko’paytirish natijasida algoritmni umumiy bahosi 3N proporsionalligini aniqlaymiz. “O-yozuv” usulning kamchiligi shundaki – konkret berilganlar uchun dastur bajarilishiga aniq sarflanayotgan vaqtni hisoblab bilmaymiz, faqatgina qadamlar bajarilish soni )( 3NO bo’lganini bildik. Lekin bu usul bilan tahlil qilish qulay, va berilgan amaliy masala uchun dasturni samaradorligini aniqlaydigan dastlabki hisoblashlar uchun algoritmning isahlash vaqtini assimptotik bahosini beradi. Shu tahlil yordamida quyidagi algoritm yuqoridagi masalani )( 2NO qadamlar bilan yechimini ko’rsatamiz.

Algoritm optimallashtirish

Bu algoritmda X[L..U] vektorning elementlar yig’indisi birinchi algoritmdagidek (U-L+1) qadamda emas, balki aniq sonli qadamlar bilan topiladi. Yig’indini tez hisoblanishi X[L..U] vektorning elementlar yig’indisi, X[L..U-1] vektorning yig’indisiga bog’liqligiga asoslangan. Algoritm ko’rinishi quyidagicha: Maxsum:=0,0; For L:=1 to N do Begin sum:=0,0; For U:=L to N do sum:=sum+x[U]; Maxsum:=max(maxsum, sum); End. Birinchi siklning ichidagi operatorlar N marta, ikkinchi siklning ichidagi tashqi siklning har bir qadami uchun N martadan ko’p bo’lmagan qadamlar bilan bajariladi. Demak, algoritm ishlashining umumiy vaqti )( 2NO . Shunday qilib algoritm ishlash vaqti samaradorligi bo’yicha yahshilandi.

Takrorlash ucun savollar

1. Masala qo’yilishidagi o’zgaruvchilarni aniqlang. 2. Algoritm optimallashtirish uchun qanday qadam qo’shildi? 3. Algoritm qaysi dasturlash tilida amalga oshirildi?

Page 38: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

38

10 - MAVZU: KOMMIVOYAJER MASALASI

Reja 1. Masala qo’yilishi. 2.Evristik algoritmlar. 3. GTS algoritmini tuzish 4. Algoritmni baholash

Masala qo’yilishi. Djek – kompyuterlar sotish bo’yicha agent (kommivoyajer), uning qaramog’ida 20 ta shahar bor. ishlayotgan kompaniya yo’l harajatlarining 50% ni to’laydi. Djek uning qaramog’ida bo’lgan har ikki shahar orasida yo’l harajatini hisoblab chiqqan. Masala yo’l harajatlarini kamaytirishdan iborat. Dastlabki ma’lumotlar Djek tasarrufidagi shaharlar ruyhati va narxlar matrisasi ko’rinishida berilgan. Bu yerda matrisa i shahardan j shaharga borish narxiga teng bo’lgan c(i,j) elementlardan tashkil topgan ikki o’lchamli massiv. Shaharlar soni 20 ta bo’lsa, matrisa - 2020 bo’ladi. Biz Djekga yo’l harajatlarini kamaytirishga yordam berishimiz kerak. Djekning marshruti o’zi yashagan shahardan boshlanib, qolgan hamma shaharlarni bir martadan o’tib, yana o’z shahriga qaytib kelishi kerak. Demak, biz tuzayotgan ruyhatda har bir shahar faqat bir marta uchrashi kerak, Lekin Djek yashagan shahar ikki marta uchrab, ruyhatning birinchi va oxirgi elementlari bo’ladi. Undan tashqari, ruyhatdagi shaharlar tartibi Djekning marshrutini belgilaydi. Ruyhatdagi ikkita oxirgi shaharlar orasidagi yo’l narxi – bu butun marshrut narxi deb hisoblanadi. Demak, agar biz Djekga eng kichik narxdagi ruyhatni tuzib bersak, masalani yechgan bo’lamiz. Evristik algoritmlar. Evristika yoki evristik algoritm – algoritm deb ta’riflanishi uchun quyidagi hususiyatlarga ega bo’lishi kerak:

1. U odatda shartli ravishda optimal bo’lmasa ham, yahshi yechimlarni topish kerak. 2. Uni ixtiyoriy ma’lum aniq algoritmdan ko’ra, amalga oshirish tezroq va soddaroq

bo’lishi kerak. Odatda yahshi algoritmlar evristik bo’lib chiqadi. Faraz qilaylik, biz tez ishlaydigan va barcha test topshiriqlariga javob beradigan algoritmni tuzdik, lekin uning to’g’riligini isbotlab bilmaymiz. Shunday isbot berilmaguncha, algoritm evristik deb tushuniladi. Misol tariqasida quyidagi algoritmni ko’rib chiqamiz: GTS algoritmi: (kommivoyajer). N ta shaharlar va C narxlar matrisasi berilgan kommivoyajer masalasi uchun U shahardan boshlab COST narxli TOUR yaqinlashgan yechimni topish kerak. Qadam 0: [Insiallashtirish] TOUR:=0; COST:=0; V:=U; Qadam 1: [Hama shaharlarni o’tish] For k:=1 to N-1 do qadam 2; Qadam 2: [Keyingi vektorga o’tish] Faraz qilaylik, (V,W) – V shahardan W ga olib borayotgan eng kichik narxli vektor. Unda: TOUR:=TOUR+(V,W); COST:=COST+C(V,W); V:=W; Qadam 3: [Marshrutni tugatish] TOUR:=TOUR+(V,1);

Page 39: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

39

COST:=COST+C(V,1); Marshrutni tasvirlash uchun biz matematikada graf yoki tur deb nomlanayotgan chizmadan foydalanamiz. Umuman tur – bu nuqtalar va bir nechta yoki barcha ikki nuqtalarni bog’layotgan chiziqlar to’plami, undan tashqari chiziqlar ustida qiymatlar ham berilishi mumkin. Masalani soddalashtirish uchun beshta shahar uchun yechim topamiz. Rasm. 1a – narxlar matrisasi. Rasm. 1b – turli model ko’rsatilgan.

- 1 2 7 5 1 - 4 4 3 2 4 - 1 2 7 4 1 - 3 5 3 2 3 -

Rasm 1-a). Narxlar matrisasi

Rasm 1-b). To’rsimon model Turlar nazariyasida shaharlar ruyhati bir shahardan boshlab va o’sha shaharga barcha qolgan shaharlarni bir martadan o’tib qaytib kelish jarayonini belgilaydi. Bunday o’tishni marshrut deb ta’riflaymiz. Marshrut narxi chiziqlar ustidagi qiymatlar yig’indisi bilan aniqlanadi. Rasm 2 algoritm GTS bo’yicha K marshrutni shahar1 dan boshlab tuzishni aks ettiradi.

1

2 5

4 3

Page 40: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

40

Rasm 2. Algoritm qadamlari GTS algoritmi bo’yicha marshrut narxi 14 ga teng. Bu yerda algoritm eng kichik narxli marshrutni topmaganini ko’ramiz. Masalan, marshrut 1-5-3-4-2-1 narxi 5+2+1+4+1=13. Odatda yaqinlashgan algoritmlar tez bo’lsa ham, hamma vaqt optimal yechimni berolmaydilar. GTS algoritm uchun biz nazoratchi nisol topib bildik. Lekin, yaqinlashgan algoritm ishlamasligini isbotlash hamma vaqt ham oson bo’lmaydi. GTS algoritmi uchun dastur yozish ancha yengil. Lekin uni tezligini tahlil qilib ko’raylik. Ixtiyoriy kommivoyajer masalasi uchun (besh shahardan iborat) C narxlar matrisasini o’qish va tuzishga )( 2NO operatsiya kerak. Demak, pastki murakkablik chegara algoritm uchun )( 2NO teng va GTS algoritmini yahshi evristik algoritm deb qabul qilishimiz mumkin.

Takrorlash ucun savollar

1. Masala qo’yilishidagi o’zgaruvchilarni aniqlang. 2.Evristik algoritmlarni ta’riflab bering. 3. GTS algoritmini tuzishdagi qadamlarni aytib bering. 4. Algoritmni baholash jarayonini tavsiflab bering.

Page 41: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

41

11 - MAVZU: SHOHLAR VA CHEGARALAR USLUBI

Reja 1. Masala qo’yilishi. 2. To’rsimon modellardan foydalanish. 3. Shoxlar bo’yicha baholash. 4. Chegaralar bo’yicha baholash.

Bu usul yechimlar fazosining tursimon modelini ta’qiq qiladigan usullar turiga kiradi va kombinatorika masalalarining keng doirasiga qo’llanilishi mumkin.

Bunday algoritmlar ko’proq optimizatsiyaga yo’naltirilgan va ancha murakkab bo’ladi, lekin kommivoyajer masalasini yechishda juda qulay hisoblanadi.

Masalani tarmoqlanish ko’rinishida tadqiq qilamiz. Quyidagi rasmlarda beshta shahar uchun kommivoyajer assimmetrik masalasining narxlar matrisasi berilgan.

1 2 3 4 5 1 - 25 40 31 27 2 5 - 17 30 25 3 19 15 - 6 1 4 9 50 24 - 6 5 22 8 7 10 -

Rasm 1. Narxlar matrisasi

Rasm 2. To’rsimon model Bundan tashqari rasmda narxlarni ko’rsatish uchun yo’naltirilgan tarmoqdan

foydalanamiz. Bu yerda i shahardan j shaharga borish bahosi, j dan i ga borish bahosiga teng bo’lishi shart emas. Bizning izlash daraxtimizning ildizi barcha mumkin bo’lgan marshrutlar to’plamiga mos bo’ladi, ya’ni besh shahar masalasidagi (4!) marshrutlar to’plamini aks ettiradi. Umuman, ixtiyoriy N shaharni assimmetrik masala

1

2 5

4 3

Page 42: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

42

uchun ildiz barcha {(N-1)!} mumkin bo’lgan marshrutlar R to’plamini akslantiradi. Ildizdan tarqaladigan shohlar bir qirrani, masalan, (i,j) – ni tanlash bilan aniqlanadi. Bu ishdan maqsad – barcha marshrutlar to’plamini ikki to’plamga ajratish: Biri optimallashgan tur, ikkinchisi esa optimallashmagan turlardan iborat bo’ladi. (i,j) tanlangan qirra optimal turga tegishli deb hisoblagan holda, R to’plamni ikkiga bo’lamiz, ya’ni {i,j} va {i,j} to’plamlarga. {i,j} to’plamiga (i,j) qirrasi qatnashgan turlar kiradi, {i,j} to’plamga esa shu qirra qatnashmagan tur.

Faraz qilaylik, biz tarmoqlanishni {i,j}={3,5} qirrasida amalga oshirdik, chunki bu qirraning bahosi matrisada eng kichik. Unda rasmda ildiz va uning birinchi darajasini ko’rsatishimiz mumkin.

Shuni ta’kidlash kerakki, R-ga tegishli har bir tur birinchi darajaning faqatgina bitta to’plamiga kiradi. Agar biz {3,5} to’plamida optimaltur yo’qligini qabul qilsak, {3,5} to’plamini tadqiq qilishga o’tamiz. {3,5} to’plamini ham yuqoridagidek bo’lamiz. Arzonlik bo’yicha (2,1) qirrasi matrisada ikkinchi o’rinda C(2,1)=5. Shuning uchun {3,5} to’plamini Y va Y deb belgilaymiz. Y to’plamga X to’plamda qatnashgan va (i,j) qirrasi mavjud turlar kiradi, Y to’plamga (i,j) qirrasi qatnashmagan X ning qism to’plami.

Yuqorida tadqiq qilingan jarayon tarmoqlanish haqida tasavvur beradi. Endi chegaralar hisoblashni ko’ramiz.

Har bir daraxt uchi bilan shu uch bilan belgilangan to’plamning ixtiyoriy turining pastki narx chegarasini bog’laymiz. Bunday chegaralarni hisoblash – shohlar va chegaralar kabi usullarda tadqiqotlarni yengillashtirish uchun asosiy faktordir. Shuning uchun ularni aniq hisoblashga katta e’tibor berish lozim.

Sababi quyidagicha: Masalan, m baholi konkret bir turni qabul qilaylik. Unda, agar kV uchi bilan belgilangan turlar to’plami bilan bog’liqpastki chegara M>=m bo’lsa, optimal turni izlash jarayoni davomida kV va undan keyingi uchlarni tadqiq qilish kerak bo’lmay qoladi.

Xulosa qilib, shuni aytish mumkin-ki, shoxlar va chegaralar uslubi murakkab bo’lsa-da, kommivoyajer masalasi katta sonli shaharlar va narxlar bilan berilganda, algoritmlar aniq va tez ishlaydi, algoritmlarning murakkabligi esa ekspnensial.

Takrorlash ucun savollar

1. Kommivoyajer masalasida ikki tomonli narxlar matrisasi qaysi holatda tuziladi. 2. To’rsimon modellardan foydalanish. 3. Shoxlar bo’yicha baholashning afzalligini tushuntirib bering. 4. Chegaralar bo’yicha baholash nimadan iborat?

Page 43: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

43

12 - MAVZU: ENG QISQA YO’LLAR. DEYKSTRA ALGORITMI.

Reja 1. Eng qisqa yo’llar masalalarining turlari. 1. Sozli algoritmni tuzish. 3. Algoritmni psevdokodda ishlab chiqish 4. Algoritmni baholash.

Yo’l tarmoqlari atlasi (karta) qismi berilgan bo’lib, undan A va B nuqtalar orasidagi “eng yahshi” marshrutni topish kerak bo’lsin. “Eng yahshi” marshrutni ko’p faktorlar belgilashi mumkin, masalan, tezlik cheklangan holda marshrutni o’tish vaqti, o’tish kerak bo’lgan shaharlar soni va boshqalar.

Biz masalani eng qisqa yo’llar faktori bo’yicha yechamiz. Masalaning modeli turlar yordamida tuziladi. Uzluksiz G turni har bir qirrasiga uning uzunligiga teng qiymat berilgan ko’rinishida tuzamiz. Bunday turda masofa irralar yig’indisiga teng bo’ladi. Masalaning maqsadi ikkita berilgan uchlar orasidagi eng qisqa marshrutni topishdir.

Umuman, eng qisqa yo’llar masalalari kombinator optimallashtirishning fundamental muammolaridandir. Ularning bir necha turlari mavjud, masalan, ikkita berilgan uchlar orasida, berilgan va qolgan barcha uchlar orasida, turdagi har bir uchlar juftliklari orasida va boshqalar.

Deykstra algoritmning so’zli tavsifi Shunday masalalarni yechish uchun Deykstra algoritmi ancha qulay va yahshi deb

topilgan. Algoritm quyidagi qadamlardan iborat:

1. Dastlab, berilgan (Lex) uchidan qolgan barcha uchlargacha bir qirra uzunligidagi masofalar aniqlanadi.

2. Ulardan eng qisqasi “doimiy eng qisqa masofa” sifatida belgilanadi (Lex va BVa uchlari qirrasi).

3. Aniqlangan masofa BVa dan boshqa bor uchlargacha masofalarga qo’shiladi. 4. Hosil bo’lgan yig’indilar dastlab aniqlangan Lex dan qolgan uchlargacha bo’lgan

masofalar bilan taqqoslanadi. Natijada masofasi qisqaroq bo’lgan uchning qirrasi tanlanadi.

5. BVa uchi, eng qisqa masofa aniqlangan uch sifatida, ruyhatdan o’chiriladi. Ruyhatga boshqa uch qo’yiladi, masalan, Roa. Bva o’z navbatida, boshqa, izlanayotgan ruyhatga qo’yiladi.

Keyingi eng qisqa masofani topish uchun butun jarayon qayta bajariladi. BVa dan keyin yana bir uch ruyhatga qo’yiladi. Dastlabkisi esa ruyhatdan o’chiriladi. Sikl Bed va Lex uchlarini bog’lash uchun belgilangan qirralar aniqlanishi bilan to’xtatiladi.

Rasm bo’yicha ikkinchi iteratsiyada Nbr uchi aniqlanadi va Roa gacha masofa 41 deb qabul qilinadi. Uchinchi iteratsiyada Gla uchigacha masofa eng qisqa va 27 deb qabul qilinadi. Quyidagi rasmda eng qisqa yo’llar daraxti ko’rinishida ularning natijaviy to’plami keltirilgan.

Page 44: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

44

Aylanalar ichidagi sonlar algoritm bo’yicha qirralar tanlanish tartibini ko’rsatadilar. Bu daraxt bo’yicha biz Lex uchidan ixtiyoriy bizni qiziqtirayotgan uchgacha eng qisqa yo’lni topishimiz mumkin.

Ko’rilgan misolda Bed uchi Lex dan boshlab eng oxirgi bo’lib chiqdi, ya’ni Lex dan Bed gacha eng qisqa masofani topish uchun biz Lex dan barcha qolgan uchlargacha eng qisqa yo’llarni topishga majbur bo’ldik.

Demak, eng yomon holatda 2 ta berilgan uchlar orasidagi eng qisqa yo’lni topish, bir berilgan nuqtadan qolgan barcha nuqtalargacha eng qisqa yo’l topish masalasi bilan murakkabligi bir xil bo’ladi.

Algoritmni psevdokodda ishlab chiqish 1. Masala qo’yilishi.

M ta uch va N ta qirralardan iborat uzluksiz grafda V0 uchidan W uchigacha Dist(W) masofani topish kerak. Qirralar uzunliklari A matrisa bilan berilgan deb hisoblaymiz. Qadam 0. [uchlarni belgilash] – bu yerda V0 uchini “aniqlangan” deb belgilaymiz, qolgan barcha uchlarini “aniqlanmagan” deb hisoblaymiz. Qadam 1. [o’zgaruvchilarni inetsiallashtirish] – bu yerda Dist(U):=A(V0 ,U) – barcha G ga tegishli U uchlari uchun; Dist(V0):=0; Next:=V0; Qadam 2. [sikl]. While NEXT<>W do Begin Qadam 3. [“aniqlanmagan” uchgacha eng qisqa yo’lni yangilash]. Har bir “aniqlanmagan” U uchi uchun Dist(U):=min(Dist(U):Dist(Next)+A(Next, U)). Qadam 4. [“aniqlanmagan” uchgacha eng qisqa yo’lni tanlash]. Agar U barcha “aniqlanmagan” uchlari orasida Dist(U) masofasi eng kichik bo’lsa, uni “aniqlangan” deb belgilaymiz va NEXT:=U. end. Bu algoritmning va dasturning murakkabligini O(M2) ekanligini ko’rsatish mumkin.

Takrorlash ucun savollar

1. Qaysi mezonlar bo/yicha eng qisqa yo’llar masalalarini yechish mumkin? 2. Deykstra algoritmi nima uchun yaxshi hisoblanadi? 3. Algoritmni psevdokodda tavsiflashning qo’layligini ko’rsating 4. Deykstra algoritmining bahosi qanday?

Page 45: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

45

13 - MAVZU: TARTIBLASH ALGORITMLARI. XOARA USULI.

Reja

1. Tartiblash masalalarining turlari 2. Xoaraning tartiblash algoritmi mazmuni 3. Xoara algoritmini rekursiv usulda amalgam oshirish 4. Algoritmni baholash

Tartiblash masalalarining turlari

Umuman tartiblash deganda berilgan ob’yektlar to’plamini ma’lum tartibda joylash uchun qayta ishlash jarayoni tushuniladi.

Tartiblash natijasida to’plamdagi elementlarni izlash jarayonlari yengillashadi. Undan tashqari tartiblashlar misolida qanday qilib algoritmni murakkablash evaziga samaradorlikni oshirishga erishish mumkinligini ko’rsatsa bo’ladi.

Hozirgi kunda ko’pgina tartiblash algoritmlari mavjud. Algoritmni tanlash qayta ishlanayotgan ma’lumotlar strukturasiga bog’liq va shu sababli tartiblash usullari asosan 2 sinfga ajratiladi. Bular massivlarni tartiblash va fayllarni tartiblash. Ularni yana ichki va tashqi tartiblash ham deb nomlaydilar.Chunki massivlar mashinaning tezkor xotirasida joylashadi. Fayllar esa odatda ancha hajmi katta bo’lgan lekin sekin ishlaydigan tashqi xotiradan olinadilar.

Xoaraning tartiblash algoritmi mazmuni

Eng yahshi tartiblash algoritmlaridan biri deb Ch. Xoara usuli hisoblanadi. Bu usul

almashuvga asoslangan. Bu yerda yahshi samaradorlikka erishish uchun dastlab katta masofadagi ya’ni bir-

biriga eng uzoq joylashgan elementlarni almashtirish qo’llaniladi. Faraz qilaylik bizda n ta element kalitlar bo’yicha qayta tartibda berilgan. Xoara usuli bo’yicha ularni

2n ta

almashuv bilan tartiblash mumkin. Buning uchun dastlab eng chap va eng o’ng tomonda joylashgan elementlarni almashtiramiz. Keyin ikki tomondan o’rtaga qarab kelamiz. Lekin bu faqatgina qayta tartib aniq bo’lganda amalga oshiriladi.

Endi massiv ixtiyoriy tartibda berilgan bo’lsin. Ixtiyoriy X elementni tanlab massivni chapdan o’ngga qandaydir ai>x element uchramaguncha ko’rib chiqamiz. Keyin massivni o’ngdan chapga qandaydir aj<x element uchramaguncha o’tamiz.

ai va aj elementlarni o’rinlarini almashtirib massivni ikki tomondan ko’rib chiqish jarayonini massiv o’rtasiga kelmaguncha davom ettiramiz. Natijada massiv 2 qismga bo’linadi. Chap qismdagi elementlar x dan katta yoki teng bo’ladilar. O’ng tomondagi elementlar x dan kichik yoki teng bo’ladi.

Dastur tuzayotganda bu jarayonni prosedura yordamida amalga oshirish mumkin. Prosedurani rekursiv va norekursiv usullar bilan tuzish mumkin.

Page 46: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

46

Xoara algoritmini rekursiv usulda amalga oshirish

Quyidagi dastur rekursiv prosedurani qo’llaydi. Prosedure Hoare;

Prosedure sort (L, R: index); var i, j: index; w, x: item; begin i:=L; j:=R; x:=a[(L+R) div 2]; repeat while a[i]<x do i:=i+1 end; while a[j]>x do j:=j+1 end; if i<=j then begin w:=a[i]; a[i]:=a[j]; a[j]:=w; i:=i+1; j:=j-1; end; until i>j if L<j then sort (L, j) end; if i<R then sort (i, R) end; end {*sort*}; begin sort (1, n); end {* Hoare*};

Norekursiv dasturni tuzish uchun yordamchi steklardan foydalaniladi.

Algoritmni baholash Xoara algoritmni unumdorligini tahlil qilamiz. Boshlab bo’linish jarayonini

ko’raylik. Qandaydir x ni tanlab biz massivni to’liq o’tamiz. Demak, n ta taqqoslashni amalga oshiramiz. Taqqoslashlarni umumiy soni n*log(n) ekanligi, o’rin almashtirishlar soni esa

6)log(nn ekanligi isbotlangan.

Bizning misolimizda x - o’rtancha element deb tanlangan, lekin Xoara fikri bo’yicha X ixtiyoriy tanlanishi kerak. Xoara algoritmning o’rtacha ishlash vaqti ))ln(*( nnO teng.

Takrorlash ucun savollar

1. Tartiblash masalalarining qaysi turlarini bilasiz? 2. Xoaraning tartiblash algoritmi mazmuni nimada? 3. Xoara algoritmini qanday usullar bilan amalga oshirish mimkin? 4. Xoara algoritm bahosini tavsiflab bering.

Page 47: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

47

14 - MAVZU: MATRISALARNI KO’PAYTIRISH UCHUN SHTRASSEN ALGORITMI

Reja

1. Masala quyilishi. 2. Matrisalarni ko’paytirish uchun lemma. 3. Matrisalarni ko’paytirish uchun teorema. 4. Algoritmni baholash.

Matrisalarni ko’paytirishda assimptotik hisoblash murakkabligini tahlil qilamiz.

Oddiy O(n3) murakkabligiga ega algoritmni assimptotik yahshilash jarayonini o’rganamiz va 2 ta nn matrisalarni ko’paytirishda O(n2,81) vaqt yetarli ekanligini ko’rsatamiz.

Ikkita nn o’lchamli A va B matrisalar berilgan bo’lsin. Bu yerda n - 2 ning

darajasidagi son deb qabul qilinadi. A va B matrisalarni 4 ta 22nn

o’lchamli

matrisalarga bo’lish mumkinligi haqidagi lemmani qo’llab, A va B larni ko’paytmasini quyidagicha tasvirlaymiz.

2221

1211

2221

1211

2221

1211

CCCC

BBBB

AAAA

2222122122212211212122121211122112111111 ,,, BABACBABACBABACBABAC

n

jjkijik baC

1

Bu yerda A11 – yuqori chap kvadrat, A12 – yuqori o’ng kvadrat, A21 – pastki chap kvadrat, A22 – pastki o’ng kvadrat. Shtrassen 2 ta 22 o’lchamli matrisalarni ko’paytirish uchun sun’iy usulni ishlab chiqqan. Bu usulda 7 ta ko’paytirish amalga oshiriladi. Usulni rekursiv qo’llab, 2 ta nn matrisani )( 7lognO vaqtda ko’paytiriladi. 81,27log )( nnO . Lemma. 2 ta 22 o’lchamli matrisalarni ko’paytirishda 18 ta qo’shish va ayirish va 7 ta ko’paytirish amallari bajarilsa yetarli. Isbot. C=a*b ko’paytmasini hisoblashdan oldin quyidagi ko’paytirishlarni amalga oshiramiz.

Page 48: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

48

;)(7);(6);(5

;)(4);)((3);)((2);)((1

112221

112122

221211

221211

12112111

22112211

22212212

baambbambbam

baambbaambbaambbaam

Keyin c(i,j) larni quyidagi formulalar bo’yicha hhisoblaymiz:

c11=m1+m2-m4+m6; c12=m4+m5; c21=m6+m7; c22=m2-m3+m5-m7; Amallar soni oddiy hisoblanadi.

Teorema. Ikkita nn o’lchamli matrisalarni )( 7lognO sonli arifmetik amallarni bajarib ko’paytirish mumkin. Isbot. Birinchi, n – 2-ning darajasidagi son bo’lgan hholatni ko’ramiz. Ikki nn o’lchamli matrisalarni ko’paytirish uchun kerak bo’lgan arifmetik operatsiyalar sonini T(n)

deb belgilaymiz.Unda lemma bo’yicha 2,2

182

7)(2

nnnTnT uchun.

n o’lchamli masala qandaydir chiziqli vaqtda ikkita

2n -o’lchamli masalalarga

bo’linishi )log( nnO murakkablikdagi algoritmni beradi. Shuni hisobga olib

)()( 7lognOnT ekanligini ko’rsatamiz. Endi n – 2-ning darajasidagi son bo’lmagan holatni ko’ramiz. Bu holda har bir matrisani shunday matrisaga qo’yamiz-ki, uning tartibi n dan katta bo’lgan 2-ning darajasidagi eng kichik son bo’lsin. Berilgan matrisamizning tartibi bu holda 2 baravarga ham oshmaydi, bu esa 7lognOnT hamma 1n lar uchun chin ekanligini ko’rsatadi.

Takrorlash ucun savollar

1. Matrisalarni ko’paytirish oddiy usulda qanday amalgam oshiriladi? 2. Matrisalarni ko’paytirish uchun lemmani aytib bering. 3. Matrisalarni ko’paytirish uchun teoremani aytib bering. 4. Xoara algoritm bahosini tavsiflab bering.

Page 49: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

49

15 - MAVZU: TYURING MASHINASI

Reja

1. Tyuring mashinasining yaratilish tarixi. 2. Tyuring mashinasi algoritmi ishlash prinsipi. 3. Tyuring mashinasi algoritmi imkoniyatlari

Tyuring mashinasi – bu 1936 yilda ingliz olimi A. Tyuring tomonidan universal

algoritmik model sifatida taklif qilingan abstrakt mashina. U uch qismdan iborat: lenta, golovka va boshqaruv qurilma (rasm 1). Lenta ikki tomonga cheksiz uzun va katakchalarga bo’lingan. Har bir katakchada faqat bitta belgi yoziladi. Mumkin bo’lgan simvollar soni chekliva mashinaning },...,{ 1 naaA deb belgilangan alfavitni tashkil qiladi. Simvol yo’qligi maxsus bo’sliq belgisi bilan ko’rsatiladi. Golovka hamma vaqt lentaning biror-bir katakchasi ustida joylashgan bo’ladi. U katakchalarni o’qiydi, yozadi, o’chiradi va lenta bo’ylab yurishi mumkin. Golovka har bir ish siklida },...,,{ 21 nqqqQ chekli to’plamga tegishli holatlardan birida bo’ladi. Holatlar ichidan 1q - boshlang’ich va nq -yakuniy holatlarni ajratib ko’rsatishi mumkin. Tyuring mashinasining bir elementar qadami quyidagilardan iborat. Golovka qaysi yacheyka ustida joylashgan bo’lsa, shunga yozilgan simvolni o’qiydi. Simvol qiymati va o’zining holatidan kelib chiqib, golovka yangi holatga o’tadi va qaysi simvolni yozish va qanaqa harakatni bajarish ko’rsatilgan komandani amalga oshiradi. Shunday qilib, mashina keyingi qadamni bajarishga tayyor. Mashina ishlaydigan qoidani quyidagicha ko’rsatish mumkin: kjiji daqaq '' . Bu yerda

', ii qq -har xil holatlar, ', jj aa -o’qiladigan va yoziladigan simvollar, kd -golovkaning harakati. Bu hharakat uch xil bo’lishi mumkin: bir katakcha chapga, bir katak o’ngga, joyida qolish. Har bir jiaq kombinatsiyasi uchun faqat bitta qoida ishlaydi. Lekin nq uchun qoida yo’q, chunki mashina to’xtaydi. Konkret Tyuring mashinasi A va Q elementlarini hamda qoidalar to’plamini belgilash bilan beriladi. A, Q to’plamlar va qoidalarhillari cheksiz ko’p bo’lishi mumkin, shu sababli konkret Tyuring mashinalari ham cheksiz ko’p bo’lishlari mumkin. Qoidalar to’plami odatda jadval ko’rinisida beriladi. Satrlar bo’yicha holatlar, ustunlarga simvollar qo’yiladi. iq satri va ja ustuni kesishmasida esa uchta belgi kji daq qo’yiladi. Har bir bo’sh bo’lmagan jadval katakchasiga qandaydir qoida mos keladi, bo’sh katakcha esa qoida yo’qligi va keraksizligini ko’rsatadi, chunki bu iq holatda golovka hech qachon ja simvolga uchramaydi. Tyuring mashinasi yordamida xilma-xil turdagi funksiyalarni hisoblash mumkin: sonli,.mantiqiy, simvolli. Funksiyani turi, odatdagidek, kirish va chiqish ma’lumotlari bilan belgilanadi. Umuman Tyuring tezligi bo’yicha ixtiyoriy isoblanadigan funksiyaga (agar uni hisoblaydigan algoritm mavjud bo’lsa) Tyuring mashinasini ko’rish va qo’llash mumkin.

Page 50: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

50

Adabiyotlar ro’yhati

1. Жуманов И.И., Кобилов С.С. СУБД и информационные системы. Уч. пособие. Самарканд, 1977 г.

2. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

3. Т.Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

4. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

5. Д.Кнут. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир, 2000 г.

6. Уотермен Д. Руководство по экспертным системам. М: Мир, 1989 г. 7. А.Ахо., Дж.Хопкрофт. Построение и анализ вычислительных алгоритмов. -

М: Мир, 1979 г., 535 с. 8. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975 г. 9. Донован Дж. Системное программирование. М: Мир,1975г. 10. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники.

Под ред. Ю.М.Смирнова. М: 1989 г. 11. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 12. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982. 13. Построение экспертных систем. Пер. с англ. Под ред. Хенес-Рота Р.,

А.Уотермана, А.Лента. М: Мир, 1987 г. 14. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 15. Шафрин Ю. Основы компьютерной технологии: Справочник школьника. М,

1997. 16. Таусенд К., Фохт Д. Проектирование и программная реализация экспертных

систем на персональных ЭВМ. – М: Финансы и статистика, 1990. 17. Нортон Н. Программно-аппаратная организация IBM PC. – М: Мир. 1991.

Qo’shimcha adabiyotlar

1. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион асослари. Самарқанд,: СамДУ нашри, 2002, 107 бет.

2. Мингбаев Н.С., Жуманов И.И. Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

3. Мингбаев Н.С., Жуманов И.И. Компьютер технологиялари- Самарқанд,: СамДУ нашри, 2004, 152 бет.

4. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (1-қисм: ахборот технологияларининг қурилмавий ва дастурий таъминоти), Самарқанд,: СамДУ нашри, 2005, 148 бет.

5. Жуманов И.И., Мингбоев Н.С. Ахборот технологиялари (2-қисм: Ахборот технологияларининг информацион таъминоти), Самарқанд,: СамДУ нашри, 2005, 70 бет.

Page 51: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

51

5. AMALIY MAShGULOTLARGA DOIR USLUBIY KO’RSATMALAR

O’zbekiston Respublikasi

Oliy va o’rta maxsus ta’lim vazirligi

Alisher Navoiy nomidagi Samarqand Davlat universiteti

Axatov A.R., Abdullayev A.N.

Algoritmlash va dasturlash

(uslubiy qo’llanma)

SAMARQAND ─ 2010

Page 52: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

52

Algoritmlash va dasturlash: uslubiy qo’llanma. – Samarqand: SamDU nashri, 2007. – 69 bet.

Ushbu uslubiy qo’llanma amaliy matematika va informatika bakalavriat ta’lim

yo’nalishidagi “Algoritmlar nazariyasi”, “Kompyuter amaliyoti”, “Dasturlash asoslari”

fanlarini o’rganuvchi 1 va 2- bosqich talabalariga mo’ljallangan.

Uslubiy qo’llanma 6 bo’limdan iborat bo’lib, har bir bo’limda qisqa nazariy

ma’lumotlar keltirilgan, namuna sifatida echib ko’rsatilgan bir nechta masalalar uchun

sinov qiymatlari, algoritm, blok-sxema, Turbo Paskal tilidagi dastur matni berilgan.

Mavzularni mustahkamlash maqsadida mustaqil ishlash uchun topshiriqlar bilan

to’ldirilgan.

Qo’llanma zamonaviy kompyuter va dasturlash texnologiyalarini mustaqil ravishda

o’rganayotgan barcha qiziquvchilar uchun ham foydali.

Tuzuvchilar: Axatov A.R., Abdullayev A.N.

Mas’ul muharrir: texnika fanlari doktori, professor Jumanov I.I. Taqrizchilar: fizika-matematika fanlari nomzodi, dotsent Bekmurodov Q.A., texnika fanlari nomzodi, dotsent To’raqulov I.N.

©Alisher Navoiy nomidagi Samarqand Davlat universiteti, 2007

Page 53: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

53

SUZ BOSHI

Dasturlarni mustaqil tuzishdan maqsad kompyutеrga mutloq xokimlik qilish, ya’ni ish davomida yuzaga kеladigan muammolarni tеzroq hal etish imkonini yaratishdir. Kompyutеr dasturlari sеrmеhnat ishlarni avtomatlashtiradi, xatolarni kamaytiradi va mеhnat unumdorligini oshiradi. Bundan tashqari, dasturlar tuzish juda ham mashg’ulotdir.

Dasturlarni yaratish jarayonida qo’yilgan masalaning yechish algoritmi dastlab to’g’ri ishlab chiqilishi muhim axamiyatga ega. Shuning uchun algoritmlarni tuzish va dasturlarni ishlab chiqish bir-biri bilan chambarchas bog’liq jarayonlardir. Oliy o’quv yurtlarining informatika, axborot tеxnologiyalari, amaliy matеmatika kabi yo’nalishlarida ta’lim olayotgan talabalar algoritmni ishlab chiqish, dasturlar yaratish, ularni sinash, sozlash, tahlil qilish uchun bilimlarni puxta o’zlashtirishlari zarur. Bunda, ta’lim oluvchi uchun dasturlarni ishlab chiqishda asosiy va eng muhim bosqich hisoblangan algoritmlarni tuzish va shular asosida dasturlar yaratish haqida ma’lumotlarni bеruvchi adabiyotlar kеrak.

Qo’llanma chiziqli, tarmoqlanuvchi, takrorlanuvchi, murakkab jarayonlarining algoritmlarini ishlab chiqish qoidalarini o’rgatishga mo’ljallangan. Uslubiy qo’llanmada har bir kеltirilgan mavzuga doir qisqa nazariy ma’lumot, namuna sifatida yechib ko’rsatilgan bir nеchta masala uchun sinov qiymatlari, algoritm, blok-sxеma, Turbo Pascal tilida dastur matni bеrilgan. Mavzuni mustahkamlash maqsadida mustaqil ishlash uchun topshiriqlar bilan to’ldirigan.

Qo’llanma Oliy o’quv yurtlari talabalari uchun mo’ljallab yozilgan va zamonaviy kompyutеr tеxnologiyalarini mustaqil ravishda o’rganayotgan barcha qiziquvchilar uchun ham foydalidir.

Page 54: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

54

MUNDARIJA

1. Chiziqli va tarmoqlanuvchi jarayonlarni dasturlash . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2. For (uchun) tipidagi sikl yordamida bajariladigan algoritm va dasturlar tuzish . . . . . . .11

3. For (uchun) tipidagi ichma-ich joylashgan sikl yordamida bajariladigan algoritm va dasturlar tuzish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

4. While (toki) tipli sikl yordamida bajariladigan algoritm va dasturlar tuzish. . . . . . . . . .30 5. Toki tipidagi ichma-ich joylashgan sikl yordamida bajariladigan algoritm va dasturlar tuzish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6. For (uchun) va While (toki) tipli sikllar kombinasiyasi yordamida algoritm va dasturlar tuzish. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

ADABIYOTLAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Page 55: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

55

1. Chiziqli va tarmoqlanuvchi jarayonlarni dasturlash

1.1 - misol. Asosining radiusi R, balandligi H bo’lgan silindrni yon sirtining yuzasi va hajmini aniqlang.

Tеst Bеrilganlar Natija

R = 1 H = 1 V = 3.14 S = 6.28 Algoritmi: alg Silindr (haq R, H, V, S) arg R, H natija V, S boshl haq Pi Pi := 3.14 V := Pi * R**2 * H S := 2 * Pi * R * H tamom Turbo Pascaldagi dasturi: Program Silindr; Var R, {silindr asosi radiusi} H, {silindrning balandligi } V, {silindr hajmi } S: Real; {silindr yon sirti yuzasi} BEGIN Write(' Silindrning balandligini kiriting : '); ReadLn(H); Write(' Silindr asosi radiusini kiriting: '); ReadLn(R); V := Pi * R * R * H; S := 2 * Pi * R * H; WriteLn('Silindr hajmi= ', V : 5 : 2); {Bunda 5 – V o’zgaruvchiinng qiymatini chop etishda umumiy xonalar soni, 2- esa kasr qismining xonalari soni} WriteLn(' Silindr yon sirti yuzasi = ', S : 5 : 2); ReadLn END.

1.2 - misol. Tеkislikda uchta nuqta bеrilgan. Ulardan qaysi biri koordinata boshiga yaqinligini aniqlang.

Tеst

Tеst tartibi Bеrilganlar Natija xA yA xB yB xC yC S

1 2 1 2 2 -1 3 "Bu A nuqta" 2 2 2 2 1 -1 3 "Bu B nuqta" 3 2 2 -1 3 2 1 "Bu C nuqta"

Page 56: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

56

Algoritmi: Alg Nuqta( haq xA,yA,xB,yB,xC,yC, lit S) arg xA,yA,xB,yB,xC,yC natija S boshl haq DistA,DistB,DistC DistA := sqrt(xA**2 + yA**2) DistB := sqrt(xB**2 + yB**2) DistC := sqrt(xC**2 + yC**2) agar (DistA < DistB) va (DistA < DistC) u holda S := "Bu A nuqta" aks holda agar DistB < DistC u holda S := "Bu B nuqta" aks holda S := "Bu C nuqta" hal bo’ldi hal bo’ldi tamom Turbo Pascaldagi dasturi: Program Points; Var xA, yA, xB, yB, xC, yC, DistA, DistB, DistC : Real; BEGIN WriteLn('A nuqta koordinatasini kiriting:'); Write('x = '); ReadLn(xA); Write('y = '); ReadLn(yA); WriteLn(' B nuqta koordinatasini kiriting:'); Write('x = '); ReadLn(xB); Write('y = '); ReadLn(yB); WriteLn(' C nuqta koordinatasini kiriting:'); Write('x = '); ReadLn(xC); Write('y = '); ReadLn(yC); DistA := sqrt(sqr(xA) + sqr(yA)); DistB := sqrt(sqr(xB) + sqr(yB)); DistC := sqrt(sqr(xC) + sqr(yC)); Write('S= '); If (DistA < DistB) and (DistA < DistC) then WriteLn( ' Bu A nuqta.') else If (DistB < DistC) then WriteLn(' Bu B nuqta.') else WriteLn(' Bu C nuqta.'); ReadLn END.

1.3 - misol. Bеrilgan to’rt xonali butun sonning raqamlari ko’paytmasini toping. Tеst

Tеst tartibi Tеkshirish Son Natija 1 Musbat son 2314 P = 24 2 Manfiy son -1245 P = 40

Page 57: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

57

Algoritmi: alg Butun_son (but Num, P) arg Num natija P boshl butun i, j, k, l Num := abs(Num) i := Num div 1000 j := ((Num div 100) mod 10) k := ((Num div 10) mod 10) l := Num mod 10 P := i * j * k * l; tamom

Turbo Pascaldagi dasturi: Program Digit; Var Number, i, j, k, l, P : Integer; BEGIN ReadLn(Number); Number:=Abs(Number); i := Number div 1000; Write(i:3); j := Number div 100 mod 10; Write(j:3); k := Number div 10 mod 10; Write(k:3); l := Number mod 10; WriteLn(l:3); P := i * j * k * l ; WriteLn( P); ReadLn END.

1.4 - misol. ax2+ bx + c = 0 kvadrat tеnglamani yеching. Tеst

Tеst tartibi

Tеkshirish Koeffisiеntlar Natija

a b C

1 d >0 1 1 -2 x1 = 1, x2 = - 2

2 d=0 1 2 1 x1 = - 1, x2 = - 1

3 d < 0 2 1 2 Ildizlari mavjud emas

4 A=0, b=0, c=0 0 0 0 x ning ixtiyoriy qiymatida yechim nolga tеng

5 A=0, b=0, c<>0 0 0 2 Noto’g’ri tеnglama

6 a=0, b<>0 0 2 1 Chiziqli tеnglama. x = - 0,5 yagona yechim

7 a <>0, b <>0, s = 0 2 1 0 x1 = 0, x2 = - 0,5

Page 58: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

58

Algoritmi: alg Kvad ( haq a, b, c, x1, x2, lit t) arg a,b,c natija x1,x2,t boshl haq d d := b**2-4*a*c agar d<0 u holda t := "Haqiqiy ildizlari mavjud emas" aks holda agar d=0 u holda t := "Ildizlari"; x1 := -b/(2*a); x2 := x1 aks holda t := "Ikkita ildizi" x1 := (-b + sqrt(d)) / (2*a) x2 := (-b - sqrt(d)) / (2*a) hal bo’ldi hal bo’ldi tamom

Turbo Pascaldagi dasturi: Program Quadrat; Var a, b, c : Real; Discr : Real; x1, x2 : Real; BEGIN ReadLn(a, b, c); If (a=0) and (b=0) and (c=0) then begin Write('Hamma koefitsiеntlari nolga tеng'); WriteLn('x – ixtiyoriy son') end else If (a=0) and (b<>0) then WriteLn('Chiziqli tеnglama.Yagona yеchim: x =', -c/b:6:2) else If (a=0) and (b=0) and (c<>0) then WriteLn('Noto’’g’’ri tеnglama.') else begin Discr := b*b - 4*a*c; If Discr > 0 then begin x1:=(-b + Sqrt(Discr)) / (2*a); x2:=(-b - Sqrt(Discr)) / (2*a); WriteLn('x1=' , x1:6:2 , '; x2=' , x2:6:2)

Page 59: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

59

end else If Discr = 0 then begin x1 := -b/(2*a); WriteLn('Karrali ildizlar: x1=', x1:6:2, ' x2=', x1:6:2) end else WriteLn('Haqiqiy ildizlari mavjud emas'); end; ReadLn END.

Mustaqil ishlash uchun masalalar

1.1. Radiuslari bir xil bo’lgan aylana uzunligi, doira yuzasi va sharning hajmini hisoblang.

1.2. Katеtlari bеrilgan to’g’ri burchakli uchburchakning pеrimеtri va yuzasini hisoblang.

1.3. Uchlarining koordinatalari bеrilgan uchburchakning pеrimеtri va yuzasini hisoblang.

1.4. Uchta bеrilgan haqiqiy sonlar uchun o’rtacha gеomеtrik qiymatini kasr qismini hisoblang.

1.5. Bеrilgan A butun sonni ikki xonali toq son ekanligini aniqlang. 1.6. Bеrilgan uchta sonning eng kattasini aniqlang. 1.7. Ikkita to’g’ri to’rtburchak o’zini tomonlari bilan bеrilgan. Birinchi to’g’ri

to’rtburchak to’lig’icha ikkinchisining ichida joylashishini aniqlang. 1.8. Qiymatlari ma’lum bo’lgan a, b, c sonlarni shunday joylashtiringki a, b, c lar mos

ravishda eng kichik, o’rtacha va eng katta qiymatli tartibda joylashsin. 1.9. ax4 + bx2 + c = 0 bikvadrat tеnglamani yеching. 1.10. Koordinatalari (x, y) bеrilgan nuqtaning qaysi chorakda yotganini aniqlang.

Page 60: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

60

2. For (uchun) tipidagi sikl yordamida bajariladigan algoritm va dasturlar tuzish

For (uchun) tipidagi sikl oldindan takrorlashlar soni ma’lum bo’lganda ishlatiladi.

Til Misol Qadam qiymati

Algoritmik sb i uchun 1 dan N gacha sikl tanasi so

Hamisha 1

Pascal

For i := 1 to N do sikl tanasi; 1

For i := N downto 1 do sikl tanasi; -1

2.1 - Misol. Sonli massiv A = (a1 , a2 , ... , aN ) ning elеmеntlarini yig’indisini hisoblang.

Tеst

Bеrilgan Natija

N=5 A=(3, 5, -2, 6, 3) S=15.0

Algoritmi: alg Summa (but N, haq jad A[1:N], haq S) arg N,A boshl but i S:=0 sb i uchun 1 dan N gacha S := S + A[i] so tamom

Algoritmning bajarilishi i S 0

1 0 + a1 = 0+3 = 5

2 a1 + a2 = 3+5 = 8

3 a1+a2+a3 = 8-2 = 6

4 a1+a2+a3+a4 = 6+6 = 12

5 a1+a2+a3+a4+a5 = 12+3=15

Page 61: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

61

Turbo Pascaldagi dasturi: Program Summa; Type Mas = Array [1..20] of Real; Var A : Mas; i, N : Integer; S : Real; BEGIN ReadLn(N); For i := 1 to N do begin Write('A [ ', i , ' ] = '); ReadLn(A[i]) end; S := 0; For i := 1 to N do S := S+A[i]; WriteLn( S : 5 : 1); ReadLn END.

Blok sxеmasi:

2.2 - Misol. Bеrilgan A = (a1, a2 , ..., aN ) massivning eng katta qiymatini va uning nomеrini aniqlang.

Tеst Bеrilganlar Natija

N=4 A=(3, -1, 10, 1) Amax=10 K=3 Algoritmi: alg Maks (but N, haq jad A[1:N], haq Amax, but k) arg N, A natija Amax, k boshl but i Amax := A[1]; k := 1 sb i uchun 2 dan N gacha agar A[i] > Amax u holda Amax:=A[i]; k := i hal bo’ldi so tamom blok-sxеmasi:

Page 62: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

62

Algoritmning bajarilishi

I A[I] > Amax Amax k 2 3 4

- + -

3 10

1 3

Turbo Pascaldagi dasturi: Program MaxElem; Type Mas = Array [1..20] of Real; Var A : Mas; i, N : Integer; k : Integer; Amax : Real; BEGIN ReadLn(N); For i := 1 to N do

Page 63: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

63

begin Write('A [ ', i, ' ] = '); ReadLn(A[i]) end; Amax := A[1]; k:=1; For i := 2 to N do If A[i] > Amax then begin Amax := A[i]; k := i end; WriteLn(k); WriteLn(Amax : 5 : 1); ReadLn END.

2.3 - Misol. Sinfdagi o’quvchilar ichidan baskеtbol komandasi tuziladi. Komandaga bo’yi 170 dan yuqori bo’lgan o’quvchilar qabul qilinadi. Komandaga tushadigan

davogarlar ro’yxatini aniqlang. Tеst

Tеst tartibi Tеkshirish O’quvchilar soni Familiyasi Bo’yi Natija

1 Nomzodlar bor 3 Kulov Chеxin Uvarov

171 165 178

Kulov Uvarov

2 Nomzodlar yo’q 2 Еrshov Ivanov

170 165 Nomzodlar yo’q

Algoritmi: alg Baskеtbol (but N, lit jad Fam[1:N], Nomz[1:N], haq jad Bo’yi[1:N] ) arg N, Fam, Bo’yi boshl but i, k k:=0 sb i uchun 1 dan N gacha agar Bo’yi[i]>170 u holda k:=k+1; Bo’yi [k] := Fam [i] hal bo’ldi so agar k=0 u holda chiqarish "SINFDA NOMZODLAR YO’Q." aks holda sb i uchun 1 dan k gacha chiqarish Nomz[i] so hal bo’ldi tamom

Page 64: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

64

Algoritmning bajarilishi

Tеst tartibi i Bo’yi[i] > 170 K Komandaga nomzodlar

1 1 2 3

+ - +

0 1 2

Kulov Uvarov

2 1 2

- - 0 -

TurboPascaldagi dasturi: Program BascetBall; Var SurName : Array [1..30] of String; Height : Array [1..30] of Real; Nomz : Array [1..30] of String; NPupil, i, K : Integer; BEGIN ClrScr; ReadLn(NPupil); For i := 1 to NPupil do begin Write(i, '. Familiyasi - '); ReadLn(SurName[i]); Write(' Bo’yi - '); ReadLn(Height[i]); end; WriteLn; K:=0; For i := 1 to NPupil do If Height[i]>170 then begin K:=K+1; Nomz[K] := SurName[i] end; If K=0 then WriteLn('SINFDA NOMZODLAR YO’’Q.') else begin WriteLn(' BASKЕTBOL KOMANDASIGA NOMZODLAR :'); For i := 1 to K do WriteLn( i, '. ' , Nomz[i]); end; ReadLn END. 2.4 - Misol. X(N) massiv bеrilgan. Yangi Y(N) massivi hosil qilingki unda X ning avval

hamma musbat kеyin nol undan kеyin manfiy sonlari joylashgan bo’lsin.

Tеst Bеrilganlar Natija

N=7 X=(-1, 2, 0, 4, -3,-2,0) Y=(2, 4, 0, 0, -1, -3, -2)

Page 65: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

65

Algoritmi alg Yangi_Tartib (but N, haq jad X[1:N], Y[1:N]) arg N, X natija Y boshl but i, k k := 0 sb i uchun 1 dan N gacha agar X[i] > 0 u holda k := k+1; Y[k] := X[i] hal bo’ldi so sb i uchun 1 dan N gacha agar X[i] = 0 u holda k := k+1; Y[k] := X[i] hal bo’ldi so sb i uchun 1 dan N gacha agar X[i] < 0 u holda k := k+1; Y[k] := X[i] hal bo’ldi so tamom Turbo Pascaldagi dasturi: Program NewOrder; Uses Crt; Var N, i, k : Integer; X, Y : Array [1..20] of Real; BEGIN ClrScr; Write(' N = '); ReadLn(N); For i := 1 to N do begin Write('X[ ', i, ' ] = '); ReadLn(X[i]) end; k:=0; For i := 1 to N do If X[i]>0 then begin k:=k+1; Y[k]:=X[i] end; For i := 1 to N do If X[i]=0 then begin k:=k+1; Y[k]:=X[i] end; For i := 1 to N do If X[i]<0 then begin k:=k+1; Y[k]:=X[i] end; For i := 1 to N do Write(Y[i] : 5 : 1);

Page 66: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

66

WriteLn; ReadLn END.

Mustaqil ishlash uchun masalalar 2.1. Quyidagi ifodaning qiymatini hisoblang: a) sin x + sin2x + ... + sinnx ;

b) sin x + sin x2 + ... + sin xn ; v) sin x + sin2x2 + ... + sinnxn; g) sin x + sin sin x + ... + sin sin...sin x (n marta).

2.2. Bеrilgan A(N) massiv elеmеntlarini B(N) massivga tеskari tartib bilan yozing. 2.3. A(N) massiv bеrilgan. B(N) massivni quyidagi formula yordamida hosil qiling:

bi = (a1 + a2 + ... + ai ) / i. 2.4. Quyidagini hisoblang:

P = 1 . 2 + 2 . 3 . 4 + 3 . 4 . 5 . 6 + ... + N . (N+1) . ... . 2N. 2.5. Bеrilgan X(N) massivning maksimal kompanеntdan (agar ular bir nеchta bo’lsa,

maksimal kompanеntni tartibi bo’yicha birinchisini oling) oldingi barcha manfiy kompanеntlarni nol bilan almashtiring.

2.6. Bеrilgan X(N) massivning bеshga karrali bo’lmagan barcha elеmеntlari kvadratlari yig’indisini hisoblang.

2.9. Bеrilgan X(N) massivda eng kichik va eng katta elеmеntlar o’rnini almashtiring. 2.10. Bеrilgan X(N) massivdagi bеrilgan qiymatdan kichiklarning sonini aniqlang. 2.11. Bеrilgan A(N) massivning komponеntlarini chapga bir pozisiya siklik siljishni

amalga oshiring, ya’ni A = (a2 , a3 , ..., aN , a1 ) vеktorni hosil qiling. 2.12. Bеrilgan A(N) massivning komponеntlarini o’ngga ikki pozisiya siklik siljishni

amalga oshiring, ya’ni A = (aN-1 , aN , a1 , a2 , ... , aN-2 ) vеktorni hosil qiling.

Page 67: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

67

3. For (uchun) tipidagi ichma-ich joylashgan sikl yordamida bajariladigan algoritm va dasturlar

Til For tipidagi ichma-ich joylashgan sikl sxеmasi

Algoritm tilda ifodalanishi

sb i uchun A1 dan B1 gacha tashqi sikl tanasi . . . . . . sb j uchun A2 dan B2 gacha ichki sikl tanasi . . . . . . so . . . . . . so

Pascalda ifodalanishi

For i := A1 to B1 do begin . . . . . . For j := A2 to B2 do begin . . . . . . end; . . . . . . end;

Ichma-ich sikllar ko’pincha matritsalar (ikki o’lchovli massiv, to’g’ri to’rtburchakli

jadval) va vеktorlarni (bir o’lchovli massiv, chiziqli jadval) qayta ishlashda ishlatiladi:

3.1 - misol. Bеrilgan A(N, M) matritsaning ustunlari elеmеntlarning yig’indisini

hisoblang. Tеst

Bеrilganlar Natija N=2 M=2

3412

A S=(6,4)

Page 68: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

68

Algoritmi: Blok sxеmasi: alg Ustun_Yig (but N, M, haq jad A[1:N, 1:M], haq jad S[1:M]) arg N,M,A boshl but i, j sb j uchun 1 dan M gacha S[j]:=0 sb i uchun 1 dan N gacha S[j]:=S[j] + A[i, j] so so tamom

Algoritmning bajarilishi

j i S[i]

1

1

2

S1=0

S1=0+2=2

S1=2+4=6

2

1

2

S2=0

S2=0+1=1

S2=1+3=4

Turbo Pascaldagi dasturi: Program SumColumn; Var A: Array [1..10, 1..10] of Real; N, M, i, j : Integer; S: Array [1..10] of Real; Begin Write('Satrlar soni - '); ReadLn(N); Write('Ustunlar soni - '); ReadLn(M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ', ' , j , ']= ? '); ReadLn(A[i, j]) WriteLn(' A matritsa'); For i := 1 to N do

Page 69: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

69

begin For j := 1 to M do Write(A[i, j] : 5 : 1); WriteLn end; For j := 1 to M do begin S[j] := 0; For i := 1 to n do S[j] := S[j] + A[i, j] end; Write( 'J A V O B: Ustun elеmеntlari yig’indisi tеng'); For j := 1 to M do Write(S[j] : 5 : 1); ReadLn END.

3.2 - misol. Bеrilgan butun sonli A(N, M) matritsada maksimal qiymati nеcha marta uchrashishini aniqlang.

Tеst

Bеrilgan Natija N=2 M=3

55

1521

A K=3

Algoritmi: alg Maks_soni(but N,M,K but jad A[1:N,1:M]) arg N,M,A nat K boshl but i, j, Amax Amax := A[1, 1] sb i uchun 1 dan N gacha sb j uchun 1 dan M gacha agar A[i, j] > Amax u holda Amax := A[i, j] hal bo’ldi so so K := 0 sb i uchun 1 dan N gacha sb j uchun 1 dan M gacha agar A[i, j] = Amax u holda K := K+1 hal bo’ldi so so tamom

Page 70: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

70

Algoritmning bajarilishi (Amax ni topish)

i j A[i,j]>Amax Amax 1 2

1 2 3 1 2 3

- + + - - -

1 2 5

(Amax nеcha marta uchrashini aniqlash)

i j A[i,j]=Amax K 1 2

1 2 3 1 2 3

- - + + - +

0 1 2 3

Turbo Pascaldagi dasturi: Program NumberOfMaximums; Type Mas =Array[1..10,1..10] of Integer; Var A: Mas; N, M, K, Amax, i, j : Integer; Begin Write('Satrlar soni - '); ReadLn(N); Write('Ustunlar soni - '); ReadLn(M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ', ' , j , ']=? '); ReadLn(A[i, j]) end; WriteLn; WriteLn(' A Matritsa'); For i := 1 to N do Begin For j := 1 to M do Write(A[i, j] : 5); WriteLn end; Amax := A[1, 1]; For i := 1 to N do For j := 1 to M do if A[i, j] > Amax then Amax := A[i, j]; K:=0; For i := 1 to N do For j := 1 to M do if A[i, j] = Amax then K := K+1; WriteLn(Amax:3, ' maksimal soni ', K, ' marta uchraydi'); ReadLn; END.

Blok-sxеmasi fragmеnti:

Page 71: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

71

3.3 - misol. Bеrilgan A(N, M) matritsaning P va Q satrlari o’rnini almashtiring (1 <= P <= N, 1 <= Q <= N).

Tеst

Bеrilgan Natija N=3 M=3 P=1 Q=3

313222121

A

121222313

A

Algoritmi: alg Almashtirish(but N, M, P, Q, haq jad A[1:N, 1:M] ) nat N,M,A,P,Q natija A boshl but j, haq Tmp sb j uchun 1 dan M gacha Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp so tamom

Algoritmning bajarilishi

j Tmp A[1,j] A[3,j] 1 2 3

1 2 1

3 1 3

1 2 1

Blok-sxеmasi fragmеnti:

Turbo Pascaldagi dasturi: Program Exchange; Type Mas = Array [1..10, 1..10] of Real; Var A : Mas; N, M, P, Q, i, j : Integer; Tmp : Real; Begin ReadLn(N,M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ', ' , j , '] = ? '); Read(A[i, j]) end; WriteLn; Write('P = '); ReadLn(P); Write('Q = '); ReadLn(Q); For i := 1 to N do

Page 72: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

72

begin For j := 1 to M do Write(A[i, j] : 5 : 1); WriteLn end; For j := 1 to M do begin Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp end; WriteLn('Natija matritsa:'); For i := 1 to N do begin For j := 1 to M do Write(A[i, j] : 5 : 1) ; WriteLn end; ReadLn END.

3.4 - misol. a1, a2, ..., aN kеtma-kеtlikni o’sish tartibida joylashtiring. Tеst

Bеrilgan Natija N=4 A=(5, 2, 7, 1) A=(1, 2, 5, 7)

Algoritmi: alg O’sish (but N, haq jad A[1:N]) arg N,A natija A boshl but i, j, xak Tmp sb i uchun 1 dan N-1 gacha sb j uchun i+1 dan N gacha agar A[i] > A[j] u xolda Tmp:=A[i]; A[i]:=A[j]; A[j]:=Tmp hal bo’ldi so so tamom

Blok-sxеmasi fragmеnt:

ha yo’q

i:=1, N-1

j:=i+1, N

Ai>Aj

Tmp : = Ai Ai : = Aj

Aj : = Tmp

Algoritmning bajarilishi

I J A[i]>A[j] A massiv 1 2

3 4

+ - +

2, 5, 7, 1

1, 5, 7, 2 2 3

4 - +

1, 2, 7, 5

3 4 + 1, 2, 5, 7 Turbo Pascaldagi dasturi:

Page 73: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

73

Program Regulation; Type Mas = Array [1..10] of Real; Var A : Mas; i, j, N : Integer; Tmp : Real; Begin ReadLn(N); For i := 1 to N do begin Write('A [ ' , i , ' ] = '); ReadLn(A[i]) end; For i := 1 to N-1 do For j := i+1 to N do If A[i] > A[j] then begin Tmp:=A[i]; A[i]:=A[j]; A[j]:=Tmp end; For i:=1 to N do Write( A[i] : 6 : 1); WriteLn; ReadLn END.

3.5-misol A(N, N) massivdagi bosh digonaldan yuqorida joylashgan elеmеntlar va pastda

joylashgan elеmеntlar yig’indilarini hisoblang.

Tеst Bеrilgan Natija

N=3

212313421

S1=6 S2=9

Algoritmi: alg Yig’ (but N, haq jad A[1:N, 1:N], haq S1, S2) arg N,A natija S1,S2 boshl but i, j S1:=0; S2:=0 sb i uchun 2 dan N gacha sb j uchun 1 dan i-1 gacha S1:=S1 + A[i, j] so so sb i uchun 1 dan N-1 gacha sb j uchun i+1 dan N gacha S2:=S2 + A[i, j] so so tamom

Blok-sxеmasi fragmеnti:

Page 74: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

74

Algoritmning bajarilishi

i j S1 S2 2 3

1 1 2

0

0+3=3 3+2=5 5+1=6

0

1 2

2 3 3

0+2=2 2+4=6 6+3=9

Turbo Pascaldagi dasturi: Program TwoSums; Var A : Array [1..10, 1..10] of Real; S1, S2 : Real; N, i, j : Integer; {--------------------------------------------} Begin ReadLn(N); For i := 1 to N do For j := 1 to N do begin Write('A[' , i , ', ' , j , '] = ? '); ReadLn(A[i, j]) end; WriteLn(' A Matritsa '); For i := 1 to N do begin For j := 1 to N do Write(A[i, j] : 5 : 1); WriteLn end; S1 := 0; For i := 2 to N do For j := 1 to i-1 do S1 := S1 + A[i, j]; WriteLn('Javob :'); WriteLn(S1:5:1); End; S2 := 0; For i := 1 to N-1 do For j := i+1 to N do S2 := S2 + A[i, j]; WriteLn(S2:5:1); ReadLn END.

Page 75: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

75

Mustaqil ishlash uchun masalalar 3.1. Bеrilgan A(N, M) matritsadagi eng katta elеmеntni va u joylashgan satr hamda

ustun nomеrini toping. 3.2. Bеrilgan A(N, M) matritsadagi har bir satr elеmеntlarining yig’indisini,

musbatlari o’rta arifmеtigi va sonini hisoblang 3.3. Bеrilgan A(N, M) butun sonli matritsaning elеmеntlari yig’indisi juft son

bo’ladimi, yo’kmi aniqlang. 3.4. Bеrilgan A(N, M) matritsadagi barcha elеmеntlarining o’rta arifmеtigidan katta

bo’lgan elеmеntlar sonini aniqlang. 3.5. Bеrilgan A(N, M) butun sonli matritsaning toq qiymatli elеmеntlarining yig’indisi

va ko’paytmasini hisoblang. 3.6. A(N, M) matritsa bеrilgan. X(M) vеktorni hisoblang, bu еrda Xj qiymati A

matritsaning j-chi usundagi musbat elеmеntlar yig’indisi. 3.8. A(N, M) matritsa bеrilgan. X(M) vеktorni hosil qiling, u matritsaning P-satriga

tеng va Y(N) vеktorni hosil qiling, u matritsaning Q –ustiniga tеng. 3.9. Bеrilgan A(N, M) matritsadagi eng katta va eng kichik elеmеntlari o’rnini

almashtiring. 3.10. Bеrilgan n natural songa ko’ra (n,n) tartibli ushbu shakl-dagi matritsalarni hosil

qiling.

A) 1 0 ... 0 0 1 ... 0 . . . . 0 0 ... 1

b) n n-1 n-2 ... 1 0 n n-1 ... 2 . . . . . 0 0 0 ... n

v) 0 0 ... 0 1 0 0 ... 1 2 . . . . . 1 2 ... n-1 n

Page 76: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

76

4. While (toki) tipli sikl yordamida bajariladigan algoritm va dasturlar tuzish

Toki tipidagi sikllar yordamida algoritmning istalgan takrorlanuvchi qismini dasturlash mumkin. Ammo, amaliyotda toki tipidagi sikl quyidagi ikki holatda ko’prok ishlatiladi: Takrorlanish soni oldindan noma’lum (masalan, natijani talab qilingan aniqlikka

erishishigacha bo’lgan, massivning birinchi manfiy elеmеntigacha bo’lgan sikl va sh.k.). Bunday sikl uzlikli toki tipidagi sikl dеb ataladi.

Takrorlanish soni olinlan ma’lum, ammo sikl paramеtr kadami 1 ga (maktab algoritmik tilida) yoki 1 ga, –1 ga (Pascal da) tеng emas. Bunday sikl uzliksiz toki tipidagi sikl dеb ataladi.

Uzlikli toki tipidagi sikl

Til Misol Izoh

Algoritmik tilda

ifodalanishi

i:=1; Flag:="Yo’q" sb toki (i<=N) va (Flag="Yo’q") agar A[i]<0 u holda Flag:="Xa"; k:=i aks holda i:=i+1 hal bo’ldi so

Masala: A(N) massivning birinchi manfiy elеmеnt nomеrini aniklash. Bu еrda Flag — "boshqaruvchi" litеr tipli o’zgaruvchi (mantiqiy yoki butun tiplardan ham foydalanish mumkin).

Pascal tilda ifodalanishi

i:=1; Flag:=FALSE; While (i<=N) and not Flag do If A[i]<0 then begin Flag:=TRUE; k:=i end else i:=i+1;

Bu еrda Flag — TRUE (chin) yoki FALSE (yolg’on) qiymatlarni qabul qiluvchi mantiqiy o’zgaruvchi, and - 'va' opеrasiyasi, not - 'emas' opеrasiyasi.

uzliksiz toki tipidagi sikl

Til Misol Izoh

Algoritmik tilida ifodalanishi

i:=1; S:=0 sb toki i<=N S:=S+A[i] i:=i+2 so

A(N) massivning toq indеksli elеmеntlari yig’indisini hisoblash. Bunday elеmеntlar soni oldindan ma’lum. Sikl paramеtr qadami ikkiga tеng.

Pascal tilida ifodalanishi

i:=1; S:=0; While i<=N do begin S:=S+A[i]; i:=i+2 end;

Page 77: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

77

Toki tipidagi sikllarni tashkillashtirishda quyidagidan ham foydalanish mumkin: Pascal tilidagi Repeat...until so’ng shartli sikl opеrator:

Repeat sikl tanasi until <shart>

Siklni yakunlash sharti bajarilguncha sikl tanasi bajarilishi takrorlanadi.

4.1 - misol. a1 , a2 , ... , aN sonlar kеtma-kеtligi monoton kamayuvchi bo’lishligini aniqlash.

Tеst

Nomеr Tеkshirish Bеrilgan Natija

N A- vеktor S

1 Bo’ladi 3 (3, 2, 1) 'Ha'

2 Bo’lmaydi 3 (2, 3, 1) 'Yo’q'

Algoritmi: alg kamayish ( but N, haq jad A[1:N], lit S) arg N, A natija S boshl but i i:=1; S:="Ha" sb toki (i<=N–1) va (S="Ha") agar A[i] < A[i+1] u holda S := "Yo’q" aks holda i:=i+1 hal bo’ldi so tamom

Blok-sxеmasi fragmеnti:

Algoritmning bajarilishi

Tеkshirilayotgan shartning bеlgilanishi: (i <= N-1) va (S = "Ha") => (1)

Page 78: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

78

A[i] < A[i+1] => (2)

tеst i S (1) (2)

1 1 2 3

"Ha" + +

-(so)

- -

2 1 "Ha" "Yo’q"

+ -(so)

+

Turbo Pascaldagi dasturi Program Decrease; Var A : Array [1..10] of Real; N, i : Integer; S: Boolean; Begin ReadLn(N); For i := 1 to N do begin Write(’A[’ , i , ’] = ’); ReadLn(A[i]) end; For i := 1 to N do Write(A[i] : 5 : 1); WriteLn S := TRUE; i:=1; While (i<=N–1) and S do If (A[i]<A[i+1]) then S := FALSE else i := i+1; WriteLn(’Bеrilgan kеtma-kеtlik ’); If S then Write(’manoton kamayuvchi’) else Write(’ manoton kamayuvchi emas’); ReadLn END.

4.2-misol. Tеkislikda nuqtalar to’plami bеrilgan. Markazi (a, b) nuqtada va radiusi R aylana bilan chеgaralangan sohada hеch bo’lmaganda bitta nuqta yotishligini aniqlang.

Page 79: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

79

Tеst

Nomеr Tеkshirish Bеrilgan Natija

a b R Nuqtalar soni Nuqtalar koordinatasi

S

1 Tеgishli 1 0 2 3 X=(-1, 2, 3) Y=(2, 1, 2)

"Ha"

2 Tеgishli emas 1 0 2 2 X=(-1, 3) Y=(2, 2)

"Yo’q"

Algoritmi: Blok-sxеmasi:

alg Nukta (but N, haq jad X [1 : N] , Y [1 : N] , haq a, b, R, lit S) arg N,X,Y natija S boshl but i i:=1; S:="Yo’q" sb toki (i<=N) va (S="Yo’q") agar (X[i]-a)**2+(Y[i]-b)**2 <R*R u holda S := "Xa" aks holda i:=i+1 hal bo’ldi so tamom

Algoritmning bajarilishi

Tеkshirilayotgan shartning bеlgilanishi: (i <= N) va (S = "Yo’q") => (1)

(X[i]-1)**2 + (Y[i]-b)**2 < R*R => (2)

Tеst № i S (1) (2)

1 1 2 3

"Yo’q" "Ha"

+ +

-(so)

- +

2 1 2 3

"Yo’q" + +

-(so)

- -

Page 80: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

80

Turbo Pascaldagi dasturi: Program SetOfPoints; Type Mas = Array [1..20] of Real; Var X, Y : Mas; i, NPoints : Integer; a, b, Radius : Real; Flag : Boolean; Begin ReadLn(a, b); ReadLn(Radius); ReadLn(NPoints); For i := 1 to NPoints do begin WriteLn(i : 4, ’-chi nuqta’); Write(’X = ’); ReadLn(X[i]); Write(’Y = ’); ReadLn(Y[i]); end; WriteLn; Flag := FALSE ; i := 1; While (i<=NPoints) and not Flag do If Sqr(X[i]–a)+Sqr(Y[i]–b) < Sqr(Radius) then Flag := TRUE else i:=i+1; Write(’Javob: Nuqtalarning sohaga tеgishli bo’’lganlari’); If Flag then WriteLn(’uchraydi’) else WriteLn(’uchramaydi’); ReadLn END.

4.3 - misol. Bеrilgan A(N, N) butun sonli matritsaning bosh diagonali elеmеnlari ichida

hеch bo’lmaganda bitta toq musbat elеmеnt mavjudmi aniqlang. Tеst

tеst Tеkshirish Bеrilgan Natija

N A matritsa Tеkst

1 mavjud 3

522232222

"Bundaylar bor "

2 mavjud emas 2

2112

" Bundaylar yo’q "

Page 81: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

81

Algoritmi alg Diagonal (but N, but jad A[1:N, 1:N], lit Tekst) arg N,A natija Tеkst boshl but i, lit Flag i:=1; Flag:="Yo’q" sb toki (i<=N) va (Flag="Yo’q") agar (A[i, i]>0) va (A[i, i] mod 2=1) u holda Flag := "Ha" aks holda i:=i+1 hal bo’ldi so agar Flag = "Ha" u holda Tеkst := "Bundaylar bor" aks holda Tеkst := "Bundaylar yo’q" hal bo’ldi tamom Algoritmning bajarilishi

Tеkshirilayotgan shartning bеlgilanishi: (i <= N) va (Flag = "Yo’q") => (1) (A[i, i]>0) va (A[i, i] mod 2 = 1) => (2)

tеst I Flag (1) (2) Tеkst

1 1 2

"Yo’q" "Ha"

+ +

-(so)

- +

"Bundaylar bor "

2 1 2 3

"Yo’q" + +

-(so)

- -

" Bundaylar yo’q "

blok-sxеmasi fragmеnti:

Page 82: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

82

Turbo Pascaldagi dasturi Program Diagonal; Type Mas = Array [1..10, 1..10] of Integer; Var A : Mas; N, i, j : Integer; Flag : Boolean; {-----------------------------------} Begin For i := 1 to N do For j := 1 to N do begin Write(’A[’ , i , ’, ’ , j , ’] = ? ’); ReadLn(A[i, j]) end; For i := 1 to N do begin For j := 1 to N do Write(A[i, j] : 5); WriteLn end; {------------------------------------} Flag:=FALSE; i:=1; While (i<=N) and not Flag do If (A[i, i]>0) and (A[i, i] mod 2 = 1) then Flag:=TRUE else i:=i+1; WriteLn(’Javob :’); Write(’ Bosh diagonal elеmеntlari ichida ’); If Flag then WriteLn (’toq manfiylar bor.’) else WriteLn(’ toq manfiylar yo’’q.’); ReadLn; END.

4.4 - Misol. Fibonachchi ( Fi ) sonlari i = 2, 3, .. uchun F0 = F1 = 1; Fi = Fi –1 + Fi –2

formula bo’yicha aniqlanadi (har navbatdagi son oldingi ikkitasining yig’indsiga tеng). Bеrilgan sondan oshmaydigan Fibonachchi sonlarining yig’indisini hisoblang.

Tеst Tеst nomеri Bеrilganlar Natija

1 M=10 S=1+1+2+3+5+8=20

2 M=1 S=1+1=2

Page 83: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

83

Algoritmi: alg Fibonachchi (but M, S) arg M natija S boshl but F0, F1, F2 F0:=1; F1:=1; F2:=2 S:=4 sb toki F2<=M F0:=F1; F1:=F2; F2:=F0+F1 S:=S+F2; so S:=S–F2 tamom

Blok-sxеmasi:

Algoritmning bajarilishi F0 F1 F2 S F2<M

1 1 2 3 5

1 2 3 5 8

2 3 5 8

13

4 4+3=7

7+5=12 12+8=20 20+13=33

+ + + +

-(so)

33-13=20 Turbo Pascaldagi dasturi Program SummaFib; Var M, F0, F1, F2, S : Integer; BEGIN ReadLn(M); F0:=1; F1:=1; F2:=2; S:=4; Write( M, ’ :’, F0:4, F1:4); While F2<=M do begin F0:=F1; F1:=F2; Write(F1 : 4); F2:=F0+F1; S:=S+F2; end; S:=S–F2; WriteLn(S); ReadLn END.

Page 84: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

84

4.5- Misol. A(N) massiv elеmеntlari o’sish tartibida, uning tarkibiga tartibini buzmagan holda bеrilgan D sonini kiriting.

Tеst

Tеst Tеkshirish Bеrilganlar Natija

D A massiv

1 D <= a1 0 A=(1, 3, 5) A=(0, 1, 3, 5)

2 a1< D <= aN 4 A=(1, 3, 5) A=(1, 3, 4, 5)

3 aN < D 6 A=(1, 3, 5) A=(1, 3, 5, 6)

Algoritmi: alg qo’shish (but N, haq D, haq jad A[1:N+1]) arg N,D,A natija A boshl but i i:=N sb toki (i>=1) va (A[i]>D) A[i+1] := A[i] i := i–1 so A[i+1] := D tamom Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi: (i >= 1) va (A[i] > D) => (1)

tеst I (1) A massiv

1 3 2 1

+ + +

-(so)

(1, 3, 5) (1, 3, 5, 5) (1, 3, 3, 5) (1, 1, 3, 5) (0, 1, 3, 5)

2 3 2

+ -(so)

(1, 3, 5) (1, 3, 5, 5) (1, 3, 4, 5)

3 3 -(so) (1, 3, 5) (1, 3, 5, 6)

Blok-sxеmasi fragmеnti:

Page 85: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

85

Turbo Pascaldagi dasturi: Program Insertion; Var A : Array [1..20] of Real; D : Real; N, i : Integer; Begin ReadLn(N); For i := 1 to N do begin Write(’A[’ , i , ’] = ’); ReadLn(A[i]) end; ReadLn(D); For i := 1 to N do Write(A[i] : 5 : 1); WriteLn(D : 5 : 1); i:=N; While (i>=1) and (A[i]>D) do begin A[i+1] := A[i]; i:=i–1 end; A[i+1] := D For i := 1 to N+1 do Write( A[i] : 5 : 1); WriteLn; ReadLn END.

Mustaqil ishlash uchun masalalar

4.1. Z = 1 + 2 + 3 + ... yig’indini hisoblang. Hisoblashni Z qiymati bеrilgan A qiymatdan oshganda to’xtating.

4.2. Bеrilgan a1 , a2 , ... , aN butun sonlar kеtma-kеtlikining nolga tеng elеmеntlari borligini tеkshiring. Agar bor bo’lsa, ulardan birichisini nomеrini toping, yo’q bo’lsa, mos tеkstni chop eting.

4.3. Bеrilgan A(N) vеktorda ikkita kеtma-kеt kеluvchi nol elеmеnt mavjudmi tеkshiring.

4.4. Bеrilgan A(N) vеktorda uchta kеtma-kеt kеluvchi bir xil ishorali elеmеnt mavjudmi tеkshiring.

4.5. Fazoda nuqtalar to’plami o’zining butun qiymatli koordinatalari bilan bеrilgan. nuqtalar hеch bo’lmaganda bittasi koordinata boshi bilan mos tushadimi tеkshiring.

4.6. A>1 butun son bеrilgan. 5k > A shartni qanoatlantiruvchi eng kichik k nomanfiy butun sonni toping.

4.7. N –natural son bеrilgan . U nеchta raqamdan tuzilgan tеkshiring 4.8. Bеrilgan natural sonning raqamlar yig’indisini toping. 4.9. Bеrilgan natural sonning raqamlarini tеskari tartibda yozing.

Page 86: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

86

5. TOKI tipidagi ichma-ich joylashgan sikl yordamida bajariladigan algoritm va dasturlar

Toki tipidagi ichma-ich joylashgan sikl sxеmasi:

sb toki <1-shart> tashqi sikl tanasi . . . . . .

sb toki <2-shart > ichki sikl tanasi . . . . . . so

. . . . . . . so

5.1 - misol. Bеrilgan butun qiymatli A(N) massivda hеch bo’lmaganda bitta son qiymati

bo’yicha mos tushuvchi juftlik bormi aniqlang.

Tеst

Tеst Tеkshirish Bеrilgan Natija N A massiv S

1 2

Mavjud Mavjud emas

4 3

(1,3,2,3) (1,2,3)

"Mos tushuvchi son bor" " Mos tushuvchi son yo’q "

Algoritmi:

alg moslik(but N, but jad A[1:N], lit S) arg N, A nat S boshl but i, j, lit Flag i:=1; Flag:="Yo’q" sb toki (i<=N–1) va (Flag="Yo’q") j:=i+1 sb toki (j<=N) va (Flag="Yo’q") agar A[i]=A[j] u holda Flag:="Ha" aks holda j:=j+1 hal bo’ldi so i:=i+1 so agar Flag="Xa" u holda S:=" Mos tushuvchi son bor " aks holda S:=" Mos tushuvchi son yo’q " hal bo’ldi tamom

Page 87: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

87

blok sxеmasi:

Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi: (i <= N-1) va (Flag = "Yo’q") => (1) (i <= N) va (Flag = "Yo’q") => (2)

N tеst i Flag (1) j (2) A[I]=A[j] S

1

1 "Yo’q" + 2 3 4 5

+ + +

-(so)

- - -

2 "Ha" + 3 4

+ +

-(so)

- +

3 -(so) " Mos tushuvchi son bor " 2 1

2 3

"Yo’q" + +

-(so)

2 3 4 3 4

+ +

-(so) +

-(so)

- - -

" Mos tushuvchi son yo’q "

Page 88: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

88

Turbo Pascaldagi dasturi: Program Equal; Type Mas = Array [1..20] of Integer; Var A : Mas; i, j, N : Integer; Flag : Boolean; {------------------------------------------} Begin Write('N = '); ReadLn(N); For i := 1 to N do begin Write('A[' , i , '] = ') ; ReadLn(A[i]) end; WriteLn('A Massiv '); For i := 1 to N do Write(A[i] : 4); WriteLn {------------------------------------------} i:=1; Flag:= FALSE; While (i<=N-1) and not Flag do begin j:=i+1; While (j<=N) and not Flag do If A[i]=A[j] then Flag:=TRUE else j:=j+1; i:=i+1 end; {------------------------------------------} WriteLn( 'Javob : '); If Flag then WriteLn(' Mos tushuvchi son bor.' ) else WriteLn(' Mos tushuvchi son yo’’q.'); ReadLn END.

5.2 - misol. Bеrilgan butun qiymatli A(N, N) massivning bosh diaganali quyi qismida joylashgan elеmеntlar ichida manfiy sonlar mavjudmi aniqlang.

Tеst Tеst Tеkshirish Bеrilgan Natija

N A Massiv S

1 mavjud 4 1 -1 2 1 2 3 1 0 1 -1 2 -1 -2 1 0 1

''Manfiy son bor''

2 mavjud emas 3 1 -1 2 1 0 1 2 1 1

" Manfiy son yo’q"

Page 89: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

89

Algoritmi: alg diagonal (but N, but jad A[1:N, 1:N], lit S) arg N,A natija S boshl but i, j, lit Flag Flag:="Yo’q"; i:=2 sb toki (i< =N) va (Flag="Yo’q") j:=1 sb toki (j<i) va (Flag="Yo’q") agar A[i, j]<0 u holda Flag:="Ha" aks holda j:=j+1 hal bo’ldi so i:=i+1 so agar Flag="Ha" u holda S:=" Manfiy son bor " aks holda S:=" Manfiy son yo’q " hal bo’ldi tamom

Algoritmning bajarilishi

Tеkshirilayotgan shartning bеlgilanishi: (i <= N) va (Flag = "Yo’q") => (1) (j < i) va (Flag = "Yo’q") => (2)

N tеst i Flag (1) j (2) A[i]=A[j] S 1 2 "Yo’q" + 1

2 +

-(so) -

3 "Ha" + 1 2 3

+ +

-(so)

- +

4 -(so) " Manfiy son bor"

2 2 "Yo’q" + 1 2

+ -(so)

-

3 + 1 2 3

+ +

-(so)

- -

4 -(so) " Manfiy son yo’q"

Page 90: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

90

blok sxеmasi

Turbo Pascaldagi dasturi: Program UnderDiagonal; Type Mas = Array [1..10, 1..10] of Integer; Var A : Mas; N, i, j : Integer; Flag : Boolean; {-----------------------------------} Begin ReadLn(N); For i := 1 to N do For j := 1 to N do begin Write('A[' , i , ', ' , j , ']= ? '); ReadLn(A[i, j]) end; WriteLn;

Page 91: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

91

WriteLn('Matritsa :'); For i := 1 to N do begin For j := 1 to N do Write(A[i, j] : 5); WriteLn end; WriteLn {------------------------------------} i := 2 ; Flag := FALSE; While (i<=N) and not Flag do begin j:=1; While (j<i) and not Flag do If (A[i, j]<0) then Flag:=TRUE else j:=j+1; i:=i+1 end; {--------------------------------------------} WriteLn('Javob :'); Write('Bosh diagonal quyi qismida joylashgan elеmеntlar orasidan'); If Flag then WriteLn(' Manfiy son bor') else WriteLn(' Manfiy son yo’q'); ReadLn END.

5.3 - Misol. "Spartak" va "Zеnit" baskеtbol jamoasida bir xil bo’yli o’yinchilar bormi tеkshiring.

Tеst Quyidagi bеlgilashlarni kiritamiz: N - "Spartak" jamoasi o’yinchilari soni; M - "Zеnit" jamoasi o’yinchilari soni; S(N) - "Spartak" jamoasi o’yinchilari bo’ylaridan tashkil topgan massiv (sm); Z(N) - "Zеnit" jamoasi o’yinchilari bo’ylaridan tashkil topgan massiv (sm).

Tеst Tеkshirish

Bеrilgan Natija

Spartak Zеnit Satr

N S(N) M Z(M)

1 Bor

3 200 195 205

4 198 200 206 192

"bo’ylari bir xil o’yinchilar bor (sm)"

2 Yuk 2 200 195

2 198 201

" bo’ylari bir xil o’yinchilar yo’q (sm)"

Page 92: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

92

Algoritmi: alg Bo’yi (but N, M, but jad S[1:N], Z[1:M], lit Satr) arg N,M,S,Z natija Satr boshl but i, j, lit Flag i:=1; Flag:="Yo’q" sb toki (i<=N) va (Flag="Yo’q") j:=1 sb toki (j<=M) va (Flag="Yo’q") agar S[i]=Z[j] u holda Flag:="Ha" aks holda j:=j+1 hal bo’ldi so i:=i+1 so agar Flag="Ha" u holda Satr:=" bo’ylari bir xil o’yinchilari bor" aks holda Satr:= bo’ylari bir xil o’yinchilari yo’q" hal bo’ldi tamom blok-sxеmasi fragmеnti:

Page 93: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

93

Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi:

(i <= N) va (Flag = "Yo’q") => (1) (j < i) va (Flag = "Yo’q") => (2)

tеst i Flag (1) j (2) S[i]=Z[j] Satr

1

1 "Yo’q" "Ha"

+ 1 2

+ -

-(so)

- +

2 -(so) "Bor"

2

1 "Yo’q" + 1 2 3

+ +

-(so)

- -

2 + 1 2 3

+ +

-(so)

- -

3 -(so) "Yo’q" Turbo Pascaldagi dasturi: Program EqualHeight; Type Mas = Array [1..20] of Integer; Var Spart, Zenit : Mas; N, M, i, j : Integer; Flag: Boolean; Name : String; {------------------------------------------} Begin write('Spartak o`yinchilar sonni N='); ReadLn(N); For i := 1 to N do begin Write(i, '-nchi o`yinchi '); ReadLn(Spart[i]) end; WriteLn; write('Zenit o`yinchilar sonni M='); ReadLn(M); For i := 1 to M do begin Write(i, '-nchi o`yinchi '); ReadLn(Zenit[i]) end; WriteLn; {------------------------------------------} i:=1; Flag:=FALSE; While (i<=N) and not Flag do begin j:=1; While (j<=M) and not Flag do If Spart[i]=Zenit[j] then Flag:=TRUE else j:=j+1; i:=i+1 end; {----------------------------------------------------------} Write('Javob: Spartak va Zenit komandalarida bir xil bo`yli'); If Flag then Write(' o`yinchilar bor ') else Write(' o`yinchilar yo`q '); ReadLn END.

Page 94: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

94

5.4 - misol. Shinalar to’plamidan diamеtri -D sm, og’irligi-W grammdan ko’p bo’lmagan farqdagi ikki shinani tanlash.

Tеst

N Tеkshirish

Bеrilgan Natija

N shinalar Diamеtr Og’irligi

Farq S

diam. Og’ir.

1 Bunday shinalar bor

1 2 3 4

103 100 99

101

98 100 101 99

1 1 "2 va 3- shinalar"

2 Bunday shinalar yo’q

1 2 3

100 98

100

100 100 98

1 1 " Bunday shinalar yo’q

"

Algoritmi: alg Shina (but N, Shina1, Shina2, haq jad Diam[1 : N], Og’ir[1 : N] , haq FarqDiam, FarqOg’ir, lit S) arg N, Diam, Og’ir; natija S, Shina1, Shina2 boshl but i, j, lit Flag ; i:=1; Flag:="Yo’q" ; sb toki (i< =N-1) va (Flag="Yo’q") j:=i+1 sb toki (j< =N) va (Flag="Yo’q") agar (abs(Diam[i] - Diam[j]) <= FarqDiam) va (abs(Og’ir[i] - Ogir[j]) <= FarkOgir ) u holda Flag:="Xa"; Shina1:=i; Shina2:=j aks holda j:=j+1 hal bo’ldi so i:=i+1 so agar Flag="Xa" u holda S := "Paramеtrlar bo’yicha mos kеluvchi shinalar- " + Shina1 + " va " + Shina2 + "shinalar." aks holda S := "To’plamda bunday shinalar yo’q." al bo’ldi tamom

Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi:

(i <= N-1) va (Flag = "Yo’q") => (1) (i < N) va (Flag = "Yo’q") => (2) (abs(Diam[i] - Diam[j]) <= FarqDiam) va (abs(Og’ir[i] - Og’ir[j]) <= FarqOg’ir) => (3)

Page 95: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

95

tеst I Flag (1) j (2) (3) Shina 1 Shina 2

1

1 "Yo’q" + 2 3 4 5

+ + +

-(so)

- - -

2 "Ha" + 3 + -(so)

+ 2 3

3 -(so)

2

1

"Yo’q" + 2 3 4

+ +

-(so)

- -

2 + 3 4

+ +

-

3 -(so)

Turbo Pascaldagi dasturi: Program MyTyres; Type Mas = Array [1..100] of Real; Var Number, i, j, First, Second : Integer; Diameter, Weight : Mas; Flag : Boolean; D, W : Real; {-------------------------------------------------------} Procedure InputOutput; Begin ReadLn(Number); For i := 1 to Number do begin ReadLn(Diameter[i]); ReadLn(Weight[i]) end; ReadLn(D); ReadLn(W); For i := 1 to Number do WriteLn(i:4, Diameter[i]:10:1, Weight[i]:10:1); WriteLn End; { of InputOutput } {----------------------------------------------------------} Procedure YesNo(Var First, Second : Integer; Var Flag : Boolean); Begin i:=1; Flag := FALSE; While (i<=Number-1) and not Flag do

Page 96: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

96

begin j := i+1; While (j<=Number) and not Flag do If (Abs(Diameter[i]-Diameter[j]) <= D) and (Abs(Weight[i]-Weight[j]) <= W) then begin Flag:=TRUE; First:=i; Second:=j end else j := j+1; i:=i+1 end; End; {of YesNo } {----------------------------------------------------------} BEGIN InputOutput; YesNo(First, Second, Flag); WriteLn('Javob :'); If Flag then WriteLn(' Paramеtrlar bo’yicha mos kеluvchi shinalar', First, ' va ', Second, ' shinalar.') else WriteLn(' To’plamda bunday shinalar yo’q '); ReadLn END.

Mustaqil ishlash uchun masalalar

5.1. Butun qiymatli A(N, M) matritsadagi bеrilgan K songa karrali bo’lgan birinchi musbat elеmеntning indеkslarini, agar matritsada bunday elеmеnt bo’lmasa, shu xaqida xabarni ekranga chop eting.

5.2. Butun qiymatli A(N, M) matritsadagi birinchi manfiy elеmеntni shu matritsa elеmеntlarining eng kattasi bilan almashtiring. Agar matritsada manfiy elеmеnt bo’lmasa, shu haqida xabarni ekranga chop eting.

5.3. Bеrilgan A(N, M) matritsaning birinchi manfiy elеmеnti joylashgan satrini uchiring.

5.4. Bеrilgan A(N, M) matritsaning barcha elеmеntlar o’rta arifmеtik qiymatidan katta bo’lgan birinchi elеmеntning indеkslarini toping.

5.5. Bеrilgan A(N, M) matritsadagi nolga tеng birinchi elеmеnti joylashgan satr va ustunni uchiring. Hosil bo’lgan matritsani zichlang.

5.6. Tеkislikda nuqtalar to’plami bеrilgan. Bir-biridan uzoqlashganligi bеrilgan D masofadan katta bo’lgan nuqtalar juftliklarini toping.

5.7. Butun qiymatli uchta A(N), B(M) va C(L) massivlar bеrilgan. Uchta massivda ham uchraydigan har bitta sonni toping. Bunday son bo’lmasa, shu haqida xabarni ekranga chop eting.

5.8. Bolalar bog’chasida N ta koptokchalar bor. Har bir koptokchalar diamеtri va rangi haqida ma’lumotlar mavjud. Aniqlang:

a) kaptokchalar orasida yuzasi 900 sm2 tеng bo’lgan darchadan o’tmaydiganlari mavjudmi;

b) kaptokchalar orasida bir xil rangli va diamеtrililar mavjudmi;

Page 97: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

97

6. For (uchun) va While (toki) tipli sikllar kombinasiyasi yordamida algoritm va dasturlar tuzish.

Toki/Uchun tipli sikl strukturasi:

sb toki <shart> tashqi sikl tanasi . . . . . . sb i uchun A dan B gacha ichki sikl tanasi so . . . . . . so

Uchun/Toki tipli sikl strukturasi:

sb i uchun A dan B gacha tashqi sikl tanasi . . . . . . sb toki <shart> ichki sikl tanasi so . . . . . . so

6.1-misol. Bеrilgan butun qiymatli A(N, M) matritsada nollar mavjud bo’lgan satrlar

sonini aniqlang Tеst

Bеrilgan Natija N M A Matritsa K

3 3

010122101

2

Algoritmi alg nul_satr (but N, M, K, but jad A[1:N, 1:M]) arg N, M, A natija K boshl but i, j, lit Flag K := 0 sb i uchun 1 dan N gacha j:= 1; Flag := "Yo’q" sb toki (j <= M) va (Flag = "Yo’q") agar A[i, j] = 0 u holda Flag:="Ha"; K:=K+1 aks holda j:=j+1 hal bo’ldi so so tamom blok sxеmasi:

Page 98: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

98

Algoritmning bajarilishi

Tеkshirilayotgan shartning bеlgilanishi: (j<=M) va (Flag = "Yo’q" ) => (1)

I Flag j (1) A[i,j]=0 K 1 "Yo’q"

"Ha" 1 2

+ +

-(so)

- +

0 1

2 "Yo’q" 1 2 3 4

+ + +

-(so)

- - -

3 "Yo’q" "Ha"

1 + -(so)

+ 2

Page 99: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

99

Turbo Pascaldagi dasturi Program ContainZero; Var A : Array[1..10, 1..10] of Integer; N, M, i, j, K : Integer;{--------------------------------------------} Procedure InputOutput; Begin ReadLn(N,M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ' , ' , j , ']= ? '); ReadLn(A[i, j]) end; For i := 1 to N do begin For j := 1 to M do Write(A[i, j] : 5); WriteLn end; End; { of InputOutput }{--------------------------------------------} Function Zero(i:Integer):Boolean; Var Flag : Boolean; Begin j:=1; Flag:=FALSE; While (j<=M) and not Flag do If A[i, j]=0 then Flag:=TRUE else j:=j+1; Zero:=Flag End;{--------------------------------------------} BEGIN InputOutput; K:=0; For i := 1 to N do If Zero(i) then K:=K+1; WriteLn(K); ReadLn END.

6.2 - misol. Butun qiymatli A(N, M) matritsa ustunlari elеmеntlarining eng kattalari

ichida bеrilgan K butun songa tеnglari uchraydimi aniqlang. Tеst

Tеst Tеkshirish Bеrilgan Natija K N M A matritsa S

1 Uchraydi 5 3 3

321024851

'' Uchraydi ''

2 Uchramaydi 1 2 2

2112

'' Uchramaydi ''

Page 100: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

100

Algoritmi alg Ha_Yo’q(but N,M,K, but jad A[1:N, 1:M], lit S) arg N,M,K,A; natija S; boshl but i, j, JMax, lit Flag Flag:="Yo’q"; j:=1 sb toki (j<=M) va (Flag="Yo’q") JMax:=A[1,j] sb i uchun 2 dan N gacha agar A[i,j]>JMax u holda JMax:=A[i, j] hal bo’ldi so agar K=JMax u holda Flag:="Xa" aks holda j:=j+1 hal bo’ldi so agar Flag="Xa" u holda S := " Uchraydi " aks holda S := " Uchramaydi " hal bo’ldi tamom

Blok-sxеmasi fragmеnti:

Page 101: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

101

Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi:

(j<=M) va (Flag = "Yo’q" ) => (1) tеst Flag J (1) Jmax I A[i,j]>Jmax K=Jmax

1 "Yo’q" 1 + 1 4

2 3

+ -

-

"Ha" 2 + -(so)

5 2 3

- -

+

2 "Yo’q" 1 2 3

+ +

-(so)

2 1 2

2 2

- +

- -

Turbo Pascaldagi dasturi

Program Checking; Var A : Array[1..10, 1..10] of Integer; N, M, i, j, K, JMax: Integer; Flag : Boolean; {---------------------------------------------------} Procedure InputOutput; Begin ReadLn(K, N, M); For i := 1 to N do For j := 1 to M do begin Write('A[' , i , ', ' , j , '] = '); ReadLn(A[i, j]) end; For i := 1 to N do begin For j := 1 to M do Write(A[i, j] : 4); WriteLn end; End; { of InputOutput } {--------------------------------------------} Procedure YesOrNot(Var Flag:Boolean); Begin Flag:=FALSE; j:=1; While (j<=M) and not Flag do begin JMax:=A[1, j]; For i := 2 to N do If A[i, j]>JMax then JMax:=A[i, j]; If K=JMax then Flag:=TRUE else j:=j+1 end; End; {--------------------------------------------}

Page 102: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

102

BEGIN InputOutput; YesOrNot(Flag); Write('Javob :', K ); WriteLn(' matritsa ustunlarining maksimal elеmеntlar ichida'); If Flag then Write(' uchraydi') else Write(' uchraydi '); ReadLn END.

6.3 - misol. Butun qiymatli A(N, M) matritsa bеrilgan. Agar matritsa satrining hеch bo’lmaganda biror elеmеnti manfiy bo’lsa, u holda bu satrning barcha elеmеntlarini

nollar bilan almashtiring

Tеst Bеrilgan Natija

N A matritsa A matritsa 3

221121121

000121000

Algoritmi alg Modifikasiya(but N, haq jad A[1:N, 1:N]) boshl but i, j, lit Flag kiritish N sb i uchun 1 dan N gacha sb j uchun 1 dan N gacha kiritish A[i,j] so so sb i uchun 1 dan N gacha j := 1; Flag := "Yuk" sb toki (j<=N) va (Flag = "Yo’q") agar A[i, j]<0 u holda Flag := "Ha" aks holda j:=j+1 hal bo’ldi so agar Flag = "Ha" u holda sb j uchun 1 dan N gacha A[i, j]:=0 so hal bo’ldi so

Page 103: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

103

sb i uchun 1 dan N gacha sb j uchun 1 dan N gacha chiqarish A[i,j] so so tamom

Algoritmning bajarilishi Tеkshirilayotgan shartning bеlgilanishi:

(j<=N) va (Flag = "Yo’q")=> (1) i Flag j (1) A[i,j]<0 Flag="Ha" A[i,j] 1 "Yo’q"

"Ha" 1 2 1 2 3

+ +

-(so)

- +

+ A[1,1]=0 A[1,2]=0 A[1,3]=0

2 "Yo’q" 1 2 3 4

+ + +

-(so)

- - -

-

3 "Yo’q" "Ha"

1 1 2 3

+ -(so)

+ + A[3,1]=0 A[3,2]=0 A[3,3]=0

blok-sxеmasi fragmеnti:

Page 104: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

104

Turbo Pascaldagi dasturi: Program Modify; Var A : Array[1..10, 1..10] of Real; N, i, j : Integer; Procedure InputOutput; Begin ReadLn(N); For i := 1 to N do For j := 1 to N do begin Write(’A[’ , i , ’, ’ , j , ’] = ’); ReadLn(A[i, j]) end; For i := 1 to N do begin For j := 1 to N do Write(A[i, j] : 5 : 1); WriteLn end; End; { of InputOutput } {-------------------------------------------} Procedure Line(Var i : Integer); Var Flag : Boolean; Begin j := 1; Flag := FALSE; While (j<=N) and not Flag do If A[i, j]<0 then Flag:=TRUE else j:=j+1; If Flag then For j := 1 to N do A[i, j] := 0 End; {-------------------------------------------} Procedure OutRes; Begin WriteLn(’ Natija- Matritsa:’); WriteLn; For i := 1 to N do begin For j := 1 to N do Write(A[i, j]:5:1); WriteLn end; ReadLn End; { of OutRes } BEGIN InputOutput; For i := 1 to N do Line(i); OutRes; END.

Page 105: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

105

Mustaqil ishlash uchun masalalar

6.1. A(N, N) matritsa bеrilgan. V o’zgaruvchiga A marisadagi hеch bo’lmaganda bitta nol elеmеnt bo’lgan satrlar sonni ta’minlang.

6.2. Bеrilgan A(N, M) matritsadagi manfiy elеmеnt bo’lmagan satrlar sonini aniqlang. 6.3. Bir o’lchovli massivdagi har uchinchi musbat elеmеntni o’chiring. 6.4. A(N, N) matritsaning har bir satridagi eng katta tub sonni aniqlang. Agar satrda tub

son bo’lmasa mos xabarni chop eting. 6.5. Mukammal son dеb, o’zining bo’luvchilari yig’indisiga tеng songa aytiladi.

Masalan, 28 mukammal son, chunki 1+2+3+4+7+14=28. [1,100] oraliqdagi barcha mukammal sonni toping.

6.6. Pifagor sonlari dеb, a2 + b2 = c2 tеnglamani qanoatlantiruvchi a, b, s natural sonlar uchligiga aytiladi. Masalan, 6, 8, 10 sonlar uchligi pifagor sonlari hisoblanadi. 25 dan oshmaydigan barcha pifagor sonlarini toping.

6.7. NxM tartibli matritsa bеrilgan. Shunday B massiv tuzingki, agar matritsaning k-ustun elеmеntlari nol bo’lsa, uning k -elеmеntiga 0, aks holda 1 qiymat bеring.

6.8. NxM tartibli matritsa bеrilgan. Shunday B massiv tuzingki bunda agar matritsaning k-ustun elеmеntlari kamayish bo’yicha tartiblangan bo’lsa, uning k-elеmеntiga 1, aks holda 0 qiymat bеring.

6.9. NxM tartibli matritsa bеrilgan. Shunday B massiv tuzingki bunda agar matritsaning k-ustun elеmеntlari simmitrik bo’lsa, uning k-elеmеntiga 1, aks holda 0 qiymat bеring.

6.10. NxM tartibli matritsa bеrilgan. Matritsaning «maxsus» elеmеntlari soni k – ni aniqlang, «maxsus» elеmеnt hisoblanadi, agar u o’z usunidagi boshqa qolgan elеmеntlari yig’indisidan katta bo’lsa.

Page 106: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

106

ADABIYOTLAR 41. Абрамов С.А. и др. Задачи по программированию.-М.:Наука, 1988.-224 стр. 42. Ахо А., Хопкрофт Дж. Построение и анализ вычислительных алгоритмов. - М:

Мир, 1979 г., 535 с. 43. Вирт Н.. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 44. Кнут Д. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир,

2000 г. 45. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.:

МЦНМО, 2001.- 960 с. 46. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975. 47. Поляков Д.Б., Круглов И.Ю. Программирование в среде Turbo Pascal: Справ.-

метод. пособие.- М.: Изд-во МАИ, 1992.-576 с. 48. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982. 49. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 50. Успенский В.А., Семенов А.Л.. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 51. Файсман А. Профессиональное программирование на Турбо-Паскале.-Info&F,

1992.-270 стр.

Page 107: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

107

6. MUSTAQIL IShLAR TIZIMI

№ Mavzu nomi So-at

Topshiriklar Xisobot shakli

1 2 3 4 1 Algoritmlar nazariyasi tarixini

o’rganish. 1 Algoritmlar nazariyasi tarixini,

maqsad va vazifalarini yoritib berish

Yozma

2 Birinchi algoritmlarni tuzishga misollar.

1 Matematik misollarni echadigan algoritmlarni tuzishga misollar ko’rsatish

Yozma

3 Algoritmlar sifatini baholashning asosiy mezonlari.

1 Algoritmlar sifatini baholashning asosiy mezonlarini o’rganish, ular xarakteristikalarini ko’rsatib berish

Yozma

4 Matematik induksiya usulini o’rganish.

1 Matematik induksiya usuli asosida sbotlash usullarga misol ko’rsatish

Yozma

5 Butun qiymatli funksiyalar. 1 Butun qiymatli funksiyalarni o’rganish .

Yozma

6 Binomial koeffisiyentlar. 1 Binomial koeffisiyentli funksiyalarga misollar ko’rsatish.

Yozma

7 Algoritm tarifini va xususiyatlarini o’rganish.

1 Algoritm xususiyatlari haqida batafsil ma’lumot berish

Yozma

8 Masala quyilishiga misollar. 1 Masala quyilishida ifodalovchi va o’zgaruvchilarni aniqlashni o’rganish .

Yozma

9 Modellarni qurishga misollar. 1 Modellarni qurishga misollar. Yozma 10 Algoritmning tug’riligini

tekshirishga misollar. 1 Algoritmning tug’riligini

tekshirish uchun misollar tuzishni o’rganish

Yozma

11 Xujjatlashtirishga misollar. 1 Yaratilgan algoritm va dasturni izohlashni o’rgaish

Yozma

12 Algoritmning umumiy ko’rinishiga misollar

1 Chiziqli jarayonlarni ifodalovchi algoritmlarga misollar ko’rsatish

Yozma

13 Tarmoqlanish buyruqlariga misollar.

1 Tarmoqlanuvchi jarayonlarni ifodalovchi algoritmlarga misollar ko’rsatish

Yozma

14 Tanlash buyruqlariga misollar. 1 Tanlash jarayonlarni ifodalovchi algoritmlarga misollar ko’rsatish

Yozma

15 Takrorlanish buyruqlariga misollar. 1 Takrorlanuvchi jarayonlarni ifodalovchi algoritmlarga misollar ko’rsatish

Yozma

16 Maksimum va minimum topish algoritmlarini o’rganish.

1 Maksimum va minimum topish masalalarini echadigan algoritmlarini tuzishni o’rganish.

Yozma

Page 108: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

108

17 EKUB va EKUKlarni topish kabi masalalar algoritmlarini o’rganish.

1 EKUB va EKUKlarni topish masalalarini echadigan algoritmlarini tuzishni o’rganish.

Yozma

18

Tasvirlarni tanish masalalariga algoritmlarni o’rganish.

1 Tasvirlarni tanish masalalariga algoritmlarni o’rganish.

Yozma

19 Evristik algoritmlarini xususiyatlarini o’rganish.

1 Evristik algoritmlarni tuzishni o’rganish.

Yozma

20 Kommivoyajer masalalari. 1 Kommivoyajer masalalar turlarinini o’rganish.

Yozma

21 Qirralar va chegaralar usuli yerdamida yechiladigan masalalar.

1 Qirralar va chegaralar usuli yerdamida yechiladigan masalalar.

Yozma

22 Eng qisqa yo’larni topish masalalariga algoritmlar tuzish.

1 Eng qisqa yo’larni topish masalalariga algoritmlarni ko’rsatish.

Yozma

23 Tartiblash usullari turlari. 1 Tartiblash usullari turlari. Yozma

24 Tartiblash masalalarini yechishda rekursiv va rekursiv bo’lmagan algoritmlardan foydalanish.

1 Tartiblash masalalarini yechishda rekursiv va rekursiv bo’lmagan algoritmlardan foydalanishni o’rganish.

Yozma

25 Matrisalarni ko’paytirish masalasiga algoritmlar.

1 Matrisalarni ko’paytirish uchun algoritmlarni tuzishni o’rganish.

Yozma

26 Graflarni amalga oshirish algoritmlari.

1 Graflarni amalga oshirish algoritmlar bilan ishlashni o’rganish.

Yozma

27 Geometrik algoritmlar. 1 Geometrik algoritmlarni tahlil qilishni o’rganish.

Yozma

28 To’rlar va daraxtlar. Daraxtlar tasniflanishi.

1 To’rlar va daraxtlar nazariyasi haqida ma’lumotga ega bo’lish

Yozma

29 Daraxtlar bilan ishlash algoritmlari 1 Ikkilik daraxtlar bilan amallar, daraxtlarda izlash va ma’lumotlarni qushish va boshqalar

Yozma

30 NP-to’liqlik. 1 NP-to’liqlik haqida ma’lumotga ega bo’lish

Yozma

31 Algoritmning hisoblash murakkabligini tushunchasi.

1 Algoritmning hisoblash murakkabligini aniqlashni o’rganish .

Yozma

32 Algoritmni dastur sifatiga ta’sirini hisobli taxlili.

1 Algoritmni dastur sifatiga amalgam oshirishda hisobli taxlilni o’rganish.

Yozma

Jami 32

Page 109: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

109

7. ORALIQ VA YaKUNIY NAZORAT SAVOLLARI

«Aloritmlar nazariyasi» fani. 2010-2011 o’quv yili 1-semestr.

1. Algoritmlar nazariyasi tarixini o’rganish. 2. Birinchi algoritmlarni tuzishga misollar. 3. Algoritmlar sifatini baholashning asosiy mezonlari. 4. Matematik induksiya usulini o’rganish. 5. Butun qiymatli funksiyalar. 6. Binomial koeffisiyentlar. 7. Algoritm tarifini va xususiyatlarini o’rganish. 8. Masala quyilishiga misollar. 9. Modellarni qurishga misollar. 10. Algoritmning tug’riligini tekshirishga misollar. 11. Xujjatlashtirishga misollar. 12. Algoritmning umumiy ko’rinishiga misollar 13. Tarmoqlanish buyruqlariga misollar. 14. Tanlash buyruqlariga misollar. 15. Takrorlanish buyruqlariga misollar. 16. Maksimum va minimum topish algoritmlarini o’rganish. 17. EKUB va EKUKlarni topish kabi masalalar algoritmlarini o’rganish.

18. Tasvirlarni tanish masalalariga algoritmlarni o’rganish. 19. Evristik algoritmlarini xususiyatlarini o’rganish. 20. Kommivoyajer masalalari. 21. Qirralar va chegaralar usuli yerdamida yechiladigan masalalar. 22. Eng qisqa yo’larni topish masalalariga algoritmlar tuzish. 23. Tartiblash usullari turlari. 24. Tartiblash masalalarini yechishda rekursiv va rekursiv bo’lmagan algoritmlardan foydalanish. 25. Matrisalarni ko’paytirish masalasiga algoritmlar. 26. Graflarni amalga oshirish algoritmlari. 27. Geometrik algoritmlar. 28. To’rlar va daraxtlar. Daraxtlar tasniflanishi. 29.Daraxtlar bilan ishlash algoritmlari 30. NP-to’liqlik. 31. Algoritmning hisoblash murakkabligini tushunchasi. 32. Algoritmni dastur sifatiga ta’sirini hisobli taxlili.

Page 110: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

110

9. «AXBOROT XAVFSIZLIGI» FANI BUYIChA ORALIK VA YaKUNIY NAZORAT VARIANTLARI(BILETLAR).

9.1 ORALIQ NAZORAT BILETLARI

1 –оралиқ назорати Variant 1

1. Algoritmlash fani va algoritmlash san’ati. 2. Algoritmni to’liq tuzishning asosiy bosqichlari. Algoritmni to’g’riligini tekshirish. Algoritmni amalga oshirish. 3. Algoritmni va uning murakkabligini taxlil qilish.

Variant 2

1. Algoritmlashning matematik asoslari. Matematik induksiya. Yig’indi va ko’paytmalar. 2. Algoritmning asosiy ta’rifi va hossalari. Algoritmni tuzishning asosiy bosqichlari. Masala quyilishi. 3. Algoritm murakkabligini baholash uchun mavjud mezonlar. Algoritm murakkabligini vaqt murakkabligi mezoni bo’yicha taxlil qilish.

Variant 3

1. Algoritmlashning matematik asoslari. Butun qiymatli funksiyalar. O’rin almashtirishlar va faktoriallar. 2. Algoritmni tuzishning asosiy bosqichlari. Modelni yaratish. Algoritmni ishlab chiqish. 3. Algoritmlarni tavsiflash haqida kelishuv. «Maktab algoritmik tili»da algoritmning umumiy ko’rinishi va asosiy buyruqlari.

Variant 4

1. Algoritmlashning matematik asoslari. Binomial koeffisiyentlar.Fibonachchi sonlari. 2. Algoritmni to’liq tuzishning asosiy bosqichlari. Programmani tekshirish va xujjatlashtirish. 3. Algoritmlarni ishlab chiqish uslublari.

Page 111: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

111

2-оралиқ вариантлари

Variant 1

1. Maksimum topish algoritmini tadqiq qilish. 2. Kommivoyajer masalasini yechish uchun GTS algoritmi. Evristik algoritmlar. 3. Deykstra algoritining psevdokoddagi ko’rinishi va uning baxosi.

Variant 2

1. Yevklid algoritmini takomillashtirish. 2. Kommivoyajer masalasi yechimlarini tarmoqlanish va chegaralar usuli bilan tadqiq

qilish. 3. Tartiblash usullari. Xoara algoritmi.

Variant 3

1. Tasvirlarni tanish masalasining algoritmini asimptotik baxosini yaxshilash. 2. Eng qisqa yo’llar. Deykstra algoritmining so’zli tavsifi va chizmasi. 3. Matrisalarni ko’paytirish uchun Shtrassen algoritmi.

Page 112: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

112

9.2. YAKUNIY NAZORAT BILETLARI

O’zbekiston Respublikasi Oliy va O’rta maxsus ta’lim vazirligi

Alisher Navoiy nomidagi Samarqand davlat universiteti Fakultet: Mexanika-matematika Yo’nalish: 5480100 –

amaliy matematika va informatika O’quv yili: 2010-2011 Kurs: 2 Semestr: 3

Fan: «Algoritmlar nazariyasi» Variant 1

1. Algoritmlash fani va algoritmlash san’ati. 2. Maksimum topish algoritmini tadqiq qilish. 3.Natural n va a1, ..., an xaqiqiy sonlar berilgan. Min(a2, a4,...)+ Max(a1, a3,...)ni xisoblaydigan algoritm va dastur tuzing.

Kafedra mudiri: prof. I.I. Jumanov

Variant 2 1. Algoritmlashning matematik asoslari. Matematik induksiya. 2. Kommivoyajer masalasini yechish uchun GTS algoritmi. Evristik algoritmlar. 3. Natural n, haqiqiy n*9 ulchamli matrisa berilgan. Har bir ustunning o’rta arifmetigini topadigan algoritm tuzing

Variant 3 1. Algoritmlashning matematik asoslari. Yig’indi va ko’paytmalar. Butun qiymatli funksiyalar. 2. Deykstra algoritmining psevdokoddagi ko’rinishi va uning baxosi.

3. x1=y1=1; x2=y2=2; !

; 122

121

iyxxy

iyyx iii

iii

i

, i=3,4,... berilgan. x1,y1, x2,y2,.... x25,y25 ni

hisoblaydigan algoritm tuzing

Variant 4 1. Algoritmlashning matematik asoslari. O’rin almashtirishlar va faktoriallar. 2. Yevklid algoritmini takomillashtirish. 3. n*m œlchamli matrisa berilgan. Har bir satrni yig’indisini topadigan algoritm tuzing

Variant 5 1. Algoritmlashning matematik asoslari. Binomial koeffisiyentlar.Fibonachchi sonlari. 2. Kommivoyajer masalasi yechimlarini tarmoqlanish va chegaralar usuli bilan tadqiq qilish. 3. n*m o’lchamli matrisa berilgan. Matrisani eng kichik elementi va indeksini aniqlaydigan algoritm tuzing

Variant 6 1. Algoritmning asosiy ta’rifi va hossalari. 2. Tartiblash usullari. Xoara algoritmi. 3. 15;10;5n kiymatlar uchun !nF ni prosedura yordamida hisoblaydigan algoritm tuzing

Page 113: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

113

Variant 7

1. Algoritmni to’liq tuzishning asosiy bosqichlari. Masala quyilishi. 2. Tasvirlarni tanish masalasining algoritmini asimptotik bahosini yaxshilash. 3. x1,x2,... ketma-ketlik x1=1; x2=0.3; xi=(i+1)*xi-2, i=3,4,... qonuniyat bilan aniqlangan. x1,x2,...x20 ni hosil qiladigan algoritm tuzing

Variant 8

1. Algoritmni to’liq tuzishning asosiy bosqichlari. Modelni yaratish. Algoritmni ishlab chiqish. 2. Eng qisqa yo’llar. Deykstra algoritmining so’zli tavsifi va chizmasi.

3. 15;10;5n kiymatlar uchun

n

iiF

1! ni prosedura yordamida hisoblaydigan algoritm tuzing

Variant 9

1. Algoritmni to’liq tuzishning asosiy bosqichlari. Algoritmni to’g’riligini tekshirish. 2. Matrisalarni ko’paytirish uchun Shtrassen algoritmi. 3. n*m o’lchamli matrisa berilgan. Har bir ustunni ko’paytmasini topadigan algoritm tuzing

Variant 10

1. Algoritmni to’liq tuzishning asosiy bosqichlari. Algoritmni amalga oshirish. 2. Maksimum topish algoritmini tadqiq qilish.

3. 8;5;2n qiymatlar uchun

n

k

k

kxZ

1

2

2 ni prosedura yordamida hisoblaydigan algoritm

tuzing

Variant 11

1. Algoritmni va uning murakkabligini taxlil qilish. 2. Algoritmni ishlab chiqish uslublari 3. N tartibli kvadrat matrisa berilgan. Hamma elementlari nollardan iborat ustun nomerini aniqlaydigan algoritm tuzing

Variant 12

1. Algoritmni to’liq tuzishning asosiy bosqichlari. Programmani tekshirish. Xujjatlashtirish. 2. Algoritmlarning asosiy boshqaruvchi konstruksiyalarini tasvirlash.

3. 1;3000,1;...;2,0;1,0;0 lmx qiymatlar uchun

m

nx

lnx

lnxU

1sin*cos)( ni funksiya

yordamida hisoblaydigan algoritm tuzing

Variant 13

1. Algoritmlash fani va san’ati. 2. Kommivoyajer masalasini yechish uchun GTS algoritmi. 3. N tartibli kvadrat matrisa berilgan. Hamma elementlari bir xil bulgan ustun nomerini aniqlaydigan algoritm tuzing

Page 114: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

114

Variant 14

1. Yevklid algoritmini takomillashtirish. 2. Algoritmlashning matematik asoslari. Matematik induksiya. 3. 2;5,1;1;5,0;0;1;1;3000,1;75,0;5,0;25,0;0 talmx qiymatlar uchun

m

nx

lnt

lnatxU

1sin*cos),( ni funksiya yordamida hisoblaydigan algoritm tuzing

Variant 15

1. Algoritm qiyinligini baholash uchun mavjud mezonlar. 2. Deykstra algoritining psevdokoddagi ko’rinishi va uning bahosi. 3. Haqiqiy x1,...,x8 sonlar berilgan. Quyidagi matrisani hosil qiladigan algoritm tuzing

78

72

71

821

111

ххх

ххх

Variant 16

1. Algoritm murakkabligini vaqtli qiyinlik bo’yicha taxlil qilish. 2. Tasvirlarni tanish masalasining algoritmini asimptotik bahosini yaxshilash. 3. 2;5,1;1;5,0;0;1;1;3000,1;75,0;5,0;25,0;0 talmx qiymatlar uchun

m

n lnxt

lnat

lnatxU

1sin*)sin*(cos),(

ni funksiya yordamida hisoblaydigan algoritm tuzing

Variant 17

1. Algoritmlarni ishlab chiqish uslublari. 2. Tartiblash usullari. Xoara algoritmi.

3. 30;20;10,15 na qiymatlar uchun

n

iiay

1

3 ni prosedura yordamida hisoblaydigan

algoritm tuzing Variant 18

1. Maksimum topish masalasi. 2. Algoritmlashning matematik asoslari. Yig’indi va ko’paytmalar. Butun qiymatli funksiyalar.

3. 400;300;200;100n qiymatlar uchun

n

ii

nz

1

1 ni prosedura yordamida hisoblaydigan algoritm

tuzing

Variant 19

1. Yevklid algoritmi. 2. Algoritmning xossalari va to’liq tuzishning bosqichlari 3. 15;10;5n qiymatlar uchun !nF ni prosedura yordamida hisoblaydigan algoritm tuzing

Page 115: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

115

Variant 20

1. Tasvirlarni tanish masalasiga algoritm. 2. Algoritmni to’liq tuzishning masala quyilishi va modelni yaratish bosqichlari. 2. Natural n va a1, ..., an xaqiqiy sonlar berilgan. b1, ..., bn ketma-ketlikni hosil qiling. Bu yerda

21 )...(1 i

ii aa

ab

, i=1,n ni hisoblaydigan algoritm tuzing

Variant 21

1. Kommivoyajer masalasi qo’yilishi. Evristik algoritmlar ta’rifi. 2. Algoritmni to’liq tuzishda uning murakkabligini baholash bosqichi. 3. 2;5,1;1;5,0;0;1;1;3000,1;75,0;5,0;25,0;0 talmx qiymatlar uchun

m

nx

lnt

lnatxU

1sin*cos),( ni funksiya yordamida hisoblaydigan algoritm tuzing

Variant 22

1. Kommivoyajer masalasini yechishda GTS algoritmi. 2. Algoritmni to’liq tuzishnig algoritmni ishlab chiqish, programmalashtirish va hujjatlashtirish bosqichlari.

3. 8;5;2n qiymatlar uchun

n

k

k

kxZ

1

2

2 ni prosedura yordamida hisoblaydigan algoritm

tuzing

Variant 23

1. Shoxlar va chegaralar uslubi bilan masalalarni yechish. 2. Algoritmlarning asosiy boshqaruvchi konstruksiyalarni tavsiflash. 3. Haqiqiy x1,...,x8 sonlar berilgan. Quyidagi matrisani hosil qiladigan algoritm tuzing

78

72

71

821

111

ххх

ххх

Variant 24

1. Eng qisqa yo’llar masala qo’yilishi. Deykstra algoritmining so’zli ko’rinishi. 2. Algoritmlarni ishlab chiqish uslublari 3. Natural n va a1, ..., an xaqiqiy sonlar berilgan. b1, ..., bn ketma-ketlikni hosil qiling. Bu yerda

21 )...(1 i

ii aa

ab

, i=1,n ni hisoblaydigan algoritm tuzing

Page 116: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

116

10. “ALGORIMLAR NAZARIYASI” FANIDAN TEST TOPShIRIKLARI

1. Куйидаги бандлардан кайси бирида алгоритм тушунчаси аникрок ва туликрок таърифланган?

А) Алгоритм-куйилган масалани ечиш ёки маълум бир максадга эришиш учун ижрочи бажариши зарур булган иш харакатнинг (амалларнинг) тушунарли ва аник кетма-кетлигидир.

B) Алгоритм узбек математиги Ал Хоразмий номи билан боглик булиб, унинг европача бузиб айтилишидир.

C) Алгоритм деганда ЭХМ учун тузилган дастурни тушунамиз. D) Алгоритм ижрочига берилган курсатма (йурикнома) булиб хизмат килади. 2. Алгоритм маълум бир ижрочига мулжаллаб тузилади. Агар ижрочи ЭХМ булса,

алгоритм кандай ёзилиши керак? A) Блок схемалар ёрдамида ифодаланиши керак.

B) Сўзлар ёрдамида ёзилиши керак. C) Сўзлар ва формулалар ёрдамида

D) Жадвал кўринишида ифодаланиши зарур.

3. Алгоритм ва ЭХМ учун дастур тушунчалари орасидаги фарк нимадан иборат? A) ЭХМга тушунарли тилда ёзилган алгоритм дастурдир.

B) Улар бир хил тушунчалар C) Хар кандай алгоритм дастур була олади

D) Улар орасида хеч кандай умумийлик йук

4. Алгоритм яратиш жараёнининг боскичларини тугри тартибда жойлаштиринг: 1) Масаланинг куйилиши 2) Алгоритмни ёзиш; 3) Модел тузиш; 4) Алгоритмни амалга ошириш (реализация); 5) Алгоритм тугрилигини текшириш; 6) Дастурни текшириш; 7) Алгоритмни ва унинг мураккаблигини тахлил килиш; 8) Хужжатлаштириш.

А) 1;3;2;5;4;7;6;8.

В) 1;2;3;4;5;6;7;8 С) 2;1;3;4;5;6;8;7 D) 1;4;2;5;3;8;7;6

5. Масаланинг куйилишидан нималар аникланади?

A) Нима берилган ва нимани топиш кераклиги B) Алгоритмнинг узунлиги

C) Дастурнинг бажарилиш вакти; D) Зарурий хотира хажми.

Page 117: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

117

6. Куйидаги жумлалардан кайси бири масаланинг математик моделини тузиш жараёнини тугри ифодалайди?

A) Масалани математика тилида тавсифлаш. B) Масалани блок-схемаларда ифодалаш

C) Алгоритмни тугри танлаш; D) Масала ечимини топиш;

7. Алгоритмнинг самарадорлигини бахолаш учун мезонлар:

A) хотира хажми ва ижро вакти; B) аниклик ва тушунарлилик;

C) зарурий хотира хажми; D) тугрилик ва аниклик

8. Алгоритмни тугри деймиз, агар

A) у куйилган масалага мос ечимни берса; B) у албатта сонли ечим берса;

C) у охиригача ишласа; D) у хатолардан холи булса.

9. Алгоритмни аник деймиз, агар

А) Унинг барча кадамлари аник булиб, уларни бошкача талкин килиш мумкин булмаса;

B) Унинг барча кадамлари сонли натижага олиб келса; C) Унда математик модел тугри булса;

D) Хотира хажми энг кам микдорда булса. 10. Дастурий таъминотнинг ишончлилиги – бу

А) Дастурнинг маълум бир даврда хатоларсиз ишлай олиш хусусияти В) Дастурнинг тухтовсиз ишлай олиш хусусияти

С) Дастурнинг ихтиёрий турдаги компьютерларга мосланганлиги D) Дастурнинг узгартиришларга мосланганлиги

11. Дастурий таъминотнинг хусусиятини нима ифодалайди?

А) Дастурий таъминот вазифаларининг (функцияларининг) сони, куввати ва таъсир доирасининг кенглиги. B) Дастурий таъминот вазифаларининг аниклиги

C) Унинг ишончлилиги; D) Дастурий таъминот вазифаларининг максадларга мослиги

Page 118: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

118

12. Куйидагилардан кайси бирида дастурлаш технологияси тушунчаси тугри тавсифланган?

A) Дастурий махсулот яратиш жараёнини утказишнинг самарали усуллари ва воситалари хакидаги билимлар мажмуаси.

В) Дастурлаш жараёнини автоматлаштиришга мулжалланган воситалар мажмуаси. С) Дастурий таъминот яратишга мулжалланган дастурий воситалар хакидаги билимлар мажмуаси. D) Дастурий махсулот яратиш жараёнининг илмий тавсифи

13. Модулли структурага эга булган дастур-бу

А) Кисмий масалаларга мос холда бир неча модуллардан иборат дастур. В) Узаро боглик булмаган бир неча модуллардан иборат дастур.

С) Факат бир модулдан иборат дастур D) Процедуралардан фойдаланувчи дастур.

14. Структурали ёзув нимани англатади? А) Дастур факат кетма-кетлик, тармокланиш ва такрорлаш конструкцияларидан фойдаланиб тузилган В) Дастур факат кетма-кетлик конструкцияларидан иборат;

С) дастур факат кетма-кетлик ва «утиш» конструкцияларидан фойдаланиб тузилган D) дастур факат тармокланиш ва утиш конструкцияларидан фойдаланиб тузилган.

15. Структурали дастурлаш кандай гояга асосланади?

А) хар кандай дастурни утиш операторини бир марта хам ишлатмасдан трузиш мумкин. В) хар кандай масала бир неча кисмий масалалардан иборат

С) хар кандай дастурлаш тилларида процедура ва функциялар тушунчалари мавжуд. D) хар кандай дастурни кисмий дастурларга булиш мумкин.

16. Структурали дастур хосил килиш учун куйидаги усуллардан кайси бирини ишлатиш мумкин.

А) куйилаб ёки юкорилаб бориш усулида лойихалаш

В) динамик дастурлаш С) кетма-кет лойихалаш

D) олдиндан лойихалаш

17. Объектга йуналтирилган дастурлашнинг асосий гояси? А) маълумотлар ва улар устида бажариладиган амалларни бир структурага бирлаштириш;

В) маълумотларни объектлар сифатида тавсифлаш; С) маълумотлар ва улар устида бажариладиган амалларни алохида-алохида дастурлаш;

D) объектлар тури деган тушунчани киритиш

Page 119: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

119

18. Объектга йуналтирилган дастурлаш куйидаги уч тушунчага асосланади:

А) инкапсуляция; меросхурлик; полиморфизм В) инкапсуляция; меросхурлик (наследование); статик методлар.

С) инкапсуляция; методлар; полиморфизм. D) процедуралар; функциялар; методлар.

19. Объектлар тури нимани ифодалайди? А) маълумотлар ва улар устида амаллар бажарадиган процедура, функцияларнинг бирлашмасини. В) статик ва динамик методлар бирлашмасини

С) процедура ва функцияларнинг бирлашмасини D) маълумотларнинг узаро бирлашмасини

20. Объектларнинг меросхурлик хусусияти нимани билдиради? А) бобо объектда тавсифланган маълумотлар ва методлар меросхур объектга тулик утишини; В) бобо объектга тавсифланган барча турлар ва узгарувчилар меросхур объектга тулик утишини; С) бобо объектга тавсифланган статик методларнинг меросхур объектга тулик утишини;

D) бобо объектда тавсифланган динамик методларнинг меросхур объект учун хам уринли булишини;

21. Объектнинг компонентлари?

А) маълумотлар ва процедура, функциялар. В) турлар ва процедуралар

С) узгарувчилар ва нишонлар D) операторлар ва маълумотлар

22. Объектнинг нусхаси нима?

А) объект турига тегишли конкрет узгарувчи; В) объект таркибидаги методлар;

С) объект таркибидаги процедура; D) объект турига тегишли конткрет узгармас.

23. Объектлар тури Паскаль–программанинг кайси булимида тавсифланади?

А) турлар булимида; В) нишонлар булимида;

С) сарлавхада; D) процедура ва функциялар булимида;

Page 120: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

120

24. Паскал тилининг процедура ва функциялари таркибида объектлар тавсифланиши мумкинми?

А) мумкин эмас

В) мумкин С) факат процедураларда мумкин.

D) факат функцияларда мумкин. 25. Куйидагилардан кайси бири объектнинг компоненти сифатида олиниши мумкин эмас?

А) файл В) процедура

С) функция D) ёзув

26. Куйида

)3(3)3(2)1(2)1(

2

2

xxxxy

ифодани хисоблаш учун алгоритмлар келтирилган. Улардан кайси бири энг самарали (эффектив) алгоритм була олади?

А) Бошланиш

y:= x+1 y:=y^2+2y

b:=x+3 b:=2b^2+3b

y:=y/b Тамом

В) Бошланиш

a:=x+1 b:=x+3

c:=a^2+2a d:=2b^2+3b

y:=c/d тамом

С) Бошланиш

a:=x+1 a:=a^2+2a

Page 121: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

121

b:=x+3

b:=2b^2+3b y:=a/b

Тамом

D) Бошланиш A:=x+1

B:=a^2 C:=x+3

D:=c^2 E:=b+2a

F:=2d+3c Y:=e/f

Тамом

27. Куйида икки алгоритм келтирилган: 1-алгоритм: бошланиш i:=100, S1:=1; токи i>=1 такрорлаш бошланиш S1:=S1+i; i:=i-1 тамом; чикариш S1; тамом. 2-алгоритм: бошланиш i:=100, S2:=1; токи i>=1 такрорлаш бошланиш S2:=S2*i; i:=i-1 тамом; чикариш S2; тамом.

Биринчи ва иккинчи алгоритм бажарилиши натижасида мос равишда S1 ва S2 кийматлар хосил килинади. S1 ва S2 уртасида куйидаги келтирилган муносабатлардан кайси бири бажарилади?

А) S1<S2; B) S1>S2;

C) S1=S2; D) S1=2*S2;

28. Куйидаги (3+4*8>(15.5-2) mod 3 = true) ифодани хисоблашда амалларнинг

бажарилиш тартибини аникланг: А) келтирилган жавоблар орасида тугриси йук.

B) *, mod, +, -, >, = C) *, >, +, mod, -, =

D) *, +, >, mod, -, =

Page 122: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

122

29. Паскаль тилидаги дастур булимларининг жойланиш тартиби кандай булиши керак?

A)

1. Нишонлар булими; 2. Узгармаслар булими; 3. Турлар булими; 4. Узгарувчилар булими; 5. Процедура ва функциялар булими; 6. Операторлар булими;

В)

1. Турлар булими; 2. Узгарувчилар булими;

3. Операторлар булими; 4. Нишонлар булими;

5. Узгарувчилар булими; 6. Процедуралар ва функциялар

булими; С)

1. Нишонлар булими; 2. Узгармаслар булими; 3. Турлар булими; 4. Операторлар булими; 5. Узгарувчилар булими; 6. Процедуралар ва функциялар

булими;

D)

1. Нишонлар булими; 2. Турлар булими; 3. Узгармаслар булими; 4. Операторлар булими; 5. Процедура ва функциялар булими; 6. Узгарувчилар булими

30. Берилган yeXAyx

sin*32

ифодани Паскал тилида ёзиш талаб килинади. Куйидаги

ёзувлардан кайси бири тугри?

А) (X*X+3-Y)/(A*SIN(X)+EXP(Y));

B) SQR (X)+3-Y/A*SIN(X)+EXP(Y); C) X*X+(3-Y)/(A*SIN(X)+EXP(Y);

D) (X*X+3-Y)/(A*SIN(X)+EXP(Y);

31. Куйидагиларнинг кийматини топинг: 1) ORD (CHR(49)); 2) CHR(ORD’*’));

А) 1) 49; 2) ’*’ В) 1) ’*’; 2) 49

С) 1) 49; 2) ’A’ D) 1) 50; 2) ’*’

32. INTEGER турига тегишли узгарувчилар учун амалларнинг куйида келтирилган гурухларидан (яъни A, B, C, D, E - гурухлардан) кайси бири тулик аникланган:

А) +, - , *, / , DIV , MOD , = <>, <, >, <=, >=; B) - , MOD, DIV , OR , + , *;

C) =, <>, <, >, <=, AND , OR , NOT ; D) AND, OR, NOT, + , - , * , / , MOD , DIV

Page 123: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

123

33. Белги (CHAR) туридаги узгарувчилар устида кандай амалларни бажариш мумкин?

А) муносабат амаллари: =, <>, <, >, <=, >=; В) мантикий амаллар : AND, OR, NOT,

С) арифметик ва мантикий амаллар; D) муносабат амаллари ва арифметик амаллар.

34. Мантикий турдаги узгарувчилар устида кайси амалларни бажариш мумкин.

А) мантикий амаллар хамда муносабат амаллари; В) факат муносабат амаллари: =, <>, <, >, <=, >=;

С) факат мантикий амаллар: and, or, not, D) арифметик амаллар хамда мантикий амаллар;

35. Куйидагиларнинг кийматини топинг:

1) pred (‘b‘) ; 2) succ (’c’); 3) 15 mod 4; 4) 22 div 4;

A) 1) ‘a‘; 2) ‘d‘; 3) 3 ; 4) 5;

B) 1) ‘d‘; 2) ‘e‘; 3) 5 ; 4) 4; C) 1) ‘c‘; 2) ‘b‘; 3) 2 ; 4) 5;

D) 1) ‘c‘ 2) ‘b‘ ; 3) 5 ; 4) 2;

36. Куйида келтирилган ифодаларан кайси бири Паскаль тили коидаларига зид келмайди? А) ‘0‘ or ‘9‘ ;

B) (15>true)*q; C) SIN (3.14)+COS (32.1)* SQR (7.6)-0.1E-5;

D) LN (55)*false> ORD (‘:‘);

37. Куйида узгарувчиларни тасвирлашга доир мисоллар келтирилган. Улардан кайси бири

хатосиз езилган? А) Var sum: real; last: integer; Lambada: char; kara1: boolean

B) Var s1, nnNN, x [50]: char; f,y,a: integer; C) Var true, false: boolean;

a, A1, max:real; D) Var coef, k15: boolean; var: char;

Page 124: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

124

38. Куйидаги жадвалда бутун турга тегишли аргумент билан ишлатилиши мумкин булган стандарт функцияларнинг номи, математик киймати ва натижа тури берилган

№ Функция номи Математик киймати Натижа тури 1 ARCTAN (X) arctan x real 2 SUCC (X) x+1 integer 3 PRED (X) x-1 real

Бу жадвалда факат битта хато мавжуд. Уни тугрилаш учун куйидаги ёзувлардан кай бирини

ишлатиш керак? А) integer В) true С) sqrt (x) D) real 39. Берилган: S,С1,С2 - сhаг турига, I эса integer турига тегишли узгарувчилар. Куйидаги

бандлардан кайси бирида хатога йул куйилган?

А) ORD (CHR(I))=I B) CHR (ORD) (S))=S C) C1>C2 муносабат факат ORD (C1)<ORD (C2) булгандагина уринли булади. PRED (S)= CHR (ORD(S)-1) 40. Куйидаги бандлардан кайси бирида хатога йул куйилган? А) Мантикий константалар учун FALSE<TRUE тенгсизлик уринли. В) мантикий турдаги узгарувчилар устида куйидаги амаллар аникланган: AND, OR, NOT. С) мантикий турга тегишли узгарувчилар TRUE (чин) ва FALSE (ёлгон) кийматлардан

бирини кабул килиши мумкин. D) PRED (TRUE)= FALSE; 41. Куйидаги санок скаляр турларни тавсифлаш ва уларга тегишли узгарувчилар устида

амаллар бажаришга доир мисоллар келтирилган. Бу мисоллардан кайси бири хатосиз ёзилган? A) Type T1=(AMAD, CAMAD, BYRI, ALI); T2=(OQ, QORA, KUK, KIZIL); VAR X,Y:T1;A,B:T2; X:ALI; A:=KUK; B:=OQ B) Type T1=(MEN, CEN, Y, 0.5); T2=(INB, FEV, MART, APR, MAI, JUH); C) Type T1 =(KATTA, KICHIK, URTA); T2=(STOL,STUL,PARTA); VAR X,Y,:T1;A,B:T2; X:STOL;Y:=KICHIK;T2:=URTA; D) Type T1 =(KATTA, KICHIK, URTA); T2=(STOL,STUL,PARTA); VAR X,Y: boolean; X:=KATTA<KICHIK; Y:=STUL>URTA;

Page 125: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

125

42. A,B,C,D узгарувчилар куйидагича тасвирланган: Var A: integer; B: real; C: boolen; D: char; Куйидаги таъминлаш операторидан кайси бири тугри? А) B:=A+sqr(5); B) A:=true; C) C:=false+3>4; D) D:=A/B+A*B;

43. Куйидаги таъминлаш операторларидан кайси бири тугри?

A) Z895A:=abs(x)+sqr(3.14)*0.5; B) 1YN:=3<8; C) S+5:=sqr(9.12*(45+sqr(965))); D) Хаммаси тугри

44. Таъминлаш оператори кандай ишни бажариш учун мулжалланган? Энг умумий жавобни топинг.

А) Операторнинг унг кисмида турган ифодани хисоблайди ва унинг кийматини чап

кисмдаги узгарувчига таъминлайди. В) Узгарувчиларга киймат таъминлайди. С) Узгарувчиларнинг турини бошкасига узгартиради. D) Ифода киймати кайси турга мансублигини аниклайди. 45. Куйидаги киритиш операторлари учун маълумотлар экранга кандай берилади: readln (x,y,z); read (a,b,c); A) x, y ва z бир каторда, a,b,c лар эса навбатдаги каторда берилган булиши мумкин B) х, у лар бир каторда; z, a лар – иккинчи каторда; b, c лар – учинчи каторда берилиши керак C) Хамма узгарувчилар киймати бир каторда жойлашмоги зарур. D) х, y, z лар бир šаторда, a – иккинчи šаторда, b – учинчи šаторда, c – туртинчи šаторда

46. Куйидаги ёзувлардан кайси бири тугри? А) Read (a,d); Readln (c,x); B) Readln (a*d,c,x); C) Readln (Sqr(x)); D) Readln; Read (a); Readln (b,c+3,x);

47. Чикариш операторини оддий холда шундай ёзиш мумкин: Write(V1, V2,...,VN); Бу ерда V1, V2,...,VN лар урнида нималар келиши мумкин? А) узгармаслар; В) Узгармаслар хамда нишонлар; С) Файл номи; D) Ихтиёрий турдаги ифодалар;

Page 126: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

126

48. X, YX, Z1 ва A узгарувчиларнинг киймати берилган: X=125; YX=3,14; Z1=‘$‘; A=true. Экраннинг бир сатрида “3.14 true 125$” ёзувни хосил килиш талаб килинади. Куйида келтирилган операторлардан кайси бири шу ишни бажара олади?

A) Writeln; Writeln (YX:4:2, ’ ’ , A, ‘ ‘, X:3, Z1); B) Write (X,Yx,Z1,A:4); C) Write (YX:6:2,A); D) Write (‘ ‘, Z1, ‘ ‘,A, ‘ ‘, X:3);

49. Шартли операторнинг умумий куриниши куйидагича If S1 then S2 else S3 бу ерда S1,

S2 ва S3 лар нимани билдиради? А) S1 - мантикий ифода; S2 ва S3 - Паскаль тилининг ихтиёрий операторлари; В) S1 - ихтиёрий ифода; S2 ва S3 - Паскаль тилининг ихтиёрий операторлари; С) S1 - арифметик ифода; S2 ва S3 - Паскаль тилининг ихтиёрий операторалри; D) S1 - мантикий ифода; S2 – шарт; S3-ихтиёрий оператор; 50. Шартли оператор If B then S1 else S2 нинг бажарилишига мос блок-схемани курсатинг.

A) B)

C) D)

- + S1 S2 B

- + S1 S2 B

- + B S2 S!

- + S! B S2

Page 127: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

11. BAHOLASh MEZONLARI VA REYTING NAZORATLARI GRAFIGI

11.1. BAHOLASh MEZONLARI «Algoritmlar nazariyasi» fani bo’yicha joriy nazoratlarda talabalar bilimi va amaliy

ko’nikma darjasini aniqlash mezoni (max ball – 35)

Maksimal ball Nazorat qilinadigan va

baxolanadigan ish turlari Baxolashda e’tibor karatiladigan jixatlar

1-jn 2-jn 3 4 Mavzular bo’yicha

nazariy tayyorgarlik darajasi va darsdagi

faollik

Asosiy tushunchalar, ta’riflar, algoritmlarni tuzish, algoritmlarni amalga oshirish usullarini bilish, moxiyatini tushunish, ijodiy fikrlay olish, bilimlarni amalda qullay olish

3 4 Uyga berilgan topshiriqlarni bajarish

sifati

Topshiriqlarni to’g’ri va to’liq bajarish, masalalarni hal qilishga ijodiy yondashish, tushuntirib bera olish

6 8 Nazorat ishlarini bajarish sifati

Topshiriqlarni to’g’ri va to’liq bajarish, ijodiy yondashish, mustaqil fikrlash, yechimni asoslay olish

3 4 Mustaqil topshiriqlarni bajarish sifati

Berilgan topshiriqni to’g’ri va to’liq bajarish, mustaqqil muloxaza yurita olish, bilimlarni amalda qo’llay olish, masalaga ijodiy yondashish, moxiyatini tushunish va aytib bera olish

15 20

«Algoritmlar nazariyasi» fani bo’yicha oraliq va yakuniy nazoratlarda talabalar bilimi va amaliy ko’nikma darjasini aniqlash mezoni

(ON bo’yicha max ball – 35, YaN bo’yicha max ball – 30)

Savollar ON (max ball)

YaN (max ball)

Baxolashda e’tibor qaratiladigan jixatlar

1-ON

2-ON

Nazariy 1 2

3

3

4

4

6

6

Asosiy tushunchalar, ta’riflar, algoritmlarni tuzish, algoritmlarni amalga oshirish usullarini bilish, tasavvur qilish va aytib bera olish, ijodiy fikrlay olish va mustaqil muloxaza yurita olish

Amaliy 3 4

3

3

4

4

6

6

Topshiriqlarni to’g’ri va to’liq bajarish, ijodiy yondashish, mustaqil fikrlash, yechimni asoslay olish, moxiyatini tushunish

Mustaqil ish

5

3 4 6 Savolga to’liq va to’g’ri javob berish, misollar bilan asoslash, ijodiy yondashish, mohiyatini tushunish va tushuntirib bera olish

Jami 15 20 30

Page 128: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

128

«Algoritmlar nazariyasi» fani bo’yicha reyting nazoratlarida o’zlashtirish ko’rsatkichini aniqlash mezoni

JN ON YaN Baxolashlarda e’tibor qaratiladigan asosiy jixatlar

31-35 ball

31-35 ball

27-30 ball

Asosiy tushuncha, ta’rif, algoritmlarni tuzish, algoritmlarni amalga oshirish usullarini bilish, mohiyatini tushunish, ijodiy fikrlay olish, tasavvurga ega bo’lish, aytib bera olish, mustaqil muloxaza yurita olish, topshiriqlarni aniq va to’g’ri bajarish

25-30 ball

25-30 ball

22-26 ball

Asosiy tushuncha, ta’rif, algoritmlarni tuzish usullarini bilish, ijodiy yondashishga xarakat qilish, tasavvurga ega bo’lish, topshiriqlarni to’g’ri bajarish va tushuntirish

19-24 ball

19-24 ball

17-21 ball

Asosiy tushuncha, ta’rif, algoritmlarni bilish va amalda qo’llay olish, moxiyatini biroz tushunish va to’liq bo’lmagan tasavvurga ega bo’lish. Amaliy topshiriqlarni deyarli to’g’ri bajarish va tushuntirib berishga xarakat qilish.

0-19 ball 0-19 ball

0-15 ball

Asosiy tushuncha, ta’riflarni to’liq bilmaslik va amlda qo’llay olmaslik, yetarlicha tasavvurga ega bo’lmaslik va tushuntira olmaslik, topshiriqlarni to’liq bajarmaslik va qo’pol xatoliklarga yo’l quyish.

Page 129: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

129

11.2. REYTING NAZORATLARI GRAFIGI

SAMARQAND DAVLAT UNIVERSITETI MEXANIKA-MATEMATIKA FAKULTETI

«Axborotlashtirish texnologiyalari» kafedrasi «Algoritmlar nazariyasi» fani bo’yicha reyting nazoratlari

GRAFIGI Mta’lim yo’nalishi: Amaliy matematika va informatika (2-kurs) Umumiy o’quv soati-126 soat, shundan ma’ruza-30 soat, amaliyot – 32 soat, mustaqil ish - 54 soat.

2010-2011 o’quv yili 1 semestr

Ishchi o’quv dasturidagi mavzular tartib raqami

Umumiy soat

Bax

olas

h tu

ri

Nazorat shakli

Ball Muddati (xafta)

Ma’

ruza

Am

al.m

ashg

’ulo

t

Laba

roto

riya

Mus

taqi

l ish

Jam

i

Mak

s. ba

ll

Sara

l. ba

ll

1-7

14 14 24 52 1-JB 1-OB

Dars jarayonida nazorat, uy ishi va davomat Yozma nazorat

15 15

dekabr 2-xafta dekabr 2-xafta

8-15 Qo’shimcha mavzu bo’yicha referat

16 18 30 64 2-JB MB 2-OB

Dars jarayonida nazorat, uy ishi va davomat Ximoya Yozma nazorat

20 20

yanvar 3-xafta yanvar 3-xafta

Jami 30 32 54 126 JB 35 OB 35 Jami 70 39 YaB yozma 30 Fevral

jadval bo’yicha

Jami 100 55

Page 130: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

130

11. MA’RUZA MASHG’ULOTLARI DARS ISHLANMASI

Alisher Navoiy nomidagi Samarqand Davlat universiteti

“Axborotlashtirish texnologiyalari” kafedrasi

Axatov A.R.

Algoritmlar nazariyasi fanidan

ma’ruza masg’ulotlar ishlanmasi

SAMARQAND ─ 2010

Page 131: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

1 - MAVZU: KIRISH. ALGORITMLASH FANI VA ALGORITMLASH SAN’ATI

Reja

1. Algoritm tushunchasi. 2. Algoritmlarni tuzish – ijodiy ish 3. Algoritmlar sifatini baholash. Darsning maqsadi: talabalarga algoritm tushunchasi, zamonaviy matematika va

informatikadagi o’rni, algoritmni tuzish – ijodiy ish ekanligini ko’rsatish. Tayanch iboralar: algoritmlar nazariyasi, aloritmni tuzish, masala quyilishi,

modelllashtirish, test, ishlab chiqish, hujaatlashtirish. Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va

uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Algoritm tushunchasi zamonaviy matematika va informatikaning asosiy tushunchalaridan

biri hisoblanadi. Algoritm termini o’rta asrlar ulug’ matematigi al-Xorazmiy nomidan kelib chiqqan. XX asrning 30-yiligacha algoritm tushunchasi ko’proq matematik ma’no emas, balki metodologik ma’noni kasb etar edi. Algoritm deganda, u yoki bu masalalar sinfini yechish imkonini beruvchi aniq ifodalangan chekli qoidalar majmui tushunilgan. EHM larning paydo bo’lishi bilan algoritm tushunchasi yanada keng tarqaldi. EHM va dasturlash usullarining rivojlanishi algoritmlarni ishlab chiqish avtomatlashtirishdagi zaruriy bosqich ekanligini tushunishga yordam berdi. EHM larning paydo bo’lishi algoritmlar nazariyasining rivojlanishiga olib keldi. Algoritmlarni tuzish – bu ijodiy ish bo’lib, ixtiyoriy zaruriy algoritmni tuzish uchun umumiy usullar mavjud emas, kishining ijodiy qobiliyatiga bog’liq. Albatta, algoritmni aniq sxema bo’yicha tuzish zarur bo’lib qoladigan sodda hollar ham mavjud. Bunday hollarda yechilish algoritmiavval biron kim tomonidan olingan masalalarni misol keltirish mumkin. Masalan, differensial tenglamalarni sonli integrallash uchun Eyler metodi. Bu metod masalani yechish uchun umumiy holda ifodalangan algoritmdir, lekin algoritmlash ijodiy ekanligini quyidagi algoritmlar nazariyasining ba’zi bir ma’lumotlaridan ko’rish mumkin. Agar bizdan biror algoritmni ishlab chiqish talab qilinsa, dastlab izlanayotgan algoritmni tuzish mumkinmi yo’qmi degan savolga javob izlash kerak. Chunki ba’zi hollarda algoritmni tuzish mumkin emasligini ko’rsatib berish mumkin. Ba’zi bir hollarda algoritmni tuzish mumkinligi isbotlanadi. Bunday isbot mavjud bo’lganligi bilan tuzilgan algoritmni amalgam oshirib bo’lmaydi yoki uning samaradorligi talabga javob bermaydi. Shunga qaramasdan bir nechta algoritmlar bitta amaliyotga qo’llanilayotganini topish mumkin.

Page 132: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

132

Boshqa hollarda algoritmni tuzish mumkinligini ham, mumkin emasligini ham isbotlab bo’lmaydi. U vaqtda algoritm tuzish jarayonida boshqa predmet sohalaridan qurilgan algoritmlardan foydalanish mumkin. Algoritmlar sifatini baholash uchun mezonlarni ko’raylik. Mavjud mezonlar juda tahminlashgan. Masalan, algoritmni bajarishda bajaruvchining xotira uskunalari hajmi yetarli bo’lmasa, u algoritm yomon deb hisoblanadi. Boshqa mezon sifatida algoritmning bajarilishi uchun talab qilinadigan vaqtni ko’rsatish mumkin. Vaqtni baholash bajaruvchining fizik xarakteristikalari hisobga olinishi kerak. Chunki har bir operatsiya har xil o’zgaruvchilar bilan bajarilganda vaqt ham har xil bo’ladi. Bunchalik aniq ma’lumotni har bir foydalanuvchi uchun yig’ib bo’lmaganligi sababli odatda o’rtacha tezkorlik qabul qilinadi. Ketma-ket bajarilayotgan operatsiyalar sonini aniqlab, uni o’rtacha tezkorlikka ko’paytirsa, algoritm bajarilishining amalga yaqin bo’lgan vaqtini topishimiz mumkin. Faraz qilaylik, 2 ta tahlil qilingan algoritmlardan bittasining bajarilish vaqti tezroq bo’ladi, uni xotira ishlash hajmi bo’yicha ham tahlil qilish kerak va bunday tahlillar murakkab nazariyasiga mansub bo’ladi. Shunday qilib, algoritmlar nazariyasi fani masalalarni yechishga mo’ljallangan algoritmlarni samaradorligini va murakkabligini tahlil qilish, o’zgartirish, qo’shimcha qilish va qayta ishlash natijasida yahshilash usul va uslublarini o’rganadi.

Takrorlash ucun savollar

1. Algoritm tushunchasi. 2. Algoritm nazariyasining paydo bo’lishi 3. Nimaga algoritmni tuzish ijodiy ish hisoblanadi? 4. Algoritmni va ularning murakkabligini tahlil qilishda nimalarga e’tibor berish kerak?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritm tushunchasiga misol ko’rsating. 2. Algoritm so’zi kelib chiqishi haqida ma’lumot bering 3. Zamonaviy algoritmlarga nisbatan mavjudlaridan tashqari qanday hossalarni qo’shih

mumkin? 4. Algoritmni kunlik xayotimizda qo’llashga misol ko’rsating. 5. Dasturni tekshirish uchun kiritiladigan test ma’lumotlariga misol tuzing.

Mavzuga doir testlar:

1. Куйидаги бандлардан кайси бирида алгоритм тушунчаси аникрок ва туликрок таърифланган?

А) Алгоритм-куйилган масалани ечиш ёки маълум бир максадга эришиш учун ижрочи бажариши зарур булган иш харакатнинг (амалларнинг) тушунарли ва аник кетма-кетлигидир.

B) Алгоритм узбек математиги Ал Хоразмий номи билан боглик булиб, унинг европача бузиб айтилишидир.

C) Алгоритм деганда ЭХМ учун тузилган дастурни тушунамиз. D) Алгоритм ижрочига берилган курсатма (йурикнома) булиб хизмат килади.

2. Quyidagi hossalardan qaysi biri bo’yicha algoritmning har bir qadami aniq belgilangan bo’lishi kerak?

A) Aniqlik C) Moslashuvchanlik

B) Ommaviylik D) Diskretlik

Page 133: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

133

3. Algoritmning birinchi rasmiy tushunchasini kim kiritgan?

A) Gedel C) Tyuring B) Muxammad Al-Xorazmiy D) Paskal

4. Algoritm tushunchasini intutitiv darajada birinchi bo’lib kim kiritgan? A) Muxammad Al-Xorazmiy C) Tyuring

B) Paskal D) Gedel 5. Bugungi kunda eng keng tarqalgan algoritmning rasmiy ta’rifi muallifi kim?

A) Tyuring C) Paskal B) Muxammad Al-Xorazmiy D) Fon-Neymanl

Adabiyotlar

1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. – Samarqand: SamDU nashri, 2008 yil – 112 bet.

2 - MAVZU: ALGORITMLASHNING MATEMATIK ASOSLARI

Reja 1. Matematik induksiya. 2. Yig’indi va Ko’paytmalar. 3. Butun qiymatli funksiyalar. 4. O’rin almashtirishlar va faktoriallar. 5. Binomial koeffitsiyentlar. 6. Fibonachi sonlari.

Darsning maqsadi: talabalarga algoritmlashning matematik asoslarini, zamonaviy

matematika va algoritmlash bog’lanishi, algoritmlashda qo’laniladigan asosiy matematik funksiyalar haqida ma’lumot berish.

Tayanch iboralar: algoritmlar nazariyasi, aloritmni tuzish, masala quyilishi, modelllashtirish, test, ishlab chiqish, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut.

Page 134: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

134

Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati – 2 minut.

Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha suxbat – 10 minut.

Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut. Algoritmlarni tuzishda va ularning tahlilida ishlatiladigan ba’zi matematik belgilashlarni

qarab chiqamiz. Matematik induksiya .

Faraz qilaylik P(n) – bu n butun son to’g’risidagi biror bir tasdiq bo’lsin. «n(n+3) – juft son» n 10 bo’lsa, u holda nn 322 . Bizdan P(n) ning barcha butun musbat n sonlar uchun o’rinli ekanligini isbotlash talab qilinsin. Isbotning asosiy usuli quyidagilardan iborat:

3. P(1) o’rinli ekanligini isbotlash. 4. P(1), P(2), …, P(n) lar o’rinli bo’lsa, u holda P(n+1) ham o’rinli ekanligini isbotlash, bu

isbot barcha butun musbat n lar uchun o’rinli bo’lishi kerak. Misolni keltiramiz. )1(47531353123111 2222 Ularning umumiy ko’rinishda quyidagicha yozish mumkin: ).2()12(...31)( 2nnnP Biz P(n) ning barcha musbat n lar uchun o’rinli ekanini isbotlashimiz kerak.Yuqoridagi proseduraga muvofiq: a). P(1) o’rinli, chunki 211 b). agar barcha P(1), P(2), …,P(n) tasdiqlar o’rinli bo’lsa, P(n) uchun ham o’rinli, ya’ni (2) munosabat bajariladi. (2) ning har ikkala tomoniga 2n+1 ni qo’shsak, quyidagiga ega bo’lamiz: 22 )1(1212)12(...531 nnnnn Bu esa P(n+1) ning ham to’g’riligini ko’rsatadi. Bu metodni isbotlashning algoritmik prosedurasi deb qarash mumkin. Haqiqatan ham, agar a) va b) bosqichlar amalga oshgan deb hisoblasak, quyidagi algoritmP(n) tasdiqning ixtiyoriy butun musbat n uchun isbotini beradi. Berilgan butun musbat n uchun P(n) ning o’rinli ekanini isbotlash algoritmi. A1 algoritm.

7. boshlash. 8. 1k {((a)ga asosan P(1) tasdiqni isbotlang} 9. agar k=n bo’lsa, u holda 6 ga o’ting 10. p(k+1) uchun isbotlang ((b) ga asosan p(2), p(3), p(k) to’g’riligini isbotlang va p(k+1)

uchun to’g’ri degan xulosaga keling) 11. 1 kk 3 ga o’ting 12. tugash (so’ralayotgan isbot bajarildi)

(b) va (b) bosqichlar (a1 algoritm) shaklidagi isbotlash matematik induksiya yordamida isbotlashdir

Yig’indi va Ko’paytmalar. ,..., 21 aa - ixtiyoriy sonlar ketma-ketligi bo’lsin. naaa ...21 ko’rinishdagi yig’indini

nji

ja kompakt ko’rinishida yozish mumkun.

Agar n nolga yoki manfiy songa teng bo’lsa berilishiga ko’ra bu yig’indi nolga teng bo’ladi. j harfi indeks yoki yig’indining o’zgaruvchisi.

Page 135: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

135

Yig’indilar chekli (j qiymatlarini chekli soni) va cheksiz bo’lishi ham mumkin. Agar belgisi ostida ikki yoki undan ortiq shartlar joylashgan bo’lsa, ularning barchasi bir vaqtning o’zida bajarilish kerak. Yig’indi uchin qisqa yozuv bo’lganidek, ko’paytma uchun ham

njja

1

qisqa yozuv

ishlatiladi. nj

ja1

belgi nj 1 shartni qanoatlantiruvchi barcha butun j lar uchun barcha ja

lar ko’paytma 1ga teng deb hisoblanadi (yig’indi esa nolga teng bo’ladi). Butun qiymatli funksiyalar.

Ixtiyoriy haqiqiy son uchu quyidagi belgilashlarni kiritamiz: x - x ga eng yoki x dan kichik bo’lgan eng katta butun son. x - x ga eng yoki x dan katta bo’lgan eng kichik butun son. Bu funksiyalar ni ba’zida x sonining butun qismi deb yuritiladi. Masalan: 12 xx 22 . Ixtiyoriy haqiqiy x va y sonlar uchun quyidagi Binar amalini belgilaymiz. X mod Y – x ni y ga bo’lgandagi qoldiqni bildiradi. Agar x va y lar butun son bo’lsa, u holda qoldiq ham butun son va x,y ga karrali bo’lsa, nol bo’ladi. 5 mod 3=2 18 mod 3=0 Agar x va y butun sonlar bo’lsa, div butun qiymatli bo’lishni bildiradi, ya’ni butun qiymatli bo’lish natijasida har doim butun bo’ladi. 7 div 2=3 2 div 5=0

O’rin almashtirishlar va faktoriallar. n tartibli o’rin almashtirish deb, n ta turli ob’yektlarni qatorga joylashtirish operatsiyasiga aytiladi. Masalan, a, b, c lar uchun 6 ta o’rin almashtirishlar bor. abc, bac, bca, cba, cab, acb. n ob’yektdan tuzish mumkin bo’lgan umumiy o’rin almashtirishlar soni P(n)=n(n-1)(n-2)…1=n! P(n) qiymatni n! deb hisoblaydilar va u quyidagicha yoziladi.

nk

knn1

...321!

0!=1 ekanligi qabul qilingan. Butun musbat n lar uchun n!=(n-1)!n ayniyat o’rinli. 0!=1 1!=1 3!=6. Faktoriallar juda tez o’sadi. 10!=3628800 1000! esa 2500 dan ortiq o’nli belgilardan iborat. Shunga qaramasdan kompyuterda faktorialni hisoblash uchun kam vaqt ketadi.

Dj. Stirling degan olim n

ennn )(2! ga teng deb olgan.

Yana bir savol tug’ildi. Biz n! uchun n butun musbat bo’lgan hol uchun ta’rif berdik. n ning ratsional qiymatlari yoki n haqiqiy bo’lganda n! nimaga teng degan savol tug’iladi. Masalan,

!21

nimaga teng. Bu masalani yechish uchun butun manfiymas n lar uchun n! ni aniqlaymiz.

)1(...21!1

nkknn

Bu faktorialning analogi, lekin bu yerda biz ko’paytirish o’rniga qo’shishdan foydalanayapmiz

Arifmetik progressiyaning yig’indisi )2()1(21! nnn

Page 136: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

136

(2) ni (1) ning o’rniga ishlatish n! funksiyani n ning ixtiyoriy qiymatlari uchun aniqlash imkonini

beradi. Masalan, 83!

21

.

Binomial koeffitsiyentlar. n ta ob’yektdan k ta ob’yektni jamlash bu n ta elementdan mumkin bo’lgan k ta turli elementni tanlash. Masalan, 5 ob’yektdan 3 tadan jamlash, a, b, c, d, e. abc, abd, abe, acd, ace, ade, bcd, bce, bde, cde. kn orqali belgilangan jamlashni umumiy soni

1)...1(

)1)...(1(

kkknnnkn

Masalan 10123345

35

.

kn qiymat binomial koeffitsiyent deb aytiladi. Binomial koeffitsiyentni faktorial yordamida

hisoblash mumkin. )!(!

!knk

nkn

Binomial koeffitsiyentlar uchun quyidagi hossa mavjud:

11

kr

kr

kr

Fibonachi sonlari. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… ketma-ketlikda har bir son oldingi 2 ta sonning yig’indisiga teng bo’lsa, Fibonachi sonlari deb aytiladi. 021 nFFF nnn . Bu ketma-ketlik Leonardo Fibonachi tomonidan taklif etilgan. Fibonachi sonlari va algoritmlar orasida o’zaro bog’liq borligi isbotlangan.

Takrorlash uchun savollar

1. Matematik induksiya haqida tushuncha bering. 2. Yig’indi va Ko’paytmalarning asosoy farqini ko’rsating. 3. Butun qiymatli funksiyalarga misol keltiring. 4. O’rin almashtirishlar va faktoriallarni hisoblashga misol ko’rsating. 5. Binomial koeffitsiyentlar - bu nima? 6. Fibonachi sonlari algoritmlarga qanday aloqasi bor?

Mustaqil ishlash uchun nazorat savollari:

1. Matematik induksiya orqali isbotlangan ifodaga misol ko’rsating. 2. Yig’indi va Ko’paytmalarga 5 tadan misol ko’rsating. 3. Butun qiymatli funksiyalarni matematikada qollanishini ko’rsating. 4. O’rin almashtirishlar va faktoriallarni hisoblashga misol tuzing. 5. Fibonachi sonlaridan iborat 5 har hil ketma-ketlik tuzing.

Page 137: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

137

Mavzuga doir testlar:

1. Algoritm ma’lum bir ijrochiga muljallab tuziladi. Agar ijrochi EXM bulsa, algoritm kanday yozilishi kerak?

A) Blok sxemalar yordamida ifodalanishi kerak.

B) So’zlar yordamida yozilishi kerak. C) So’zlar va formulalar yordamida

D) Jadval ko’rinishida ifodalanishi zarur. 2. Algoritm va EXM uchun dastur tushunchalari orasidagi fark nimadan iborat?

A) EXMga tushunarli tilda yozilgan algoritm dasturdir. B) Ular bir xil tushunchalar

C) Xar kanday algoritm dastur bula oladi D) Ular orasida xech kanday umumiylik yuk

3. Masalaning kuyilishidan nimalar aniklanadi?

A) Nima berilgan va nimani topish kerakligi B) Algoritmning uzunligi

C) Dasturning bajarilish vakti; D) Zaruriy xotira xajmi.

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002,

107 бет. 5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet. 6. Д.Кнут. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир,

2000 г. 7. Уотермен Д. Руководство по экспертным системам. М: Мир, 1989 г. 8. А.Ахо., Дж.Хопкрофт. Построение и анализ вычислительных алгоритмов. - М:

Мир, 1979 г., 535 с. 9. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975 г.

Page 138: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

138

3 -4 MA’RUZALAR: ALGORITMLAR VA ULARNING TO’LIQ TUZULISHINING BOSQICHLARI

Reja

1. Algoritmning ta’rifi. 2. Algoritmni to’liq yaratish bosqichlarni 3. Masalaning qo’yilishi. 4. Modelni yaratish. 5. Algoritmni ishlab chiqish. 6. Algoritm to’g’riligini tekshirish. 7. Algoritmni amalga oshirish. 8. Algoritmni va ularning murakkabligini tahlil qilish. 9. Dasturni tekshirish. 10. Hujjatlashtirish.

Darsning maqsadi: talabalarga algoritm tushunchasi, ta’riflari, algoritmni tuzishning

bosqichlari haqida ma’lumot berish. Tayanch iboralar: algoritmlar nazariyasi, aloritmni tuzish, masala quyilishi,

modelllashtirish, test, ishlab chiqish, hujaatlashtirish. Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va

uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Algoritmning ta’rifi

Algoritmlarning turli ta’riflari mavjud. Rasmiy ta’riflardan biri bo’yicha algoritm bu

qo’yilgan masalani bir xil yechilishiga olib keluvchi aniq harakatlarning ketma-ketligi. Bu tushunchadan algoritmning quyidagi xossalari kelib chiqadi:

5. Diskretlilik – ya’ni aniqlanayotgan jarayonni qadamba-qadam ko’rinishi. 6. Ommaviylik – algoritm o’xshash masalalar turkumini yechishi kerak. 7. Tushunarlilik – algoritmda beriladigan ko’rsatmalar foydalanuvchiga tushunarli bo’lib,

uning talablariga javob berishi kerak. 8. Aniqlilik – algoritmda ma’lum tartibda amallarni bajarish nazarda tutilishi kerak va

bajaruvchiga joriy qadam tugatilishi bilan qaysi qadam keyingi bo’lib bajarilishi aniq ko’rsatilishi kerak.

Algoritmlar rasmiy ravishda bajariladi, bu degani bajaruvchi bajarilayotgan amallarni mazmunini anglash shart emas. Algoritm tuzish jarayoniga algoritmlashtirish deyiladi.

Page 139: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

139

Algoritmni to’liq yaratish bosqichlarni Algoritm tuzish jarayonida nazariy va amaliy nuqtai nazardan algoritmlash, dasturlash va EHM larni qo’llash bilan bog’liq bo’lgan bilimlar kerak. Asosiy maqsad bu masalani qo’yish, masalaning yechish algoritmini tuzish, algoritmi mashina dasturi ko’rinishida amalga oshirish va algoritmni samaradorligini ko’rsatish muammolarini o’rganish. Bu jarayonlar algoritmni to’liq yaratish tushunchasiga olib keladi va quyidagi bosqichlarni belgilaydi:

9. Masalaning qo’yilishi. 10. Modelni yaratish. 11. Algoritmni ishlab chiqish. 12. Algoritm to’g’riligini tekshirish. 13. Algoritmni amalga oshirish. 14. Algoritmni va ularning murakkabligini tahlil qilish. 15. Dasturni tekshirish. 16. Hujjatlashtirish.

Masala qo’yilishi Masalani yechishdan oldin, uni berilishini aniq shakllantirib olish zarur. Bu jarayon to’g’ri savollarni aniqlash bo’lib, savollar quyidagicha bo’lishi mumkin: 1.7. Dastlabki berilgan masala shartlarida hamma iboralar tushunarlimi? 1.8. Nima berilgan? 1.9. Nimani topish kerak? 1.10. Yechimni qanday ta’riflash kerak? 1.11. Qaysi berilganlar yetarli emas va hammasi kerakmi? 1.12. Qanaqa mumkinliklar qabul qilingan? Albatta, bulardan tashqari boshqa savollarni ham ishlatish mumkin, yoki ayrim savollarni bir necha bor takror ishlatishga to’g’ri keladi.

Modelni yaratish

Akademik A. N. Tixonov fikri bo’yicha matematik modellashtirish dunyoni bilish va o’rganishda kuchli qurollardan (vositalardan) biridir. Uning ta’rifi bo’yicha matematik model tashqi dunyoning xodisalar turkumini matematik belgilar yordamida taxminiy tavsifi. Xodisani tavsiflash uchun uning muhim xususiyatlarini, qonuniyliklarini, ichki aloqalarini, ayrim xossalarning ahamiyatini aniqlash zarur. Eng muhim faktorlari aniqlanganda, ahamiyatlari kamroq bo’lganlarini hisobdan chiqarish mumkin. Umuman, modelni tanlash fandan ko’ra, ko’proq san’at ishi deb hisoblanadi, yahshi tuzilgan modellarni o’rganish esa – modellashtirishda tajriba orttirishning eng yahshi usuli. Modelni yaratishda quyidagi savollarni aniqlash maqsadga muvofiq: 2.7. Masalani yechish uchun qaysi matematik struktura ko’proq mos keladi? 2.8. O’xshash masalaning yechimi bormi? 2.9. Masalaning barcha muhim ma’lumotlari matematik ob’yektlar orqali tavsiflanadimi? 2.10. Izlanayotgan natija biron bir matematik o’lchamga mos keladimi? 2.11. Modelning ob’yektlari orasidagi bog’lanishlar aniqlanganmi? 2.12. Tuzilgan model bilan ishlash qulaymi?

Algoritmni ishlab chiqish

Algoritmlashtirish jarayoni uslublari bo’yicha matematik modellarni tuzish jarayoniga juda yaqin. Har bir algoritmni ishlab chiqish bevosita o’ziga xos yondashishni talab qilishiga qaramasdan, bu faoliyatni umumiy uslub va bosqichlari ham mavjud. Ba’zan dasturlarni tezroq yozib boshlashga hohish paydo bo’ladi. Lekin bu xatoli, chunki aynan algoritmni ishlab chiqish bosqichiga va uning to’g’riligiga masalaning to’liq yechimi bog’liqdir. Algoritmlarni tuzish turli xil uslublari mavjud.

Page 140: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

140

Algoritmni to’g’riligini tekshirish

Dastur to’g’riligini isbotlashning eng keng tarqalgan turi – bu uni testlardan o’tkazishdir. Algoritmni tekshirishda nazoratchi boshlang’ich ma’lumotlarni majmui algoritmik test deb nomlanadi. To’g’ri deb shunday algoritmga aytiladiki, u masalaning qo’yilishida talab qilinadigan natijani har qanday ruxsat etilgan boshlang’ich ma’lumotlar bilan ham shakllantirib biladi. Odatda, dastur bergan natijalar ma’lum bo’lgan yoki qo’lda hisoblangan ma’lumotlar bilan taqqoslanadi, va ular to’g’riligi aniqlansa dastur to’g’ri ishlaydi degan hulosaga kelish mumkin. Ammo bu usul bilan foydalanuvchini hamma shubhalardan xalos qilib bo’lmaydi, ya’ni dastur ishlamaydigan hamma holatlarni hisobga olib bo’lmaydi. Gudman va Xidetniyemi [2] lar tomonidan algoritm to’g’riligini isbotlash uchun quyidagi uslubiyat taklif qilingan. Algoritm 0 dan m gacha bo’lgan qadamlar ketma-ketligi ko’rinishida tavsiflangan deb tahmin qilaylik. Har bir qadam uchun qandaydir asoslanishni taklif etamiz. Xususan, qadamdan oldin va keyin ishlaydigan shartlar haqida lemma kerak bo’lishi mumkin. Shu bilan birgalikda, algoritm chekliligining isbotini ham taklif etamiz, va hamma ruxsat etilgan kiritish ma’lumotlarini tekshirib, hamma mumkin bo’lgan chiqarish ma’lumotlarni olamiz. Algoritmni to’g’riligi bilan samaradorligi o’rtasida hech qanday aloqa yo’qligini ta’kidlab o’tamiz. Aslida hamma talablarga bir xil yahshi javob beradigan algoritm kamdan-kam ishlab chiqiladi.

Algoritmni amalga oshirish

Algoritmni amalga oshirish deganda, EHM uchun dasturni yozish deb tushuniladi. Buning uchun quyidagi savollarga javob berish kerak:

5.7. Asosiy o’zgaruvchilarni aniqlash. 5.8. O’zgaruvchilarning turlarini aniqlash. 5.9. Nechta massiv yoki fayllar va qanday kattalikda ular kerak bo’ladi? 5.10. Bog’lanilgan ro’yhatlardan foydalanish ma’nolimi? 5.11. Qanday dasturiy qismlar kerak bo’lishi mumkin (tayyor bo’lsa ham)? 5.12. Qaysi dasturlash tilini tanlash?

Dastur yozish yoki tuzishning hilma-hil usillari va uslublari mavjud.

Algoritmni va uning murakkabligini tahlil qilish

Algoritmni tahlil qilishdan maqsad – algoritmga ma’lumotlarni aniq muvaffaqiyatli qayta ishlash uchun kerak bo’ladigan xotira hajmi va ishlash vaqtining baholari va chegaralarini olish. Bir masalani yechadigan ikki algoritmni taqqoslash uchun qandaydirsonli mezon topish kerak. Faraz qilaylik, A – qandaydir bir turkumdagi masalalarni yechadigan algoritm, n – esa shu turkumdagi alohida bir masalaning kattaligi. Umumiy holda, n – oddiy skalyar yoki massiv yoki kiritiladigan ketma – ketlikning uzunligi bo’lishi mumkin. )(nf A - n kattalikdagi ixtiyoriy masalani yechadigan algoritm A bajarish kerak bo’lgan asosiy amallarni (qo’shish, ayirish, taqqoslash,…) yuqori chegarasini beradigan ishchi funksiya. Algoritmningsifatini baholash uchun quyidagi mezonni ishlatamiz. Agar )(nf A o’sish tartibi n dan bog’liq bo’lgan polinomdan katta bo’lmasa, A algoritm polinomial deb aytiladi, aks holda algoritm A eksponensial hisoblanadi. Shular bilan birgalikda tahlil jarayonida ko’p matematik fanlarda standart bo’lgan iboralar ishlatiladi.

)(nf A funksiya O[g(n)] deb belgilanadi, va 0)()(lim

const

ngnf

n bo’lganda, uni tartibi

katta n lar uchun g(n) deb qabul qilinadi. Demak f(n)=O[g(n)].

Page 141: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

141

)(nf A funksiyasi o[z(n)] deb katta n lar uchun belgilanadi, va unda 0)()(lim

nznh

n sharti

bajariladi. Bu begilar “katta O” va “kichik o” deb nomlanadi. Agar f(n)=O[g(n)] bo’lsa, ikkala funksiya ham n bo’lganda bir xil tezlikda o’sadi. Agar f(n)=O[g(n)] bo’lsa,unda g(n), f(n) nisbatan ancha tez o’sadi. Demak, )(nPk - qandaydir n o’zgaruvchidan bog’liq va k darajadagi polinom uchun

)]([)( nPOnf kA yoki )()( noPnf kA bo’lganda algoritm polynomial hisoblanadi, aks holda algoritm eksponensial. Eksponensial algoritm yahshi ishlamaydigan deb hisoblanadi. Agar algoritmlar eksponensial bo’lsa, ular orasida eng samaralisini topish kerak, n kattalikdagi masalani )2( nO qadamda yechadigan algoritm )!(nO yoki )( nnO qadamda masalani yechadigan algoritmdan afzalroq.

Dasturni tekshirish

Biz dasturni har bir qismini tekshiradigan kirituvchi ma’lumotlar to’plamini tanlashimiz kerak. Ko’p murakkab algoritmlarni matematik tomondan tadqiq qilish yoki juda qiyin yoki mumkin emas. Bunday holatlarda algoritmni faoliyat jarayonida va qiyinligi bo’yicha tekshiradi. Bundan tashqari dasturlarni hisoblash imkoniyatlarini aniqlash uchun ham testlash maqsadga muvofiq. Ko’p dasturlar qandaydir kiritiladigan ma’lumotlar bilan yahshi ishlasa, boshqalari bilan yomon ishlaydi. “Yahshi” lardan “yomon” larga o’tish “mayin” bo’lish kerak. Testlash uchun ma’lumotlar dasturning qiyinligiga, mavjud vaqt resurslariga, kiritish-chiqarishsoniga bog’liq holda tanlanadi. Bu yerda analitik va eksperimental tahlil bir-birini to’ldiradi.

Hujjatlashtirish

O’zingiz yozmagan dastur kodini o’qish juda qiyin. Bu muammoni hujjatlashtirish

yordamida yechsa bo’ladi. Hujjatlashtirish o’z ichiga hamma yordamchi ma’lumotlarni oladi va dasturda nima bajarilishini tushuntirib beradi, xususan, blok-sxemalardagi boshqarishni uzatish, berilganlarni kiritish-chiqarish shaklini batafsil tavsif qilish, siklning parametrlari, yordamchi local va global proseduralarni bajarilishi va boshqalar.

Hujjatlashtirishning eng asosiy qoidasi bu “boshqalar yozgan dasturlarni qanday ko’rishni istasangiz, o’zingiz ham dasturni shunday ko’rinishda rasmiylashtiring”.

Takrorlash ucun savollar

1. Algoritmning qaysi ta’riflarinin bilasiz? 2. Algoritmni to’liq yaratish bosqichlarini aytib o’ting 3. Masalani qo’yishda va modelni yaratishdagi savollarni qanday aniqlash kerak? 4. Algoritmni va ularning murakkabligini tahlil qilishda nimalarga e’tibor berish kerak?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritm ta’riflariga beshta misol ko’rsating. 2. Zamonaviy algoritmlarga nisbatan mavjudlaridan tashqari qanday hossalarni qo’shih

mumkin? 3. Masala qo’yilishin aniqlashga va modelni yaratishga savollar sonini 10 ga yetkazing? 4. Algoritmni ishlab chiqishga amaliy misol va uning yechimini ko’rsating. 5. Biron-bir tuzilgan algoritm murakkabligini o- mezoni bilan baholang. 6. Dasturni tekshirish uchun kiritiladigan test ma’lumotlariga misol tuzing. 7. Ixtiyoriy matematik masala yechimiga bag’ishlangan algoritmni tanlang va uning

qadamlariga izoh tuzib, hujjatlashtirish jarayonini amalgam oshiring.

Page 142: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

142

Mavzuga doir testlar: 1. Quyidagi bandlardan qaysi birida algoritm tushunchasi aniqroq va tuliqroq ta’riflangan?

A) Algoritm-quyilgan masalani yechish yoki ma’lum bir maksadga erishish uchun ijrochi bajarishi zarur bulgan ish xarakatning (amallarning) tushunarli va anik ketma-ketligidir.

B) Algoritm uzbek matematigi Al Xorazmiy nomi bilan boglik bulib, uning yevropacha buzib aytilishidir.

C) Algoritm deganda EXM uchun tuzilgan dasturni tushunamiz. D) Algoritm ijrochiga berilgan kursatma (yuriknoma) bulib xizmat kiladi.

2. Quyidagi hossalardan qaysi biri bo’yicha algoritmning har bir qadami aniq belgilangan bo’lishi kerak?

A) Aniqlik C) Moslashuvchanlik B) Ommaviylik D) Diskretlik

3. Algoritmning birinchi rasmiy tushunchasini kim kiritgan? A) Gedel C) Tyuring

B) Muxammad Al-Xorazmiy D) Paskal 4. Algoritm tushunchasini intutitiv darajada birinchi bo’lib kim kiritgan?

A) Muxammad Al-Xorazmiy C) Tyuring B) Paskal D) Gedel

5. Bugungi kunda eng keng tarqalgan algoritmning rasmiy ta’rifi muallifi kim? A) Tyuring C) Paskal

B) Muxammad Al-Xorazmiy D) Fon-Neymanl

6. Muayan sinf masalalarini yechaydigan aniq belgilangan qadamlar ketma-ketligi bu ... A) Algoritm C) Massiv

B) Qism-dastur D) Dastur

7. Algoritm ma’lum bir ijrochiga muljallab tuziladi. Agar ijrochi EXM bulsa, algoritm kanday yozilishi kerak?

A) Blok sxemalar yordamida ifodalanishi kerak. B) So’zlar yordamida yozilishi kerak. C) So’zlar va formulalar yordamida D) Jadval ko’rinishida ifodalanishi zarur.

8. Algoritm va EXM uchun dastur tushunchalari orasidagi fark nimadan iborat? A) EXMga tushunarli tilda yozilgan algoritm dasturdir.

B) Ular bir xil tushunchalar C) Xar kanday algoritm dastur bula oladi

D) Ular orasida xech kanday umumiylik yuk

Page 143: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

143

9. Algoritm yaratish jarayonining boskichlarini tugri tartibda joylashtiring:

9) Masalaning kuyilishi 10) Algoritmni yozish; 11) Model tuzish; 12) Algoritmni amalga oshirish (realizasiya); 13) Algoritm tugriligini tekshirish; 14) Dasturni tekshirish; 15) Algoritmni va uning murakkabligini taxlil kilish; 16) Xujjatlashtirish.

A) 1;3;2;5;4;7;6;8. V) 1;2;3;4;5;6;7;8

S) 2;1;3;4;5;6;8;7 D) 1;4;2;5;3;8;7;6

10. Masalaning kuyilishidan nimalar aniklanadi?

A) Nima berilgan va nimani topish kerakligi

B) Algoritmning uzunligi C) Dasturning bajarilish vakti;

D) Zaruriy xotira xajmi.

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002,

107 бет. 5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet.

5 – MA’RUZA: ALGORITMLARNI TAVSIFLASH TILI HAQIDA KELISHUV

Reja 1. Algoritmning umumiy ko’rinish 2. Tarmoqlanuvchi yoki shartli buyruqlar 3. Tanlash buyruqlari. 4. Takrorlash buyruqlari.

Darsning maqsadi: talabalarga algoritmlarni tavsiflash tili tushunchasi, asosiy

konstruksiyalar, ularni turli dasturlash tilidagi kurinish bo’yich ma’lumot berish. Tayanch iboralar: algoritmlar nazariyasi, chiziqli, tarmoqlanuvchi, tanlash,

takrorlanuvchi, modelllashtirish, test, ishlab chiqish, hujaatlashtirish. Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va

uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Page 144: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

144

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Algoritmlarni tavsiflash usullari haqida aytadigan bo’lsak, ular so’zlar bilan, jadvallar bilan,

grafik yoki blok-sxemalar va maxsus sun’iy tilda berilishi mumkin. So’zli tavsiflashda tabiiy til va matematik belgilar elementlari ishlatiladi. Jadvalli berilishida

algoritm jadvallar va hisoblash formulalari shaklida ko’rsatiladi. Grafikli, blok-sxemali va graflar yordamida berilishda algoritm geometrik figuralar va bloklar yordamida tavsiflanadi.

Algoritmik til – bu algoritmlar va ular bajarilishini bir qolirda va aniq yozish uchun belgilar va qoidalar tizimi. Algoritmik til so’zlarni tuzishga xizmat qiladigan o’z lug’atiga ega bo’ladi. So’zlar algoritmni buyruqlarini yozish uchun ishlatiladi. Bundan tashqari tilning xizmat so’zlari ham bo’ladi, ularning berilishi va ma’nosi aniq belgilangan.

So’zli algoritmik tillarga misol bo’lib “Informatika” kursidagi maktab algoritm tili xizmat qilishi mumkin. Bu til yordamida ixtiyoriy algoritmni o’qishva tahlilga qulay ko’rinishda, hamda unga qandaydir qo’shimcha buyruqlar va konstruksiyalar kiritish imkoni bilan yozish mumkin. Algoritmning umumiy ko’rinishi va shu tilning asosiy buyruqlari. 1. Algoritmning umumiy ko’rinishi: Alg nomi (argumentlar va natijalar ruyhati). Arg ruyhat. Nat ruyhat. Bosh Buyruqlar ruyhati. Tamom. 2. Tarmoqlanuvchi yoki shartli buyruqlar. Agar shart. Unda ruyhat 1. Aks holda ruyhat 2. Tamom. 3. Tanlash buyruqlari. Tanlash Shart 1: ruyhat 1. Shart 2: ruyhat 2.

………………… Shart N: ruyhat N. Tamom. 4. Takrorlash buyruqlari. 1. toki shart. Sikl bosh. ruyhat. Sikl tug. 2. Takror ruyhat to shart . 3. i=n dan m gacha

Page 145: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

145

sikl bosh ruyhat sikl tug. Bu tilda yozilgan algoritmlarni yuqori darajali dasturlash tiliga bevosita o’tkazish oson. Algoritmni tuzishda va tahlil qilishda bu yerda faqatgina qabul qilingan algoritmik tildagi konstruksiyaga mos buyruqlarni bajarish uchun kerak bo’ladigan vaqt va xotira muhim.

Takrorlash ucun savollar

1. Algoritmni tavsiflash uchun qaysi tillardan foydalansa bo’ladi? 2. Asosiy konstruksiyalarni blok-sxema yordamida ifodalang. 3. Asosiy konstruksiyalarni Paskal dasturlash tilida ifodalang. 4. Asosiy konstruksiyalarni C++ tilida ifodalang.

Mustaqil ishlash uchun nazorat savollari:

1. Algoritm ta’riflariga beshta misol ko’rsating. 2. Algoritmni tavsiflash uchun tillarga 5 ta misol ko’rsating? 3. Chiziqli konstruksiyani blok-sxema yordamida ifodalang. 4. Tarmoqlanish konstruksiyalarni Paskal dasturlash tilida ifodalang. 5. Sharti oldin berilgan takrorlanuvchi konstruksiyalarni Paskal tilida ifodalang. 6. Sharti keyn berilgan takrorlanuvchi konstruksiyalarni Paskal tilida ifodalang. 7. Parametri berilgan takrorlanuvchi konstruksiyalarni Paskal tilida ifodalang.

Mavzuga doir testlar: 1. Quyida

)3(3)3(2)1(2)1(

2

2

xxxxy

ifodani xisoblash uchun algoritmlar keltirilgan. Ulardan qaysi biri eng samarali (effektiv) algoritm bo’la oladi?

A) Boshlanish

y:= x+1 y:=y^2+2y

b:=x+3 b:=2b^2+3b

y:=y/b Tamom

B) Boshlanish a:=x+1

b:=x+3 c:=a^2+2a

d:=2b^2+3b y:=c/d

tamom

Page 146: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

146

C) Boshlanish

a:=x+1 a:=a^2+2a

b:=x+3 b:=2b^2+3b

y:=a/b Tamom

D) Boshlanish

A:=x+1 B:=a^2

C:=x+3 D:=c^2

E:=b+2a F:=2d+3c

Y:=e/f Tamom

2. Shartli operator If B then S1 else S2 ning bajarilishiga mos blok-sxemani kursating.

A) B)

C) D)

3. Quyidagi If B then S1; S2; operatorlarning bajarilishiga mos blok-sxemani kursating. A) B)

- + S1 S2 B

- + S1 S2 B

- + B S2 S!

- + S! B S2

-

+ S1

S2

B -

+ S1

S2

B

Page 147: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

147

C) D) 52. Quyidagi

(bu yerda V1 va V2- mantikiy ifodalar, S1,S2-operatorlar) blok-sxemaga mos shartli operatorni kursating:

A) If B1 then S1 else if B2 then S2; B) If B1 then if B2 then S1 else S2; C) If B1 then Begin if B2 then S1 End else S2; D) If B1 then S1 else Begin if B2 then S2 End;

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975 г. 4. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под

ред. Ю.М.Смирнова. М: 1989 г. 5. Мингбаев Н.С., Жуманов И.И. Информатика.- Самарқанд,: СамДУ нашри, 2002,

107 бет.

-

+ S1

S2 B +

- S2

S1

B

+

-

+ S1 S2

B1 B2

Page 148: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

148

6 – MA’RUZA: ALGORITMLAR VA ULARNING MURAKKABLIGI TUSHUNCHASI

Reja 1. Algoritmni baholash mezonlari. 2. Algoritmni vaqt qiyinligi bo’yicha optimallashtirish. 3. Algoritmni hajmiy qiyinligi bo’yicha optimallashtirish.

Darsning maqsadi: talabalarga algoritmlarni murakkabligini baholash, mavjud mezonlar baholash uslubiyati, asosiy funktsiyalari haqida ma’lumot berish.

Tayanch iboralar: algoritmlar nazariyasi, murakkablik, vaqtli, hajmiy, mezon, chegara, modelllashtirish, optimallashtirish, test, ishlab chiqish, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Algoritmlarni baholash uchun ko’pgina mezonlar mavjud. Odatda kirituvchi berilganlarni

ko’payishida masalani yechish uchun kerak bo’ladigan vaqt va xotira hajmlarini o’sish tartibini aniqlash muammosi qo’yiladi. Har bir aniq masala bilan kiritiladigan berilganlarni miqdorini aniqlovchi qandaydir sonni bog’lash zarur. Bunday son masalaning kattaligi deb qabul qilinadi. Masalan, ikkita matritsani ko’paytirish masalasining o’lchami bo’lib, matritsalar kattaligiga xizmat qilishi mumkin. Graflar haqidagi masalada o’lcham sifatida graf shohlarining soni bo’lishi mumkin.

Algoritm sarflanayotgan vaqt masalaning o’lchami funksiyasi sifatida algoritmni vaqt bo’yicha qiyinligi deb nomlanadi. Bunday funksiyaga masalaning kattaligi oshganda limit ostidagi o’zgarish asimptotik qiyinlik deb aytiladi.

Shunga o’xshab, hajmiy qiyinlik va asimptotik hajmiy qiyinlikni aniqlash mumkin. Aynan algoritmning asimptotik qiyinligi natijada shu algoritm yordamida yechiladigan

masalarni kattaligini aniqlaydi. Agar algoritm n kattalikdagi kirishlarni 2nС vaqtda qayta ishlasa (c-const), unda algoritmning vaqt bo’yicha qiyinligi )( 2nO teng deb hisoblanadi, va n tartibda deb aytiladi.

Hisoblash mashinalar tezligi oshishiga qaramasdan, ular yordamida yechilayotgan masalalar kattaligini oshishini algoritm qiyinligini tahlil orqali aniqlaydi.

Faraz qilaylik, A1,A2,…,A5 nomli 5 ta algoritm quyidagi vaqtli qiyinliklar bilan berilgan.

Page 149: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

149

Algoritm Vaqtli qiyinlik

A1 N

A2 nN 2log

A3 2N

A4 3N

A5 n2

Bu yerda vaqtli qiyinlik – bu n kattalikdagi kirishlarni qayta ishlash uchun kerak bo’ladigan vaqt birliklar soni. Masalan, vaqt birligini 1 millisekund deb qabul qilaylik.

Bunda A1 algoritm bir sekundda 1000 kattalikdagi kirishni qayta ishlash mumkin, A5 algoritmi esa kirish kattalikdagina 9 dan oshirib bilmaydi.

Keyingi jadval 1 sekundda, 1 minutda, 1 soatda 5 ta algoritmlarni har birining yordamida yechiladigan masalaning kattaligi keltirilgan.

Algoritm Vaqtli qiyinlik Masalaning maksimal o’lchami

1 sek 1 min 1 soat

A1 N 1000 60*100 610*6,3

A2 nN 2log 140 4893 410*2

A3

2N 31 244 1897

A4 3N 10 39 153

A5 n2 9 15 21

Faraz qilaylik, keyingi avlod hisoblash mashinalari birinchi jadvalga nisbatano’n barobar

tezligi oshadi. Keyingi jadvalda shunday oshishga nisbatan yechiladigan masalalar kattaligining oshishi ko’rsatilgan.

Algoritm Vaqtli qiyinlik Masalaning maksimal kattaligi

1 sek 1 min 1 soat

A1 N 1s 110 s 10 A2 nN 2log 2s 210 s 10 A3 2N 3s 316,3 s 3 A4 3N 4s 415,2 s 2 A5 n2 5s 3,35 s 3/10

Page 150: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

150

Bu yerda A5 algoritm uchun tezlikni 10 barobar oshishi masalaning kattaligining uchga oshishiga olib keladi. A3 algoritm esa kattalik uch barobardan ziyod oshadi. Endi, tezlik oshishining o’rniga algoritmni kiruvchi berilganlarning hajmini oshishini ko’ramiz. Birinchi jadval bo’yicha taqqoslash asosi sifatida 1 min.ni qabul qilsak, A4 algoritm o’rniga A3 ni qo’llaganimizda, masalaning kattaligi 6 barobar oshadi, A4 algoritmni o’rniga A2 ni qo’llaganda esa 125 barobar oshirilishga erishamiz Agar taqqoslash asosi sifatida 1 soatni qabul qilsak, natijalar yanada ham muhimlashadi.

Algoritm va uning qiyinligini batafsilroq muhokama qilish uchun biz algoritmni amalga oshirish uchun qo’llaniladigan hisoblash qurilmalarning modelini va hisoblashning elementar qadamini aniqlashimiz zarur. Afsus-ki, sharoitlarga mos keladigan modelni o’zi yo’q. Eng katta qiyinchilikni mashina so’zlarining kattaliklari tug’diradi. Masalan, agar mashina so’zi ixtiyoriy uzunlikda butun son shaklini qabul qilsa, unda butun masalaning kodi mashina so’zi ko’rinishdagi bir son bo’lishi mumkin. Lekin mashina so’zining uzunligi cheklangan bo’lsa, unda masalaning kattaligi kamroq bo’lganda muammolar yechilsa ham, oddiy katta sonlarni xotiralashda qiyinchiliklar tug’ilishi mumkin.

Takrorlash ucun nazorat savollari

1. Algoritmni baholash mezonlari nima bilan farqlanadi? 2. Algoritmni vaqt qiyinligini qanday hisoblash kerak? 3. Algoritmni qaysi mezon bo’yicha optimallashtirish samarali?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Asimptotik baholash mohiyatinin tushuntirib bering. 5. Eksponentsial algoritmlarga misollar ko’rsating. 6. Polinomial algoritmlarga misollar ko’rsating.

Mavzuga doir testlar: 1. Quyidagi bandlardan kaysi birida algoritm tushunchasi anikrok va tulikrok ta’riflangan?

A) Algoritm-quyilgan masalani yechish yoki ma’lum bir maksadga erishish uchun ijrochi bajarishi zarur bulgan ish xarakatning (amallarning) tushunarli va anik ketma-ketligidir.

B) Algoritm uzbek matematigi Al Xorazmiy nomi bilan boglik bulib, uning yevropacha buzib aytilishidir.

C) Algoritm deganda EXM uchun tuzilgan dasturni tushunamiz. D) Algoritm ijrochiga berilgan kursatma (yuriknoma) bulib xizmat kiladi.

2. Algoritm va EXM uchun dastur tushunchalari orasidagi farq nimadan iborat?

A) EXMga tushunarli tilda yozilgan algoritm dasturdir. B) Ular bir xil tushunchalar

C) Xar kanday algoritm dastur bula oladi D) Ular orasida xech kanday umumiylik yuk

Page 151: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

151

3. Algoritmning samaradorligini baholash uchun mezonlar:

A) xotira xajmi va ijro vakti; B) aniqlik va tushunarlilik;

C) zaruriy xotira xajmi; D) tug’rilik va aniqlik

4. Algoritmni tugri deymiz, agar

A) u quyilgan masalaga mos yechimni bersa; B) u albatta sonli yechim bersa;

C) u oxirigacha ishlasa; D) u xatolardan xoli bulsa.

5. Algoritmni aniq deymiz, agar

A) Uning barcha kadamlari anik bulib, ularni boshkacha talkin kilish mumkin bulmasa;

B) Uning barcha kadamlari sonli natijaga olib kelsa; C) Unda matematik model tugri bulsa;

D) Xotira xajmi eng kam mikdorda bulsa.

Adabiyotlar

1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. – Samarqand: SamDU nashri, 2008 yil – 112 bet.

6. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под ред. Ю.М.Смирнова. М: 1989 г.

7. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 8. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 9. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд,: СамДУ нашри, 2002, 107 бет.

Page 152: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

152

7 MA’RUZA: ALGORITMLARNI ISHLAB CHIQISH METODLARI. MAKSIMUM TOPISH MASALASI.

Reja

1. Masalaning qo’yilishi. 2. So’zli algoritmni ishlab chiqish 3. Algoritmni tahlil qilish

Darsning maqsadi: talabalarga algoritmlarni ishlab chiqish usullari haqida ma’lumot

berish. Aniq misolda algoritmni ishlab chiqish va uni optimallashtirish bo’yicha ma’lumot berish Tayanch iboralar: algoritmlar nazariyasi, minimum, maksimum, murakkablik, vaqtli,

hajmiy, mezon, chegara, optimallashtirish, test, ishlab chiqish, hujaatlashtirish. Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va

uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Yuqorida orttirilgan bilimlar yordamida bir tipik masalani yechamiz:

Masalaning qo’yilishi.

nxxx ,...,, 21 berilgan elementlar bo’yicha m va j larni shunday topingki,

jk xnkxm }1{max bo’lsin. Bu yerda j mumkin bo’lgancha maksimal bo’lsin. So’zli algoritm

8. Boshlanish.

9. j:=n; k:=n-1; m:=xn;

10. agar k::=0 unda 7 o’ting.

11. agar xk<=m unda 6 o’ting.

12. j:=k; m:=xk;

13. k:=k-1; 3 o’ting;

14. tamom.

Page 153: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

153

Algoritm sodda va analizga muhtoj emas deb hisoblanadi. Lekin shu misolda murakkab algoritmn qanday tahlil qilish kerakligini ko’rsatish mumkin. Algoritm tahlili dasturlash uchun juda muhim.

Biz faqatgina bu algoritmni bajarish uchun kerak bo’ladigan vaqtni tahlil qilamiz.Buning uchun har bir qadam necha marta bajarilishini hisoblaymiz:

Qadam raqami Necha marta bajarilishi

2 1 3 n 4 n-1

5 A 6 n-1

Har bir qadam necha marta bajarilishini bilgan holda, kompyuterga masalani bajarish

uchun qancha vaqt kerakligini hisoblab chiqish mumkin. Jadvalda A dan tashqari hamma qiymatlar ma’lum, A – bu joriy maksimum qiymatini

necha marta o’zgartirish kerakligini ko’rsatkichi. Taxlilimiz to’liq bo’lishi uchun A ni ko’rib chiqamiz.

Tahlilning maqsadi A uchun min va max qiymatlarni topish. 1) Min A = 0,

bu holat }1{max nkxx kn

bo’lganda kuzatiladi.

2) Max A=n-1;

bu qiymatga

nxxx ...21 holatida erishiladi. Shunday qilib A ning tahlili 0 va n-1 larning o’rta arifmetik qiymati va o’rta kvadratini chetlanishini va usullari yordamida topish masalasiga olib keladi.

Takrorlash ucun nazorat savollar

1. Masala quyilishida qaysi o’zgaruvchilar aniqlandi? 2. Algoritmda qanday konstruksiyalar qatnashgan? 3. Aniqlangan noma’lum qiymat nechanchi qadamda bajariladi? 4. Algoritm tahlilini yakunga yetkazish ucun qanday usullarni qo’llash kerak?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Minimum topish yechimini beradigan masalalarga 5ta misol ko’rsating 5. Maximum topish yechimini beradigan masalalarga 5ta misol ko’rsating

Page 154: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

154

Mavzuga doir testlar:

1. Algoritmning samaradorligini baholash uchun mezonlar:

A) xotira xajmi va ijro vakti;

B) aniqlik va tushunarlilik; C) zaruriy xotira xajmi;

D) tug’rilik va aniqlik

2. Algoritmni tugri deymiz, agar

A) u quyilgan masalaga mos yechimni bersa;

B) u albatta sonli yechim bersa; C) u oxirigacha ishlasa;

D) u xatolardan xoli bulsa.

3. Algoritmni aniq deymiz, agar

A) Uning barcha kadamlari anik bulib, ularni boshkacha talkin kilish mumkin bulmasa; B) Uning barcha kadamlari sonli natijaga olib kelsa;

C) Unda matematik model tugri bulsa; D) Xotira xajmi eng kam mikdorda bulsa.

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002,

107 бет. 5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet. 6. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под

ред. Ю.М.Смирнова. М: 1989 г. 7. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 8. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 9. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд,: СамДУ нашри, 2002, 107 бет.

Page 155: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

155

8 MA’RUZA: EVKLID ALGORITMINING TAHLILI Reja

1. Masala qo’yilishi. 2. Algoritmni tuzish 3. Algoritm tahlili 4. Algoritm optimallashtirish 5. Algoritmni amalga oshirish

Darsning maqsadi: talabalarga algoritmlarni ishlab chiqishni Evklid algoritmi misolida ko’rsatish Aniq misolda algoritmni baholash va optimallashtirish bo’yicha ma’lumot berish

Tayanch iboralar: algoritmlar nazariyasi, minimum, maksimum, murakkablik, vaqtli, hajmiy, mezon, chegara, optimallashtirish, test, ishlab chiqish, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Masala qo’yilishi

Ikkita butun musbat m va n sonlar berilgan. Ularning umumiy bo’luvchisini topish talab qilinadi. Ya’ni, eng katta butun musbat son topish kerakki, unga m va n ni bo’lganda butun son chiqsin.

Algoritmni tuzish 6. Boshlash; 7. m ni n ga bo’lamiz, qoldiq r ga teng bo’lsin; 8. Agar r=0 unda n-natija; 5 o’ting; 9. m:=n; n:=r; 2 o’ting; 10. tamom.

Algoritm tahlili

Shu algoritmni tadqiq qilib ko’raylik. m=119, n=544 deb qabul qilaylik. Ikkinchi qadamdan boshlaymiz. Algoritmga binoan bo’lish natijasini nolga teng deb hisoblaymiz va r ga 119 ni ta’minlaymiz, keyin 3-qadamga o’tamiz. R nolga teng bo’lmaganligi uchun, hech nima qilmaymiz va 4-qadamga o’tamiz. Bu yerda m ga 544 ni, n ga 119 ni ta’minlaymiz. Umuman, ravshan bo’ldiki, m<n bo’lsa, 2-qadamda m va n larga nisbatan hech qanday amallar bajarilmaydi, algoritm esa m va n o’zgaruvchilar qiymatlari o’rin almashishiga olib keladi.

Page 156: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

156

Algoritm optimallashtirish Algoritmni optimallashtirish uchun unga quyidagi qadamni qo’shamiz:

1.2. agar m<n t:=n; n:=m; m:=t; Endi 2-qadamga kelsak, 544:119=4,68/119. r ga 68 ni ta’minlaymiz. 3-qadam ishlamaydi. 4-qadamda n=68, m=544, r=68. Keyingi sikllarda (r=51, m=68, n=51), keyin (r=17, m=51, n=17) va 51/17, ya’ni r=0. Shunday qilib, algoritm sikli 3- qadamda tugadi va 544 va 119 larning umumiy bo’luvchisi 17 ga teng bo’ldi. Bu algoritm umumiy bo’luvchini topish uchun yagona emas. Bunday algoritmni topish uchun Dj. Steynning binar algoritmi, yoki V, xorrisning algoritmidan foydalaniladi.

Algoritmni amalga oshirish Shu algoritmni kompyuterda amalga oshirish uchun quyidagi Paskal dasturini keltirish mumkin: Program evklid; Var a, b, nod, r, x, y: integer; Begin read (a, b); if a>b then begin x:=a; y:=b; end; else begin x:=b; b:=a; end; if (x>0) and (y>=0) then begin while y<>0 do begin r:=x mod y; x:=y; y:=r; end; Nod:=x; write (nod); end; else write (‘berilganlarda xato’); end.

Takrorlash ucun nazorat savollari

1. Masala qo’yilishidagi o’zgaruvchilarni aniqlang. 2. Algoritm optimallashtirish uchun qanday qadam qo’shildi? 3. Algoritm qaysi dasturlash tilida amalga oshirildi?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Evklid algoritmi yordamida yechiladigan masalalarga 5ta misol ko’rsating 5. Evklid algoritmini turli dastirlash tillarida amalgam oshirib tahlil qiling

Mavzuga doir testlar: 1. Quyidagi algoritmda siklning operatorlari necha marta bajariladi?

m: =36; n: =56 while m< >n do

if m>n then m:=m-n else n:=n-m;

A) 6 B) 4 C) 1 D) 8 2. Agar o’zgaruvchilar tavsiflanishi

Type room=1. .30; Var x: real; y: byte; z: room;

Page 157: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

157

bo’lsa, xatosiz bajarilayetgan buyrušlarni toping. A) Z: =30 B) Z: =x C) x: =12; z:=x; D) X=y; z: =x

3. X va U uzgaruvchilarning dastlabki qiymatlari mos ravishda 0.9 va –1.5. Kuyidagi

shartli operator IF X<Y THEN X:=Y ELSE Y:=X; bajarilgandan sung ularning kiymati nimaga teng buladi?

A) X=0.9 ; Y=0.9 B) X=0.9 ; Y=-1.5 C) X=-1.5; Y=0.9 D) X=-1.5; Y=-1.5 4. Quyidagi

0 xва 0y агар 4,0 xва 0у агар 3,0 xва 0y агар 2,

0 xва 0 ,1 yагар

N

ifoda kiymatini xisoblash uchun keltirilgan shartli operatorlardan kaysi biri tugri? A) Keltirilgan operatorlardan xech biri berilgan ifodani tugri xisoblamaydi. B) If y<0 then Begin x<0 then N:=3 else N:=4End else If x<0 then N:=2 else N:=1; C) If (y>=0) and (x>=0) then N:=1 else N:=2; If (y<0) and (x<0) then N:=3 else N:=4; D) If x<0 then Begin y<0 then N:=1 else N:=2 End else Begin If y>=0 then N:=3 else N:=4 End ;

5. Ta’minlash operatori kanday ishni bajarish uchun muljallangan? Eng umumiy javobni toping.

A) Operatorning ung kismida turgan ifodani xisoblaydi va uning kiymatini chap

kismdagi uzgaruvchiga ta’minlaydi. V) Uzgaruvchilarga kiymat ta’minlaydi. S) Uzgaruvchilarning turini boshkasiga uzgartiradi. D) Ifoda qiymati qaysi turga mansubligini aniqlaydi. 6. Quyidagi sanoq skalyar turlarni tavsiflash va ularga tegishli uzgaruvchilar ustida

amallar bajarishga doir misollar keltirilgan. Bu misollardan kaysi biri xatosiz yozilgan? A) Type T1=(AMAD, CAMAD, BYRI, ALI); T2=(OQ, QORA, KUK, KIZIL); VAR X,Y:T1;A,B:T2; X:ALI; A:=KUK; B:=OQ B) Type T1=(MEN, CEN, Y, 0.5); T2=(INB, FEV, MART, APR, MAI, JUH); C) Type T1 =(KATTA, KICHIK, URTA); T2=(STOL,STUL,PARTA); VAR X,Y,:T1;A,B:T2; X:STOL;Y:=KICHIK;T2:=URTA;

Page 158: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

158

D) Type T1 =(KATTA, KICHIK, URTA); T2=(STOL,STUL,PARTA); VAR X,Y: boolean; X:=KATTA<KICHIK; Y:=STUL>URTA;

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002,

107 бет. 5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet. 6. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под

ред. Ю.М.Смирнова. М: 1989 г. 7. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 8. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 9. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

9 -10 MA’RUZA: KOMMIVOYAJER MASALASINI ECHISH USLUBLARI. EVRISTIK ALGORITMLAR ASOSIDA MASALALARNI YECHISH

REJA

1. Masala qo’yilishi. 2. Evristik algoritmlar. 3. GTS algoritmini tuzish 4. Algoritmni baholash Darsning maqsadi: talabalarga algoritmlarni ishlab chiqishning evristik usullari haqida

tushuncha berish. Kommivoyajer masalasi yordamida aniq algoritmga misol ko’rsatish Algoritmni baholash va optimallashtirish bo’yicha kunikma hosil qilish

Tayanch iboralar: algoritmlar nazariyasi, evrisika, marshrut, minimum, maksimum, murakkablik, vaqtli, hajmiy, mezon, chegara, optimallashtirish, test, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80+80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 +2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10+10 minut. Yangi mavzuni bayon etish – 55+40 minut.

Page 159: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

159

Mavzu o’zlashtirilgan darajasini aniqlash – 10+25 minut. Uyga vazifa – 3+3 minut.

Masala qo’yilishi. Djek – kompyuterlar sotish bo’yicha agent (kommivoyajer), uning

qaramog’ida 20 ta shahar bor. ishlayotgan kompaniya yo’l harajatlarining 50% ni to’laydi. Djek uning qaramog’ida bo’lgan har ikki shahar orasida yo’l harajatini hisoblab chiqqan. Masala yo’l harajatlarini kamaytirishdan iborat.

Dastlabki ma’lumotlar Djek tasarrufidagi shaharlar ruyhati va narxlar matrisasi ko’rinishida berilgan. Bu yerda matrisa i shahardan j shaharga borish narxiga teng bo’lgan c(i,j) elementlardan tashkil topgan ikki o’lchamli massiv. Shaharlar soni 20 ta bo’lsa, matrisa -

2020 bo’ladi. Biz Djekga yo’l harajatlarini kamaytirishga yordam berishimiz kerak. Djekning

marshruti o’zi yashagan shahardan boshlanib, qolgan hamma shaharlarni bir martadan o’tib, yana o’z shahriga qaytib kelishi kerak. Demak, biz tuzayotgan ruyhatda har bir shahar faqat bir marta uchrashi kerak, Lekin Djek yashagan shahar ikki marta uchrab, ruyhatning birinchi va oxirgi elementlari bo’ladi. Undan tashqari, ruyhatdagi shaharlar tartibi Djekning marshrutini belgilaydi. Ruyhatdagi ikkita oxirgi shaharlar orasidagi yo’l narxi – bu butun marshrut narxi deb hisoblanadi. Demak, agar biz Djekga eng kichik narxdagi ruyhatni tuzib bersak, masalani yechgan bo’lamiz.

Evristik algoritmlar. Evristika yoki evristik algoritm – algoritm deb ta’riflanishi uchun quyidagi

hususiyatlarga ega bo’lishi kerak: 3. U odatda shartli ravishda optimal bo’lmasa ham, yahshi yechimlarni topish kerak. 4. Uni ixtiyoriy ma’lum aniq algoritmdan ko’ra, amalga oshirish tezroq va soddaroq

bo’lishi kerak. Odatda yahshi algoritmlar evristik bo’lib chiqadi. Faraz qilaylik, biz tez ishlaydigan va

barcha test topshiriqlariga javob beradigan algoritmni tuzdik, lekin uning to’g’riligini isbotlab bilmaymiz. Shunday isbot berilmaguncha, algoritm evristik deb tushuniladi.

Misol tariqasida quyidagi algoritmni ko’rib chiqamiz: GTS algoritmi: (kommivoyajer). N ta shaharlar va C narxlar matrisasi berilgan

kommivoyajer masalasi uchun U shahardan boshlab COST narxli TOUR yaqinlashgan yechimni topish kerak.

Qadam 0: [Insiallashtirish] TOUR:=0; COST:=0; V:=U; Qadam 1: [Hama shaharlarni o’tish] For k:=1 to N-1 do qadam 2; Qadam 2: [Keyingi vektorga o’tish] Faraz qilaylik, (V,W) – V shahardan W ga olib borayotgan eng kichik narxli

vektor. Unda: TOUR:=TOUR+(V,W); COST:=COST+C(V,W); V:=W; Qadam 3: [Marshrutni tugatish] TOUR:=TOUR+(V,1); COST:=COST+C(V,1); Marshrutni tasvirlash uchun biz matematikada graf yoki tur deb nomlanayotgan

chizmadan foydalanamiz. Umuman tur – bu nuqtalar va bir nechta yoki barcha ikki nuqtalarni bog’layotgan chiziqlar to’plami, undan tashqari chiziqlar ustida qiymatlar ham berilishi mumkin.

Masalani soddalashtirish uchun beshta shahar uchun yechim topamiz. Rasm. 1a – narxlar matrisasi. Rasm. 1b – turli model ko’rsatilgan.

- 1 2 7 5 1 - 4 4 3 2 4 - 1 2 7 4 1 - 3 5 3 2 3 -

Rasm 1-a). Narxlar matrisasi

Page 160: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

160

Rasm 1-b). To’rsimon model

To’rlar nazariyasida shaharlar ruyhati bir shahardan boshlab va o’sha shaharga barcha

qolgan shaharlarni bir martadan o’tib qaytib kelish jarayonini belgilaydi. Bunday o’tishni marshrut deb ta’riflaymiz. Marshrut narxi chiziqlar ustidagi qiymatlar yig’indisi bilan aniqlanadi.

Rasm 2 algoritm GTS bo’yicha K marshrutni shahar1 dan boshlab tuzishni aks ettiradi.

Rasm 2. Algoritm qadamlari

GTS algoritmi bo’yicha marshrut narxi 14 ga teng. Bu yerda algoritm eng kichik narxli

marshrutni topmaganini ko’ramiz. Masalan, marshrut 1-5-3-4-2-1 narxi 5+2+1+4+1=13. Odatda yaqinlashgan algoritmlar tez bo’lsa ham, hamma vaqt optimal yechimni

berolmaydilar. GTS algoritm uchun biz nazoratchi nisol topib bildik. Lekin, yaqinlashgan algoritm ishlamasligini isbotlash hamma vaqt ham oson bo’lmaydi.

1

2 5

4 3

Page 161: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

161

GTS algoritmi uchun dastur yozish ancha yengil. Lekin uni tezligini tahlil qilib ko’raylik. Ixtiyoriy kommivoyajer masalasi uchun (besh shahardan iborat) C narxlar matrisasini o’qish va tuzishga )( 2NO operatsiya kerak. Demak, pastki murakkablik chegara algoritm uchun

)( 2NO teng va GTS algoritmini yahshi evristik algoritm deb qabul qilishimiz mumkin.

Takrorlash ucun nazorat savollari

1. Masala qo’yilishidagi o’zgaruvchilarni aniqlang. 2.Evristik algoritmlarni ta’riflab bering. 3. GTS algoritmini tuzishdagi qadamlarni aytib bering. 4. Algoritmni baholash jarayonini tavsiflab bering.

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Evristk usul bilan tuzilgan algoritmlarga 5ta misol ko’rsating 5. Kommivoyajer masalasining 3ta turli mezon bo’yicha yechim misollarini korsating.

Mavzuga doir testlar: 1. Quyidagi algoritmda siklning operatorlari necha marta bajariladi?

m: =36; n: =56 while m< >n do

if m>n then m:=m-n else n:=n-m;

A) 6 B) 4 C) 1 D) 8 2. Agar o’zgaruvchilar tavsiflanishi

Type room=1. .30; Var x: real; y: byte; z: room;

bo’lsa, xatosiz bajarilayetgan buyrušlarni toping. A) Z: =30 B) Z: =x C) x: =12; z:=x; D) X=y; z: =x

3. X va U uzgaruvchilarning dastlabki qiymatlari mos ravishda 0.9 va –1.5. Kuyidagi

shartli operator IF X<Y THEN X:=Y ELSE Y:=X; bajarilgandan sung ularning kiymati nimaga teng buladi?

A) X=0.9 ; Y=0.9 B) X=0.9 ; Y=-1.5 C) X=-1.5; Y=0.9 D) X=-1.5; Y=-1.5

Page 162: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

162

4. Quyidagi

0 xва 0y агар 4,0 xва 0у агар 3,0 xва 0y агар 2,

0 xва 0 ,1 yагар

N

ifoda kiymatini xisoblash uchun keltirilgan shartli operatorlardan kaysi biri tugri? A) Keltirilgan operatorlardan xech biri berilgan ifodani tugri xisoblamaydi. B) If y<0 then Begin x<0 then N:=3 else N:=4End else If x<0 then N:=2 else N:=1; C) If (y>=0) and (x>=0) then N:=1 else N:=2; If (y<0) and (x<0) then N:=3 else N:=4; D) If x<0 then Begin y<0 then N:=1 else N:=2 End else Begin If y>=0 then N:=3 else N:=4 End ;

5. Ta’minlash operatori kanday ishni bajarish uchun muljallangan? Eng umumiy javobni toping.

A) Operatorning ung kismida turgan ifodani xisoblaydi va uning kiymatini chap

kismdagi uzgaruvchiga ta’minlaydi. V) Uzgaruvchilarga kiymat ta’minlaydi. S) Uzgaruvchilarning turini boshkasiga uzgartiradi. D) Ifoda qiymati qaysi turga mansubligini aniqlaydi.

Adabiyotlar

1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

3. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 4. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997.

Page 163: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

163

11 MA’RUZA: ENG QISQA YO’LLARNI TOPISH. DEYKSTRA ALGORITMLARI

Reja

1. Eng qisqa yo’llar masalalarining turlari. 1. Sozli algoritmni tuzish. 3. Algoritmni psevdokodda ishlab chiqish 4. Algoritmni baholash.

Darsning maqsadi: talabalarga algoritmlarni ishlab chiqishning evristik usullari haqida tushuncha berish. Kommivoyajer masalasi yordamida aniq algoritmga misol ko’rsatish Algoritmni baholash va optimallashtirish bo’yicha kunikma hosil qilish

Tayanch iboralar: algoritmlar nazariyasi, evrisika, marshrut, minimum, maksimum, murakkablik, vaqtli, hajmiy, mezon, chegara, optimallashtirish, test, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Yo’l tarmoqlari atlasi (karta) qismi berilgan bo’lib, undan A va B nuqtalar orasidagi “eng

yahshi” marshrutni topish kerak bo’lsin. “Eng yahshi” marshrutni ko’p faktorlar belgilashi mumkin, masalan, tezlik cheklangan holda marshrutni o’tish vaqti, o’tish kerak bo’lgan shaharlar soni va boshqalar.

Biz masalani eng qisqa yo’llar faktori bo’yicha yechamiz. Masalaning modeli turlar yordamida tuziladi. Uzluksiz G turni har bir qirrasiga uning uzunligiga teng qiymat berilgan ko’rinishida tuzamiz. Bunday turda masofa irralar yig’indisiga teng bo’ladi. Masalaning maqsadi ikkita berilgan uchlar orasidagi eng qisqa marshrutni topishdir.

Umuman, eng qisqa yo’llar masalalari kombinator optimallashtirishning fundamental muammolaridandir. Ularning bir necha turlari mavjud, masalan, ikkita berilgan uchlar orasida, berilgan va qolgan barcha uchlar orasida, turdagi har bir uchlar juftliklari orasida va boshqalar.

Deykstra algoritmning so’zli tavsifi

Shunday masalalarni yechish uchun Deykstra algoritmi ancha qulay va yahshi deb topilgan. Algoritm quyidagi qadamlardan iborat:

6. Dastlab, berilgan (Lex) uchidan qolgan barcha uchlargacha bir qirra uzunligidagi masofalar aniqlanadi.

7. Ulardan eng qisqasi “doimiy eng qisqa masofa” sifatida belgilanadi (Lex va BVa uchlari qirrasi).

8. Aniqlangan masofa BVa dan boshqa bor uchlargacha masofalarga qo’shiladi.

Page 164: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

164

9. Hosil bo’lgan yig’indilar dastlab aniqlangan Lex dan qolgan uchlargacha bo’lgan masofalar bilan taqqoslanadi. Natijada masofasi qisqaroq bo’lgan uchning qirrasi tanlanadi.

10. BVa uchi, eng qisqa masofa aniqlangan uch sifatida, ruyhatdan o’chiriladi. Ruyhatga boshqa uch qo’yiladi, masalan, Roa. Bva o’z navbatida, boshqa, izlanayotgan ruyhatga qo’yiladi.

Keyingi eng qisqa masofani topish uchun butun jarayon qayta bajariladi. BVa dan keyin yana bir uch ruyhatga qo’yiladi. Dastlabkisi esa ruyhatdan o’chiriladi. Sikl Bed va Lex uchlarini bog’lash uchun belgilangan qirralar aniqlanishi bilan to’xtatiladi.

Rasm bo’yicha ikkinchi iteratsiyada Nbr uchi aniqlanadi va Roa gacha masofa 41 deb qabul qilinadi. Uchinchi iteratsiyada Gla uchigacha masofa eng qisqa va 27 deb qabul qilinadi. Quyidagi rasmda eng qisqa yo’llar daraxti ko’rinishida ularning natijaviy to’plami keltirilgan.

Aylanalar ichidagi sonlar algoritm bo’yicha qirralar tanlanish tartibini ko’rsatadilar. Bu daraxt bo’yicha biz Lex uchidan ixtiyoriy bizni qiziqtirayotgan uchgacha eng qisqa yo’lni topishimiz mumkin.

Ko’rilgan misolda Bed uchi Lex dan boshlab eng oxirgi bo’lib chiqdi, ya’ni Lex dan Bed gacha eng qisqa masofani topish uchun biz Lex dan barcha qolgan uchlargacha eng qisqa yo’llarni topishga majbur bo’ldik.

Demak, eng yomon holatda 2 ta berilgan uchlar orasidagi eng qisqa yo’lni topish, bir berilgan nuqtadan qolgan barcha nuqtalargacha eng qisqa yo’l topish masalasi bilan murakkabligi bir xil bo’ladi.

Algoritmni psevdokodda ishlab chiqish 2. Masala qo’yilishi.

M ta uch va N ta qirralardan iborat uzluksiz grafda V0 uchidan W uchigacha Dist(W) masofani topish kerak. Qirralar uzunliklari A matrisa bilan berilgan deb hisoblaymiz. Qadam 0. [uchlarni belgilash] – bu yerda V0 uchini “aniqlangan” deb belgilaymiz, qolgan barcha uchlarini “aniqlanmagan” deb hisoblaymiz. Qadam 1. [o’zgaruvchilarni inetsiallashtirish] – bu yerda Dist(U):=A(V0 ,U) – barcha G ga tegishli U uchlari uchun; Dist(V0):=0; Next:=V0; Qadam 2. [sikl]. While NEXT<>W do Begin Qadam 3. [“aniqlanmagan” uchgacha eng qisqa yo’lni yangilash]. Har bir “aniqlanmagan” U uchi uchun Dist(U):=min(Dist(U):Dist(Next)+A(Next, U)). Qadam 4. [“aniqlanmagan” uchgacha eng qisqa yo’lni tanlash]. Agar U barcha “aniqlanmagan” uchlari orasida Dist(U) masofasi eng kichik bo’lsa, uni “aniqlangan” deb belgilaymiz va NEXT:=U. end. Bu algoritmning va dasturning murakkabligini O(M2) ekanligini ko’rsatish mumkin.

Takrorlash ucun nazorat savollari

1. Qaysi mezonlar bo/yicha eng qisqa yo’llar masalalarini yechish mumkin? 2. Deykstra algoritmi nima uchun yaxshi hisoblanadi? 3. Algoritmni psevdokodda tavsiflashning qo’layligini ko’rsating 4. Deykstra algoritmining bahosi qanday?

Mustaqil ishlash uchun nazorat savollari:

Page 165: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

165

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Eng qisqa yo’llarni topish masalasiga 3ta turli mezon bo’yicha yechim misollarini

korsating. 5. Deykstra algoritmidan farqli boshqa eng qisqa yo’llarni topadigan algoritmni tuzing.

Mavzuga doir testlar:

1. Quyida ikki algoritm keltirilgan: 1-algoritm: boshlanish i:=100, S1:=1; toki i>=1 takrorlash boshlanish S1:=S1+i; i:=i-1 tamom; chikarish S1; tamom.

2-algoritm: boshlanish i:=100, S2:=1; toki i>=1 takrorlash boshlanish S2:=S2*i; i:=i-1 tamom; chikarish S2; tamom.

Birinchi va ikkinchi algoritm bajarilishi natijasida mos ravishda S1 va S2 kiymatlar xosil kilinadi. S1 va S2 urtasida kuyidagi keltirilgan munosabatlardan kaysi biri bajariladi? A) S1<S2;

B) S1>S2; C) S1=S2;

D) S1=2*S2;

2. Obyektga yunaltirilgan dasturlashning asosiy goyasi? A) ma’lumotlar va ular ustida bajariladigan amallarni bir strukturaga birlashtirish;

V) ma’lumotlarni obyektlar sifatida tavsiflash; S) ma’lumotlar va ular ustida bajariladigan amallarni aloxida-aloxida dasturlash;

D) obyektlar turi degan tushunchani kiritish

18. Obyektga yunaltirilgan dasturlash kuyidagi uch tushunchaga asoslanadi:

A) inkapsulyasiya; merosxurlik 3. Old-shartli sikl operatori While B do A (bu yerda V-mantikiy turdagi ifoda, A-oddiy

yoki murakkab operator)ning bajarilish jarayonini ifodalovchi blok-sxemani kursating. A) B)

+

-

A

B

+ A

B

Page 166: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

166

C) D) 4. Quyidagi operatorlarning bajarilishidan sung uzgaruvchining kiymati nimaga teng

buladi? 1) I:=1; F:=2; while I<6 do I:=I+1; F:=F*I; 2) I:=1; F:=2; while I<6 do begin I:=I+1; F:=F*I End; A) 1) F=12; 2) F=1440; B) 1) F=48 ; 2) F=240; C) 1) F=240; 2) F=48; D) 1) F=14; 2) F=11080. 5. Sung shartli sikl operatori Repeat A Until B ga mos keluvchi blok-sxemani kursating

(bu yerda A-oddiy yoki murakkab operator, V-mantikiy ifoda). A) B) C) D) 6. Quyidagi jumlalardan kaysi old va sung shartli sikl operatorlari orasidagi farklardan

birini tugri va tulik ifodalaydi? A) Bu javoblarning birontasi xam old va sung shartli sikl operatorlar urtasidagi farklardan

xech birini tugri ifodalamaydi. V) Old shartli sikl operatorida sikl jismining takror bajarilishi mantikiy ifoda kiymati

“false” bulganda, sung shartli sikl operatorida esa “true” bulganda ruy beradi; C) Agar sikl jismida mantikiy ifoda kiymatiga ta’sir kiluvchi operator bulmasa, u xolda

sung shartli sikl operatori cheksiz takrorlanishga («zasiklivaniye») olib kelish mumkin. Old shartli sikl operatorida esa bu xodisa xech kachon ruy bermaydi;

D) Old shartli sikl operatorida mantikiy ifoda kiymati birinchi xisoblashdayok “false” ga teng buladi, u xolda sikl jismi bir marta xam bajarilmaydi. Sung shartli sikl operatorda esa sikl jismi mantikiy kiymatdan boglik bulmagan xolda xech bulmasa bir marta albatta bajariladi;

+

-

A

B

+ A

B

+

A

B

- +

A

B

+

A

B

- +

A

B

Page 167: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

167

Adabiyotlar

1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. – Samarqand: SamDU nashri, 2008 yil – 112 bet.

6. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под ред. Ю.М.Смирнова. М: 1989 г.

7. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 8. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 9. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

12 MA’RUZA: TARTIBLASH ALGORITMLARI. TEZ TARTIBLASH Reja

1. Tartiblash masalalarining turlari 2. Xoaraning tartiblash algoritmi mazmuni 3. Xoara algoritmini rekursiv usulda amalgam oshirish 4. Algoritmni baholash

Darsning maqsadi: talabalarga tartiblash masalalarini yechaydigan algoritmlar haqida

tushuncha berish. Xoaraning tartiblash algoritm mazmunini yetkazish, algoritmni baholash va optimallashtirish bo’yicha kunikma hosil qilish

Tayanch iboralar: algoritmlar nazariyasi, tartiblash, minimum, maksimum, murakkablik, masssiv, o’lcham, chegara, optimallashtirish, test, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Tartiblash masalalarining turlari

Umuman tartiblash deganda berilgan ob’yektlar to’plamini ma’lum tartibda joylash uchun qayta ishlash jarayoni tushuniladi.

Page 168: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

168

Tartiblash natijasida to’plamdagi elementlarni izlash jarayonlari yengillashadi. Undan tashqari tartiblashlar misolida qanday qilib algoritmni murakkablash evaziga samaradorlikni oshirishga erishish mumkinligini ko’rsatsa bo’ladi.

Hozirgi kunda ko’pgina tartiblash algoritmlari mavjud. Algoritmni tanlash qayta ishlanayotgan ma’lumotlar strukturasiga bog’liq va shu sababli tartiblash usullari asosan 2 sinfga ajratiladi. Bular massivlarni tartiblash va fayllarni tartiblash. Ularni yana ichki va tashqi tartiblash ham deb nomlaydilar.Chunki massivlar mashinaning tezkor xotirasida joylashadi. Fayllar esa odatda ancha hajmi katta bo’lgan lekin sekin ishlaydigan tashqi xotiradan olinadilar.

Xoaraning tartiblash algoritmi mazmuni

Eng yahshi tartiblash algoritmlaridan biri deb Ch. Xoara usuli hisoblanadi. Bu usul

almashuvga asoslangan. Bu yerda yahshi samaradorlikka erishish uchun dastlab katta masofadagi ya’ni bir-biriga

eng uzoq joylashgan elementlarni almashtirish qo’llaniladi. Faraz qilaylik bizda n ta element

kalitlar bo’yicha qayta tartibda berilgan. Xoara usuli bo’yicha ularni 2n ta almashuv bilan

tartiblash mumkin. Buning uchun dastlab eng chap va eng o’ng tomonda joylashgan elementlarni almashtiramiz. Keyin ikki tomondan o’rtaga qarab kelamiz. Lekin bu faqatgina qayta tartib aniq bo’lganda amalga oshiriladi.

Endi massiv ixtiyoriy tartibda berilgan bo’lsin. Ixtiyoriy X elementni tanlab massivni chapdan o’ngga qandaydir ai>x element uchramaguncha ko’rib chiqamiz. Keyin massivni o’ngdan chapga qandaydir aj<x element uchramaguncha o’tamiz.

ai va aj elementlarni o’rinlarini almashtirib massivni ikki tomondan ko’rib chiqish jarayonini massiv o’rtasiga kelmaguncha davom ettiramiz. Natijada massiv 2 qismga bo’linadi. Chap qismdagi elementlar x dan katta yoki teng bo’ladilar. O’ng tomondagi elementlar x dan kichik yoki teng bo’ladi.

Dastur tuzayotganda bu jarayonni prosedura yordamida amalga oshirish mumkin. Prosedurani rekursiv va norekursiv usullar bilan tuzish mumkin.

Xoara algoritmini rekursiv usulda amalga oshirish

Quyidagi dastur rekursiv prosedurani qo’llaydi. Prosedure Hoare;

Prosedure sort (L, R: index); var i, j: index; w, x: item; begin i:=L; j:=R; x:=a[(L+R) div 2]; repeat while a[i]<x do i:=i+1 end; while a[j]>x do j:=j+1 end; if i<=j then begin w:=a[i]; a[i]:=a[j]; a[j]:=w; i:=i+1; j:=j-1; end; until i>j if L<j then sort (L, j) end; if i<R then sort (i, R) end; end {*sort*}; begin sort (1, n); end {* Hoare*};

Norekursiv dasturni tuzish uchun yordamchi steklardan foydalaniladi.

Page 169: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

169

Algoritmni baholash Xoara algoritmni unumdorligini tahlil qilamiz. Boshlab bo’linish jarayonini ko’raylik.

Qandaydir x ni tanlab biz massivni to’liq o’tamiz. Demak, n ta taqqoslashni amalga oshiramiz.

Taqqoslashlarni umumiy soni n*log(n) ekanligi, o’rin almashtirishlar soni esa 6

)log(nn

ekanligi isbotlangan. Bizning misolimizda x - o’rtancha element deb tanlangan, lekin Xoara fikri bo’yicha X

ixtiyoriy tanlanishi kerak. Xoara algoritmning o’rtacha ishlash vaqti ))ln(*( nnO teng.

Takrorlash ucun nazorat savollari

1. Tartiblash masalalarining qaysi turlarini bilasiz? 2. Xoaraning tartiblash algoritmi mazmuni nimada? 3. Xoara algoritmini qanday usullar bilan amalga oshirish mimkin? 4. Xoara algoritm bahosini tavsiflab bering.

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Turli mezonlar bo’yicha baholash jarayoniga misollar ko’rsating. 3. Tartiblash usllariga 5 ta misol ko’rsating. 4. Xoara tartiblash algoritmi yordamida yechiladigan masalalar turkumini tasniflab bering 5. Xoara tartiblash algoritmini rekursiv bo’lmagan dasturini tuzing. 6. Xoara tartiblash algoritmini ob’yektli yo’naltirilgan dasturlash tilida amalgam oshiring.

Mavzuga doir testlar:

1. Quyida parametrlari sikl operatoriga doir misollar berilgan:

Var S1, S2, I:integer; L:boolean; 1) S1:=1; For I:=3 to 5 do S1:=S1*I 2) S1:=0; For L:=false to true do S2:=S2+1;

bu operatorlarning bajarilishidan sung S1 va S2 uzgaruvchilarning kiymati nimaga teng buladi7 A) 1) S1=60; 2) S2=2; B) 1) S1=12; 2) S2=3; C) 1) S1=54; 2) S2=60; D) 1) S1=30; 2) S2=20;

2. Quyidagi jumlalardan kaysi biri yolgon? A) MS massivda 7ta element bor; elementlarga murojaat MC [false, 2] kabi buladi; B) MV massiv 9 elementdan iborat bulib, uning elementlariga murojaat MV [3] kabi

buladi. C) ZAR massiv 8 elementdan iborat va unga murojaat ZAR [m1, m3] kabi buladi; D) MN massivda 10 element bor: elementlarga murojaat MN[x1] kabi bo’ladi;

3. Tuplamli turning asosiy turi sifatida kaysi turlar ishlatilishi mumkin?

Page 170: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

170

A) chegaralanmagan butun va xakikiy turdan boshka ixtiyoriy chegaralangan yoki skalyar turlar;

B) fakat standart turlar; C) ixtiyoriy chegaralangan yoki skalyar turlar; D) fakat skalyar turlar;

4. Quyidagi bandlardan kaysi birida xato mavjud? A) massiv indeks turi sifatida ixtiyoriy standart, skalyar sanokli va chegaralangan turlarni

ishlatish mumkin, masalan, integer, boolean, real, char va x.k. B) massivni tasvirlash uchun uning elementlari turini va indekslari turini kursatish kerak. C) regulyar tur yoki massiv deganda bir xil turdagi ma’lumotlarning tartiblangan

tuplamini tushunamiz. D) massiv elementlari turi sifatida ixtiyoriy oddiy yoki murakab tur ishlatilishi mumkin.

5. Prosedura sarlavxasi: Procedure <ism> (<formal parametrlar ruyxati>);. <formal parametrlar ruyxati> nimadan iborat bulishi mumkin? Eng umumiy javobni toping.

A) Parametr-kiymatlar, parametr uzgaruvchilar (ularning oldida Var suzi bulishi kerak), parametr proseduralar (ular oldida Procedure suzi bulishi kerak) va parametr-funksiyalar (ular oldida Function suzi kelishi kerak) va ularning turlari kursatilgan ruyxatidan iborat bulishi mumkin.

B) uzgarmaslar va uzgaruvchilarning nomlari va turlari kursatilgan ruyxatdan. C) Proseduradan ishlatiladigan prosedura va funksiyalarning nomlaridan. D) Prosedura ichkarisida ishlatiladigan barcha uzgaruvchilarning turlari kursatilgan

ruyxatidan. 6. SS1 ismli prosedura sarlavxasi Procedure SS1 (a,b,c: real; i: integer; d: char; k: boolean;

Var t: char); va asosiy dasturning uzgaruvchilar bulimi Var: x, y, z: real; k, l: integer; w1, w2: char; n3: boolean;

berilgan. Kuyidagi SS1 prosedura murojaat kiluvchi operatorlar keltirilgan. Ulardan kaysi biri tugri?

A) SS1 (x, y, z, l, w1, n3, w2); B) SS1 (x, n3, z, l, w1, y, w2); C) SS1 (x, y, z, l, w2, n3); D) SS1 (x, y, z, l:integer, d, t: char, n3);

7. Prosedura sarlavxasida nimalar kursatiladi? A) Prosedura ismi va formal parametrlar ruyxati; B) Prosedura operatori; C) prosedura ismi; D) Anik parametrlar

8. Proseduraning formal parametrlar ruyxati nimalardan iborat bulishi mumkin? A) Formal parametrlar ismlari va turlari kursatilgan ruyxatdan; B) Prosedura operatoridan; C) Anik parametrlar ismlari; D) Prosedura ismidan;

9. Prosedura parametrlari kanday maksadda ishlatiladi?

Page 171: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

171

A) Proseduraga boshlangich ma’lumotlarni va proseduradan uni chakiruvchi dasturga natijalarni uzatish uchun.

B) Prosedurani tavsiflash uchun; C) Uzgaruvchilarni tavsiflash uchun; D) Nishonlarni uzatish uchun;

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд: СамДУ нашри, 2002,

107 бет. 5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet. 6. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под

ред. Ю.М.Смирнова. М: 1989 г. 7. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 8. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 9. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

13 MA’RUZA: JADVAL – AXBOROT STRUKTURASI ELEMENTI SIFATIDA

R E J A:

1. Jadval ko’rinishidagi axborot srykturasini boshqarish tizimlari. 2. Ma’lumotlarning turlari va tuzilishi. 3. Jadvalda ma’lumotlarni kodlash. Jadvalning bosh kaliti. 4. Ma’lumotlar omboriga pelyatsion yondashish muammolari.

Darsning maqsadi: Talabalarga ma’lumotlar ombori, ma’lumotlarni boshqarish, ob’ekt

va kattalik, kodlash tushunchasi, ma’lumotlarning turlari va ularning tuzilishi, ma’lumotlarni boshqarish tizimlari haqida ma’lumot berish.

Tayanch iboralar: Ma’lumotlar ombori, ob’ekt, kattalik, ma’lumotlar omborini boshqarish tizimlari, sonli ma’lumotlar, belgili ma’lumotlar, tarmoqli tizim, jadvalli, mantiiqiy ma’lumotlar, ierarxik tizim, tuzilish, mantiqiy model, pog’onali, tarmoqli, relyatsion tizim, normallashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut.

Page 172: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

172

Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha suxbat – 10 minut.

Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Ma’lumotlarni boshqarish tizimlari

Shaxsiy kompyuterlar hisoblash texnikasi vositalarining yangi sinfini tashkil etadi. Ular axborotlarni qayta ishlashning yuqori kafolatlanishi, arzonligi, ixchamligi, turli amallarni bajara olishi, kam elektr quvvatini sarflashi bilan ajralib turadi. Bu xususiyatlar kompyuterlar asosida keng vazifalarga mo’ljallangan avtomatlashgan ishchi joylari (AIJ)ni yaratish imkonini beradi. Kompyuterda ma’lumotlar omborini hosil qilish va ular bilan ishlash uchun maxsus dasturlar yaratiladi. Keyingi yillarda chiqarilayotgan kompyuterlarda amal bajarish tezligining juda kattaligi (100 mlrd/s) va uning xotirasi kengayganligi (40-60 Gb) katta imkoniyatlarga ega bo’lgan ma’lumotlar omborini yaratish imkonini bermoqda. Kompyuterda ma’lumotlar omborini yaratish va uni ishlatishni belgilovchi ikkita omil mavjud: birinchi omil - qanday mazmunga ega bo’lgan ma’lumotlar (ya’ni ularni tashkillashtirish) va ikkinchisi - yig’ilgan ma’lumotlardan qanday foydalanish kerakligidir. Masalan, xodimlar ro’yxatini qayta ishlovchi turli xildagi dasturlar mavjud. Lekin bunday dasturlar biror kishining familiyasini izlash yoki u haqda biror ma’lumotni topishga (ajratishga) qarab bir-biridan jiddiy farq qiladi. Bundan tashqari, har bir berilgan soha uchun o’zining dasturi ishlab chiqilishi kerak. Masalan, kimyoviy moddalar haqidagi ma’lumotlar ombori uchun mo’ljallangan dasturlar aviapassajirlar ro’yxatini qayta ishlash uchun umuman yaroqsizdir. Ma’lumotlar omboridan foydalanish uchun maxsus dasturlar yaratiladi va bunday dasturlar ma’lumotlar omborini boshqarish tizimi deb ataladi. Ma’lumotlar omborida axborotlar asosan matn va raqam ko’rinishida saqlanadi. Ma’lumotlarni boshqarish tizimi vazifasiga ma’lumotlar omborini boshqarishning quyidagi xususiyatlari kirishi mumkin:

* Ma’lumotlar omboriga kirish: foydalanuvchining talabiga javoban axborot turidan qat’i nazar unga qulay ko’rinishda javob berish.

* Ma’lumotlarni modifikatsiyalash: berilgan axborotni foydalanuvchi talabiga mos holda (texnik imkoniyatlari hisobga olingan holda) o’zgartirish.

* Ishonchlilik darajasi: qurilmalar tasodifan to’xtatilganda ma’lumotlar omborining qayta tiklanish qobiliyati.

* Ma’lumotlarni himoyalash: ma’lumotlar omboridan ruxsatsiz (sanktsiyasiz) foydalanishning cheklanganligi.

* Ma’lumotlar omboridan tarmoqda foydalanish: ma’lumotlardan bir vaqtda bir necha kishining (bir-biriga xalaqit bermasdan) foydalanishi. Ma’lumotlar omborini boshqarish tizimi o’zining ma’lum ko’rinishdagi ichki tuzilishiga, amalga oshiruvchi amaliy dasturlarga ega bo’lishi kerak. Bunday dasturlar ikki turga: integrallashgan (umumlashtirilgan) va paketli dasturlarga ajratiladi. Integrallashgan dasturlar avtomatlashgan ishchi joylari yaratishning asosini tashkil etadi. Bunday tizimlar quyidagilarni amalga oshirishni ta’minlaydi:

* muammoli - yunaltirilgan axborotlarni kiritishning qulayligi; * oldin kiritilgan axborotlardan foydalanishning engilligi; murakkab strukturali hujjatlarni

qayta ishlash va shakllantirish; *shaxsiy kartotekalar, ishchi kalendarlar, yozuv daftarlari va boshqa vositalarni yaratishning

mumkinligi.

Page 173: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

173

Hozirgi kunda integrallashgan dasturlarga nisbatan paketli dasturlardan ko’proq foydalaniladi. Keng tarqalgan paketli dasturlarga matnli axborotlarni qayta ishlash (Word), «Elektron jadvallar» va ma’lumotlar omborini qayta ishlash tizimlari misol bo’ladi. Keng tarqalganligi bo’yicha «Ishchi grafiklar» tizimi va kommunikatsiya tizimlari keyingi o’rinda turadi. Muayyan yo’nalishdagi ma’lumotlar omborini boshqarish uchun mutaxassislar tomonidan dasturlar yaratiladi. Ularda foydalanuvchining tizim bilan muloqoti asosida ma’lum hujjatlarni yaratish yoki uni qayta ishlashda ko’riladigan tipik vazifalar (imkoniyatlar majmui) yoritib beriladi.

Ma’lumotlarning turlari va tuzilishi

Kompyuterda qayta ishlanadigan ma’lumotlar o’z ichiga kundalik turmushda ishlatiladigan barcha axborotlarni oladi. Albatta, turli kasb egalari o’zlariga kerakli bo’lgan ma’lumotlar bilan ish yuritadi. Bunday ma’lumotlarning eng asosiylari sonli (raqamli) va belgili (matnli) axborotlar hisoblanadi. Odatda, har qanday axborot tizimini yaratish uchun bu ikki turdagi ma’lumot shakli etarlidir, chunki foydalanuvchiga etkazilmoqchi bo’lgan barcha axborot raqamlar yoki so’zlardan iborat bo’ladi. Shunday bo’lsada, axborotlar tizimini yaratuvchilar yana ikkita ma’lumot turi - sanalar va mantiqiy o’zgaruvchilardan xabardor bo’lishi lozim. Ma’lumotlarning turlarini ko’rib chiqamiz. Belgili ma’lumotlar. Har qanday belgili ma’lumotning qiymati ixtiyoriy uzunlikdagi alifbo - raqamli belgilar majmuidan iborat (masalan, «5», «Vatan», «10+25», ...).Ma’lumotlarni bunday ifodalash eng ko’p tarqalgan. Belgili ma’lumotning qiymati «1055» ga teng bo’lsa, mashina bu qiymatni osongina songa aylantirib olishi ham mumkin. Ko’pgina tizimlarda belgili ma’lumotning uzunligi 255 belgi bilan chegaralangan. Lekin ishlab chiqarish texnologiyasining rivojlanishi axborotlar tizimi yaratuvchilariga keng imkoniyatlar ochib bermoqda. Hozirgi paytda ikki o’lchamli jadvallardan, ba’zi tizimlarda belgili ma’lumot qiymati sifatida uzunligi 30 yoki 40 belgi bo’lgan biror turdagi fayl nomini yozish imkoniyatlari mavjud. Bu nom orqali ixtiyoriy uzunlikdagi ob’ektning biografiyasini o’z ichiga olgan matnli fayl yoki ob’ektning fotosuratini ko’rsatuvchi grafik fayl ochish mumkin. Bundan tashqari, hozirgi zamon tizimlarida belgili ma’lumot sifatida ixtiyoriy tuzilish va uzunlikdagi (shu jumladan, tasvir va ovoz) ob’ektlar saqlanishi mumkin. Sonli ma’lumotlar. Bunday turdagi ma’lumotlarga faqat sonlar misol bo’ladi. Axborotlar tizimi foydalanuvchilari uchun bunday ma’lumotlar faqat o’lchami (raqamlar soni) va uning aniqligi (nuqtadan keyingi raqamlar soni)ning ahamiyati katta. Mantiqiy ma’lumotlar. Bu turdagi ma’lumotlar (ba’zida bunday ma’lumotlar Bul qiymatlari deyiladi) bir-birini inkor qiluvchi TRUE (rost) «1» yoki FALSE (yolg’on) «0» qiymatlarini qabul qiladi. Ulardan tizimda ko’zda tutilgan maqsadni amalga oshirish uchun biror ob’ektning holatini ko’rsatishda foydalanish mumkin. Masalan, «lampa yoniq» (TRUE) yoki «lampa o’chirilgan» (FALSE). Mantiqiy ma’lumotlarning informatikadagi ahamiyati beqiyos ekanligini informatika kursidan yaxshi bilasiz. Ma’lumotlarni uch xil ko’rinishda ifodalash mumkin: ierarxik (shajaraviy), tarmoqli va relyatsion (jadvalli). Bu turlarning har birini alohida ko’rib chiqamiz. Ierarxik tizim jadvallardan tashkil topgan bo’lib, unda axborotni izlash jarayoni oldindan berilgan tartibda «ko’rib» chiqiladi. Ierarxik tizimda elementlarni joylashtirishda dasturlashgan tartib mavjud. Har bir guruhda biror element asosiy, qolganlari unga nisbatan ikkinchi darajali xususiyatga ega bo’ladi. Kerakli elementni tanlash ma’lum ketma-ketlikda olib boriladi. Ma’lumotlarning daraxtsimon joylashishiga ma’lumotlarning ierarxik modeli deyiladi.

Page 174: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

174

Ma’lumotlarning ierarxik modeliga mos holda yaratilgan ma’lumotlar omboriga ma’lumotlarning ierarxik ombori deyiladi. Ma’lumotlarning ierarxik tizimini yaratish va undan foydalanish uchun yaratilgan tizimga ma’lumotlar omborini boshqarishning ierarxik tizimi deyiladi. Ierarxik tizimli jadvalning birinchisida qator nomeri va unda joylashgan mahsulot kategoriyasi berilgan. Kategoriyalar keyingi sathda joylashgan mahsulot turini izlashda kerak bo’ladi. Ikkinchi va uchinchi satxdagi jadvalda esa har bir mahsulotning narxi haqidagi ma’lumot berilgan. Ma’lumotlar omborini ierarxik tizim tartibida tashkil qilish foydalanuvchi uchun ma’lum qulayliklar yaratadi. Tarmoqli tizim. Tarmoqli tizim ierarxik tizimga nisbatan ancha qulayliklarga ega, chunki bu tizimda ma’lumot (fayl) lar o’rtasida ko’p yo’nalishli aloqalarni o’rnatish mumkin. Bunday aloqalar foydalanuvchiga kerakli ma’lumot (fayl)ni shajaraning yuqori sathlaridagi fayllarga murojaat qilmasdan topish imkonini beradi. Masalan, do’kondagi mahsulotlar jadvali bilan mahsulotlar narxi jadvallari orasida alohida bog’liqlik o’rnatilib, u kerakli mahsulot narxini topish imkonini beradi. Bir pog’onadagi ma’lumotning boshqa pog’onadagi ma’lumot bilan ikki yoki undan ortiq marta bog’lanadigan turiga ma’lumotlarning tarmoqli modeli deyiladi. Ma’lumotlarning tarmoqli tizimini yaratish va undan foydalanish uchun yaratilgan tizimga ma’lumotlar omborini boshqarishning tarmoqli tizimi deyiladi. Relyatsion tizim. Relyatsion tizim 1970 yilda IBM firmasining xodimi E.F.Kodd tomonidan taklif etilgan bo’lib, hozirgi paytda eng ko’p tarqalgan tizimlar qatoriga kiradi. Chunki bu tizimda ma’lumotlar orasida eng qulay bog’lanishlarni amalga oshirish mumkin. Ma’lumotlarning relyatsion modeliga mos holda yaratilgan ma’lumotlar omboriga ma’lumotlarning relyatsion ombori deyiladi. Ma’lumotlarning relyatsion tizimini yaratish va undan foydalanish uchun yaratilgan tizimga ma’lumotlar omborini boshqarishning relyatsion tizimi deyiladi. Ma’lumotlarning jadval ko’rinishida saqlanishiga ma’lumotlarning relyatsion modeli deyiladi. Relyatsion tizimdagi elementlarda shajaraning yo’qligi tufayli bu qulaylikka erishiladi. Axborotni izlashda barcha elementlardan kalit sifatida foydalanish mumkin. Ya’ni ixtiyoriy tuzilishga ega ma’lumotni ikki o’lchamli jadval ko’rinishiga keltirish mumkin. Relyatsion tizim sifatida telefon ma’lumotnomasini tuzish masalasini ko’rib chiqamiz. Masalan, «har bir telefon nomeri ko’rsatilgan abonentning manzili, uning kategoriyasi belgilangan ro’yxatni tuzing» kabi o’qiladi.

Mustaqil ishlash uchun nazorat savollari:

1. Ma’lumotlar strukturalarinini qanday turlari mavjud? 2. Ob’ekt nima? 3. Ob’ektlar to’plami nima? Ob’ekt nusxasi-chi? 4. Ma’lumotlarni boshqarish tizimi deganda nimani tushunasiz? 5. Sonli ma’lumotlar haqida gapirib bering. 6. Ma’lumotlarni necha xil ko’rinishda saqlash mumkin?

Mavzuga doir testlar: 1. Ma’lumotlar deb nimaga aytiladi?

A) ma’lum bir shaklda qayd qilingan bo’lib, tahrirlash, uzatish uchun yaroqli bo’lgan voqelikka aytiladi B) ma’lum bir shaklga ega bo’lmagan, qayta ishlash, saqlash va uzatish uchun yaroqli bo’lgan voqelikka aytiladi C) ma’lum bir shaklda qayd qilingan bo’lib, qayta ishlash, saqlash va uzatish

Page 175: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

175

uchun yaroqli bo’lgan voqelikka aytiladi D) ma’lumotlar deb axborotning bir qismiga aytiladi E) barchasi to’g’ri

2. Ma’lumotlar ombori - A) jamiyatdagi axborotlar to’plamiga B) borliqni ma’lum bir sohasi bo’yicha birlashtirgan ma’lumotlar to’plami C) borliqdagi bir turdagi ma’lumotlar to’plami D) ma’lum bir soha bo’yicha kengaytirilgan axborotlar E) to’g’ri javob yo’q

3. Ma’lumotlarni uzatish va qabul qilishda qanday usuldan foydalaniladi?

A) davolovchi va nazoratchi B) kriptografiya C) virus D) axborotni kodlash E) B va D

4. Relyatsion ma’lumotlar bazasi – A) moslanuvchanlik, aniqsizlik, maxfiylik, bog’liqsizlik, tushunarlilik B) soddalik, talabchanlik, maxfiylik, bog’liqlik, bog’liqsizlik C) moslanuvchanlik, tushunarlilik, aniqlilik, talabchanlik, maxfiylik D) soddalik, moslanuvchanlik, aniqlilik, maxfiylik, bog’liqlik, bog’liqsizlik E) barchasi to’g’ri

5. Ob’ekt –

A) mavjud bo’lmagan va o’ziga o’xshash narsalardan ajralib turadigan alohida olingan predmet B) mavjud bo’lgan va o’ziga o’xshash narsalardan ajralib turadigan alohida olingan predmet C) mavjud bo’lgan va o’ziga o’xshamagan narsalardan ajralib turadigan alohida olingan predmet D) mavjud bo’lmagan va o’ziga o’xshamagan narsalardan ajralib turadigan alohida olingan predmet E) to’g’ri javob yo’q

6. Ma’lumotlarni modifikasiyalash –

A) berilgan axborotni foydalanuvchi talabiga mos holda o’zgartirish B) axborotlarni foydalanuvchi talabiga mos holda nusxalash C) berilgan axborotni foydalanuvchi talabiga mos holda kuchirish D) axborotni foydalanuvchi talabiga mos holda uchirish E) to’g’ri javob yo’q

Adabiyotlar

1. M.Aripov, A.Haydarov. Informatika asoslari. Toshkent. «O’qituvchi» 2002 yil. 297-302 betlar. 2. A.A.Abduqodirov, A.G’.Hayitov, R.R.Shodiyev. Axborot texnologiyalari. Toshkent. «O’qituvchi» 2003 yil, 36-49 betlar.

Page 176: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

176

14 MA’RUZA: GRAFLAR. GRAFLAR ASOSIDA ALGORITMLAR.

Reja

1. Eng qisqa yo’llar masalalarining turlari. 1. Sozli algoritmni tuzish. 3. Algoritmni psevdokodda ishlab chiqish 4. Algoritmni baholash.

Darsning maqsadi: Talabalarga graflar, graflar asosida algoritmlar? Graflarni boshqarish, optimallashtirish haqida ma’lumot berish.

Tayanch iboralar: Ma’lumotlar strukturasi, graf, yo’naltirilgan, simmetrik, asimmetrik. Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va

uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Yo’l tarmoqlari atlasi (karta) qismi berilgan bo’lib, undan A va B nuqtalar orasidagi “eng

yahshi” marshrutni topish kerak bo’lsin. “Eng yahshi” marshrutni ko’p faktorlar belgilashi mumkin, masalan, tezlik cheklangan holda marshrutni o’tish vaqti, o’tish kerak bo’lgan shaharlar soni va boshqalar.

Biz masalani eng qisqa yo’llar faktori bo’yicha yechamiz. Masalaning modeli turlar yordamida tuziladi. Uzluksiz G turni har bir qirrasiga uning uzunligiga teng qiymat berilgan ko’rinishida tuzamiz. Bunday turda masofa irralar yig’indisiga teng bo’ladi. Masalaning maqsadi ikkita berilgan uchlar orasidagi eng qisqa marshrutni topishdir.

Umuman, eng qisqa yo’llar masalalari kombinator optimallashtirishning fundamental muammolaridandir. Ularning bir necha turlari mavjud, masalan, ikkita berilgan uchlar orasida, berilgan va qolgan barcha uchlar orasida, turdagi har bir uchlar juftliklari orasida va boshqalar.

Yo’l harajatlarini kamaytirish yechimini beradigan kommivoyajer Djek masalasini ko’ramiz. Djekning marshruti o’zi yashagan shahardan boshlanib, qolgan hamma shaharlarni bir martadan o’tib, yana o’z shahriga qaytib kelishi kerak. Demak, biz tuzayotgan ruyhatda har bir shahar faqat bir marta uchrashi kerak, Lekin Djek yashagan shahar ikki marta uchrab, ruyhatning birinchi va oxirgi elementlari bo’ladi. Undan tashqari, ruyhatdagi shaharlar tartibi Djekning marshrutini belgilaydi. Ruyhatdagi ikkita oxirgi shaharlar orasidagi yo’l narxi – bu butun marshrut narxi deb hisoblanadi. Demak, agar biz Djekga eng kichik narxdagi ruyhatni tuzib bersak, masalani yechgan bo’lamiz. Masalani soddalashtirish uchun beshta shahar uchun yechim topamiz. Rasm. 1a – narxlar matrisasi. Rasm. 1b – turli model ko’rsatilgan.

Page 177: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

177

- 1 2 7 5 1 - 4 4 3 2 4 - 1 2 7 4 1 - 3 5 3 2 3 -

Rasm 1-a). Narxlar matrisasi

Rasm 1-b). To’rsimon model Masalani tarmoqlanish ko’rinishida tadqiq qilamiz. Quyidagi rasmlarda beshta shahar

uchun kommivoyajer assimmetrik masalasining narxlar matrisasi berilgan.

1 2 3 4 5 1 - 25 40 31 27 2 5 - 17 30 25 3 19 15 - 6 1 4 9 50 24 - 6 5 22 8 7 10 -

Rasm 1. Narxlar matrisasi

Rasm 2. To’rsimon model

Deykstra algoritmning so’zli tavsifi Shunday masalalarni yechish uchun Deykstra algoritmi ancha qulay va yahshi deb topilgan.

Algoritm quyidagi qadamlardan iborat: 1. Dastlab, berilgan (Lex) uchidan qolgan barcha uchlargacha bir qirra uzunligidagi

masofalar aniqlanadi. 2. Ulardan eng qisqasi “doimiy eng qisqa masofa” sifatida belgilanadi (Lex va BVa

uchlari qirrasi). 3. Aniqlangan masofa BVa dan boshqa bor uchlargacha masofalarga qo’shiladi. 4. Hosil bo’lgan yig’indilar dastlab aniqlangan Lex dan qolgan uchlargacha bo’lgan

masofalar bilan taqqoslanadi. Natijada masofasi qisqaroq bo’lgan uchning qirrasi tanlanadi.

1

2 5

4 3

1

2 5

4 3

Page 178: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

178

5. BVa uchi, eng qisqa masofa aniqlangan uch sifatida, ruyhatdan o’chiriladi. Ruyhatga boshqa uch qo’yiladi, masalan, Roa. Bva o’z navbatida, boshqa, izlanayotgan ruyhatga qo’yiladi.

Keyingi eng qisqa masofani topish uchun butun jarayon qayta bajariladi. BVa dan keyin yana bir uch ruyhatga qo’yiladi. Dastlabkisi esa ruyhatdan o’chiriladi. Sikl Bed va Lex uchlarini bog’lash uchun belgilangan qirralar aniqlanishi bilan to’xtatiladi.

Ko’rilgan misolda Bed uchi Lex dan boshlab eng oxirgi bo’lib chiqdi, ya’ni Lex dan Bed gacha eng qisqa masofani topish uchun biz Lex dan barcha qolgan uchlargacha eng qisqa yo’llarni topishga majbur bo’ldik.

Demak, eng yomon holatda 2 ta berilgan uchlar orasidagi eng qisqa yo’lni topish, bir berilgan nuqtadan qolgan barcha nuqtalargacha eng qisqa yo’l topish masalasi bilan murakkabligi bir xil bo’ladi.

Takrorlash ucun nazorat savollari

1. Qaysi mezonlar bo/yicha eng qisqa yo’llar masalalarini yechish mumkin? 2. Deykstra algoritmi nima uchun yaxshi hisoblanadi? 3. Algoritmni psevdokodda tavsiflashning qo’layligini ko’rsating 4. Deykstra algoritmining bahosi qanday?

Mustaqil ishlash uchun nazorat savollari:

1. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 2. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 3. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 4. Eng qisqa yo’llarni topish masalasiga 3ta turli mezon bo’yicha yechim misollarini

korsating. 5. Deykstra algoritmidan farqli boshqa eng qisqa yo’llarni topadigan algoritmni tuzing.

Mavzuga doir testlar: 1. Quyida ikki algoritm keltirilgan:

1-algoritm: boshlanish i:=100, S1:=1; toki i>=1 takrorlash boshlanish S1:=S1+i; i:=i-1 tamom; chikarish S1; tamom.

2-algoritm: boshlanish i:=100, S2:=1; toki i>=1 takrorlash boshlanish S2:=S2*i; i:=i-1 tamom; chikarish S2; tamom.

Birinchi va ikkinchi algoritm bajarilishi natijasida mos ravishda S1 va S2 kiymatlar xosil kilinadi. S1 va S2 urtasida kuyidagi keltirilgan munosabatlardan kaysi biri bajariladi?

A) S1<S2; B) S1>S2;

C) S1=S2; D) S1=2*S2;

2. Obyektga yunaltirilgan dasturlashning asosiy goyasi? A) ma’lumotlar va ular ustida bajariladigan amallarni bir strukturaga birlashtirish;

B) ma’lumotlarni obyektlar sifatida tavsiflash; C) ma’lumotlar va ular ustida bajariladigan amallarni aloxida-aloxida dasturlash;

D) obyektlar turi degan tushunchani kiritish

Page 179: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

179

3. Old-shartli sikl operatori While B do A (bu yerda V-mantikiy turdagi ifoda, A-oddiy yoki murakkab operator)ning bajarilish jarayonini ifodalovchi blok-sxemani kursating.

A) B) C) D) 4. Bir turdagi ma’lumotlar ketma-ketligini kompyuter xotirasida sašlash usuli šanday

nomlanadi? A) Massiv B) Algoritm C) Šism-dastur D) Dastur

Adabiyotlar

1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с.

2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с.

3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й.

4. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет.

5. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. – Samarqand: SamDU nashri, 2008 yil – 112 bet.

6. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 7. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

15 MA’RUZA: SHOXLAR VA CHEGARALAR ALGORITMI. Reja

1. Masala qo’yilishi. 2. To’rsimon modellardan foydalanish. 3. Shoxlar bo’yicha baholash. 4. Chegaralar bo’yicha baholash.

+

-

A

B

+ A

B

+

A

B

- +

A

B

Page 180: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

180

Darsning maqsadi: Talabalarga graflar bilan berilgan masalani aniq algoritm misolida ko’rsatish. haqida ma’lumot berish. Algoritmni baholash va optimallashtirish bo’yicha kunikma hosil qilish

Tayanch iboralar: algoritmlar nazariyasi, evrisika, marshrut, minimum, maksimum, murakkablik, vaqtli, hajmiy, mezon, chegara, optimallashtirish, test, hujaatlashtirish.

Mashg’ulot vositalari: sinf doskasi, plakatlar, fundamental fan darsliklari, o’quv va uslubiy qo’llanmalar, informatika bo’yicha atamalar lug’ati, videoproyektor, ekran va kompyuterdan samarali foydalanish.

Mashg’ulot usullari: takrorlash, suhbat va savol-javob, munozara (mavzuni o’zlashtirishni mustahkamlash) tarzida muloqot o’tkazish, (talabalarning mustaqil, erkin fikrlash va so’zlashga o’rgatgan holda fikr mulohazalarini bayon qildirish, buning uchun har bir talabaga, tayanch iboralardan savollar tashlanadi, ular o’z fikrlarini bayon qiladilar, hamma talaba javobni bayon qilib bo’lgandan so’ng talaba bilan birgalikda javoblar yakun qilinadi).

Darsning xronologik xaritasi – 80 minut. Tashkiliy qismi: Auditoriyaning jixozlanishi va sanitar sharoitlari, talabalar davomati –

2 minut. Bilimlarni baholash: yangi mavzuni o’rganish uchun zarur bo’lgan material bo’yicha

suxbat – 10 minut. Yangi mavzuni bayon etish – 55 minut. Mavzu o’zlashtirilgan darajasini aniqlash – 10 minut. Uyga vazifa – 3 minut.

Bu usul yechimlar fazosining tursimon modelini ta’qiq qiladigan usullar turiga kiradi va

kombinatorika masalalarining keng doirasiga qo’llanilishi mumkin. Bunday algoritmlar ko’proq optimizatsiyaga yo’naltirilgan va ancha murakkab bo’ladi,

lekin kommivoyajer masalasini yechishda juda qulay hisoblanadi. Masalani tarmoqlanish ko’rinishida tadqiq qilamiz. Quyidagi rasmlarda beshta shahar

uchun kommivoyajer assimmetrik masalasining narxlar matrisasi berilgan.

1 2 3 4 5 1 - 25 40 31 27 2 5 - 17 30 25 3 19 15 - 6 1 4 9 50 24 - 6 5 22 8 7 10 -

Rasm 1. Narxlar matrisasi

Rasm 2. To’rsimon model

1

2 5

4 3

Page 181: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

181

Bundan tashqari rasmda narxlarni ko’rsatish uchun yo’naltirilgan tarmoqdan foydalanamiz. Bu yerda i shahardan j shaharga borish bahosi, j dan i ga borish bahosiga teng bo’lishi shart emas. Bizning izlash daraxtimizning ildizi barcha mumkin bo’lgan marshrutlar to’plamiga mos bo’ladi, ya’ni besh shahar masalasidagi (4!) marshrutlar to’plamini aks ettiradi. Umuman, ixtiyoriy N shaharni assimmetrik masala uchun ildiz barcha {(N-1)!} mumkin bo’lgan marshrutlar R to’plamini akslantiradi. Ildizdan tarqaladigan shohlar bir qirrani, masalan, (i,j) – ni tanlash bilan aniqlanadi. Bu ishdan maqsad – barcha marshrutlar to’plamini ikki to’plamga ajratish: Biri optimallashgan tur, ikkinchisi esa optimallashmagan turlardan iborat bo’ladi. (i,j) tanlangan qirra optimal turga tegishli deb hisoblagan holda, R to’plamni ikkiga bo’lamiz, ya’ni {i,j} va {i,j} to’plamlarga. {i,j} to’plamiga (i,j) qirrasi qatnashgan turlar kiradi, {i,j} to’plamga esa shu qirra qatnashmagan tur.

Faraz qilaylik, biz tarmoqlanishni {i,j}={3,5} qirrasida amalga oshirdik, chunki bu qirraning bahosi matrisada eng kichik. Unda rasmda ildiz va uning birinchi darajasini ko’rsatishimiz mumkin.

Shuni ta’kidlash kerakki, R-ga tegishli har bir tur birinchi darajaning faqatgina bitta to’plamiga kiradi. Agar biz {3,5} to’plamida optimaltur yo’qligini qabul qilsak, {3,5} to’plamini tadqiq qilishga o’tamiz. {3,5} to’plamini ham yuqoridagidek bo’lamiz. Arzonlik bo’yicha (2,1) qirrasi matrisada ikkinchi o’rinda C(2,1)=5. Shuning uchun {3,5} to’plamini Y va Y deb belgilaymiz. Y to’plamga X to’plamda qatnashgan va (i,j) qirrasi mavjud turlar kiradi, Y to’plamga (i,j) qirrasi qatnashmagan X ning qism to’plami.

Yuqorida tadqiq qilingan jarayon tarmoqlanish haqida tasavvur beradi. Endi chegaralar hisoblashni ko’ramiz.

Har bir daraxt uchi bilan shu uch bilan belgilangan to’plamning ixtiyoriy turining pastki narx chegarasini bog’laymiz. Bunday chegaralarni hisoblash – shohlar va chegaralar kabi usullarda tadqiqotlarni yengillashtirish uchun asosiy faktordir. Shuning uchun ularni aniq hisoblashga katta e’tibor berish lozim.

Sababi quyidagicha: Masalan, m baholi konkret bir turni qabul qilaylik. Unda, agar kV uchi bilan belgilangan turlar to’plami bilan bog’liqpastki chegara M>=m bo’lsa, optimal turni izlash jarayoni davomida kV va undan keyingi uchlarni tadqiq qilish kerak bo’lmay qoladi.

Xulosa qilib, shuni aytish mumkin-ki, shoxlar va chegaralar uslubi murakkab bo’lsa-da, kommivoyajer masalasi katta sonli shaharlar va narxlar bilan berilganda, algoritmlar aniq va tez ishlaydi, algoritmlarning murakkabligi esa ekspnensial.

Takrorlash ucun savollar 1. Kommivoyajer masalasida ikki tomonli narxlar matrisasi qaysi holatda tuziladi. 2. To’rsimon modellardan foydalanish. 3. Shoxlar bo’yicha baholashning afzalligini tushuntirib bering. 4. Chegaralar bo’yicha baholash nimadan iborat?

Mustaqil ishlash uchun nazorat savollari:

6. Algoritmni baholash uchun qo’llanishi mumkin bo’lgan mezonlarni tavsiflab bering. 7. Vaqtli mezon bo’yicha baholash jarayoniga misollar ko’rsating. 8. Hajmiy mezon bo’yicha baholash jarayoniga misollar ko’rsating. 9. Eng qisqa yo’llarni topish masalasiga 3ta turli mezon bo’yicha yechim misollarini

korsating. 10. Deykstra algoritmidan farqli boshqa eng qisqa yo’llarni topadigan algoritmni tuzing.

Mavzuga doir testlar:

2. Quyida ikki algoritm keltirilgan: 1-algoritm: boshlanish i:=100, S1:=1; toki i>=1 takrorlash boshlanish S1:=S1+i; i:=i-1 tamom; chikarish S1; tamom.

Page 182: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

182

2-algoritm: boshlanish i:=100, S2:=1; toki i>=1 takrorlash boshlanish S2:=S2*i; i:=i-1 tamom; chikarish S2; tamom. Birinchi va ikkinchi algoritm bajarilishi natijasida mos ravishda S1 va S2 kiymatlar xosil kilinadi. S1 va S2 urtasida kuyidagi keltirilgan munosabatlardan kaysi biri bajariladi? A) S1<S2;

B) S1>S2; C) S1=S2;

D) S1=2*S2;

2. Obyektga yunaltirilgan dasturlashning asosiy goyasi? A) ma’lumotlar va ular ustida bajariladigan amallarni bir strukturaga birlashtirish;

V) ma’lumotlarni obyektlar sifatida tavsiflash; S) ma’lumotlar va ular ustida bajariladigan amallarni aloxida-aloxida dasturlash;

D) obyektlar turi degan tushunchani kiritish

18. Obyektga yunaltirilgan dasturlash kuyidagi uch tushunchaga asoslanadi:

A) inkapsulyasiya; merosxurlik 4. Quyidagi operatorlarning bajarilishidan sung uzgaruvchining qiymati nimaga teng

buladi? 1) I:=1; F:=2; while I<6 do I:=I+1; F:=F*I; 2) I:=1; F:=2; while I<6 do begin I:=I+1; F:=F*I End; A) 1) F=12; 2) F=1440; B) 1) F=48 ; 2) F=240; C) 1) F=240; 2) F=48; D) 1) F=14; 2) F=11080. 5. Sung shartli sikl operatori Repeat A Until B ga mos keluvchi blok-sxemani kursating

(bu yerda A-oddiy yoki murakkab operator, V-mantikiy ifoda). A) B)

+ A

B

- +

A

B

Page 183: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

183

C) D) 6. Quyidagi jumlalardan kaysi old va sung shartli sikl operatorlari orasidagi farklardan

birini tugri va tulik ifodalaydi? A) Bu javoblarning birontasi xam old va sung shartli sikl operatorlar urtasidagi farklardan

xech birini tugri ifodalamaydi. V) Old shartli sikl operatorida sikl jismining takror bajarilishi mantikiy ifoda kiymati

“false” bulganda, sung shartli sikl operatorida esa “true” bulganda ruy beradi; C) Agar sikl jismida mantikiy ifoda kiymatiga ta’sir kiluvchi operator bulmasa, u xolda

sung shartli sikl operatori cheksiz takrorlanishga («zasiklivaniye») olib kelish mumkin. Old shartli sikl operatorida esa bu xodisa xech kachon ruy bermaydi;

D) Old shartli sikl operatorida mantikiy ifoda kiymati birinchi xisoblashdayok “false” ga teng buladi, u xolda sikl jismi bir marta xam bajarilmaydi. Sung shartli sikl operatorda esa sikl jismi mantikiy kiymatdan boglik bulmagan xolda xech bulmasa bir marta albatta bajariladi;

Adabiyotlar 1. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и

приложения. – М: Наука, 1987, 287 с. 2. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер:

Классические учебники. М.: МЦНМО, 2001.- 960 с. 3. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент,

2000 й. 4. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. –

Samarqand: SamDU nashri, 2008 yil – 112 bet. 5. Интеллектуализация ЭВМ. Перспективы развития вычислительной техники. Под

ред. Ю.М.Смирнова. М: 1989 г. 6. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 7. Н. Вирт. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997. 8. Жуманов И.И., Мингбоев Н.С. Ҳисоблаш системаларининг информацион

асослари. Самарқанд: СамДУ нашри, 2002, 107 бет.

+

-

A

B

+

A

B

Page 184: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

184

12. AMALIYOT MASHG’ULOTLARI DARS ISHLANMASI

Alisher Navoiy nomidagi Samarqand Davlat universiteti

“Axborotlashtirish texnologiyalari” kafedrasi

Axatov A.R.

Algoritmlar nazariyasi fanidan Laboratoriya mashg’ulotlari uchun

amaliy ishlanma

32 soat 16 mash’gulot

SAMARQAND ─ 2010

Page 185: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

185

Ushbu amaliy ishlanma amaliy matematika va informatika bakalavriat ta’lim

yo’nalishidagi “Algoritmlar nazariyasi”, “Kompyuter amaliyoti”, “Dasturlash asoslari” fanlarini

o’rganuvchi 1 va 2- bosqich talabalariga mo’ljallangan uslubiy ko’ratmalardan tahkil topgan.

Ihlanmaning har bir bo’limda qisqa nazariy ma’lumotlar keltirilgan, namuna sifatida

echib ko’rsatilgan bir nechta masalalar uchun sinov qiymatlari, algoritm, blok-sxema, Turbo

Paskal tilidagi dastur matni berilgan. Mavzularni mustahkamlash maqsadida mustaqil ishlash

uchun topshiriqlar bilan to’ldirilgan.

Qo’llanma zamonaviy kompyuter va dasturlash texnologiyalarini mustaqil ravishda

o’rganayotgan barcha qiziquvchilar uchun ham foydali.

Page 186: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

186

1 – amaliy mashg’ulot Mavzu: Sanoq sistemalari va unda amallar bajarish, bir sanoq sistemasidan boshqasiga

o‘tish.

Reja: 1. Sanoq sistemalari va unda amallar bajarish. 2. Bir sanoq sistemasidan boshqasiga o‘tish. 3. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Sanoq sistemalari va unda amallar bajarishni o’rganish. 2. Bir sanoq sistemasidan boshqa sanoq sistemasiga o’tish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut. Darsning borishi

Sanoq sistemalari Sanoq sistemalari deganda sonlarni yozish va tanlash qoidalarining majmuasi tushuniladi. Sanoq sistemalari ikki turga bo’linadi: pozitsion va pozitsion bo’lmagan. Sanoq sistemasida raqamlar soni uning asosi deb yuritiladi. Har qanday son raqamlar ketma-ketligi ko’rinishida yoziladi: o’nlik sanoq sistemasida 198510, 137,8510 ikkilik sanoq sistemasida 10012, 11001,012 sakkizlik sanoq sistemasida 65348, 234, 058 Bu yerda sonlarning indeksi uning asosini bildiradi. Sonlarni yozishda har bir raqamning qiymati uning turgan o’rniga bog’liq bo’ladi. Sonda raqam uchun joy razryad, sondagi raqamlar soni esa sonning razryadi deb ataladi.Komputerda sonlar ikkilik, sakkizlik, o’n oltilik sanoq sistemalarida ham ifodalanishi mumkin. Ikkilik sanoq sistemasi. Ikkilik sistema ham o’nlik sistema kabi pozitsion sistema bo’lib, unda sonlar faqat ikkita 1 va 0 yordami bilan ifodalanadi. Misol. 1111102 va 1012 sonlarning yig’indisini toping. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha qo’shamiz. 1111102 + 1012 10000112 Misol. 1011,1012 va 101,012 sonlarining ayirmasini toping. 1011,1012 - 101,012 110,0112 Misol. 10102 va 112 sonlarning ko’paytmasini toping. 10102 x 112 1010 1010 111102

Page 187: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

187

Ikkilik sanoq sonlari ustida bo’lish amalini bajarishda ko’paytirish va ayirish amallaridan foydalaniladi. Sakkizlik sanoq sistemasining asosi 8 ga teng bo’lib, undagi sonlar 0,1,2,3,4,5,6,7 raqamlari orqali ifoda qilinadi. Qo’shish, ayirish, ko’paytirish va bo’lish amallari 8 lik sanoq sistemasi qoidalari asosida bajariladi. Masalan. 1) 7328 2) 7328 +3248 _

-3248 12568 4068 O’n oltilik sanoq sistemasining asosi 16 ga teng bo’lib, undagi sonlar 0, 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F raqamlari orqali ifodalanadi. Bunda A- o’nni, B - o’n birni, C- o’n ikkini, D- o’n uchni, E- o’n to’rtni, F- o’n beshni bildiradi. Sonlarni bir sanoq sistemasidan ikkinchi sanoq sistemasiga o’tkazish qoidalari mavjud:

2 – amaliy mashg’ulot Mavzu: Sonlarni bir sanoq sistemasidan boshqasiga o‘tkazish.

Reja: 1. Sanoq sistemalari va unda amallar bajarish. 2. Bir sanoq sistemasidan boshqasiga o‘tish. 3. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Sanoq sistemalari va unda amallar bajarishni o’rganish. 2. Bir sanoq sistemasidan boshqa sanoq sistemasiga o’tish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut.

Sonlarni bir sanoq sistemasidan boshqasiga o’tkazish 1. Ixtiyoriy sanoq sistemasidagi o’nlik sanoq sistemasiga o’tkazish. Buning uchun son berilgan sanoq sistemasi asosining darajalari bo’yicha yoyiladi va yoyilma hisoblanadi: Masalan: a) 200110=2105+0104+0103+1102+1101+0100 b) 389710=3105+8104+9103+7102+1101+0100 Xuddi shunday ixtiyoriy sanoq sistemasidagi sonlarni o’nlik sanoq sistemasida ifodalash mumkin. Masalan, a)1001112=125+024+023+122+121+120=32+0+0+4+2+1=3910 b)11011,0112=124+123+022+121+120+02-1+12-2+12-3=

=16+8+2+1+0,25+ 0,125=27,37510 s) 35128=383+582+181+280=186610 d) 213,18=282+181+380+18-1=139,12510 e) ABS16=10162+11161+12160=2560+176+12=274810 2. O’nlik sistemadagi sonni R asosli sistemaga o’tkazish. a) Butun sonni o’tkazish uchun berilgan son o’tkazilishi kerak bo’lgan sistema asosi R ga qoldiqli bo’linadi. Bo’linma nolga teng bo’lmasa, u yana asosga qoldiqli bo’linadi va h.k. jarayon bo’linma nolga teng bo’lganda tugatiladi va hosil bo’lgan qoldiqlarning teskari tartibi sonning R- lik sistemadagi ifodasini beradi.

Page 188: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

188

Masalan. 1. 43710 sonini ikkilik sistemada yozing:

Son Bo’luvchi Qoldiq 437 218 109 54 27 13 6 3 1

2 2 2 2 2 2 2 2 2

1 0 1 0 1 1 0 1 1

Agar qoldiqlarni teskari tartibda yozib chiqsak, kerakli natija hosil bo’ladi: 43710=1101101012 2. 746510 sonini sakkizlik sistemada ifodalang:

Son Bo’luvchi qoldiq 7465 933 116 14 1

8 8 8 8 8

1 5 4 6 0

Natija: 746510=64518 3. 9865310 sonini 16-lik sistemada ifodalang:

Son Bo’luvchi qoldiq 98653 6165 385 24 1

16 16 16 16 16

13 5 1 8 0

Natija :9865310=815D16 Misollar: 1. 2510 ni ikkilik sistemaga o’tkazing:

25 2 24

12 2

1 12

6

2

0

6

3

2

0

2

1

1

2510=110012

2) 2510 ni sakkizlik sistemaga o’tkazing: 25 8 24 3 1 2510=318

b) O’nli kasrning kasr qismini o’nlik sanoq sistemasidan boshqa sistemasa o’tkazish uchun u asos R ga ko’paytiriladi. Keyin hosil bo’lgan sonning butun qismi ajratiladi va kasr qismi yana RP ga ko’paytiriladi. Bu jarayon ko’paytmaning kasr qismi nolga teng bo’lganda yoki keraklicha raqamlar hosil qilinganda to’xtatiladi va butun qismdagi raqamlar ketma-ketligi kasrning R- sanoq sistemasidagi yozuvini beradi.

Page 189: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

189

Misollar: a) 0,312510 sonini ikkilik sanoq sistemasiga o’tkazing.

0 3125 0,312510=0,01012

0 1 0 1

6250 250 50 0

b )0,1210 sonini ikkilik sanoq sistemasiga o’tkazing. 0 12 0,1210 = 0,000111…….2

0 0 0 1 1 1 1

24 48 96 92 84 68

c) 0,22510 sonini sakkizlik sanoq sistemasiga o’tkazing. 0 225

1 6 3 1 4

800 400 200 600 8

0,22510 =0,16214….8

d) Aralash sonni o’tkazish uchun butun qismi va kasr qismi alohida-alohida o’tkaziladi. Misol: 25,312510 ikkilik sanoq sistemasiga o’tkazing. 2510 =110012 0,312510=0,01012 25,312510=11001,01012 e) Sonni R-lik sanoq sistemasidan –G- sanoq sistemasiga o’tkazish uchun avval R-lik son 10-likka, keyin 10-likdan G-likka o’tkaziladi. Misol: 110012=2510=318 348=2810=1C16

1 – 2 amaliy mashg’ulot mustaqil topshiriqlari

1 - topshiriq 1) 10001012X10 2) 12410X2 3) FF116X10

4) 22483468 hisoblang. 2 - topshiriq

1)1101010112X10 2) 15310X2 3) A25416X10 4) 15382248 hisoblang.

3 - topshiriq 1)1101110102X10 2) 53710X2 3) 3ABC16X10

4) 101112111012 hisoblang. 4 - topshiriq

1)1111110112X10 2) 673410X2 3) 890116X10 4) 3456864438 hisoblang.

5 - topshiriq 1)1101011102X10 2) 789410X2 3) A2B16X10

4) 61238100112 hisoblang. 6 - topshiriq

1)110110112X10 2) 487310X2 3) 1ABE16X8 4) 653483548 hisoblang.

Page 190: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

190

7 - topshiriq 1)1101111112X10 2) 378410X2 3) ABF216X10

4) 457685458 hisoblang.

8 - topshiriq 1)11011011012X10 2) 351810X2 3) AB4116X8

4) 421383768 hisoblang. 9 - topshiriq

1)1011011012X10 2) 134510X2 3) A9516X8 4) 11011121011112 hisoblang.

10 - topshiriq 1)1110111012X10 2) 543210X2 3) 345678X16

4) 327182318 hisoblang. 11 - topshiriq

1)110101112X10 2) 954210X2 3) 45378X16 4) 1110111211012 hisoblang.

12 - topshiriq 1)111100102X10 2) 23238X2 3) 2BC16X8

13 - topshiriq 1)1000011012X10 2) 776210X2 3) 3458X16

4) 32748101112 hisoblang. 14 - topshiriq

1)1111011112X10 2) 892710X8 3) 54328X16 4) 11011112111112 hisoblang.

15 - topshiriq 1)101101112X8 2) 456710X2 3) AB2F16X10

4) 3234182148 hisoblang. 16 - topshiriq

1)101001102X8 2) 765428X2 3) 567410X16 4) 421282148 hisoblang.

17 - topshiriq 1)1101010112X8 2) 2457810X16 3) 101011012X10

4) 307687648 hisoblang. 18 - topshiriq

1)1001101012X10 2) 8976510X2 3) 37458X16 4) 123483268 hisoblang.

19 - topshiriq 1)1010101012X8 2) 9898310X16 3) 57328X10

4) 110112378 hisoblang. 20 - topshiriq

1)1101100112X10 2) 3789110X8 3) 73568X16 4) 4210387318 hisoblang.

Sinov savollari: 1. Sanoq sistemasi nima? 2. Qanday sanoq sistemalarini bilasiz? 3. Bir sanoq sistemasidan bashqa sanoq sistemasiga o’tish qoidalari qanday? 4. Ikkilik sanoq sistemasida arifmetik amallarni bajarilish tartibini ayting? 5. Komputerlarda ma’lumotlarda qanday tasvirlanadi?

Adabiyotlar: [1], [3], [13].

Page 191: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

191

3- амалий машғулот Mavzu: Chiziqli algoritm tuzish

Reja: 1. Chiziqli balgoritmlar tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Chiziqli balgoritmlar tuzishni o’rganish. 2. Chiziqli balgoritmlar tuzish tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 7. Tashkiliy qism – 2 minut 8. Talabalar bilimi darajasini aniqlash – 10 minut 9. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 10. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 11. Sinov savollari – 5 minut. 12. Uyga vazifa – 3 minut

Topshiriqlarni bajarilish namunasi

1-vazifa

Ifodaning qiymatini hisoblash algoritmi (blok sxema) va dasturini tuzing.

VWRS 2 , bu yerda WRyxW

2;2

a) Masalani yechish algoritmi (blok-sxema).

boshlash

x,y,v

Pi=3.1415

W:=(x+y)2/2

S ni chiqarish

R:=2+W

S:=PiR2+VW

tamom

Page 192: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

192

4- амалий машғулот Mavzu: Tarmoqlanuvchi algoritm tuzish

Reja: 1. Tarmoqlanuvchi algoritmlar tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Tarmoqlanuvchi algoritmlar tuzishni o’rganish. 2. Tarmoqlanuvchi algoritmlar tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut

2 –vazifa Ifodaning qiymatini hisoblash algoritmi (blok-sxema) va dasturini tuzing.

20,3sin

2,12

0,32

2

2

хagarx

хagarx

хagarxx

y

a) Masalani yechish algoritmi (blok-sxema).

boshlash

x

Pi=3.1415

y=2x-1

Y ni chiqarish

y=x2+2x+3

y=Sin2x+3

tamom

X<0 x>Pi/2

Yo’q

ha ha Yo’q

Page 193: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

193

Mustaqil topshiriq

Chiziqli va tarmoqlanuvchi algoritm tuzing

1-topshiriq

a)

112/

yxua yx tb arccos2sin , bu yerda 65,12x ; 255,2y ;

205,3u , 88,0t

b)

baagarab

baagarbaK

,2115

,211522

22

2

2-topshiriq a) tvb

yyyxya cossin,1/1

2/222

2

bu yerda 222,0x ,

72,6y , 05,10v , 35,0t b) Tomonlari bilan berilgan uchburchakning teng tomonli bo‘lishini aniqlash algoritmi va dasturini tuzing.

3-topshiriq a) 2lg,

21 32/ vubyxa yxxy , bu yerda

075,33,33,125,98,2,225,3 vuyx

b) cbazyxS ,,min,,max 4-topshiriq

a) ,; 2/43 4 ylybyxa bu yerda .12,20;55,12;15,37 lyx

b)

hollardaanqoxyxyvayxagaryx

xvayxagaryx

zlg,/

00,2

00,3/32

22

322

5-topshiriq

a) 222cos yxa , 22

23 3lnyx

yxeb

xy

, bu yerda x=1,42, y=2,035

b)

2,2,16

2,log

3

22

2 323

хagarxaхagarex

хagarxx

Zx

x

6-topshiriq a) Tomonlari bilan berilgan uchburchakning perimetri va yuzasini hisoblang. b) a, b, c sonlari berilgan. Ularning manfiylarini 2 marta oshiring, musbatlarini 2 ga bo‘ling, nolga teng bo‘lganlarini o‘zgarishsiz qoldiring.

Page 194: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

194

7-topshiriq

a) 3

)( 33 yxyxa

,

xyexy

yx

blgln

; bu yerda x=1,0645, y=2,1365.

b)

0,7430,1

23 xagarxxxхagarxtgx

в

8-topshiriq

a) ;

11)1(

2xa

uyx

uz

22

2sinyxxu

;

21

x ; a=10,5, y=2,5 .

b)

0,93

0,723

23

хagarxxx

хagarxx

9-topshiriq

a) ,sincos,2

aexxb

babatget x

x

bu yerda a=10, v=5, x=2.

b)

3,10sin8,0

3,

3,3,5lnsin

6,5

2

3

хagarxхagartgxex

хagarxx

Z x

10-topshiriq

a) ax

bxxtgl

5,0sin5,4

10

, a

xetba 32

, bu yerda a=10, b=16, x=-2,5.

b)

хbaagarxaxb

xarctgхbaagarxbaxxa

Z,

lncos5

,2log2sin 3

11-topshiriq

a) ;1;2

2/32

2sin/1

3

1z

x

xbyx

yxy

ya

255,0;4,15;625,1 zyx

b) Ixtiyoriy a, b, c sonlar uchburchakning tomonlari bo‘lishi yoki bo‘lmasligini aniqlang.

12-topshiriq

a) ;32

1;1

321 yxxyybtgzxy

exayzy

.166,0;869,0;444,2 zyx

b)

3,lg

3,32

3,/1lg

2

2

2

хagarxxxxagarxx

xagarexx

z

bo’lsa,

Page 195: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

195

5- амалий машғулот

Mavzu: Takrorlanuvchi algoritm tuzish Reja:

1. Takrorlanuvchi algoritm tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Takrorlanuvchi algoritm tuzishni o’rganish. 2. Takrorlanuvchi algoritmlar tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut

Topshiriqlarni bajarish namunasi

1 – vazifa a) Ifodaning qiymatini hisoblash algoritmi (blok-sxema) va dasturini tuzing.

5

1

6

1

22 )1(n k

knS

1) Masalani yechish algoritmi (blok-sxema). b) quyidagi ifodaning qiymatini eps aniqlik bilan hisoblash algoritmini va dasturini tuzing.

12

,1

1i i

P bu yerda eps = 0,001.

boshlash

ha n<=5

Yo’q

S:=0; n:=1

n:=n+1

S:=S+n2

S ni chiqarish

S:=S+P

tamom

K<=6

Yo’q

P:=1; k:=1

k:=k+1

P:=P(k2+1)

ha

Page 196: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

196

1) Masalani yechish algoritmi (blok-sxema). c) Ichma-ich joylashdan sikllardan foydalanib ifoda qiymatini hisoblash algoritmi va dasturini tuzing:

15

1

10

1)(

k n

nk xaS

1) Masalani yechish algoritmi (blok-sxema).

boshlash

P ni chiqarish

tamom

ha 1/(i2+1)>=eps

Yo’q

P:=1; i:=1

i:=i+1

P:=P(1/(i2+1))

EPS

boshlash

ha N10

Yo’q

n:=1

n:=n+1

S1:=S1+(ak+xn)

a,x

S1:=0

S ni chiqarish. tamom ha

K15 Yo’q

K:=K+1

S:=S+S1

K:=1

S:=0

Page 197: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

197

1 – mustaqil ish topshiriqlari

1-topshiriq

a)

5

1

12

1

32

n iinS ni hisoblang.

b) 1 dan n gacha toq sonlar kvadratlari yig’indisini hisoblang.

c)

5

1

12

1

32 )(n i

inS ni hisoblang

2-topshiriq

a)

4

2

310

122

2

ii akk

aiaiiP ni hisoblang.

b) [a,b] oraliqda m soniga karrali sonlar ko’paytmasini hisoblang

c)

10

1

4

2

3

a i akkS ni hisoblang.

3-topshiriq

a)

8

122

2

i aiaiiP ni hisoblang.

b) 1 dan 35 gacha bo‘lgan toq sonlar kvadratlarining yig‘indisi va juft sonlar kvadratlarining ko‘paytmasini toping.

c)

5

1

8

1

32 )(n i

inS ni hisoblang

4-topshiriq a) Berilgan son raqamlari yig’indisini hisoblash dasturini tuzing.

b)

1

2

лkx

kS ni eps = 0,0001 aniqlik bilan hisoblang.

c)

5

1

10

1

42 )(k j

jkS ni hisoblang

5-topshiriq

a)

12

1

36

1

2

ininS ni hisoblang.

b) 2 dan 50 gacha 4 ga va 3 ga bo‘linadigan sonlarni chop eting.

c)

3

1

5

1

10

1

22 )(n k j

njkS ni hisoblang.

6-topshiriq a) [a,b] oraliqdagi m soniga karrali sonlar yig’indisini hisoblang.

b)

1

2

kkx

kS ni eps = 0,001 aniqlik bilan hisoblang.

c)

4

1

10

1

)!!(k j

jkS ni hisoblang

7-topshiriq a)

!....

!2!1

2

nxxxy

n

ni hisoblang.

b) y=tg(x+c) funksiya qiymatini [a,b] oraliqda h qadam bilan hisoblang.

Page 198: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

198

c)

3

1

4

1

5

1

)!!!(n k j

njkS ni hisoblang.

8-topshiriq a) S = m! + n! + k! ni hisoblang. b)

12....

59

341

2

nnS ni hisoblang.

c)

3

1

5

1

34

1

2 )(k in

kiknS ni hisoblang.

9-topshiriq a) [a,b] oraliqdagi n va m larga karrali bo’lgan sonlar yig’indisini hisoblang.

b)

1

2 1n

nnnS ni 001,0E aniqlik bilan hisoblang.

c)

3

1

5

1

34

1

2 )(k in

kibknaS ni hisoblang

10-topshiriq

a)

n

ki kkaiS

1

35

1

2

!1)( ni hisoblang.

b) EKUB(a,b,c) ni topish dasturini tuzing.

c)

4

1

10

1

)!!(k j ba

jkS ni hisoblang.

11-topshiriq a) 0!! nny ni hisoblang. b) EKUK(a,b,c) ni topish dasturini tuzing.

c)

4

1

10

1 )!!()(

k j jkjkaS ni hisoblang

12-topshiriq a) 0sin...2sin1sin mmP ni hisoblang. b) [a,b] oraliqdagi toq sonlar kvadtlarining ko’paytmasini hisoblang.

c)

4

1

10

1

!

!

k

j

k

jS ni hisoblang.

6- амалий машғулот Mavzu: Paskal tilida miqdorlar va amallar.

Reja: 1. Paskal tilida miqdorlar va amallar. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Paskal tilida miqdorlar va amallarni o’rganish. 2. Paskal tilida miqdorlar va amallarni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut

Page 199: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

199

2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Son. Paskal tilida sonlar o’nlikda tasvirlanadi. Sonlar butun va haqiqiy bo’lishi mumkin. Bunda (+) musbat belgisi tashlab yozilishi xam mumkin. Haqiqiy son qo’zg’aluvchan vergulli va qo’zg’almas vergulli formalarda tasvirlanishi mumkin. Misol: butun sonlar: 5, 05, +73,-72678; haqiqiy sonlar: 0.65, -5Ye-02, 150.0, 1.7Ye2, -5.0Ye2 Bundan tashqari Paskal tilida belgi va satrlardan ham foydalaniladi. Satrlar apostrof ichiga olingan belgilar ketma-ketligidan yoki bitta belgidan iborat bo’ladi: 'Hikmat' 'fakultet', 'summa ','q','>'. Arifmetik amallar. Paskal tilida ham sonli ma’lumotlar ustida bir nechta amallarni bajarish mumkin. Quyida Paskal tilida mavjud amallarni keltiramiz.

Paskal tilida arifmetik amallar Amallar Belgilash Operandlar turi Natija turi Ko’paytirish A*B REAL yoki INTEGER REAL yoki INTEGER Bo’lish A/B ---- ""----- REAL Qo’shish A+B ---- "" ---- REAL yoki INTEGER Ayirish A-B ---- "" ---- ---- "" ---- Butunga bo’lish A DIV B INTEGER INTEGER Bo’linma qoldig’i

A MOD B INTEGER INTEGER

Bajarilayotgan amallarda operandlardan hyech bo’lmaganda bittasi xaqiqiy turga mansub bo’lsa, u holda hosil bo’ladigan natija ham haqiqiy turga tegishli bo’ladi. Bo’linma natijasi har doim haqiqiy son bo’ladi. Paskal tilida darajaga ko’tarish amali yo’q. Shuning uchun sonlarni butun darajaga ko’tarish ularni ko’p marta bir biriga ko’paytirish yo’li bilan amalga oshiriladi. Haqiqiy darajaga ko’tarish logarifmlash orqali bajariladi: x = e yoki x = 10. Paskal tilida butun sonli berilmalar uchun DIV va MOD amallari mavjud bo’lib, butunga bo’lish va bo’linma qoldig’i amallarini anglatadi. Masalan: 11 DIV 3 = 3 ; 11 MOD 3 = 2. Munosabat va mantiqiy amallar. Paskal tilida ikkita mantiqiy konstanta true(chin) va false(yolg’on) ishlatiladi. Bular miqdorlarni taqqos-lashda va ba’zi shartlarni tekshirishda qo’llaniladi. Ma’lumotlarni taq-qoslash uchun quyidagi munosabat amallaridan foydalaniladi: < (kichik),<= (kichik yoki teng),= (teng),<>(teng emas); > (katta),>= (katta yoki teng). Munosabat amallari sonli ma’lumotlar uchun qo’llanilganida mantiqiy qiymatlar hosil bo’ladi. Masalan: 96 >73 (chin), -8 > -3 (yolg’on), 4=7 (yolg’on), 16 <>22 (chin). Mantiqiy ma’lumotlar uchun quyidagi mantiqiy amallardan foydalanish mumkin: OR- qo’shish (VA); AND- ko’paytirish (YoKI); NOT - inkor (YO’Q). OR va AND mantiqiy amallar ikkita kattalik bilan, NOT amali esa bitta kattalik bilan bajariladi. Mantiqiy qiymatlar ustida amallar natijasi quyidagicha:

A V not A A OR B

A AND B

true true False true true true false False true false

False true true true false false false true false false

Page 200: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

200

Misol. Agar a = 25 va b = 20 bo’lsa: a) (a>10) or (b<12) (true) b) (a>10) and (b<3) (false) v) (a>10) or (b>12) (true) g) (a>10) and (b>12) (true)

7- амалий машғулот Mavzu: Ifoda, ma'lumotlarning turlari: butun, haqiqiy va mantiqiy.

Reja: 1. Ifoda, ma'lumotlarning turlari. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Ifoda, ma'lumotlarning turlari ni o’rganish. 2. Ifoda, ma'lumotlarning turlari ni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Arifmetik ifodada haqiqiy va butun turdagi ma’lumotlar qatnashishi mumkin va hosil bo’lgan natija ham shunga mos ravishda haqiqiy yoki butun bo’ladi. Ifodalarni Paskal tilida yozilishiga misol keltiramiz.

Oddiy yozuvda Paskal tilida

3

2 1087,1686,12

са

(A+12.686)/(S2-1.87E3)+GAMMA

xxx

34sin2

EXP(ABS(2*SIN(4*X)+X)/(3*X)))

xtg213,1ln22

(2*2*2+LN(1.13))/(SIN(2*X)/COS(2*X))

yxa

17,12 2

(SQR(A)+EXP(1.17*LN(2)))/SQRT(X+Y)

Mantiqiy ifoda. Mantiqiy ifodalar mantiqiy qiymatlar, mantiqiy va munosabat amallari orqali tuziladi. Munosabat amallarida arifmetik va mantiqiy ifodalar hamda belgili qiymatlar qatnashishi mumkin. Mantiqiy ifodaning natijasi true va false qiymat bo’lishi mumkin. Mantiqiy ifodada amallar quyidagi tartibda bajariladi: 1. not (yo’q) 2. * (ko’paytirish),/ (bo’lish), div, mod, and (va)

3. + (qo’shish), - (ayirish), or (yoki); 4. < (kichik),<=(kichik yoki teng),= (teng),<> (teng emas),

>= (katta yoki teng), > (katta); Bitta satrda berilgan amallar bir xil bajarilish o’rniga ega. Mantiqiy ifodalarda faqat oddiy qavslar yoziladi. Masalan. 1) (A>3) and (B=A+6) or not (c=4) 2) (A<=x) and (x<=B) or (c<=x) and (x<=d)

Page 201: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

201

Ma’lumotlar deganda dasturni tashkil etgan operatorlarning ishlashi uchun unda qatnashayotgan parametrlarga beriladigan yoki ular qabul qiladigan qiymatlar tushuniladi. Dasturda sonli, mantiqiy va harfiy qiymatlarni aniqlaydigan ma’lumotlar ustida amallar bajariladi. Dastur yozishda, uning hajmini qisqartirish maqsadida, ma’lumotlarning qiymatlari emas, balki ularning nomlari qo’llaniladi. Hamma ma’lumotlar oddiy tuzilishga ega bo’lib, skalyar (o’zgaruvchi) va murakkab qismlarga bo’linadi. Paskal tilida skalyar ma’lumotlarning 4 turi qo’llaniladi: butun (INTEGER), haqiqiy (REAL), mantiqiy (BOOLEAN), belgili (CHAR) va satrli (STRING) (1-rasm). Ma’lumotlar turi o’zgaruvchilarni, o’zgarmaslarni, funksiyalarni, ifodalarni qaysi turga tegishli ekanligini, ularni mashinada tasvirlanishini va ular ustida bajariladigan amallar natijalarining turini aniqlaydi. Biz quyida standart turlar bilan tanishamiz. Integer turi. Integer turi butun sonlar to’plamidagi qiymatlarni qabul qiladigan ma’lumotlarni aniqlaydi. Maxint standart identifikatori orqali mashinada tasvirlanadigan eng maksimal butun son beriladi. Butun operandalar ustida quyidagi arifmetik amallarni bajarish mumkin, ya’ni bularning bajarilishidan hosil bo’lgan natija ham butun buladi: * - ko’paytirish, div - butun hosil qilish uchun bo’lish; mod - qoldiqni hosil qilish amali; + - qo’shish, - - ayirish amali. div va mod amallarini ko’rib chiqaylik.

a) a div b.. Bu amal natijasi butun bo’ladi, ya’ni a ni b ga bo’lishda hosil bo’lgan sonning butun qismi ajratiladi

Masalan. 17 div 2 = 8 ; 19 div 2 = 9; 7 div 17 =0. b) a mod b. Bu amal a va b ni bo’lishdan hosil bo’lgan qoldiq natijasini beradi. Masalan. 17 mod 2 = 1; 7 mod 15 = 7; 19 mod 2 =1. Munosabat amallarini ham butun operandalar uchun qo’llash mumkin, faqat ularning natijalari mantiqiy turga tegishli bo’lib, chin(true) va yolg’on (false) bo’lishi mumkin. Butun argumentli standart funksiyalarni bajarilishida butun yoki haqiqiy turga mansub natijalar bo’lishi mumkin. Real turi. Haqiqiy sonlar to’plamidagi qiymatlarni qabul qiladigan ma’lumotlarni real turi aniqlaydi. Haqiqiy operandalar ustida quyidagi amallarni bajarish mumkin, ya’ni ularning bajarilishidan hosil bo’ladigan natija ham haqiqiy bo’ladi: ko’paytirish, bo’lish, qo’shish , ayirish. Bu amallarning bajarilishida qatnashayotgan operandalardan bittasi butun bo’- lishi ham mumkin. Bo’lish amali ikkita butun son uchun ham o’rinli bo’ladi va hosil bo’lgan natija esa doim haqiqiy turga tegishli bo’ladi. Haqiqiy natijani hosil qiluvchi funksiyalarda haqiqiy argumentlarni qo’llash mumkin: abs(x), sqr(x), sin(x), cos(x), argtan(x), ln(x), exp(x), sqrt(x). Haqiqiy operandalar uchun qo’llaniladigan munosabat amallari mantiqiy natijani beradi: chin yoki yolg’on. Boolean turi. Bu tur mantiqiy chin(true) yoki yolg’on(false) qiy-matlarni qabul qiladigan ma’lumotlarni aniqlaydi. Mantiqiy operandalar uchun quyidagi amallarni qo’llash mumkin: not - inkor, and - kon’yunksiya ("va"), or - diz’yunksiya ("yoki"). Paskal tilida mantiqiy tur quyidagicha aniqlangan: false<true.

Bu esa integer va real turdagi ma’lumotlar uchun munosabat amallarini qo’llash imkonini beradi.

Char va String turi. Bu tur Paskal tilining belgilarini va tartiblangan belgilar ketma- ketligini aniqlaydi. Bu belgilar soniga bo’shliq ( ) ham kiradi. Harfli o’zgaruvchilarning yoki o’zgarmaslarning qiy-mati har doim apostrof ichiga olingan bo’lishi kerak. Masalan: 'aaa', 'xa-xa', 'IBM'-satr o’zgarmaslar, 'K', 'B' - harfli o’zgaruvchilar qiymati. Agar harfli o’zgaruvchilarning qiymati bittadan ortiq belgidan iborat bo’lsa, u holda ular string turiga mansub bo’ladi va ular o’zgaruvchilarni tavsiflash bo’limida tavsiflanishi

Page 202: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

202

kerak bo’ladi. Satr o’zgaruvchilarining qiymati 255 tagacha belgidan iborat bo’lishi mumkin. String funksiyasi orqali tavsiflanayotgan harfli o’zgaruvchining qiymati nechta belgidan iborat ekanligini, ya’ni mashina xotirasidan shu harfli o’zgaruvchi uchun nechta joy ajratish lozimligini ko’rsatish ham mumkin. Masalan: 1) var f: string [40]; dw, fd:string; Bu yerda f harfli o’zgaruvchi 40 tagacha belgidan, dw va fd lar esa 255 tagacha belgidan iborat bo’lishi mumkinligi ko’rsatilgan. 2) const ter="Informatika"; tw="Matematika"; var sd, gf:string; pt:string[20]; Bu yerda ter, tw lar satr o’zgarmaslari, sd,gf va pt lar satr o’zgaruvchilaridir

8- амалий машғулот Mavzu: Shartli o’tish operatori yordamida takrorlanuvchi dastur tuzish

Reja: 1. Takrorlanuvchi dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Shartli o’tish operatorini o’tganish. 2. Takrorlanuvchi dastur tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Sikllik jarayonlarni shartli operatorlar orqali dasturlash. Bunday holda sikl parametrining boshlang’ich qiymati berilgan bo’lishi kerak. Hisoblash shu parametr bilan bajariladi va qadam qiymati bilan o’zgartiriladi, hamda siklning tamom bo’lish sharti tekshiriladi. Agar sikl tugagan bo’lmasa, hisoblash davom ettiriladi.

Misol.

1

)12

(i

iS ni hisoblash dasturini tuzing.

program SUMMA; label 1; var S, i : integer;

begin S:=0; i:=0; 1: i:=i+1; S:=S+(i /2 + 1); if i < 20 then goto 1 ; writeln('Yig’indi S=',S) end.

Page 203: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

203

9- амалий машғулот Mavzu: Takrorlanuvchi dastur tuzish

Reja: 1. Parametrli sikl dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Parametrli sikl yordamida dastur tuzishni o’rganish. 2. Parametrli sikl yordamida dastur tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Parametrli sikl operatori. Agar sikllik jarayonlarda takrorlanish soni oldindan ma’lum bo’lsa, ko’p hollarda parametrli sikl operatoridan foydalaniladi.

Parametrli sikl operatorining umumiy ko’rinishi quyidagicha: for V:=Xo to Xn do S; Bu yerda for (uchun), to (gacha o’sib boradi) va do (bajar)- xizmatchi so’zlar; V- sikl parametri deb ataluvchi o’zgaruvchi; Xo,Xn - sikl parametrining mos ravishda boshlangich va oxirgi qiymati; S - sikl tanasi deb ataluvchi operatorlar ketma- ketligi. Masalan: for n:=1 to 5 do x:=2*x ; Bu yerda sikl parametri n besh marta takrorlanadi va o’zgaruvchi x ketma - ket 2*x , 4*x , 8*x , 16*x , 32*x qiymatlarni qabul qiladi, n=6 bo’lganda hisoblash to’xtatiladi. Parametrli sikl operatorida sikl parametri V boshlang’ich qiymat Xo dan oxirgi qiymat Xn gacha bo’lgan qiymatlarni 1 qadam bilan o’zgarishda qabul qiladi. Uning xar bir qiymatida S operatorlar ketma-ketligi bajariladi. Masalan. 1) for i:=1 to 10 do x:=sqr(i+1); S:=S+1;

2) for n:=1 to a+b do S:=S+sqrt(sqr(n)+1); Paskal tilida parametrli sikl operatorini kamayib boruvchi shaklida ham ifodalash mumkin:

for V := Xn downto Xo do S; Bu yerda V - sikl parametri, Xn, Xo- sikl parametrining oxirgi va boshlang’ich qiymatlari; S - sikl tanasi; for (uchun), downto (gacha kamayadigan) va do(bajar) xizmatchi so’zlar. Bu operator quyidagicha bajariladi: sikl operatori V eng avval oxirgi Xn qiymatni qabul qilib oladi. Qolgan qiymatlari -1 qadam bilan o’zgarib borgan Xo gacha bo’lgan qiymat-lardan iborat bo’ladi. Sikl parametri V ning har bir qiymatida S operatorlar ketma- ketligi bajariladi. Masalan. 1) for n := 5 downto 1 do x; Bu yerda sikl parametri n besh marta takrorlanadi va x o’zgaruvchi ketma- ket 32*x,16*x, 8*x, 4*x, 2*x qiymatlarni qabul qiladi. 2) y :=0; for i :=n downto 1 do y:=y+2/i;

Misol.

n

iiS

1)12( yig’indini hisoblash dasturini tuzing.

1) 1- ko’rinish . program summa;

var S : real; N,i : integer; begin readln(n); S:=0;

Page 204: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

204

for i:=1 to n do S:=S+(2*i+ 1); write('S=';S) end. 2) 2- ko’rinish program summa; var S: real; N, i : integer; begin read(n); S:=0; for i := n downto 1 do S:=S+ (2*i+ 1); write('S=',S) end.

10- амалий машғулот

Mavzu: Takrorlanuvchi dastur tuzish Reja:

1. Sharti oldin va keyin qo’yilgan sikl operatori yordamida dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Sharti oldin va keyin qo’yilgan sikl operatori yordamida dastur tuzish o’rganish. 2. Sharti oldin va keyin qo’yilgan sikl operatori yordamida dastur tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Sharti oldin qo’yilgan sikl operatori. Bu operator siklik jarayonda takrorlanishlar soni qo’yilgan shartga bog’liq bo’lgan holda qo’lla-niladi. Sharti oldin qo’yilgan sikl operatorining umumiy ko’rinishi quyidagicha: while B do S; Bu yerda while(hozircha), do(qilmoq, bajarmoq)- xizmatchi so’zlar, B- mantiqiy ifoda, S- operator. Bu yerda S operator nol marta yoki bir martadan ortiq bajarilishi mumkin. Chunki S operatorining har bir bajarilishidan oldin B ifodaning qiymati hisoblanadi. Agar B ifoda chin(true) qiymat qabul qilsa S operator bajariladi, aks holda ya’ni B ifoda yolg’on(false) qiymat qabul qilsa sikl operatorining bajarilishi tugaydi. Agar B ifoda birinchi hisoblanishidayoq yolg’on qiymatni qabul qil-sa, S operator bir marta ham bajarilmaydi. Ko’rinib turibdiki, bu yerda siklik jarayonning tugallanish sharti S operator bajarilishidan oldin tekshiriladi. Shuning uchun bunday ko’rinishdagi sikl operatori - sharti oldin qo’yilgan sikl operatori deb yuritiladi. Masalan.

Page 205: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

205

1) y :=1; k:=0; while y<=M do begin y:=y*3;k:=k+1 end 2) y:=1; v:=1; while abs(v) >= eps do v:=(x/y-y)/2; y:=y+v end

Misol.

n

iiS

1)12( yig’indini hisoblash dasturini tuzing.

program summa; var S:real; n,i:integer;

begin read(n); S:=0; i:=1; while i<=n do begin S:=S + (2*i+1); i:=i+1 end; write('S=',S) end. Bu misolda qaysi operatordan foydalanish - for yoki while danmi farq qilmaydi. Agar takrorlanish soni ma’lum bo’lsa, for operatori ishlatiladi, takrorlanish soni ma’lum bo’lmasa while operatori qo’llaniladi.

1- misol.

1 2

1i i

S yig’indini aniqlikda hisoblash dasturini tuzing.

program summa; var S, eps : real; i : integer; begin

readln(eps); S:=0; i:=1; while 1/ (2*i) > eps do

begin S:=S + 1/ (2*i); i:=i+1; end; write('S=',S) end. Sharti keyin qo’yilgan sikl operatori. Bu operator takrorlanuvchi hisoblash jarayonlarida takrorlanishlar soni noma’lum bo’lgan holatlarda ishlatiladi. Operatorning umumiy ko’rinishi quyidagicha:

repeat S1,S2,...,Sn until B; Bu yerda repeat (takrorlamoq), until(gacha) – xizmatchi so’zlar, S1,S2,S3,...,Sn operatorlar ketma ketligi, B - mantiqiy ifoda. Operatorning bajarilishida repeat va until operatorlari orasida joylashgan operatorlar ketma- ketligi bir marta va undan ortiq bajarilishi mumkin. Bu jarayon qo’yilgan mantiqiy ifoda yolg’on qiymat qabul qilgunga qadar davom etadi. Repeat operatorining while operatoridan farqi shundaki, bunda eng avval operatorning qiymati hisoblanib, so’ngra qo’yilgan shart tekshiriladi. Bu esa bunda berilgan operatorning hyech bo’lmaganda bir marta bajarilishiga imkon yaratadi. Masalan. y:=1; repeat v:=(2*x/y-3*y)/2; y:=y+2*v until abs(v)<eps;

Misol.

1 21

i iS yig’indini berilgan aniqlikda hisoblash dasturini tuzing.

program summa; var S,eps:real; i:integer; begin read(eps); S:=0; i:=1; repeat S:=S + 1/ (i+1); i:=i+1 until 1/ (i+1) <=eps; write('S=',S) end.

Page 206: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

206

11- амалий машғулот Mavzu: Iteratsion va ichma-ich joylashgan sikillarga dastur tuzish.

Reja: 1. Iteratsion va ichma-ich joylashgan sikillarga dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Iteratsion va ichma-ich joylashgan sikillarga dastur tuzishni o’rganish. 2. Iteratsion va ichma-ich joylashgan sikillarga dastur tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Iterasion sikllar.Takrorlanishlar soni noma’lum bo’lgan sikllar-da sikl tanasining takrorlanish jarayonida nyyy ,...,, 21 qiymatlar ketma- ketliklarini hosil qiladadigan sikllar asosiy o’rinlardan birini egal-laydi. Bunday ketma-ketliklar a limitga yaqinlashuvchi bo’ladi : aynn

lim .

Bu ketma-ketligda ny ning har bir yangi qiymati oldingi 1ny ni hisobga olgan holda aniqlanadi va unga nisbatan izlanayotgan natija a ga yaqinroq aniq qiymat sifatida qaraladi. Yaqinlashishlarni bunday ketma–ketliklarini hosil qiluvchi sikllar iterasion sikllar deb yuritiladi. Iterasion sikllarda siklning davom etishi (tugash) sharti n ning o’sishida ny qiymatlarini a limitga cheksiz yaqinlashuvchi xossasiga asoslangan Iterasional sikl tugaydi ( natija y ga nisbatan taxminan olinadi, ayn agar ba’zi bir

n qiymatlar uchun 1yy shart bajarilsa. Bu yerda juda kichik son bo’lib , hisoblash

natijasining xatoliklaridir . Iterasion sikl jarayonining tipik misoli sifattida cheksiz qatorlar yig’indisini hisoblash masalasini keltirish mumkin. ...,/,...,, ttto qiymatlarning cheksiz qatori yaqinlashuvchi deyiladi, agar ttts on / yig’indining (n+1) hadi n ning chekli o’sishida S ga yaqinlashuvchi bo’lsa.

S qator yig’indici deb yuritiladi: ;SLimS StLimot

i

Bunda yaqinlashuvchi qatorning umumiy hadi t nolga intiladi ya’ni ,limlim / oSSot nn Bundan ko’rinib turibdiki , ,..., ,...21 SSS ketma-ketlik izlanayotgan qiymatlar ketma-ketligi bo’lib, u yig’indini tugash shartini quyidagicha aniqlaydi : tёкиSS 1

Misol. Kosinusni qatorga yoyishdan foydalanib xS cos fuksiya qiymatini 410 xatolik bilan hisoblang:

Page 207: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

207

xtxxxxon

...!6!4!2

1cos642

bu yerda !1 2

2

nxn

n

n

xt Bu yig’indini hisoblash uchun, birinchidan, nt hadning keyingi qiymatini aniqlash , ikkinchidan , iterasion formula nn tSS bo’yicha yig’indini hisoblash. Ushbu misolda faktorialni mavjudligini hisobga olganda , nt ni aniqlash uchun to’g’ridan – to’g’ri umumiy formula bo’yicha hisoblash emas, balki rekurrent munosabat nn tt 1 dan foydalaniladi . ниtn aniqlovchi formulaga n ning o’rniga 1n ni qo’yamiz:

!1!1 221

121

1

2212

nxn

nxn

nn

t ni aniqlaymiz:

!21

!221

!221

1221

22

221

!2

1

2

nxx

xtt

nnn

nn

n

nn

nxn

n

nn

n

!2

!221 2

n

nx

Bizga ma’lumki mm 321! . Shuning uchun

nnx

nnnnxU n 2122)12)(22...(2.1

22...2.1.)1( 22

Paskal tilida dastur. program kosinus; var n: integer; eps, s, t, f, x, y: real; begin read (x, eps); s:=0; t:=1; n:=1; while abs (t)>eps do begin s:=s+t; f:=-sqr(x)/(2*n*(2+n-1)); t:=t*f; n:=n+1; end; y:=cos(x); wirteln (‘s=’, ‘y=’ ,y) end. Misol. 2. nxy n darajali ildizni berilgan aniqlikda quyi-dagi rekurrent formula bo’yicha hisoblash algoritmi va dasturini tuzing: Masalani yechish algoritmi:

бошлаш

тамом

nх ,,

y=x

)(11 y

yx

nd n

y=y+d

d y

Page 208: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

208

Paskal tilida dasturi: program ITI; var n : integer; E,d,x,y : real; begin read );,( EN y:=x; repeat

;:

;)))ln(*)1exp(((:Dyy

nyynxD

until abs (D) <=E; writeln (X,’darajasi‘,N, ‘ildiz’) writelne (‘teng’,y,’ga’); end. Ichma-ich joylashgan sikllar. Hisoblash jarayonlarida bir- biri ichiga joylashgan sikllardan foydalaniladi. Agar sikl tanasi ham yana sikldan iborat bo’lsa, u holda bunday sikllar ichma- ich joylashgan yoki murakkab sikllar deb ataladi. Ichida boshqa sikl joylashgan sikl tashqi sikl deyiladi. Boshqa sikl ichida joylashgan sikl esa ichki sikl deyiladi. Paskal tilida ichki va tashqi sikllar sifatida: parametrli sikl, sharti oldin qo’yilgan sikl va sharti keyin qo’yilgan sikl operatorlaridan ixtiyoriy bittasi qo’llaninilishi mumkin. Tashqi va ichki sikllarni tashkil etish qoidasi oddiy sikllarnikiga o’xshab ketadi. Faqat ichma- ich sikllarni tuzishda qo’yidagi qo’shimcha shartga rioya qilish kerak: ichki siklning hamma operatorlari to’liq tashqi sikl tanasi ichida joylashgan bo’lishi kerak. Murakkab sikllar shartli ravishda ichma- ichlik darajasiga bo’linadi, ya’ni eng tashqi sikl 1- darajali, keyingi sikl 2- darajali va hakozalar kabi bo’ladi. Har xil darajali sikllarning parametrlari bir vaqtda o’zgarmaydi. Murakkab siklda avval hamma sikl parametrlari o’zlarining boshlang’ich qiymatiga ega bo’ladi. So’ngra eng ichki sikl to’liq bajariladi. Shundan keyin bunga nisbatan tashqi sikl o’z qiymatini bittaga o’zgartiradi, so’ngra ichki sikl esa yana to’liq bajariladi va hokazo bu jarayon hamma darajadagi sikllar talab etilgan barcha qiymatlarini qabul qilib bo’lguncha davom etadi. Ichma- ich joylashgan sikllar tanasining takrorlanishlarining umumiy soni, barcha sikl parametrlarining qabul qiladigan oxirgi qiymatlarining ko’paytmasiga teng: N=N1*N2*...Nk.

1- misol.

15

1

10

1)2(

k n

nk xaS ifodaning qiymatini hisoblash dasturini tuzing.

program summa; var S,a, b, x,:real; k,n:integer; begin S:=0; S1:=0; read(a, b, x); for k:=1 to 15 do {tashqi sikl boshi} begin for n:=1 to 10 do {ichki sikl boshi} begin S:=S + 2* (exp(k*ln(A)) + exp(n*ln(x))); end; {ichki sikl oxiri} S1:=S1+S; end; {tashqi sikl oxiri} S1:=(b+a)*S1; write('S1=',S1) end.

Page 209: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

209

2- misol.

15

1

10

1)!!(

k njiS ifodani hisoblash dasturini tuzing.

program summa; var i,j : integer; xo,h,xn,x,So,P,P1:real; begin P:=1; begin S:=0; p1:=1; for i:=1 to 5 do

for j:=1 to 10 do begin p:=p*i; p1:=p1*j; end;

S:=S +(p + p1); end; writeln('S=',s); end.

8,9,10,11-amaliy mashg’ulotlar uchun mustaqil topshiriqlar

1-topshiriq

a)

5

1

12

1

32

n iinS ni hisoblang.

b) 1 dan n gacha toq sonlar kvadratlari yig’indisini hisoblang.

c)

5

1

12

1

32 )(n i

inS ni hisoblang

2-topshiriq

a)

4

2

310

122

2

ii akk

aiaiiP ni hisoblang.

b) [a,b] oraliqda m soniga karrali sonlar ko’paytmasini hisoblang

c)

10

1

4

2

3

a i akkS ni hisoblang.

3-topshiriq

a)

8

122

2

i aiaiiP ni hisoblang.

b) 1 dan 35 gacha bo‘lgan toq sonlar kvadratlarining yig‘indisi va juft sonlar kvadratlarining ko‘paytmasini toping.

c)

5

1

8

1

32 )(n i

inS ni hisoblang

4-topshiriq a) Berilgan son raqamlari yig’indisini hisoblash dasturini tuzing.

b)

1

2

лkx

kS ni eps = 0,0001 aniqlik bilan hisoblang.

c)

5

1

10

1

42 )(k j

jkS ni hisoblang

5-topshiriq

a)

12

1

36

1

2

ininS ni hisoblang.

b) 2 dan 50 gacha 4 ga va 3 ga bo‘linadigan sonlarni chop eting.

Page 210: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

210

c)

3

1

5

1

10

1

22 )(n k j

njkS ni hisoblang.

6-topshiriq a) [a,b] oraliqdagi m soniga karrali sonlar yig’indisini hisoblang.

b)

1

2

kkx

kS ni eps = 0,001 aniqlik bilan hisoblang.

c)

4

1

10

1

)!!(k j

jkS ni hisoblang

7-topshiriq

a) !

....!2!1

2

nxxxy

n

ni hisoblang.

b) y=tg(x+c) funksiya qiymatini [a,b] oraliqda h qadam bilan hisoblang.

c)

3

1

4

1

5

1

)!!!(n k j

njkS ni hisoblang.

8-topshiriq a) S = m! + n! + k! ni hisoblang. b)

12....

59

341

2

nnS ni hisoblang.

c)

3

1

5

1

34

1

2 )(k in

kiknS ni hisoblang.

9-topshiriq a) [a,b] oraliqdagi n va m larga karrali bo’lgan sonlar yig’indisini hisoblang.

b)

1

2 1n

nnnS ni 001,0E aniqlik bilan hisoblang.

c)

3

1

5

1

34

1

2 )(k in

kibknaS ni hisoblang

10-topshiriq

a)

n

ki kkaiS

1

35

1

2

!1)( ni hisoblang.

b) EKUB(a,b,c) ni topish dasturini tuzing.

c)

4

1

10

1

)!!(k j ba

jkS ni hisoblang.

11-topshiriq a) 0!! nny ni hisoblang. b) EKUK(a,b,c) ni topish dasturini tuzing.

c)

4

1

10

1 )!!()(

k j jkjkaS ni hisoblang

12-topshiriq a) 0sin...2sin1sin mmP ni hisoblang. b) [a,b] oraliqdagi toq sonlar kvadtlarining ko’paytmasini hisoblang.

c)

4

1

10

1

!

!

k

j

k

jS ni hisoblang.

Page 211: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

211

13-topshiriq

a)

10

1

5

132

n k

knS ni hisoblang.

b) 10 dan 120 gacha bo‘lgan juft sonlar yig‘indisi va toq sonlar ko’paytmasini hisoblang.

c)

3

1

4

1

10

1

!

)1(

i

kj

ik

jS ni hisoblang.

14-topshiriq

a)

10

1

14

14n

n

nxS ni hisoblang.

b)

1

1

nn

n

naS ni hisoblang.

c) Ko’paytirish jadvali elementlarini hosil qilish dasturini tuzing. 15-topshiriq

a)

10

1

5

1n k

kn abS ni hisoblang.

b) =0,0003 aniqlik bilan

1

1

nn

n

axS ni hisoblang.

c)

10

1

5

1)(

n k

nk baS ni hisoblang.

12- амалий машғулот Mavzu: Bir o’lchovli massivlarga dastur tuzish.

Reja: 1. Bir o’lchovli massivlarga dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Bir o’lchovli massivlar ga dastur tuzishni o’rganish. 2. Bir o’lchovli massivlar ga dastur tuzishni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Regulyar turlar, ya’ni bir o’lchovli massivlar quyidagicha ko’rinishda beriladi:

array [< indeks turi>] of < komponenta turi >; Indekslar turi real va integer standart turlardan tashqari barcha oddiy turlar bo’lishi mumkin, chunki massivlar cheklangan elementlar sonidan iborat bo’ladi. Ko’p xollarda indekslar turi sifatida chegaralangan turlardan foydalaniladi. Chunki chegaralangan turlarning qiymatlar to’plami tartiblangan va nomerlangan bo’ladi. Masalan, 100 ta haqiqiy turdagi elementdan iborat massiv quyidagicha beriladi:

Page 212: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

212

a) array[1. .100] of real Chegaralangan butun tur 1..100 elementlarini sonini va tartibini aniqlaydi. b) array [1147. .2229] of integer v) array [-109. .-1] of integer Har bir beriladigan regulyar turga, ya’ni massivga turlarni tavsiflash orqali nom berish mumkin. Masalan. type chegara = 1..100; vektor = array [ chegara ] of real; massif = [1147..2279] of integer; massif2 = array [-109.. -1] of integer; Regulyar tur o’zgaruvchilaridan foydalanish uchun ular o’zgaruvchilarni tavsiflash bo’limida aniqlanadi. var a,b : vektor; c,d : massif; Regulyar turlarni to’g’ridan - to’g’ri o’zgaruvchilarni tavsiflashda ham berish mumkin. var r,t : array [ chegara ] of real; s,g : array [1147. .2279] of integer; q,h : array [-109. .-1] of integer; k,m : array [1. .50] of (schar,kub,piramida); Sanab o’tiladigan turning qiymatlar to’plami ham cheklangan nomerlangan to’plamni tashkil qiladi, ya’ni sanab o’tiladigan tur ham indeks turi sifatida qo’llanilishi mumkin. Chunki sanab o’tiladigan turning qiy-matlari tartiblangan va chekli sondan iborat bo’ladi: type oy = (yanvar, febral, mart, aprel, may, iyun, iyul, avgust, sentabr, oktabr, noyabr, dekabr); hafta = (dushanba, seshanba, chorshanba, payshanba, juma, shanba); Regulyar tur o’zgaruvchilari quyidagicha aniqlanadi: var t,r: array [oy] of real; a,b: array [hafta] of real; Bundan tashqari indeks sifatida boolean va char turlari ham qo’llanilishi mumkin: type belgi : array [boolean] of integer; alfavit : array [char] of integer; var k: belgi; s: alfavit; Masalan. type x = array [1..k] of boolean; yil = array [yanvar .. dekabr] of integer; chiroq = array [1..3] of sfetofor; var z,y : x; oj : yil; m : chiroq; Massivlar bir xil turga tegishli bo’lsa va bir xil sondagi komponentalardan iborat bo’lsa, bunday massivlar uchun ta’minlash operatorini qo’llash mumkin: X:=Y; Bu operatorning bajarilishi natijasida X massivning elementlari Y massivga ham ko’chiriladi.

Page 213: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

213

Indeks turining indeksi o’zgarmas yoki ifoda bo’lishi mumkin. Massivlar matematikada, iqtisodda va informatikada berilmalarning tartiblangan to’plamini tavsiflash uchun keng va samarali qo’llaniladi: vektorlar, matrisalar, jadvallar va hokozalar. Misol. Bir o’lchovli 20 elementdan iborat bo’lgan A massiv elementlarining yigindisini hisoblash dasturini tuzing:

20

1iiAS

program summas; type

n = 1.. 20; var S: real; A: array [N] of real; i : n; begin

for i:=1 to 20 do read(A[i]); readln; S:=O; for i:=1 to 20 do S:= S + A[i]; writeln('Massiv yig’indisi =', S); end.

13- амалий машғулот Mavzu: Ikki o’lchovli massivlarga dastur tuzish.

Reja: 1. Ikki o’lchovli massivlarga dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Ikki o’lchovli massivlar ga dastur tuzishni o’rganish. 2. Ikki o’lchovli massivlar ga dastur tuzishni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut Ko’p o’lchovli massivlar. Bir o’lchovli massivlarda massiv komponentalari qiymatlardan, ya’ni alohida berilmalardan iborat bo’ladi. Paskal tilida bundan tashqari massiv komponentalari massivlardan iborat bo’lishi mumkin. Agar massiv - komponentalarni qiymatlaridan tashkil topgan bo’lsa, u holda ikki o’lchovli massivlar hosil bo’ladi. Masalan, matrisalar. Xuddi shunday, massiv komponentalari matrisalardan iborat bo’lsa, uch o’lchovli massiv hosil bo’ladi. Ikki o’lchovli massivni aniqlovchi tur ham, xuddi bir o’lchovli massiv kabi beriladi:

array [<indeks turi>] of <komponenta turi>; Bu yerda komponenta tur emas, regulyar bo’lganligi uchun u quyidagicha ko’rinishda bo’ladi:

Page 214: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

214

array[<indeks turi>]of<komponenta turi> of array[<indeksturi>] of < turi> Masalan, 10 ta satr va 20 ta ustun iborat bo’lgan ikki o’lchovli haqiqiy massiv turini quyidagicha berish mumkin:

array [ 1..10] of array [1..20] of real; Bu turga tegishli o’zgaruvchilardan foydalanish doimgidek, ikki xil usulda berilishi mumkin. Birinchi usulda talab qilingan regulyar tur- o’zgaruvchilarni tavsiflash bo’limida beriladi. Masalan: var A: array [1..10] of array [1..20] of real; B: array [dush .. yaksh] of array [boolean] of -20..20; Ikkinchi usulda, turlarni tavsiflash bo’limida aniqlanadigan regulyar turga nom beriladi, o’zgaruvchilarni tavsiflashda esa faqatgina shu turning nomi ko’rsatiladi: type matrisa = array [1..10] of array [1..20 of real; yangitur = array [dush..yaksh] of array [boolean] of -20..20; var A,B: matrisa; C: yangitur; Paskal tilida regulyar turlarni yozishni qisqartirilgan ko’rinishi ham qo’llaniladi:

array [<indeks turi>{,<indeks turi>}] of <komponenta turi>; Masalan: type matrisa = array [1..10,1..20] of real; A = [1..20, 1..20] of integer; Bu yerda matrisa [i,j] - matrisa elementlari; i- elementlarning satrlar bo’yicha turgan o’rnini aniqlaydi va 1..10 oraliqdagi qiymatni qabul qiladi; j- esa elementlarning ustunlar buyicha turgan o’rnini aniqlab, 1..20 oraliqdagi qiymatlarni qabul qiladi. Shu narsani eslatish lozimki, indekslar bitta va bir xil turga mansub bo’lishi shart emas. Misol. Ikki o’lchovli A(6,6) massiv elementlari yig’indisini hisoblash dasturini tuzing. program summas; var A:array[1.. 6,1.. 6] of real; i,j : integer; S:real; begin for i :=1 to 6 do for j :=1 to 6 do read(A[i,j]); readln; for i:=1 to 6 do for j :=1 to 6 do S := S + A[i,j] ; writeln('Yig’indi S=',S); end.

14- амалий машғулот Mavzu: Massivlarni tartiblash va saralash doir dastur tuzish.

Reja: 1. Massivlarni tartiblash va saralash doir dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Massivlarni tartiblash va saralash doir dastur tuzishni o’rganish. 2. Massivlarni tartiblash va saralash doir dastur tuzish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish.

Page 215: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

215

Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut

1- vazifa

1) 2021 ,...,, xxx massivning musbat elementlari yig‘indisini hisoblash algoritmi va dasturini tuzing. Masalani yechish dasturi. Program massiv; type n=1..20; var X:array [n] of real; i:integer; S:real; begin S:=0; for i:=1 to 20 do read(X[i]); if X[i]>= 0 then S:=S+X[i]; writeln(‘S=’,S); end.

2 - vazifa

2) Ikkita A(2,3) va B(3,3) matritsalar ko‘paytmasini hisoblash algoritmi va dasturini tuzing. Bu ko‘paytma quyidagi formula bilan hisoblanadi:

m

kkikij pjnibaC

ij1.......2,1,.......2,1*

Masalani yechish dasturi. Program matritsa;

type mat=array[1..2,1..3] of real; mat2=array[1..3,1..3] of real;

var A,C: mat; B: mat2; I,j, k : integer; begin for I; = 1 to 2 do for j:=1 to 3 do read (A [i,j]); readin; for i:=1 to 3 do for j:=1 to 3 do read (B [i,j]); for j:=1 to 2 do for j:= 1 to 3 do begin C [i,j]:=0; for k:=1 to 3 do C [i,j]:=C [i,j] + A [i,k]*B [k,j]; end for I;=1 to 2 do begin writeln; for i: = 1 to 3 do write (C[i,j]); end; end.

12,13,14-amaliy mashg;ulotlat uchun mustaqil topshiriqlar Massiv elementlari bilan ishlashga doir masalalar.

1. A(n) massiv berilgan. Uning elementlarining eng kattasi va eng kichigini topish algoritmi va dasturini tuzing 2. A(n) massiv berilgan. Massiv elementlarini o‘sib borish tartibida joy-lashtirish algoritmi va dasturini tuzing. 3. A(n) massiv berilgan. Uning elementlarining eng kattasini 1-soni bilan, eng kichigini esa -1 soni bilan almashtirish algoritmi va dasturini tuzing.

Page 216: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

216

4. A(n) massiv berilgan. Uning elementlarining eng kattasi va eng kichigini hamda ularning o’rnini aniqlash algoritmi va dasturini tuzing. 5. A(n) massiv berilgan. Uning manfiy, musbat va nol elementlari sonini aniqlash algoritmi va dasturini tuzing. 6. . x1, x2, …,x55 massiv berilgan: x1(x2+x3) (x4+x5+x6) … (x46+x47+…,x55) ni hisoblash algoritmi va dasturini tuzing. 7. x1, x2, …,xn massiv berilgan. Uning toq elementlaridan U, juft element-laridan Z massiv hosil qilish algoritmi va dasturini tuzing. 8. A(n) massiv berilgan. Uning birinchi va oxirgi elementlari o’rnini almashtirish algoritmi va dasturini tuzing. 9. A(n) massiv berilgan. Uning manfiy elementlarining eng kattasini aniqlash algoritmi va dasturini tuzing. 10. A(n) massiv berilgan. Uning juft nomerdagi elementlari yig’indisi va toq nomerdagi elementlari ko’paytmasini hisoblash algoritmi va dasturini tuzing. 11. A(N,N) massivning barcha musbat elementlari yig’indisi va manfiy elementlari ko’paytmasini hisoblash algoritmi va dasturini tuzing. 12. A(N,N) massivning barcha musbat, manfiy va nol elementlari sonini aniqlash algoritmi va dasturini tuzing. 13. A(N,N) massivning bosh diagonali elementlari yig’indisi va manfiy elementlari ko’paytmasini hisoblash algoritmi va dasturini tuzing. 14. A(N, N) massivning bosh diagonalining eng katta elementi va u turgan ustunni aniqlash algoritmi va dasturini tuzing. 15. A(N,M) massiv har bir ustuni elementlari yig‘indisini, so‘ngra har bir satri elementlari ko‘paytmasini topish algoritmi va dasturini tuzing. 16. A(N,M) massivning har bir satrining eng katta elementini toping va ularning indeks tartib raqamini aniqlash algoritmi va dasturini tuzing. 17. A(N,M) massiv har bir satr elementlari yig‘indisini hisoblash va ulardan eng kattasi va eng kichigini topish algoritmi va dasturini tuzing. 18. A(3,3) massiv berilgan. Uning birinchi va uchinchi ustun elementlarini 3 ga ko‘paytirib yangi massiv hosil qilish algoritmi va dasturini tuzing. 19. A(N,N) massivning eng kichik elementi joylashgan satr va ustun elementlarini o’chirish algoritmi va dasturini tuzing. 20. A(3,3) massiv berilgan. Uning satr va ustun elementlarini kvadratga ko‘tarib yangi massiv hosil qilish algoritmi va dasturini tuzing.

15- амалий машғулот Mavzu: Qism dasturdan foydalanib dastur tuzish.

Reja: 1. Procedure ga doir dastur tuzish. 2. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 1. Procrdurega doir dastur tuzishni o’rganish. 2. Procrdurega doir dastur tuzishni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut

Page 217: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

217

4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut

Paskal tilida qism dastur. Dasturlash jarayonida shunday holatlar mavjud bo‘ladiki, bunda hisoblash jarayonining

ayrim bo‘laklarini parametrlarining turli qiymatlari uchun takror-takror bajarishda to’g’ri keladi. Bunday hollarda har bir bo’lak uchun alohida dastur, ya’ni qism dastur tuzib kerak

bo’ganda unga murojat qilish ishni ancha engillashtiradi. Paskal tilida qism dasturining ikki xil ko‘rinishi qo‘llaniladi: funksiya (function) va prosedura

(procedure). Har qanday dasturda bir necha prosedura va funksiyalar bo‘lishi mumkin. Prosedura va funksiya tavsiflash bo‘limida o‘zgaruvchilaridan keyin beriladi.

Procedura (procedure) yordamida dastur tuzish. Prosedura quyidagi ko‘rinishda beriladi: procedure nom (<formal parametrlar>); <tavsiflash bo‘limi>; begin <buyruqlar operatorlar bo‘limi>; end; Masalan: a) procedure sutta (A,B,C: integer; var s: real); b) procedure FAK (n: integer; var F: real); Proseduralarni bajarish uchun dasturning kerakli joyida murojaat qilish kerak bo‘ladi. Proseduraga murojaat qilinganda formal parametrlar faktik parametrlar bilan almashadi. Bu quyidagicha bo‘ladi: <prosedura nomi> (<argumentlar ro‘yxati>): Masalan: a) Summa (5, m, 7, S1); b) FAK (20, F1); Agar prosedura parametrsiz bo‘lsa, u holda ularga murojaat bo‘lganda faqat prosedura nomi ko‘rsatiladi. Masalan: a) Summa; b) FAK ; c) Step; Misol. n natural ko’rsatkichli y=x darajani hisoblash dasturini procedura ko’rinishida ifodalang. Prasedure daraja(n:integer;x:real;var y:real);

var i : integer;

begin y := 1; for i := 1 to N do y := y*x; end. Misol. Prosedura (procedure) dan foydalanib hisoblash dasturini tuzing.

)!1*2()!2()!1()!1*2()!( 2

mnnm

nnmnS

Masalani yechish dasturi (Paskal tilida) program ifoda; var S, S1, S2, S3, S4, S5: real; m, n: integer; procedure FAK (L: integer; var p: real); var I:integer; begin p:=1; for i:=1 to L do p:=p*I; end; begin readln (n,m); FAK (n+m,S1); FAK (n*n+2*n-1,S2);

Page 218: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

218

FAK (m+n-1, S3); FAK (2+n, S4); FAK (2*m-1,S5); S:= (S1+S2) / (S3+S4+S5); writeln (‘S=’,S); end.

16- амалий машғулот Mavzu: Qism dasturdan foydalanib dastur tuzish.

Reja: 3. Function ga doir dastur tuzish. 4. Mustaqil topshiriqlar bajarish. Mashg’ulotning maqsadi: 3. Functionga doir dastur tuzishni o’rganish. 4. Functionga doir dastur tuzishni o’rganish ko’nikmalarini shakllantirish. Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish. Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi. Dars mazmuni: Darsning xronologik xaritasi – 80 minut. 1. Tashkiliy qism – 2 minut 2. Talabalar bilimi darajasini aniqlash – 10 minut 3. Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut 4. Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut. 5. Sinov savollari – 5 minut. 6. Uyga vazifa – 3 minut

Funksiya (function) yordamida dastur tuzish. Funksiya (function) quyidagicha ko‘rinishda ifodalanadi:

Function (< formal parametrlar va turlari >): funksiya turi >; <tavsiflash bo‘limi>

begin <buyruqlar bo‘limi>

end; Masalan: a) function MIN (n: integer; x, a: real): real; b) function STA (n, i: integer; b, c: real): real; Funksiyaga murojaat qilish standart funksiyalarga o‘xshash amalga oshiriladi. Qayerda ifodani hisoblash kerak bo‘lsa, o‘sha joyda funksiya nomi yoziladi, undan keyin faktik parametrlar beriladi. Agar para-metrsiz funksiya chiqarilsa, u holda faqatgina funksiyaning nomi ko‘rsatiladi. Masalan: a) ALB (4,5,6); b) STA(2,3,3,2); d) vit ; f) Ster ; Misol. xn darajani xisoblash dasturini funksiya ko’rinishida yozing. function daraja(N:integer; x: real) :real; var

i : integer; y : real; begin

y:=1; for i := 1 to n do

y := y*x; daraja :=y end. Misol. Funksiya (function) dan foydalanib hisoblash algoritmi va dasturini tuzing.

)12()1(

)2,2(2)1(2,12

xxtxtxtS ; bu yerda

5

1

3

1

2)1()(i k ki

xxt

Page 219: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

219

a) Masalani yechish dasturi. program ifoda; var x, s, p, p1, p2, p3: real; function TT (xx: real): real; var i, k: integer; t, t1: real; begin t=0; for I:=1 to 5 do begin t1:=0; for k:=1 to 3 do t1:=t1+SOR (xx+1)/(i+k); t=t+t1; end; TT:=t; end; begin readln(x); p:=TT* (1+x); p1:=TT* (2.2+x); p2:=TT* (Sqr(xx)-1)); p3:=TT* (2*x+1); S:=(1.2+p+2*p1)/(p2+p3;) writeln (‘S=’,S); end.

Qism dasturdan foydalanib dastur tuzishga mustaqil topshiriqlar

1)

yPyPyPyPU

21211,012,3

, bu yerda

1

2

!k kxxP

2)

1,3,,2max,,,max

4,2,3,min,,,min

dcbadcba

cbadcbaU

3)

abcacbbacbabaU

22 ,2max,min

,2max,min

4)

mnmnЭКУБmnmЭКУБ

nmЭКУБU

,,

,,2

5) Nknm

nmnmEKUBkmknmnEKUBnnmnEKUBP

,,,,,

,,,,22

6) n ta uchburchak o‘z tomonlari bilan berilgan. Bu uchburchaklarga ichki chizilgan aylana radiuslarini hisoblang va ularning kattasini aniqlang. 7) zaazxzzxyzzyxyyxR sinsinsinsin 22222222 8) n ta muntazam uchburchak berilgan. Bu uchburchakka ichki chizilgan doira yuzlarini hisoblang va ularni kamayish tartibida joylashtiring.

9)

yzyxTzyxTzyxTxyzxTB

,2,,,3

2

22

bu yerda,

baagarba

baagarbabaT

,2

,,

3 2

22

10) n ta muntazam uchburchak tomonlari bilan berilgan, bu uchburchakka tashqi chizilgan aylana radiuslarini hisoblang va ularni kamayib borish tartibida joylashtiring.

Foydalanish uchun adabiyotlar

1. Зуев Е.А. Программирование на языке Turbo Pascal 6.0, 7.0. - М., Радио и связь, 1993. -380с. 2. Фаронов В.В. Основы Турбо-Паскаля. - М., 1992. 3. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. - М., "Наука", 1988.

Page 220: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

220

4. Васюкова Н.Д., Тюляева В.В. Практикум по основам программирования. Язык Паскаль – М.: Высщая школа, 1991 г. 5. Aminov I. Paskal dasturlash tili. O'quv qullanma- SamDU, Samarqand, 1996 y. 6. В.А.Успенский, А.Л.Семенов. Теория алгоритмов: основные открытия и приложения. – М: Наука, 1987, 287 с. 7. Т..Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. Сер: Классические учебники. М.: МЦНМО, 2001.- 960 с. 8. Гуломов С.С. ва бошқалар. Ахборот тизимлари ва технологиялари. Тошкент, 2000 й. 9. Жуманов И.И. Мингбаев Н.С., Информатика.- Самарқанд,: СамДУ нашри, 2002, 107 бет. 10. Ahatov A.R., Zaripova G.L. va boshq. Axborot texnologiyalari // Uslubiy qo’llanma. – Samarqand: SamDU nashri, 2008 yil – 112 bet. 11. Д.Кнут. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир, 2000 12. Тыугу Х. Концептуальное программирование. М: Наука, 1984. 13. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982. 14. Мингбаев Н.С., Жуманов И.И. Компьютер технологиялари- Самарқанд,: СамДУ нашри, 2004, 152 бет.

Page 221: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

221

O’zbekiston Respublikasi Oliy va o’rta maxsus ta’lim vazirligi

Alisher Navoiy nomidagi Samarqand Davlat universiteti

“Algoritmlar nazariyasi” fanidan atamalari lo’g’ati

SAMARQAND - 2010 yil

Page 222: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

222

AGP (Accelarated Graphica Port) interfeysi. Grafik ma’lumotlarni uzatishga

mo’ljallangan maxsus tezkor shina bo’lib, zamonaviy videokartalar aynan shu standartga

mo’ljallanib chiqarilmoqda. Bu interfeysning AGP, AGPx2, AGPx4 kabi turlari ishlab

chiqarilmoqda. Ularning qaysi birini tanlash tizimli platadagi chipsetning imkoniyatlariga

bog’liq (masalan, Intel 820 chipseti uchun AGPx4 interfeysi mos keladi). Bu interfeys bilan

asosiy shina o’rtasidagi aloqa chipsetning «shimoliy ko’prigi» orqali o’rnatiladi.

Amaliy dasturlar (application programs) - foydalanuvchilarga kompyuterda ma’lum

amallarni bajarishga imkon beruvchi dasturiy vositalardir.

Analog (uzluksiz) signallar - biror ma’lum vaqt oralig’ida cheksiz ko’p qiymatga ega

bo’ladigan uzluksiz signallar.

Analogli kompyuterlar - faqat uzluksiz ma’lumotlar (uzluksiz signallar) bilan ishlashga

mo’ljallangan kompyuterlardir. Bularga uzluksiz texnologik jarayonlarni boshqarishga va

nazorat qilishga mo’ljallangan kompyuterlar misol bo’la oladi.

Antiviruslar. Virus-dasturlarni izlab topuvchi va ularni zararsizlantiruvchi dasturiy

vositalardir.

Arifmetik-mantiqiy moslama - barcha arifmetik va mantiqiy amallarni bajarishga xizmat

qiladi. Qo’shuvchi summator va mahalliy boshqarish registrlaridan tashkil topgan.

Arxivlash vositalari (yoki arxivatorlar) - maxsus usullar bilan fayllarning hajmini qisib,

kichraytiririshga, ya’ni ularning arxivlarini tashkil qilishga xizmat qiluvchi vositalardir.

Arxivni yangilash - arxivdagi fayllarning eskiroq versiyasi ustiga yangi versiyasini yozish.

Axborot tarmog’i - aloqa tizimlarida kompyuterlaning bir-biri bilan bog’lanishi.

Axborot texnologiyasi fani - axborotlarni jamlash, saqlash, uzatish va shu jarayonlarni

amalga oshiruvchi texnik vositalarni ishlatishni o’rgatuvchi fan.

Axborot tizimi - belgilangan maqsadga erishish uchun axborotlarni shakl va mazmuniga

ko’ra turlarga ajratish, ularni saqlash, izlash va qayta ishlash prinsiplari, qayta ishlashda

qo’llaniladigan usullar, shaxslar hamda vositalarning o’zaro bog’langan majmui.

Bayonnoma (protokol) - kompyuterlar orasida ma’lumotlarni uzatish tartibi va formatini

belgilovchi qoidalar majmui.

Belgili ma’lumot - alifbo-raqamli belgilar majmuidan iborat ma’lumot turi.

Bilimlar ombori - aniq bir fan sohasida to’plangan bilimlarni kompyuterda tasvirlash va

qayta ishlangan axborotlarni saqlashga mo’ljallangan model.

Bilimlar omborini boshqarish tizimi - ma’lumotlar omborini yaratish, yuritish va

foydalanishga mo’ljallangan dastur va til vositalari majmui.

Biologik boshqarish - hayvonot olamining saqlanishi, ko’payishi va rivojlanishini rejali

Page 223: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

223

ravishda tartibga solish maqsadida biologik tizimlarga o’tkaziladigan ta’sirdir.

Biologik model - obyektlar va ularning qismlariga xos biologik tuzilish, funksiya.

Bosh kalit - ma’lumotlar omborida saralash ishlarining tez va aniq bajarilishiga imkon

beradigan jadvalning bir ustuni.

Buyruqlar shinasi - mikroprosessor bilan tezkor xotirani bog’lovchi shina bo’lib, u orqali

tezkor xotiradagi dasturdan mikroprosessorga buyruqlar beriladi. Shinadagi o’tkazgichlar

soni mikroprosessorning razryadliligiga bog’liq (masalan, 32 razradli mikroprosessorlar

uchun bu shinada 32 ta o’tkazgich bo’ladi). Shuning uchun ham bu shinadagi o’tkazgichlar

soni kompyuterning razryadliligini belgilaydi (masalan, 32 razryadli kompyuter).

Chuqur mazmunlilik xossasi. Informasiya-obyekt faoliyatini, uning ichki va tashqi

aloqalarini chuqur qamrab olgan bo’lishi kerak. Bu esa boshqarish jarayonini to’la tahlil

qilinishini va uni keng ko’lamda olib borilishini ta’minlaydi.

Dasturiy interfeyslar - kompyuter qurilmalari bilan foydalanuvchi ishlatayotgan

dasturlarning hamjihatlikda ishlashini ta’minlovchi vositalardir.

Diagnostika vositalari. Kompyuter qurilmalarining va magnit disklarining ishlash

qobiliyatlarini va holatlarini tekshiruvchi hamda ulardagi nuqsonli joylarni aniqlab, iloji

boricha tuzatuvchi vositalardir.

Digitayzer (digitizer) - tasvir va chizmalarni o’qib, so’ngra ularni mashina kodlariga

aylantirib kompyuterga kirituvchi qurilmalardir. Ikkinchi nomi grafik planshetlar.

Diskretlash - analog signallarni raqamli ko’rinishga o’tkazish jarayoni.

Doimiy informasiyalar - direktiv ko’rsatmalar, normativ ma’lumotlar, matematik modellar

kabi kam o’zgaruvchi informatsiyalardan iborat bo’lib, boshqarishning maqsadiga muvofiq

aniklanadi va tashkil qilinadi. Bunday informatsiyalar boshqariluvchi ob’yekt parametrlari

uchun har xil mezonlar, chegaralarni ishlab chiqishga xizmat qiladi.

Ekspert tizimlar - xulosa chqarish qoida va mexanizmlari yig’indisiga ega bo’lgan

bilimlar omborini o’z ichiga olgan sun’iy intellekt tizimi.

Elektron jadvallar. Kompyuterda turli jadvallarni tashkil qilish va shu jadvallar ustida

turli amallarni (guruhlash, tartibga solish, nusxa olish va h.k.) bajarishga imkon beruvchi

vositalardir. Bunday vositalarga Super Calc, Quadro Pro, Lotus, Microsoft Excel kabi

dasturlari misol bo’la oladi.

Fizik model - tabiati va geometrik tuzilishi asl nusxadagidek bo’lib, miqdor jihatdan undan

farq qiladigan modellar.

Foydalanuvchi interfeysi - berilgan masalaga mos interfeysni tanlash.

Foydalanuvchi muhiti - interfeys tushunchasining boshqacha nomlanishi.

Hisoblash-mantiqiy tizimlari - boshlang’ich ma’lumotlar asosida boshqarishning ilmiy

Page 224: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

224

masalalarini rejalashtirish va loyihalashtirish masalalarini hal qilish imkonini beradigan

tizimlar.

Ichki informatsiyalar - kiritilayotgan informatsiyalarni qayta ishlab, boshqaruvchi buyruq

va ko’rsatmalar ishlab chiqishga xizmat qiluvchi informatsiyalar.

Informatika - axborotlashtirish jarayonlarini hamda shu jarayonlarni avtomatlashtirish

usullarini o’rgatuvchi fan sifatida namoyon bo’lmoqda.

Informatika atamasi lotincha informatik (tushintirish, xabar berish) so’zidan kelib

chiqqan bo’lib, 1960-yillarda EHMlar yordamida axborotlarni qayta ishlash bilan

shug’ullanuvchi sohani ifodalovchi atama sifatida ishlatila boshlandi.

Informatika - axborotlarlarning turlarini, tarkibini, tuzilishini va xossalarini o’rganuvchi

fan.

Intellekt - insonning tafakkur yuritish qobiliyatidagi (aql, ong).

Intellektual axborotli izlash tizimlari - ish joyidan turib bilimlar ombordagi kerakli

axborotni izlashga imkon beradigan tizimlar.

Intellektual interfeys - interfeys tushunchasini boshqacha nomlanishi.

Intellektual kitoblar - imtihon oluvchi kitoblarga o’xshash bo’lib, bunda o’quvchilarning

qobiliyatlari, bilim darajalari maxsus testlar yordamida ularning kompyuter bilan muloqati

jarayonida aniqlanadi va baholanadi.

Intellektual tizimlar - insonning mantiqiy fikrlash usulini qo’llagan holda masalani

yechadigan tizimlar.

Ishchi tizimlar - katta miqdordagi ma’lumotlarni saqlash, izlash, murakkab hisoblashlar,

modellashtirish, dasturiy ta’minotni rivojlantirishga xizmat qiladigan vositalar.

Ishontira olishlik xossasi. Har qanday informatsiya boshqarish organi ishona oladigan

darajada ya’ni boshqarilayotgan ob’yektning imkoniyati darajasida bo’lishi kerak.

Imkoniyat darajasidan chetga chiquvchi har qanday informatsiya boshqarish jarayonining

buzilishiga olib keladi.

Kibernetik boshqarish - bu boshqarishga kibernetik usullarni, g’oyalarni, zamonaviy

informatsion texnologiyalarni, xususan EHMlarni keng tadbiq qilish orqali amalga

oshiriladigan boshqarishdir. KABT va TJ ABTlar kibernetik boshqarishning yorqin

misollaridir.

Kodlash - uzluksiz signalni raqamlar orqali ifodalash jarayoni.

Kompyuterli modellashtirish - hodisa va jarayonlarning modelini kompyuterda qurish va

o’rganish.

Ma’lumotlar bazasi bilan ishlash vositalari. Turli ma’lumotlar bazalarini tashkil qilish,

Page 225: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

225

ularni boshqarish, ular ustida turli amallarni bajarish (guruhlash, tartibga solish, nusxa olish

va h.k.) hamda zarur ma’lumotlarni turli mezonlar orqali (kalit so’zlar, sanalar, fan

yo’nalishlari, mavzular, muallifning ismi va sharifi va h.k.) tezda izlab topib berishga

xizmat qiluvchi vositalardir.

Ma’lumotlar modeli - axborotlarni ifodalovchi vositalar majmui.

Ma’lumotlar ombori - kompyuterning uzoq muddatli xotirasida saqlanayotgan berilganlar

va ular ustida aniq amallarni bajarishga imkon beradigan ma’lumotlar yig’indisi.

Ma’lumotlar omboridagi doimiy ma’lumotlar - ma’lumotlar omborining uzoq muddat

o’zgarmay qoladigan elementlari.

Ma’lumotlar omboridagi o‘zgaruvchan ma’lumotlar - ma’lumotlar omborining qiymati

tez-tez o’zgartirib turadigan elementlari.

Ma’lumotlar omborini boshqarish tizimi - ma’lumotlar omboridan foydalanish uchun

maxsus yaratilgan dastur.

Ma’lumotlar omborini boshqarishning iyerarxik tizimi - ma’lumotlarning iyerarxik

tizimini yaratish va undan foydalanish uchun mo’ljallangan ma’lumotlar omborini yaratish

tizimi.

Ma’lumotlar omborini boshqarishning relyatsion tizimi - ma’lumotlarning relyatsion

tizimini yaratish va undan foydalanish uchun mo’ljallangan ma’lumotlar omborini yaratish

tizimi.

Ma’lumotlar omborini boshqarishning tarmoqli tizimi - ma’lumotlarning tarmoqli

tizimini yaratish va undan foydalanish uchun mo’ljallangan ma’lumotlar omborini yaratish

tizimi.

Ma’lumotlarni chegirish - axborotlar tizimida ko’rsatilgan shartni qanoatlantirmagan

elementlarning ma’lumotlar omboriga kiritmay qoldirish holati.

Ma’lumotlarni tartiblash - ma’lumotlar qiymati va formatini foydalanish uchun qulay

holatga keltirish jarayoni.

Ma’lumotlarning iyerarxik modeli - ma’lumotlarning daraxtsimon-joylashish modeli.

Ma’lumotlarning iyerarxik ombori - ma’lumotlarning iyerarxik modeliga mos holda

yaratilgan ma’lumotlar ombori.

Ma’lumotlarning relyatsion modeli - ma’lumotlarning jadval ko’rinishida saqlanishi.

Ma’lumotlarning relyatsion ombori - ma’lumotlarning relyatsion modeliga mos holda

yaratilgan ma’lumotlar ombori.

Ma’lumotlarning tarmoqli modeli - ma’lumotning boshqa pog’onidagi ma’lumot bilan

ikki yoki undan ortiq marta bog’lanadigan turi.

Page 226: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

226

Ma’muriyat tizimlari - tarmoqni boshqaradigan tizimlar.

Matematik model - o’rganilayotgan obyektning matematik formula yoki algoritm

ko’rinishida ifodalangan xarakteristikalari orasidagi funksional bog’lanish.

Model - biror ob’yekt yoki ob’yektlar tizimining obrazi yoki namunasi.

Modellashtirish - bilish ob’yektlarini ularning modellari yordamida tadqiq qilish, mavjud

predmet va hodisalarning modellarini yasash va o’rganish.

Monoxrom monitor - faqat oq-qora tasvirda ishlay oladigan monitorlar.

Ob’yekt - o’ziga o’xshashlaridan ajralib turadigan alohida olingan predmet.

Ob’ekt nusxasi - obyektlar to’plamidan olingan muayyan obyekt.

Ob’yektga yo’naltirilgan interfeyslar - foydalanuvchining fayllar, papkalar (kataloglar),

diskovodlar, dasturlar va h.k. obyektlar bilan ishlashini tashkil qiluvchi va shu obyektlar

ustida turli amallarni bajarishiga yordam beruvchi vositalardir.

Qimmatlilik xossasi. Bir maqsadga xizmat qiluvchi bir nechta informatsiya ichidan eng

maqsadga muvofiqlari, ya’ni qimmatlilari tanlab olinishi kerak.

Qisqalik xossasi. Informatsiya qisqa va mazmundor bo’lishi, ya’ni unda ortiqcha

ma’lumotlar yoki takrorlanishlar bo’lmasligi kerak. Bu esa boshqarishni tez va obyektiv

kechishini ta’minlaydi.

Sonli ma’lumot - ixtiyoriy sondan iborat ma’lumot turi.

Takrorlanadigan guruhlar - ma’lumotlar omboridagi ob’yektning har xil hajmdagi

axborotga ega elementlari.

To’lalik xossasi. Informatsiyalar sharoitga qarab, jahon fan va texnikasining so’ngi

yutuqlari hamda boshqarish jarayonida to’plangan tajribalarni hisobga olib, uzluksiz

ravishda o’zgartirilib, yangilanib, to’ldirilib borilishi kerak. Bu esa boshqarishda

zamonaviy usullardan keng foydalanish imkonini beradi va ob’yektning har qanday

o’zgarishlariga bardoshligi, moslashishi darajasini oshiradi.

Tushunarlilik xossasi. Informatsiya - boshqarish organi (ya’ni EHM) tushuna oladigan

holatda (saralangan, kodlashtirilgan, informatsiya tashuvchi vositalarga yozilgan) bo’lishi,

ya’ni dastlabki qayta ishlashdan o’tgan bo’lishi kerak.

Page 227: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

227

Adabiyotlar

1. Леонтьев В.. Новейшая энциклопедия персональгого компьютера. -

М.: Олма пресс образование, Москва. -2005.

2. Qobulov V.Q. Aql mo’jizasi. - T,: Fan, Toshkent. - 1984.

3. Jumanov I.I., Mingboyev N.S.. Informatika. Uslubiy qo’llanma. –

Samarqand: SamDU. - 2002.

4. Nurmuhammedov T.A. IBM PC va MS DOS bilan ishlash. - T.: Fan,

Toshkent – 1995.

5. G’ulomov S.S., Shermuhammedov A.T., Begalov B.A. Iqtisodiy

informatika. – T.: “O’zbekiston”, Toshkent. – 1999.

6. Бройдо В.Л. Ofis texnikasi (boshqarish va ish yuritish uchun). – T.:

Mehnat, Toshkent. - 2001.

7. Qobilov S.S., Jumanov I.I. SUBD i informasionniye sistemi. –

Samarqand: SamDU. - 1997.

8. Aripov M. Internet va elektron pochta aloqasi. - T.: «Universitet».- 2000.

9. Jumanov I.I., Mingboyev N.S. Hisoblash sistemalarining informatsion

asoslari. – Samarqand: SamDU. – 2002.

10. G’ulomov S.S. va boshqalar. «Iqtisodiy informatika». - T.: Fan - 1999.

11. Raxmonqulova S.I. IBM PC shaxsiy kompyuterida ishlash. - T.: Fan,

Toshkent – 1999.

12. Nasretdinova Sh. Windows uchun Excel sahifalarida. - T.: Fan. – 1999.

13 Фигурнов В.Э. IBM PC для пользователя. - М.: Инфра, 1996.

14 Шафрин Ю. Основы компьютерной технологии. - Б.: Туркистон,

Бишкек. – 1998.

Page 228: ALGORITMLAR NAZARIYASI» fanidan o’quv-uslubiy …atr.samdu.uz/mexmat/books/III blok fanlari/Algoritmlar...4 Algoritmlar nazariyasi fani bo’yicha o’quv-uslubiy majmua tarkibi

228

O’zbekiston Respublikasi Oliy va o’rta maxsus ta’lim vazirligi

Alisher Navoiy nomidagi

Samarqand Davlat universiteti

“Algoritmlar nazariyasi” fanidan taqdimot slaydlari majmuasi

SAMARQAND - 2010 yil