СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ
Благодаря готовым учебным материалам для работы в классе и дистанционно
Скидки до 50 % на комплекты
только до
Готовые ключевые этапы урока всегда будут у вас под рукой
Организационный момент
Проверка знаний
Объяснение материала
Закрепление изученного
Итоги урока
В данном материале изучено технология программирования
2
Qo‘ l yozma huq uqida
UDK 681 . 3 . 06
NAVRUZOV BAXTIYOR IXTIYOROVICH
Dasturlash texnologiyalarini o‘qitish metodikasi
Mutaxassislik: 5A111077- «Ta’limda axborot texnologiyalari»
Magistr
akademik darajasini olish uchun yozilgan
DISSERTATSIYA
Navoiy - 2016
O‘ZBEKISTON RESPUBLIKASI XALQ TA’LIM VAZIRLIGI NAVOIY DAVLAT PEDAGOGIKA INSTITUTI
Magistratura talabasi: Navruzov Baxtiyor Ixtiyorovich
Kafedra: “Informatika o‘qitish
metodikasi” Ilmiy rahbar: f.-m.f.n. Yodgorov G‘.R.
O‘quv yili: 2015-2016 Mutaxassisligi: 5А110701- «Ta’limda axborot texnologiyalari»
Dissertatsiya mavzusining dolzarbligi:
Taraqiyot va rivojlanish bor joyda dasturlash tillari rivojlanishdan to‘xtamaydi. Bugungi kunda ma’lumotlarni ifodalash shakli, tuzilmasi va ishlash tamoyillari avvalgilaridan butunlay farq qilib, imkoniyatlari juda ham boy bo‘lgan yangi dasturlash tillari shakllandi va avvalgilariga nisbatan bir qator afzalliklarga ega bo‘lgan yangi versiyalar hisobiga rivojlanib bormoqda. Buning evaziga, dasturlash tillarini o‘qitishda bir qator muammolar yuzaga kelmoqda. Birinchidan, “Informatika”, “Dasturlash asoslari”, “Informatika o‘qitish uslubiyoti” fanlari axborot texnologiyalari sohasida ro‘y berayotgan kompyuter imkoniyatlarining kengayishi, yangi operatsion tizimlar va dasturlash tillari, axborotlarni qayta ishlash jarayonlari, tarmoqlar bilan ishlash kabi o‘zgarishlarni tezkorlik bilan qayd qilib ulgurmayapti. To bir tilni tanlash, uni o‘qitish uchun tayanch tushunchalari va mazmunini belgilash, o‘quv-uslubiy qo‘llanmalarni yaratish, o‘qitish uslubiyotini ishlab chiqish va amaliyotga tadbiq qilinguncha o‘tadigan davrda bu tillarning yangi versiyalari yoki imkoniyatlari undan boy bo‘lgan yangi dasturlash tillari ishlab chiqilmoqda. Ikkinchidan, informatika fani o‘qituvchilari o‘rtasida o‘qitish uchun dasturlash tillarini tanlash va ularni o‘qitishda yuqori samara beruvchi yo‘l- yo‘riqlarni aniqlash muammolariga hammani qanoatlantiruvchi javob topilganicha yo‘q. Bu yo‘lda yangi dasturlash tillari yaratilgandan so‘ng, albatta, “eskilarini” o‘qitish ahamiyatining bo‘lmasligi asosiy to‘siq hisoblanadi. Uchinchidan,
informatika fanini o‘qitish paradigmalari o‘zgarib bormoqda. Bundan 20-30 yil avval kompyuter savodxonligi tushunchasi asosini faqat dasturlash tillari tashkil qilgan bo‘lsa, endilikda informatikaning umummadaniy va kasbiy-amaliy tomonlari muhim ahamiyat kasb etmoqda. Bu esa o‘z navbatida ta’lim muassasalarida dasturlash texnologiyalarini o‘qitish masalasini qayta ko‘rib chiqishni va uni doimo boyitib borishni talab etadi. To‘rtinchidan, an’anaviy dasturlash tillarini o‘qitishda asosiy e’tibor strukturali algoritm asosida dastur ishlab chiqishga qaratilgan bo‘lsa, ta’lim muassasalarida “eski” dasturlash tillarida mavjud bo‘lmagan ob’ekt, klass kabi tushunchalar hamda ob’ektli dasturlashning asosiy konsepsiyalari bo‘lgan polimorfizm, vorislik va inkapsulyatsiyalarni o‘qitish birinchi o‘rinda turadi. Beshinchidan, oldindan tanlab olingan dasturlash tillarini (masalan, Paskal, Delphi, C++) nihoyatda katta imkoniyatlarga ega va deyarli barcha zamonaviy axborot texnologiyalari bilan ishlay olgani uchun, uning qaysi tushuncha, mavzu va imkoniyatlarini o‘qitish masalasi ham ochiq turibdi. Oltinchidan, Paskal, Delphi, C++ dasturlash tillarining barcha tuzilmalarini ingliz tilida ekanligi ham jiddiy muammo hisoblanadi. Afsuski, ko‘plab talabalarimizning chet tillari (ayniqsa, ingliz tili) bo‘yicha bilimlari ilmiy, o‘quv va uslubiy adabiyotlarni o‘qib, tahlil qila oladigan darajada emas. Yettinchidan, ta’lim muassasalarining bitiruvchilarining tayyorgarlik darajasi bilan dasturlash tillarini o‘qitish sohasidagi zamonaviy talablar o‘rtasidagi nomutanosiblik yuzaga kelmoqda.
Paskal, Delphi, C++ dasturlash tillarini o‘qitish uslubiyotini ishlab chiqish orqali bu savollarga javob topish mumkin bo‘ladi.
Tahlillar ta’lim muassasalarida dasturlash tillarining bir necha yildan beri o‘qitib kelinishiga qaramay, bu sohada yetarli darajada ilmiy-tadqiqot ishlari olib borilmaganini ko‘rsatdi.
Yuqoridagi ma’lumotlardan ko‘rinib turibdiki, umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarning o‘quvchi va talabalarda yangi dasturlash texnologiyalari bo‘yicha bilim va malakalarini shakllantirish, rivojlantirish, dasturlash tillarini o‘qitishda sohasida yuzaga kelishi mumkin
bo‘lgan muammolarni bartaraf etish, bu fanlarni o‘qitish uslubiyotini tahlil qilish va takomillashtirish ta’lim muassasalarida eng dolzarb masalalalardan biri hisoblanadi.
Tadqiqotning ilmiy yangiligi:Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitishda talabalar qiyin o‘zlashtiradigan tushuncha va mavzulari aniqlandi, ularni o‘qitishning samarali uslubiyoti ishlab chiqildi;
Paskal, Delphi, C++ dasturlash tillari uchun yagona tizimga asoslangan elektron darslik yaratildi;
Paskal, Delphi, C++ dasturlash tillari o‘qitish bo‘yicha ishlab chiqilgan tavsiyalar dissertatsiya farazlari yordamida asoslab berildi.
Tadqiqot maqsad va vazifasi. Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda o‘qitish uslubiyotini ishlab chiqish, o‘qitish samarasini oshirish uchun vazifalarni belgilash, umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitish uchun zarur o‘quv-uslubiy va didaktik materiallarni tayyorlash, talabalar qiyin o‘zlashtiradigan mavzularni aniqlash va ularni o‘qitish uslubiyotini ishlab chiqish.
Tadqiqot ob’ekti va predmeti: Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++dasturlash tillarini o‘qitish usullarini o‘rganish.
Tadqiqot uslubiyati va uslublari: O‘quv jarayonining virtual modellarini tadqiq qilish metodlari. Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha dasturiy ta’minot yaratish metodlari.
Tadqiqot natijalarining ilmiy jihatdan yangiligi:Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitishda talabalar qiyin o‘zlashtiradigan tushuncha va mavzulari aniqlandi, ularni o‘qitishning samarali uslubiyoti ishlab chiqildi;
Paskal, Delphi, C++ dasturlash tillari uchun yagona tizimga asoslangan
elektron darslik yaratildi;
Paskal, Delphi, C++ dasturlash tillari o‘qitish bo‘yicha ishlab chiqilgan tavsiyalar dissertatsiya farazlari yordamida asoslab berildi.
Dissertatsiyada umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda dasturlash texnologiyalarini o‘qitish samaradorligini oshirish bo‘yicha quyidagi ishlar amalga oshirildi:
Paskal, Delphi, C++ dasturlash tillari o‘qitish uchun elektron darslik;
Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitish uslubiyoti.
Tadqiqotning amaliy ahamiyati quyidagi hollarda namoyon bo‘ladi:
dissertatsiya mavzusi doirasidagi barcha masalalarda;
Paskal, Delphi, C++ dasturlash tillari bo‘yicha nazariy va amaliy mashg‘ulotlar tashkil qilishda;
bo‘lajak dasturchi, o‘qituvchi va ilmiy xodimlarni tayyorlash va ularning bilim-darajalariga qo‘yiladigan talablarni ishlab chiqishda;
namunali va ishchi rejalarni mukammallashtirishda;
mustaqil mashg‘ulotlarda, bitiruv malakaviy va kurs ishlarini rejalashtirishda;
talabalar ilmiy-uslubiy ishlarini tashkil qilishda;
o‘qituvchilar malakasini oshirish kurslarida.
Dissertatsiya natijalaridan mavzu doirasidagi keyingi ilmiy-uslubiy tekshirish ishlarida ham foydalanish mumkin.
Ish tuzilishi va tarkibi: Dissertatsiya ishi kirish, 3 ta bob, xulosa, 41 ta nomdagi foydalanilgan adabiyotlar ro‘yxati va ilovadan tashkil topgan. Umumiy hajmi 98 bet.
Bajarilgan ishning asosiy natijalari:Umumta’lim maktablari, akademik litsey va kasb-hunar kollejlari uchun dasturlash tillariniu o‘qitish bo‘yicha tavsiyalar berib o‘tilgan;
Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha dars ishlanmalari ko‘rsatib o‘tilgan;
Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha multimediyali elektron darslik yaratildi.
Xulosa va takliflar: Mazkur magistrlik dissertatsiyasida Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha tavsiyalar hamda ularni yaratishning didaktik asoslari bo‘yicha taklif va xulosalar berilgan. Ushbu dissertatsiyadagi ma’lumotlardan ishda tavsiya etilgan dars ishlanmalari hamda multimediyali elektron darslikdan umuta’lim maktablari, akademik litsyelarda va kasb-hunar kollejlarnida dasturlash tillarini o‘qitishda foydalanilsa maqsadga muvofiq bo‘lar edi.
(Imzo)
(Imzo)
The Ministry of Public Education of the Republic of Uzbekistan Navoi state pedagogical instituteThe student of Master’s degree: Navruzov Bakhtiyor Ikhtiyorovich
The chair: Informatics teaching methodology Scientific advisor: c. ph-m.s. Yadgarov G.R Academic year: 2015-16
Specialty: 5A110701 – “Information technologies in education”
ANNOTATION TO THE DISSERTATION OF MASTER’S DEGREEOn the theme: “The methodology of teaching programming
technologies”
The languages of programming never stops developing where there is civilization and progress. Today the form of rendering information, its structure and working factors are entirely different from the previous and new languages of programing with more opportunities are appearing. As a result, problems with teaching programing languages are arising. First of all, the subjects “Informatics”, Theory of programming”, “Informatics teaching methodology” are not managing to enroll the changes rapidly as expansion of computer opportunities in the field of information technology, new operational systems and programming languages, information recycling process and network operations.
As a result the undergraduates of the higher institutions do not meet the requirements of modern society as they do not know modern demands on teaching programing languages.
Above mentioned information proves that it is one of the actual problems to work out teaching methods of Paskal, Delphi and C++ , developing skills and habits of the pupils and students of secondary schools, academic lyceums and vocational colleges on new programing technologies. Moreover, dealing with the problems appeared in teaching programing languages, analyzing teaching methodology of these languages at educational establishments are crucial problems of the time.
Novelty of the work:the concepts and themes which are difficult for the pupils of secondary schools, students of academic lyceum and vocational colleges are inquired and effective ways of teaching them are worked out.
Electron textbook based on unique system for programing language for Paskal, Delphi, C++ is prepared;
Conclusion: hereby dissertation gives recommendations and instruction about teaching programming languages as Pascal, Delphi, C++ , and suggestions and summaries of creating didactic bases are given in the work. The lesson plans suggested in the work and electron textbook with multimedia can be implied at the secondary schools, academic lyceums, and vocational colleges in teaching programming languages.
MUNDARIJA:
KIRISH 10
BOB. DASTURLASH TEXNOLOGIYALARI 17
Dasturlash texnologiyalari: tarixi, muammolari va yechimlari 17
Dasturlash tillari tarixi 18
Dasturlash texnologiyasi 22
Ob’ektga yo‘naltirilgan dasturlash texnologiyalari 25
I. 2. ALGORITMIK TIL ELEMENTLARI 29
Algoritm tushunchasi 29
Ob’ektli algoritm 32
Birinchi bob bo‘yicha xulosa 34
BOB. DASTURLASH TILLARINING IMKONIYATLARI 35
Paskal dasturlash tilining imkoniyatlari 35
Delphi dasturlash tilining imkoniyatlari 36
C++ dasturlash tilining imkoniyatlari 39
Dasturlash tillarining qiyosiy tahlili 40
Ikkinchi bob obo‘yicha xulosa 44
BOB. DASTURLASH TEXNOLOGIYASINI O‘QITISH USLUBIYOTI 45
Umumta’lim maktablarida paskal dasturlash tilini o‘rgatish metodikasi 45
Akademik litsey va kasb –hunar kollejlarida Delphi va C++ dasturlash tilini o‘rgatish metodikasi 52
Delphi dasturlash tilini o‘qitish bo‘yicha ta’lim texnologiyalaridan foydalanish 52
Standard komponentalar palitrasi 54
C++ dasturlash tilini o‘qitish bo‘yicha ta’lim texnologiyalaridan foydalanish 75
Dasturlash tillarini o‘qitishda multimediya texnologiyalaridan foydalanish. 79
III 4. Dasturlash tillari fanidan multimediali elektron ta’lim resurslarini yaratish 88
Uchunchi bob bo‘yicha xulosa 89
Umumiy xulosa 90
FOYDALANILGAN ADABIYOTLAR RO‘YXATI 91
ILOVALAR 95
KIRISH
O‘zbekistonda ta’lim-tarbiya sohasini isloh qilishning asosiy omillaridan biri bu jarayonlarga zamonaviy axborot va kommunikatsiya texnologiyalarini joriy etish bilan bog‘liq bo‘lib, Respublikamiz Prezidenti I.A.Karimov bu masalada “… bugun hayotimizga chuqur kirib borayotgan Internet tizimini keng joriy etish, yoshlarimizni O‘zbekistonning qadimiy va boy tarixi, ezgu qadriyatlarimiz, yuksak axloqiy fazilatlar ruhida tarbiyalashga xizmat qiladigan milliy axborot resurslarini shakllantirish va rivojlantirish, bu borada o‘zbek tilining imkoniyatlaridan samarali foydalanish masalasi doimo e’tiborimiz markazida turishi lozim”ligini ta’kidlaydi[1].
Bunday vazifalarni amalga oshirish kadrlar tayyorlash milliy modelini amalga oshirishning bosqichlarida belgilab berilgan bo‘lib, uning kelajakdagi istiqboli Prezidentimiz tomonidan ilmiy asoslab berildi. Modelni amaliyotga tatbiq etish o‘quv jarayonini texnologiyalashtirish bilan uzviy bog‘liqdir. Ilmiy texnikaviy taraqqiyot ishlab chiqarishning ko‘p sonli tarmoqlari bilan bir qatorda ta’lim sohasiga ham zamonaviy axborot texnologiyalarini joriy etishni taqozo etmoqda. Shu boisdan, Kadrlar tayyorlash milliy dasturida “o‘quv-tarbiyaviy jarayonni ilg‘or pedagogik va axborot texnologiyalari bilan ta’minlash“ zaruriyati e’tirof etildi, uning ikkinchi va uchinchi bosqichlarida bajariladigan jiddiy vazifalardan biri sifatida belgilandi[2].
Tadqiqot mavzusining dolzarbligi: Xo‘jalik yuritishning barcha sohalariga borgan sari chuqurroq kirib borayotgan kompyuterlar bugungi kunda axborotlarni yig‘ish va qayta ishlashda insonlarning beminnat yordamchisi va eng qulay vositasiga aylanib bormoqda. Hal qilish mumkin bo‘lgan ko‘plab masalalar uchun kompyuter texnologiyalarining ishlab chiqilishi ulardan foydalanuvchilar sonining ortishiga sabab bo‘lmoqda.
Kompyuter va axborot texnologiyalari o‘z foydalanuvchilaridan muloqot uchun ma’lum bir darajadagi maxsus tayyorgarlikni talab qiladi. Bu tayyorgarlikning qay darajada mukammal bo‘lishi muloqotning sifat darajasini belgilaydi. Mazkur muammoni hal qilish esa, boshlang‘ich, o‘rta maxsus va oliy
ta’lim tizimidagi informatika fani va uni o‘qitish uslubiyoti oldida turgan eng dolzarb masalalardan biriga aylanib ulgurdi.
yil avval asosiy vazifasi faqat dasturlash asoslaridan iborat bo‘lgan informatika fani bugungi kunda dasturlash tillari, axborot texnologiyalari, tarmoq texnologiyalari, o‘qitish texnologiyalari va boshqa bir qator mustaqil fanlarga ajralib ketdi. Bu fanlarning hammasi mantiqiy jihatdan bir-biri bilan chambarchas bog‘langan bo‘lishiga qaramay, muayyan sohani o‘rganish uchun mo‘ljallangan.
Kompyuter yordamida hal qilinadigan har qanday masala uchun maxsus dastur ishlab chiqish talab qilinadi. Kompyuter yordamida yechimini kutayotgan masalalar uchun “eski” dasturlash vositalari yordamida dasturlar ishlab chiqish iqtisodiy jihatdan o‘zini qoplamasligi hamda dastur ishlab chiqish jarayonining murakkabligi yangi dasturlash tillariga bo‘lgan ehtiyojni yuzaga keltiradi. Bu masala tajribali dasturchilar yoki dasturchi guruhlar tomonidan hal qilinadi. Ana shunday dasturchilarni tarbiyalab, voyaga yetkazish, ularni kelajakdagi kasbiy faoliyatlarida ehtiyojiga qarab foydalanishi uchun zarur ma’lumotlarni (dasturlash asoslari, tillari, axborot texnologiyalari va h.k.) o‘rgatishdek jarayonni samarali tashkil etish o‘quv yurtlaridagi dasturlash asoslari fani o‘qituvchilarining eng asosiy vazifasi hisoblandi.
Ilm-fan rivojlanar ekan, biz bugun XXI- asrda yashayotgan ekanmiz, dasturlash tillari rivojlanishdan to‘xtamaydi. Demak, bugungi kunda ma’lumotlarni ifodalash shakli, tuzilmasi va ishlash tamoyillari avvalgilaridan butunlay farq qilib boraveradi, imkoniyatlari juda ham boy bo‘lgan yangi dasturlash tillari shakllandi va avvalgilariga nisbatan bir qator afzalliklarga ega bo‘lgan yangi versiyalar hisobiga rivojlanib boraveradi. Anashunday ekan buning evaziga, dasturlash tillarini o‘qitishda bir qator muammolar yuzaga keladi va uni biz o‘z talqinimiz bo‘yicha ta’kidlab o‘tishni lozim bildik. Birinchidan, “Informatika”, “Dasturlash asoslari”, “Informatika o‘qitish uslubiyoti” fanlari axborot texnologiyalari sohasida ro‘y berayotgan kompyuter imkoniyatlarining kengayishi, yangi operatsion tizimlar va dasturlash tillari, axborotlarni qayta ishlash jarayonlari, tarmoqlar bilan ishlash kabi dasturiy ta’minotdagi o‘zgarishlar tezkorlik bilan qayd qilib
ulgurmayapti. Bugun o‘quvchi uchun to bir tilni tanlash, uni o‘qitish uchun tayanch tushunchalari va mazmunini belgilash, o‘quv-uslubiy qo‘llanmalarni yaratish, o‘qitish uslubiyotini ishlab chiqish va amaliyotga tadbiq qilinguncha o‘tadigan davrda bu tilning yangi versiyalari yoki imkoniyatlari undan boy bo‘lgan yangi dasturlash tillari ishlab chiqilmoqda. Ikkinchidan, informatika fani o‘qituvchilari o‘rtasida o‘qitish uchun dasturlash tillarini tanlash va ularni o‘qitishda yuqori samara beruvchi yo‘l-yo‘riqlarni aniqlash muammolariga hammani qanoatlantiruvchi javob topilganicha yo‘q. Bu yo‘lda yangi dasturlash tillari yaratilgandan so‘ng, albatta, “eskilarini” o‘qitish ahamiyatining bo‘lmasligi asosiy to‘siq hisoblanadi. Uchinchidan, informatika fanini o‘qitish paradigmalari o‘zgarib bormoqda. Bundan 20-30 yil avval kompyuter savodxonligi tushunchasi asosini faqat dasturlash tillari tashkil qilgan bo‘lsa, endilikda informatikaning umummadaniy va kasbiy-amaliy tomonlari muhim ahamiyat kasb etmoqda. Bu esa o‘z navbatida ta’lim muassaslarida dasturlash texnologiyalarini o‘qitish masalasini qayta ko‘rib chiqishni va uni doimo boyitib borishni talab etadi. To‘rtinchidan, an’anaviy dasturlash tillarini o‘qitishda asosiy e’tibor strukturali algoritm asosida dastur ishlab chiqishga qaratilgan bo‘lsa, ta’lim muassasalarida “eski” dasturlash tillarida mavjud bo‘lmagan ob’ekt, klass kabi tushunchalar hamda ob’ektli dasturlashning asosiy konsepsiyalari bo‘lgan polimorfizm, vorislik va inkapsulyatsiyalarni o‘qitish birinchi o‘rinda turadi. Beshinchidan, tanlab olingan olingan dasturlash tillarini (masalan, Paskal, Delphi, C++) nihoyatda katta imkoniyatlarga ega va deyarli barcha zamonaviy axborot texnologiyalari bilan ishlay olgani uchun, uning qaysi tushuncha, mavzu va imkoniyatlarini o‘qitish masalasi ham ochiq turibdi. Oltinchidan, Paskal, Delphi, C++ dasturlash tillarining barcha tuzilmalarini ingliz tilida ekanligi ham jiddiy muammo hisoblanadi. Afsuski, ko‘plab talabalarimizning chet tillari (ayniqsa, ingliz tili) bo‘yicha bilimlari ilmiy, o‘quv va uslubiy adabiyotlarni o‘qib, tahlil qila oladigan darajada emas, lekin bu muammo bir necha yillardan keyin o‘z yechimini topadi. Yettinchidan, ta’lim muassasalarining bitiruvchilarining tayyorgarlik darajasi bilan dasturlash tillarini o‘qitish sohasidagi zamonaviy talablar o‘rtasidagi
nomutanosiblik yuzaga kelmoqda.
Paskal, Delphi, C++ dasturlash tillarini o‘qitish uslubiyotini ishlab chiqish orqali bu savollarga javob topish mumkin bo‘ladi.
Tahlillar ta’lim muassasalarida dasturlash tillarining bir necha yildan beri o‘qitib kelinishiga qaramay, bu sohada yetarli darajada ilmiy-tadqiqot ishlari olib borilmaganini ko‘rsatdi.
Yuqoridagi ma’lumotlardan ko‘rinib turibdiki, umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarnig o‘quvchi va talabalarda yangi dasturlash texnologiyalari bo‘yicha bilim va malakalarini shakllantirish, rivojlantirish, dasturlash tillarini o‘qitishda sohasida yuzaga kelishi mumkin bo‘lgan muammolarni bartaraf etish, bu fanlarni o‘qitish uslubiyotini tahlil qilish va takomillashtirish ta’lim muassasalarida eng dolzarb masalalalardan biri hisoblanadi.
Ta’lim muassasalarida o‘quvchi va talabalarga dasturlash tillari va asoslari uzoq yillardan beri o‘qitilishiga qaramay, u yoki bu dasturlash tillarinii o‘qitish uslubiyoti deyarli o‘rganilmagan. Bizning dissertatsiyamiz mavzusiga ma’lum bir darajada aloqador bo‘lgan va tugallangan ilmiy-tadqiqot ishlari mavjud emas.
Respublikamizda informatika, axborot texnologiyalari va dasturlash asoslarini o‘rganish uchun mo‘ljallangan A.A.Abduqodirov, M.M.Aripov, U.E.Adamboyev, R.Boqiyev, F.M.Zakirova, M.H.Lutfullayev, SH.A.Nazirov, SH.F.Madraximov, A.Toyloqov, U.Yu.Yuldashev va boshqalarning o‘quv-uslubiy ishlarini ta’kidlab o‘tish mumkin. Ammo ularda ham umumta’lim maktablari, akademik litsye va kasb-hunar kollejlari dasturlash tillarini o‘qitish uslubiyotiga e’tibor kam qaratilgan.
Dissertatsiyamiz mavzusiga qisman aloqador bo‘lgan bir qator ishlar Rossiyada ham qayd qilingan. B.V.Sobol, M.P.Lapchik, A.V.Mogilyov, S.V.Simonovich kabi olimlar tomonidan talabalarni informatika va dasturlash fanini o‘qitish uchun zarur bo‘lgan bir qator o‘quv va uslubiy adabiyotlar yaratilgan. Ularning barchasida umumta’lim maktablari, akademik litsey va kasb hunar kollejlari uchun keltirilgan ma’lumotlar bitta yaxlit tizimga solinmagan
hamda qisqa ma’nosida bayon qilingan va malakali mutaxassislarni tayyorlash uchun yetarli emas.
Informatika va dasturlashni o‘qitish sohasida N.Virtning ma’ruzasi alohida diqqatga sazovor. Unda zamonaviy informatika fanini o‘qitishda yuzaga kelayotgan muammolar, ayniqsa, qaysi tilni va qanday o‘qitish lozimligi birinchi o‘ringa olib chiqilgan. Muallif dasturlash asoslarini o‘qitish uchun darslik loyihasini taklif qiladi. Uning ta’kidlashicha, dasturlash asoslarini to‘la yorituvchi bunday darslik hozircha yaratilgani yo‘q va bunday darslik yaratishning iloji ham yo‘q. Chunki, to darslik yaratilib, ta’lim tizimiga joriy qilinguncha, raqobatchilar bilan kurashda orqada qolmaslik uchun dasturiy vositalarni ishlab chiquvchi kompaniyalar yangi dasturlash texnologiyalarini yaratib ulguryaptilar.
Hozircha O‘zbekistonda ta’lim muassasalariga bag‘ishlangan va tugallangan ilmiy-tadqiqot ishlari yo‘q. Tahlillar bunday ishlarning chet ellarda ham unchalik ko‘p emasligini ko‘rsatdi. O‘rta maktabda dasturlash tilini o‘qitish masalasida A.YU.Petrova differensial yondashuvni, ya’ni axborot va dasturlash texnologiyalarini umumlashtirib o‘qitish taklif qiladi. Bizning fikrimizcha, bu holda maktab informatikasi uchun ajratilgan o‘quv soatlarining kamligi tufayli o‘quvchilarga Paskal dasturlash tilini chuqur o‘rgatishning iloji yo‘q.
Ushbu magistrlik dissertatsiyasida Oliy o‘quv yurtlarida “Informatika” va “Dasturlash asoslari” fanlarini o‘qitishda uchraydigan va yuqorida tilga olingan ayrim kamchiliklarni bartaraf etish yo‘l-yo‘riqlari ishlab chiqildi.
Tadqiqotning ilmiy yangiligi:Paskal, Delphi, C++ dasturlash tillarini o‘qitish uchun taksonomiyalar ishlab chiqildi;
Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitishda talabalar qiyin o‘zlashtiradigan tushuncha va mavzulari aniqlandi, ularni o‘qitishning samarali uslubiyoti ishlab chiqildi;
Paskal, Delphi, C++ dasturlash tillari uchun yagona tizimga asoslangan elektron darslik yaratildi;
Paskal, Delphi, C++ dasturlash tillari o‘qitish bo‘yicha ishlab chiqilgan tavsiyalar dissertatsiya farazlari yordamida asoslab berildi.
Tadqiqot ob’yekti: Umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++dasturlash tillarini o‘qitish uslubiyoti.
Tadqiqot predmeti: Paskal, Delphi, C++ dasturlash tillarini o‘qitish usullarini o‘rganish.
Tadqiqotning metodologik asosini O‘zbekiston Respublikasining Kadrlar tayyorlash milliy dasturi, “Tahlim to‘g‘risida”gi Qonuni, O‘zbekiston Respublikasi Prezidentining 2002 yil 30 maydagi “Kompyuterlashtirishni yanada rivojlantirish va axborot-kommunikatsiya texnologiyalarini joriy etish to‘g‘risida”gi Farmoni, Vazirlar Mahkamasining kompyuterlashtirish va axborot-kommunikatsiya texnologiyalarini rivojlantirish to‘g‘risidagi qarorlari hamda vazirliklarning axborot texnologiyalarini o‘quv jarayonida foydalanish samaradorligini oshirishga qaratilgan buyruqlari tashkil etadi. Shuningdek, ushbu tizimdan amalda foydalanishdagi natijalarga oid internet yangiliklaridan foydalanildi.
Tadqiqot metodlari. Muammoga oid ilmiy, uslubiy, pedagogik - psixologik adabiyotlar tahlili; pedagogik kuzatish; test sinovlari; Paskal, Delphi, C++ dasturlash tillarini o‘qitishda foydalanish uchun ishlab chiqilgan manbalarni hamda elektron darslikni tajribadan o‘tkazish; pedagogik tajriba-sinov ishlarida olingan natijalarining matematik-statistik tahlil qilish.
Tadqiqotning nazariy ahamiyati. Akademik litseylar, kasb-hunar kollejlari hamda umumta’lim maktablarini qamragan holda o‘quv rejasida ko‘zda tutilgan fanlar doirasida o‘qitishni multimediali ta’lim beradigan taqdimotlar yordamida tashkil qilish, yanga darajadagi ta’lim shaklini shakllantirishga qaratilgan. Ilgari surilgan xulosalardan talabalar, soha mutaxassislari foydalanishlari mumkin.
Dissertatsiyada umumta’lim maktablari, kasb-hunar kollejlari va akademik litseylarda dasturlash texnologiyalarini o‘qitish samaradorligini oshirish bo‘yicha quyidagi ishlar amalga oshirildi:
Paskal, Delphi, C++ dasturlash tillari o‘qitish uchun elektron darslik;
Umumta’lim maktablari, Kasb-hunar kollejlari va akademik litseylarda Paskal, Delphi, C++ dasturlash tillarini o‘qitish uslubiyoti.
Tadqiqotning amaliy ahamiyati quyidagi xollarda namoyon bo‘ladi:
dissertatsiya mavzusi doirasidagi barcha masalalarda;
Paskal, Delphi, C++ dasturlash tillari bo‘yicha nazariy va amaliy mashg‘ulotlar tashkil qilishda;
bo‘lajak dasturchi, o‘qituvchi va ilmiy xodimlarni tayyorlash va ularning bilim darajalariga qo‘yiladigan talablarni ishlab chiqishda;
namunali va ishchi rejalarni mukammallashtirishda;
mustaqil mashg‘ulotlarda, bitiruv malakaviy va kurs ishlarini rejalashtirishda;
talabalar ilmiy-uslubiy ishlarini tashkil kilishda;
o‘qituvchilar malakasini oshirish kurslarida.
Dissertatsiya natijalaridan mavzu doirasidagi keyingi ilmiy-uslubiy tekshirish ishlarida ham foydalanish mumkin.
Magistrlik dissertatsiyasining tuzilishi:Dissertatsiyaning umumiy hajmi 98 bet bo‘lib, u kirish, uchta bob, xulosa, foydalanilgan adabiyotlar ro‘yxati va 7 ta ilovadan iborat.
I-BOB. DASTURLASH TEXNOLOGIYALARIApparat vositalari sohasida ma’lumotlarga ishlov berish va ularni qayta ishlah so‘nggi yillarda konstruktsiyada va texnologiyada jiddiy muvaffaqqiyat qozondi. Har ikki-besh yilda yangilanadigan kompyuterlarning yanada samaraliroq avlodlari buning natijasidir. Dasturiy ta’minot sohasi o‘tmishda mahsulotning hayotiy sikli bilan 10 yil atrofida ishlardi.
Amaliy dasturiy ta’minot sohasidagi mahsulotning ancha uzoq hayotiy sikli shunga asoslanadiki, professional talablar apparat vositalarining texnik imkoniyatlari singari tez o‘zgarmaydi.
Apparat vositalarining o‘zgarishi, shuningdek yangi kompilyatorlar (Compiler) va operatsion tizimlar paydo bo‘lishi sababli dasturiy ta’minot xizmat muddati davomida o‘zgartirishlarning katta miqdori zarur bo‘lib qoladi. Ma’lum darajada ular “yuqoridan pastga” qoidasi ishlamaydi, chunki yangi muhit eski dasturlarga xizmat ko‘rsata olmaydi va eski turdagi kompilyatorlar komandasini uzoqroq tutib turmaydi. Bundan tashqari mazkur yangi vositalar eski dasturlashni osonlashtiradigan yangi vositalarning katta miqdoriga ega.
Keyingi sabab shuki, kompilyatorlarning dolzarb versiyasi apparat vositalari yangi platformasidagi ortiq ishlashga qodir emas (ya’ni funktsional bo‘lmay qoladi) va ularni tegishlisi bilan almashtirishga tayyorgarlik ko‘rish lozim. Bu asosda o‘zgarishlarning natijasi shuki, ko‘p hollarda iloji boricha ko‘proq dasturlarni tez o‘zgartira olish uchun ularni notartib deb atalgan o‘zgartirishlar natijasidir. Etarli darajada hujjatlashtirishni o‘zgartirishni amalga oshirmaslik dasturlarni tushunib bo‘lmaydigan qiladi.
Bundan tashqari, ko‘pincha shunday ham bo‘ladiki, xodim (mutaxasis) tashkilotni tark etadi, dasturlarda xatolar bo‘lib, hujjatlar to‘liq bo‘lmasa va shunday qilib bu dasturdagi Nou-Hau yo‘qotiladi. Shuning uchun ayrim tashkilotlar “So‘nggi chora”ni yangi tizimni qo‘lga kiritishda ko‘radi [13].
Shu bilan birga tan olishmaydiki yangi standart dasturiy ta’minotni rejalashtirish va kiritishning o‘zi ko‘pincha juda uzoq davom etadi va o‘z kuchlari
bilan ishlab chiqilgan va yana kutish kerak bo‘ladigan bir qator to‘ldirishlar bilan tugaydi. Mana shu sabablarga ko‘ra sanoati industrallashgan mamlakatlarda eski odatlarni yengib o‘tish yoki texnik xizmat ko‘rsatish tarmog‘i bo‘yicha dasturiy ta’minot sohasida mashg‘ul bo‘lgan barcha xodimlarning 50 dan 80 foizigina mehnat qiladi. Qolgan 20-50 foiz xodim tizimli va amaliy dasturiy ta’minotni ishlab chiqish va uni kelgusida rivojlantirish bilan shug‘ullanadi.
O‘zbekistonda sobiq sovet davridan qolgan zamonaviy dasturiy ta’minot bilan baravar qo‘llaniladigan va albatta, dasturiy ta’minot bilan soddalashtirilmagan bir qator o‘ziga xos dasturiy ta’minot mavjudki, mamlakatda umuman olganda bu o‘ziga xos xususiyat bilan qiyoslasa bo‘ladigan vaziyat hukmronligini ifoda etadi. Bu yerda dasturchilar uchun dasturiy ta’minot xizmatini ko‘rsatish, uni bundan keyin rivojlantirish (takomillashtirish) bo‘yicha, zarurat tug‘ilganda esa mamlakatning iqtisodiy va ma’muriy jarayonlari uchun zarur bo‘lgan yangi dasturiy ta’minotni ishlab chiqish bo‘yicha faoliyatning keng maydoni mavjud.
Keyingi mulohozalar eng avvalo, dasturiy ta’minotning turlari va ularning vazifalari haqidagi tasavvurlar dasturlar yoki butun bir amaliy tizimlarni loyihalash, amalga oshirish va xizmat ko‘rsatishdagi harakat usullari va chizmalari bilan birga beriladi.
XX asrning 80 - yillaridan oldin ishlab chiqilgan kompyuterlar uchun katta dasturiy sistemalarni ishlab chiqish juda ham mushkul vazifa edi. Buning eng katta sababi shu davrga xos bo‘lgan kompyuterlarning imoniyatlarining chegaralanganidadir. Dasturiy komplekslarni ishlab chiqishda asosiy cheklanishlar kompyuter tezkor xotirasining sig‘imi, ma’lumotlarni ikkilamchi xotira qurilmalaridan (magnit lentalar, barabanlar va h.k.) o‘qish tezligi, protsessorning ishlash tezligi (ularning takt chastotalari bir necha yuz mikrosekund bo‘lgan) bilan bog‘liq. Bu davrdagi kompyuterlar xalq ho‘jaligining hisob-kitob bilan bog‘liq
bo‘lgan masalalarini yechish uchun mo‘ljallangan edi. Kompyuterlarda boshqa xarakterdagi masalalarning yechishning iloji yo‘q edi. Dasturchilar uchun shu kompyuterlarda yechilayotgan masala uchun berilgan ma’lumotlarni hisobga olgan holda masalaning yechish algoritmini ishlab chiqish birinchi o‘rindagi vazifa hisoblangan. Bu borada N. Virtning mashhur ma’lumotlar+algoritm=dastur[37] formulasini yodga olish yetarli.
1980 yillardan keyin ishlab chiqilgan kompyuterlarning imkoniyatlari kengayib, ishlab chiqarish narxi keskin pasaygani tufayli ulardan foydalanish samarasi ortib bordi. Natijada, dastlab matn va grafiklar uchun muharrirlari ishlab chiqildi, keyinchalik multimedia qurilmasi yordamida tovushli ma’lumotlarni qayta ishlash imkoniyatlari ham paydo bo‘ldi. Kompyuter tasviriy imkoniyatlarining kengayishi foydalanuvchilar uchun qulay bo‘lgan grafik muloqot interfeysini yaratilishiga sabab bo‘ldi. Natijada yuqori murakkablikdagi katta amaliy dasturlarni yaratish foydali hamda zarur bo‘lib qoldi. Dasturiy vositalarni ishlab chiqish uchun qurol sifatida yuqori bosqichli algoritmik tillardan foydalanildi. Bu dasturiy vositalar dasturchi va dasturchilar guruhi imkoniyatlarini kengaytirib, dasturiy mahsulotlarning murakkablik darajasining ortishiga ham sabab bo‘ldi.
XX asrning 70-80 yillarda dasturiy mahsulotlarning murakkablik darajasini hal qilish uchun ko‘plab metodlar ishlab chiqildi. Ularning ichida yuqoridan pastga usulidagi strukturali dasturlash keng tarqaldi. Bu usul yuqori bosqichli FORTRAN va COBOL tillarining topologiyasiga asoslangan edi. Bu tillarda asosiy bazaviy birlik bo‘lib qism dastur xizmat qiladi. Dastur shakli jihatidan daraxtni eslatib, bitta qism dastur boshqasiga murojaat qilar edi. Strukturali dasturlashda aynan shunday yondoshuvdan foydalaniladi: algoritmik dekompozitsiya katta masalalarni kichik masalachalarga bo‘lish uchun qo‘llanadi.
XX asrning 60-70 yillarida xalq xo‘jaligining ko‘plab masalalarini kompyuter yordamida yechish uchun BASIC, PASKAL, FORTRAN kabi dasturlash tillari, DBASE. CLIPPER, FOXBASE, KARAT kabi ma’lumotlar bazasini boshqaruv tizimlari yetarli bo‘lgan. Bu til va tizimlar asosan IBM*86
tipidagi kompyuterlarga mo‘ljallangan bo‘lib, ularning asosiy kamchiliklari shu davrga hos bo‘lgan kompyuterlarning imkoniyatlari bilan bog‘liq edi[42]:
foydalanuvchi uchun qulay bo‘lgan grafik interfeys yaratish imkoniyatining yo‘qligi yoki juda ham katta mehnat talab qilishi;
bitta dasturda foydalanish mumkin bo‘lgan o‘zgaruvchilar sonining chegaralanganligi;
dasturda foydalnish mumkin bo‘lgan sonli ma’lumotlar dipazonining chegaralanganligi;
kiritilayotgan va chiqarilayotgan ma’lumotlarni nazorat qilish;
buyruqlar tizimining «kambag‘alligi»;
grafiklar bilan ishlash imkoniyatining chegaralanganligi;
tovushli ma’lumotlarni qayta ishlashdagi kamchiliklari;
ma’lumotlar bazasi va fayllar bilan ishlashdagi imkoniyatlarning chegaralanganligi;
yangi tipdagi ma’lumotlar faqat shartli ravishda yaratish mumkin mumkinligi va h.k[21].
Keyingi yillarda strukturali dasturlashning o‘ndan ortiq usullari ishlab chiqildi. Bu usullarning ko‘pchiligi bitta mavzuning turli ko‘rinishlaridan iborat bo‘ldi. Ammo, Sommervil ularni uchta guruhga bo‘lishni taklif qildi:
yuqoridan quyiga qarab strukturali loyihalash usuli;
ma’lumotlar oqimini tashkil qilish usuli;
ob’ektga yo‘naltirilgan loyihalash.
Strukturali loyihalash usuliga namunalar Yordan va Konstantin keltirilgan. Asosiy g‘oyalar esa Virtning ko‘plab ilmiy ishlarida ochib berilgan. Bu asarlarda strukturali dasturlashga nisbatan bo‘lgan har bir yondoshuvda algoritmik dekompozitsiya ishtirok etadi. Yozilgan dasturlarning kattagina qismining asosini strukturali dasturlash prinsipi tashkil qiladi. Strukturali dasturlash abstraksiyalarni ajratishga imkon bermaydi, ma’lumotlarni samarali himoya qilishni ta’minlamaydi, parallelizmni tashkil qilish uchun yetarlicha vositalarni taklif qila olmaydi. Strukturali dasturlash murakkab sistemalarni ishlab chiqishga imkon
bermaydi, ob’ektga yo‘naltirilgan dasturlashda samara bermaydi.
Ma’lumotlar oqimini tashkil qilish usuli Djekson hamda Orrlarning ishlarida keng yoritilgan. Bu usulda dasturiy sistemaning strukturasi xuddi kiruvchi ma’lumotlarni chiquvchi ma’lumotlar qimiga almashtirish tashkil qilish kabi quriladi. Ma’lumotlar oqimini tashkil qilish usuli ham strukturali dasturlash usuli kabi bir qator murakkab masalalarda, hususan axborot ta’minot sistemalarida qo‘llanilgan. Bu masalalarda kiritilyotgan va chiqarilayotgan ma’lumotlar o‘rtasida bevosita bog‘liqlik mavjud hamda dasturlarning bajarish tezligiga katta e’tibor berilmaydi.
1980-yillarga kelib, imkoniyatlari yanada katta bo‘lgan kompyuterlar ishlab chiqildi. Strukturali dasturlashning ahamiyati esa o‘zgarmadi. Ammo Stayn[36] shuni ta’kidlaydiki «dasturning hajmi 100 000 satrdan o‘tganidan keyin strukturali dasturlash mexanizmi ishlamay qolar ekan». Demak, katta dasturiy sistemalarni ishlab chiqishda strukturali dasturlash mexanizmi ham o‘z ahamiyatini yo‘qotadi. Shu munosabat bilan dasturiy ta’minotda ob’ektga yo‘naltirilgan dasturlash texnologiyalariga o‘tish taklif qilindi.
Ob’ektga yo‘naltirilgan dasturlash atamasi dastlab 1960-yillarning o‘rtalarida, Simula-67 dasturlash tilida paydo bo‘lgan. Ammo, bu til FORTRAN, ALGOL, PL1 kabi tillarga nisbatan o‘zining imkoniyatlari past bo‘lganligi hamda shu davrda yechish talab qilingan masalalar uchun yetarli vositalarni taklif qila olmagani uchun dasturchilar orasida keng ommalasha olmadi. Keyinchalik ob’ektga yo‘naltirilgan dasturlash Smalltalk, Object Pascal, C, Ada, hozirda esa C# kabi yuqori darajali dasturlash tillarining topologiyasi asosida rivojlandi va ommalashmoqda.
Dasturlash tillari haqida umumiy ma’lumot1.1.1-jadval
| Til | Yaratilgan yili | Mualliflar | Tashkilot, firma |
| Ada | 1979-80 | Jean Ichbian | Cii-Honeywell (Fransiya) |
| ARL | 1961-1962 | Kenneth Iverson, Adin Falkoff | IBM |
| DELPHI | 1995 | Chak (Chuck) va Denni (Danny) | Borland |
| BASIC | 1964-1965 | JohnKemeny, Thomas Kurtz | Dartmouth Colleje |
| C | 1972-1973 | Dennis Ritchie | Bell Laboratories |
| C | 1980 | Bjarne Strostrup | Bell Laboratories |
| FORTRAN | 1950-1958 | John Backus | IBM |
| HTML | 1989 | Tim Berners-Li | CERN, Jeneva |
| LOGO | 1968-70 | Seymour Papert | MassachusetS Institute of Techn. |
|
Pascal |
1967-1971 |
Niklaus Wirth | Federal Institute of Technology (Shveytsariya) |
| SIMULA | 1967 | Ole-Yoxan Dal, Kristen Nigaard | Norvegiya XM |
| Java | 1995 | Djeyms Gosling | Sun Microsystems |
Har bir o‘quvchi uchun dastur, dasturlash dasturlash texnologiyasi uchunchalariga oydinlik kiritib o‘tishmizga to‘g‘ri keladi:
Dastur - bu berilgan algoritmga asoslangan biror bir algoritmik tilda yozilgan ko‘rsatmalar, ya’ni buyruqlar yoki operatorlar to‘plamidir. Algoritmlarni to‘g‘ridan-to‘g‘ri kompyuterga kiritib yechib bo‘lmagani sabab ularni biror bir algoritmik tilga o‘tkaziladi[10,11].
Dasturlash – bu dastur yaratish bo‘lib, uni yaratishda quyidagi bosqichlar bosib o‘tiladi:
Qo‘yilgan masalani dasturlash mumkinligini tekshirish;
Qo‘yilgan masalaning algoritmini tanlash yoki qayta ishlash;
Bo‘yruqlarni yozish;
Dastur xatoliklarini tekshirish;
Testdan o‘tkazish[22].
Dasturlash - esa bu dastur tuzish jarayoni bo‘lib, u quyidagi bosqichlardan iboratdir[11]:
dasturga bo‘lgan talablar;
qo‘yilgan masala algoritmini tanlash yoki ishlab chiqish;
dastur kodlarini (matnlari, buyruqlarni) yozish;
dasturni to‘g‘rilash va test o‘tkazish.
Dastur so‘zi ham komandalarning alohida blokini (berilgan kodini) aniqlovchi so‘z, ham yaxlit holdagi bajariluvchi dasturiy mahsulotni belgilovchi so‘z sifatida ishlatiladi.
Bu ikki xillilik o‘quvchini chalg‘itishi mumkin. Shuning uchun unga aniqlik kiritamiz. Demak dasturni yo dasturchi tomonidan yoziladigan komandalar to‘plami, yoki amallar bajaradigan kompyuter mahsuloti sifatida tushinamiz.
Dasturlash texnologiyalari – dasturiy ta’minotning inqiroziga javob sifatida yuzaga kelgan dasturlash texnologiyalari hisoblanadi[42]. Bu inqirozning sababi shunda ediki, strukturali dasturlash metodlari murakkablik darajasi borgan sari ortib borayotgan masalalar uchun dasturiy ta’minot yaratish imkonini bera olmay qoldi. Buning natijasida turli loyihalarni bajarish rejalari buzildi, qilinayotgan harajatlar belgilangan byudjetdan ortib ketdi, dasturiy ta’minotning funksionalligi buzildi, hatoliklari ortdi.
Dasturiy ta’minotning eng muhim tomonlaridan biri – uning murakkablik darajasidir. Biror dasturchi sistemaning barcha hususiyatlarini to‘liq hisobga ola olmaydi. Shuning uchun uni ishlab chiqishda dasturchi va boshqa mutaxassislarning yirik jamoasi qatnashadi. Demak, qo‘yilgan masalaga to‘g‘ridan-to‘g‘ri bog‘liq bo‘lgan murakkabliklarga ana shu jamoaning ishini bir maqsadga qaratilgan boshqarish ham qo‘shiladi. An’naviy dasturlash tillarida bunday murakkabliklarni hal qilishda “ajrat va boshqar” prinsipidan foydalanilgan. Ya’ni, masala kichik-kichik masalalarga ajratib, keyin har bir masala uchun alohida dastur ishlab chiqilgan va birlashtirilgan.
Dasturchilar tomonidan ma’lum bir soha o‘rganilib, uning alohida ob’ektlari ajratib olingan. Bu ob’ektlar uchun masalalarni yechishda qo‘llash mumkin bo‘lgan hususiyatlar aniqlangan. Ehtiyojga qarab har bir hususiyat ustida bajarish mumkin bo‘lgan amallar aniqlangan. So‘ngra o‘rganilayotgan sohaning har bir real ob’ektiga mos dasturiy ob’ekt ishlab chiqilgan.
Ma’lumki, kompyuter yordamida hal qilinadigan har bir masala uchun maxsus dastur ishlab chiqish yozish talab qilinadi. Bunday masalalar sinfining kengayib borishi albatta yangi-yangi dasturlar yaratishga olib keladi. Yangi dasturlarni yaratish uchun «eski» dasturlash tillarining imkoniyati yetmay qolganda yoki dastur yaratish jarayonini mukammallashtirish uchun yangi dasturlash tiliga ehtiyoj paydo bo‘ladi. Bu masalani albatta malakali va tajribali dasturchilar yoki dasturchi guruhlar tomonidan hal qilinadi. Ana shu dasturchilarni yetishtirish bugungi kunda informatika fani o‘qituvchilarining eng asosiy masalasi hisoblandi.
Vaqt o‘tishi bilan dasturchilar oldiga quyilgan masalalar o‘zgarib boryapti. Bundan yigirma yil oldin dasturlar katta hajmdagi ma’lumotlarni qayta ishlash uchun tuzilar edi. Bunda dasturni yozuvchi ham, uning foydalanuvchisi ham kompyuter sohasidagi bilimlar bo‘yicha professional bo‘lishi talab etilardi. Hozirda esa ko‘pgina o‘zgarishlar ro‘y berdi. Kompyuter bilan ko‘proq uning apparat va dasturiy ta’minoti haqida tushunchalarga ega bo‘lmagan kishilar ishlashyapti. Kompyuter odamlar tomonidan uni chuqur o‘rganish vositasi emas, ko‘proq o‘zlarining oldilariga qo‘yilgan, o‘zlarining ishlariga tegishli bo‘lgan muammolarini yechish instrumenti bo‘lib qoldi.
Foydalanuvchilarning ushbu yangi avlodini dasturlar bilan ishlashlarini osonlashtirilishi bilan bu dasturlarning o‘zini murakkabligi darajasi oshadi. Zamonaviy dasturlar - foydalanuvchi bilan do‘stona munosabatni yuqori darajada tashkil qiladigan ko‘p sondagi oynalar, menyu, muloqot oynalari va vizual grafikaviy muhitlardan tarkib topgan interfeysga ega bo‘lishi lozim.
Dasturlashga talabni o‘zgarishi nafaqat tillarning o‘zgarishiga balki uni yozish texnologiyasini ham o‘zgarishiga olib keldi.
Shu o‘rinda quyidagi savol tug‘iladi: yaxshi dasturchi bo‘lish uchun nimalarga etibor qaratish kerak?
Yaxshi dasturch bo‘lishi uchun asosan quyidagilarga etibor qaratish kerak:
Matematika fanini puxta o‘zlashtirgan bo‘lishi kerak;
Jamoa bo‘lib ishlay olishi kerak;
Ingliz tilini yaxshi o‘zlashtirgan bo‘lishi kerak;
Bir joyda o‘tirib ishlay olishi kerak (sabrli bo‘lishi kerak).
Dasturlashni o‘rganishda quyidagi manbalardan foydalanishimiz kerak:
Dasturlashni o‘rgatuvchi kitob yoki ma’ruzalar matni;
Dasturlashdan masalalar to‘plami;
Dasturlash asoslarini o‘rgatuvchi video kurs;
Sizda paydo bo‘lgan savollarga javob beruvchi shaxs yoki manba;
Tuzilgan dasturning to‘g‘ri yoki noto‘g‘riligini tekshiruvchi amaliy dasturlar.
Ob’ektga yo‘naltirilgan dasturlash – bu dasturlashning shunday yangi yo‘nalishiki, dasturiy sistema o‘zaro aloqada bo‘lgan ob’ektlar majmuasi sifatida qaraladi va har bir ob’ektni ma’lum bir klassga mansub hamda har bir klass qandaydir shajarani hosil qiladi deb hisoblanadi[36]. Alohida olingan klass ma’lumotlar to‘plami va ular ustida bajariladigan amallarning to‘plami sifatida qaraladi. Bu klassning elementlariga faqat shu klassda aniqlangan amallar orqali murojaat qilish mumkin. Dasturdagi ma’lumotlar va ular ustida bajariladigan amallar o‘rtasidagi o‘zaro bog‘liqlik an’anaviy dasturlash tillariga nisbatan dasturiy sistemalarning ishonchliligini ta’minlaydi. Ob’ektga yo‘naltirilgan dasturlashning eng asosiy tushunchasi ob’ekt va klass hisoblanadi.
Ob’ekt. Oldimizda turgan o‘rik mevasini dasturlash terminologiyasi orqali ko‘raylik. An’anaviy dasturlashda biz uni qismlarga bo‘lib o‘rganganmiz: S-o‘rik po‘stining yuzi, J – o‘rik mevasidagi sharbat hajmi, F – po‘st orasidagi meva og‘irligi, D-danak og‘irligi va h.k. Endi ana shu o‘rikga rassom ko‘zi bilan qaraylik. O‘rikning rasmi bu meva emas, balki o‘rik mevasining yassi tekisliklikdagi tasviridir. Uni har biri alohida va bir-biriga bog‘liq bo‘lmagan biror ma’lumotlar segmentida turgan bir nechta ma’lumotlardan iborat bo‘lgan
ko‘rinishda abstraksiyalash mumkin emas. O‘rikning komponentalari doimo birgalikda va bu komponentalar orasidagi o‘zaro aloqalarni saqlagan holda qaraladi. Ob’ekt - biz yashayotgan o‘rikdagi biror elementga hos bo‘lgan barcha ma’lumot va hulqlarni, ya’ni shu element ustida bajarish mumkin bo‘lgan xarakatlarni ifodalaydi hamda ma’lumotlarning tugal abstraksiyasidan iborat bo‘ladi. Bu ma’lumot va hulqlar ob’ektga yo‘naltirilgan dasturlash atamashunosligida mos ravishda hususiyat va metod deb ataladi. Hususiyatni ob’ektning maydoni deb ham yuritiladi. Masalan, shashka ob’ekti rang, vertikal maydondagi o‘rni, gorizontal maydondagi o‘rni kabi maydonlarga, surish, urish,
«damka» ga chiqish, shashka taxtasidan chetga olish kabi metodlarga ega bo‘ladi. Maydon va metodlar birgalikda ob’ektning a’zolari deyiladi[38]. Ob’ektlarning strukturasi ularning o‘zaro aloqasini ifodalaydi.
Klass. Har bir ob’ekt qandaydir bitta klassga taaluqli bo‘ladi. Klass – bu murakkab struktura bo‘lib, o‘z ichiga ma’lumotlarni, protsedura va funksiyalarni ifodalashdan tashqari, klasslarning vakili bo‘lmish ob’ektlar ustida bajarilishi mumkin bo‘lgan amallarni ham oladi. Klassdagi ma’lumotlar maydonlar, protsedura va funksiyalar esa metodlar deb ataladi. Klassning strukturasi tushunchasi ham muhim hisoblanadi. U tizim ichidagi vositalar boyligini namoyon qiladi. Ma’lumki, biror yaproqdagi fotosintez jarayonini o‘rganish uchun shu yaproqdagi bitta hujayrani ko‘rish yetarli, chunki, qolgan hujayralar ham o‘zini ana shgu o‘rganilgan hujayra kabi tutadi. Biz xam biror klass, tip yoki bo‘limga mansub bo‘lgan ob’ektni ko‘rar ekanmiz, faraz qilishimiz mumkinki, uning hulqi ham shu tipdagi boshqa ob’ektlarniki kabi bo‘ladi[21].
Ob’ektga yo‘naltirilgan dasturlash bizning hulqimizga o‘xshab ketadigan dasturlash usulini ifodalaydi. U dasturlash tillarini ishlab chiqishdagi yangiliklarning tabiiy evolyutsiyasi hisoblanadi. U barcha avvalgi dasturlash tillariga qaraganda strukturaliroq, ma’lumotlarni abstraktlashga urinishda abstraktliroq va modulliroqdir.
Ob’ektga yo‘naltirilgan dasturlash o‘zining uchta asosiy hususiyatlari bilan xarakterlanadi[21]:
Inkapsulyatsiya – yozuvlarni shu yozuvlarning maydonlari ustida amallar bajarish uchun mo‘ljallangan funksiyalar va protseduralar bilan birgalikda olib boradi. Inkapsulyatsiya yashirish prinsipiga ham ega bo‘ladi. Buning ma’nosi shuki, ob’ekt ustida bajarish mumkin bo‘lgan xarakatlarni amalga oshirish vositalari shu ob’ektdan foydalanayotgan dasturchilar ko‘zidan yashirib qo‘yiladi. Dasturchi faqat shu ob’ektning ayrim metod va maydonlari bilangina ishlay oladi. Boshqacha aytganda, barcha maydon va metodlar ichki va tashqi guruhlarga bo‘linadi. Ob’ektning ichki a’zolari dasturchiga «ko‘rinmaydi» va ob’ektning hulqi va imkoniyatlarini aniqlaydi, tashqi a’zolari esa dasturchiga «ko‘rinib turadi» hamda ob’ektni boshqarish imkonini beradi. Ob’ektning dasturchiga ko‘rinib, ob’ektni boshqarishga yordam beradigan metod va maydonlari (hususiyatlari) ob’ektning interfeysi deb ataladi. Dasturchi ob’ekt bilan ishlash uchun uning interfeysini bilishi kifoya. Masalan, yengil avtomobilni boshqarishni o‘rganish uchun uning matorining ishlash prinsipi, g‘ildiraklarning burilishini, tormoz mexanizmini o‘rganishning hojati yo‘q, rulni burash, pedal yoki uzatmalar qutisi richagini bosishni bilish yetarli.
Vorislik – yangi ob’ektni aniqlashga ehtiyoj paydo bo‘lganda oldindan ma’lum bo‘lgan ob’ektlardan foydalanish. Ob’ektlar o‘zlarini yaratishda ishtirok etgan ota ob’ektlarning xarakteristika va hulqlarini meros qilib olishlari mumkin. OYD konsepsiyasi yangi klasslarni mavjud klasslarga yangi maydonlar, hususiyatlar va metodlarni qo‘shish orqali yaratish imkonini ham beradi. YAngi klasslarni tashkil qilishning bunday usuli yuzaga keltirish deb ataladi. Bu holda yuzaga kelgan yangi klass o‘zining bazaviy ota klassiga hos bo‘lgan hususiyat va metodlarini meros oladi. Hayotdan misol qilib, hasharotlar klassini olish mumkin. U ikki guruhga bo‘linadi: qanotlilar va qanotsizlar. Qanotli hasharotlarga kapalaklar, pashshalari, parvonalar va x.k. lar kiradi. SHuning uchun, pashshalarni qaytadan qanotli deb ta’riflashning hojati yo‘q, u bu hususiyatni ota klassi bo‘lgan qanotli hasharotlar klassidan meros qilib oladi.
Polimorfizm – xarakatga biror nom berish hamda undan birgalikda ob’ektlar shajarasining quyi va yuqori qismlarida foydalanish. Bunda shajaraning har bir
ob’ekti bu xarakatni o‘zi uchun hos bo‘lgan usul bilan bajaradi. Polimorfizm — bu turli klasslarga kirgan metodlar uchun bir hil nomlardan foydalanish imkoniyatidir. Polimorfizm konsepsiyasida ob’ektga nisbatan metod qo‘llanganida aynan ob’ektning klassiga mos keluvchi metoddan foydalanishni ta’minlaydi.
Object Pascal dasturlash tili ob’ektga yo‘naltirilgan dasturlashga hos bo‘lgan barcha vositalarni bera oladi: strukturalilik, modullik, katta abstraktlilik. Bu xarakteristikalarning hammasi xizmat ko‘rsatish uchun juda ham sodda, osongina boshqa vaziyatlarga moslashtirila oladigan, kuchliroq strukturaga ega bo‘lgan kodlarda o‘z aksini topadi.
Ob’ektga yo‘naltirilgan dasturlash uzoq yillar davomida an’anaviy, ya’ni standart hisoblangan dasturlashga nisbatan hos bo‘lgan tasavvurlarni bir chetga qo‘yishni talab qiladi. Natijada ob’ektga yo‘naltirilgan dasturlash juda ham sodda, ko‘rgazmaliligi yuqori bo‘lib, dasturiy ta’minot yaratishdagi ko‘plab muammolarni hal qilishning juda ajoyib vositasiga aylanadi.
Yuqorida aytilgan fikrlarni hisobga olsak, ob’ektga yo‘naltirilgan dasturlash texnologiyalari quyidagicha masalalarni hal qilishi mumkin:
an’anaviy dasturlash tillarida mavjud bo‘lgan kamchiliklarni bartaraf qilish;
an’anaviy dasturlash tillari yordamida yechib bo‘lmaydigan yoki juda katta qiyinchiliklar bilan yechilishi mumkin bo‘lgan masalalarni hal qilish;
qayta ishlash mumkin bo‘lgan ma’lumotlar va ularning tiplari doirasi an’anaviy dasturlash tillariga nisbatan ancha keng;
foydalanuvchilar uchun qulay bo‘lgan muloqot interfeysini yaratish;
kiritilayotgan va chiqarilayotgan turli tipdagi ma’lumotlarni nazorat qilish;
yangi tipdagi ma’lumotlar, klasslar va modullarni osongina tashkil etish va ma’lumotlarni nazorat qilish;
multimedia va animatsion vositalaridan foydalanib, turli darajadagi tovushli va xarakatli effektlarni hosil qilish va qayta ishlash;
ma’lumotlar bazasi va undagi ma’lumotlar ustida amallarni bajarish, SQL so‘rovnomalari yordamida ma’lumotlarni qidirib topish kabi masalalar juda osonlik bilan hal qilish;
OLE konteyneri yordamida WINDOWS muhiti uchun mo‘ljallangan ilovalardagi ob’eklar bilan ishlash;
foydalanuvchilar uchun yaratilgan dasturiy ta’minotdan foydalanish uchun yordamchi ma’lumotnomalar tizimini yaratish;
dasturiy ta’minotni boshqa kompyuterlarga ko‘chirish uchun o‘rnatuvchi disklarni yaratish;
dastur matnini tashkil qilishda yuzaga kelishi mumkin bo‘lgan xatoliklar bilan ishlash masalasini hal qilish va x.k.
Ko‘rinib turibdiki, yechilayotgan masalalarni an’anaviy dasturlash tillari yordamida yechishda yuzaga kelishi mumkin bo‘lgan kattakon bo‘shliqni ob’ektga yo‘naltirilgan dasturlash texnologiyalari to‘ldiradi hamda zamonaviy dasturlashning ko‘plab talablariga javob beradi. Shunday ekan, Oliy o‘quv yurtlarida an’anaviy dasturlash tillaridan voz kechib, ob’ektga yo‘naltirilgan dasturlash texnologiyalarini o‘qitishga o‘tish tavsiya qilinadi.
2. ALGORITMIK TIL ELEMENTLARI
Hisoblash mashinasiga algoritm dastur shaklida beriladi. Bitta masalani yechishning bir necha algoritmi mavjud bo‘lishi mumkin. Ular orasida eng samaralisini, bajarilishi uchun eng kam amallar, mashina vaqti, xotira va h.k.ni talab qiluvchi algoritmni tanlash lozim. Samarali algoritmlar mavjud bo‘lishi shartlari va ularni qurish (ishlab chiqish)ni o‘rganish algoritmlar nazariyasi asosini tashkil etadi.
Algoritm atamasi o‘rta asrlarda yashab ijod etgan buyuk o‘zbek matematigi Al-Xorazmiy nomidan kelib chiqqan. U o‘zi kashf etgan o‘nli sanoq tizimida IX asrning 825 yilidayoq to‘rt arifmetika amallarini bajarish qoidalarini bergan. Arifmetika amallarini bajarish jarayoni esa alxorazm deb atalgan. Bu atama 1747 yildan boshlab algorismus, 1950 yilga kelib algorifm deb ham ataldi.
Kompyuterlar paydo bo‘lishi bilan algoritm atamasi hozirgi ma’nosi bilan axborot texnologiyalari sohasida eng asosiy atamalardan biri bo‘lib qoldi[30].
Algoritm - biror maqsadga erishishga qaratilgan ijrochi bajarishi uchun mo‘ljallangan ko‘rsatma (buyruq)larning aniq, tushunarli va chekli ketma-ketligi tushuniladi[11,20].
Algoritm - bu qo‘yilgan masalaning yechimiga olib keladigan, ma’lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligidir. Boshqacha qilib aytganda algoritm boshlang‘ich ma’lumotlardan natijagacha olib keluvchi jarayonning aniq yozilishidir[11].
Algoritm:Vazifani bajarishga qaratilgan aniq belgilangan qoidalarning tartiblangan chekli to‘plami.
Dastlabki ma’lumotlarni oxirgi natijaga o‘tkazuvchi hisoblash jarayoni orqali masala yechimini aniq ko‘rsatuvchi amallar mazmuni va ketma-ketligi[30]. Algoritm tavsifnomalariga quyidagilar kiradi:
berilgan dastlabki ma’lumotlar bilan natijaning bir turliligi;
jarayonni inson yoki hisoblash mashinasi tomonidan bajarilishi mumkin bo‘lgan ayrim amallarning chekli soniga bo‘lish mumkinligi;
ko‘p sinfga oid masalalarga mos ko‘p dastlabki ma’lumotlar uchun natija olish mumkinligi[30].
Har qanday algoritm ma’lum ko‘rsatmalarga binoan bajariladi va bu ko‘rsatmalarga buyruq deyiladi.
Bu algoritm tushunchasining matematik ta’rifi bo‘lmasa ham intuitiv ma’noda algoritmning mazmunini ochib beruvchi tavsifidir. Algoritmni intuitiv ma’noda bir necha misollarda izohlaymiz. Biror-bir narsani taqiqlovchi qoidalar algoritm bo‘lolmaydi, masalan: «Chekish mumkin emas», «Begonalarning kirishi taqiqlanadi», «Kirish», «Chekish uchun joy» kabi biror-bir narsaga ruxsat etuvchi qoidalar ham algoritmga xos emas. Lekin «Svetoforni yashil rangida o‘ting» juda sodda bo‘lsa ham algoritmdir.
Demak, yuqorida keltirilgan misollardagi ko‘rsatmalar ketma-ketligi algoritm va bu algoritmlarni bajarayotgan inson – ijrochi bo‘lar ekan. Algoritm ijrochisi faqat insonmi, degan savol berishingiz tabiiy. Bu savolga javob quyidagicha:
Algoritmik til - matematik masalalarni yechish uchun mo‘ljallangan dasturlash tili. Birinchi navbatda ALGOL «algoritmik til» sonli masalalarni yechishga mo‘ljallangan. Tilning sintaksisi aniq belgilanganligi ALGOLni muayyan tur tuzilmaga ega bo‘lgan kompyuterlarga nisbatan mustaqil bo‘lishini ta’minladi. Tilning alohida tomoni bo‘lib uning blokli tuzilmasi hisoblanadi. ALGOL ko‘proq Yevropada tarqaldi va yangi tillarning, masalan Pascal tilining yaratilishida muhim bosqich bo‘ldi[30].
Algoritmik til - algoritmlarni bir xil va aniq yozish uchun ishlatiladigan belgilashlar va qoidalar tizimidir. Algoritmik tillarga dasturlash tillari ham deyiladi[42].
Algoritm ijrochisi – algoritmda ko‘rsatilgan buyruq yoki ko‘rsatmalarni bajara oladigan abstrakt yoki real (texnik yoki biologik) sistema[15].
Ijrochi bajara olishi uchun algoritm unga tushunarli bo‘lishi lozim. Algoritm ijrochi tushunadigan tilgagina emas, balki uning bilim va malakasiga ham mos bo‘lishi kerak. Aks holda ijrochi birorta ham ko‘rsatmani bajara olmasligi mumkin. Ijrochi bajara olishi mumkin bo‘lgan ko‘rsatma yoki buyruqlar to‘plami ijrochining ko‘rsatmalar tizimi deyiladi. Masalan, «16 sonidan kvadrat ildiz chiqarilsin» ko‘rsatmasi 2-sinf o‘quvchisining ko‘rsatmalar tizimiga tegishli bo‘lmaydi, lekin 8-sinf o‘quvchisining ko‘rsatmalar tizimiga tegishli bo‘ladi. Algoritm ijrochiga tushunarli bo‘lishi uchun ijrochining imkoniyatlarini bilish lozim. Agar ijrochi inson bo‘lsa, u holda algoritm insonning imkoniyatlaridan kelib chiqib tuzilishi kerak. Bunda ko‘zlangan maqsad va algoritmdan kelib chiqib inson tushunadigan til, insonning bilimi, hayotiy tajribasi, kasbiy malakasi, yoshi, qolaversa, jismoniy imkoniyatlari hisobga olinishi zarur. Agar ijrochi texnik vosita (masalan, kompyuter, elektron soat, dastgohlar) bo‘lsa, u holda algoritm shu texnik vositaning imkoniyatlaridan kelib chiqib tuzilishi kerak.
Agar ijrochi kompyuter hisoblanib, uning dasturiy ta‘minotida berilgan («Karra jadvalini hosil qilish») algoritmni bajara oladigan dastur (masalan, elektron jadvallardan birortasi ham) bo‘lmasa, u holda hech qanday natijaga erishib bo‘lmaydi. Demak, berilayotgan har qanday ko‘rsatma ijrochining ko‘rsatmalar tizimidan olinishi, ya’ni ijrochi uni qanday bajarishni bilishi kerak ekan. Bu algoritmning tushunarlilik xossasini ifodalaydi. Shuni ta‘kidlash joizki, informatikada algoritmning asosiy ijrochisi sifatida kompyuter xizmat qiladi.
Ijrochi-bu qo‘llanmada algoritm tuzish usullarini o‘rgatish uchun sizni bir nechta Ijrochi bilan tanishtiramiz [15], lekin ular kompyuter yoki inson emas, balki biz uchun abstrakt sistema.
Ijrochi muhiti – ijrochi «yashaydigan» yoki algoritmni bajaradigan muhiti[15]. Ijrochi Robot misolida bu katakli maydon, bo‘yalgan kataklar va devorlar. Ularning joylashishi va Robotning turgan joyi muhitning aniq holatini beradi.
Har bir ijrochi qat‘iy belgilangan ro‘yxatdagi – ijrochinining ko‘rsatmalar tizimidagi – ko‘rsatmalarni bajara oladi. Har bir ko‘rsatma uchun qo‘llash sharti (muhitning qanday holatida ko‘rsatmani bajarish mumkinligi) va ko‘rsatmani bajarilish natijasi belgilangan bo‘lishi kerak. Masalan, yuqoriga ko‘rsatmasi Robotning yuqorisida devor yo‘q bo‘lsagina bajarish mumkin. Bu ko‘rsatmani bajarilish natijasi – Robot yuqoriga bitta katak siljiydi.
Bugungi kunga kelib, dasturlash tillarini o‘rganuvchilar uchun bir qaraganda, algoritm tushunchasini kerak emas, uning dasturlash bilan aloqasi yo‘q qabilidagi tasavvurlar paydo bo‘lib qoldi. Ular masalalarni yechish bosqichlari, algoritm qurishning yo‘l-yo‘riqlari bilan tanishmasdan turib, dasturlash sohasiga kirishga xarakat qilishadi. Natijada, ular dasturlash tillarida ko‘zda tutilgan qonun- qoidalar, buyruqlar tizimini yetarli darajada o‘rganishlari (shunchaki yodlashlari) mumkin, ammo, aniq qo‘yilgan masala uchun dastur yozishda juda katta qiyinchiliklarga duch kelishadi. Ana shunday vaziyatlarga tushib qolmaslik uchun, biz bu dasturchilarga dasturlashni algoritm qurishdan boshlashni tavsiya qilamiz.
Bir qaraganda, an’anaviy dasturlash tillariga hos bo‘lgan algoritm tushunchasi o‘z ahamiyatini yo‘qotgandek bo‘lmoqda. Aslida ham shundaymi? Bizning nazarimizda bu savolga «yo‘q» deb javob berish mumkin. Chunki, hozirgi kunda bu tushuncha boshqacha ko‘rinishda, ya’ni zamonaviy dasturlash tillarining eng muhim tushunchasi bo‘lgan ob’ektlarga nisbatan qo‘llanmoqda. Shuning uchun bu tushunchani yangicha talqin qilishga to‘g‘ri keladi.
Ma’lumki, ixtiyoriy masalani hal qilish uchun maxsus algoritm ishlab chiqish talab qilinadi. Shunday algoritmning mavjud emasligi masala yechimining mavjud emasligini anglatadi.
Zamonaaviy ob’ektga yo‘naltirilgan dasturlash tillari uchun N. Virtning
«algoritm+berilganlar=dastur» ta’rifi boshqacharoq talqin qilinadi. Asosiy e’tiborni algoritm tuzishga emas, balki ma’lumotlarning berilganlar strukturasiga qaratiladi[21].
Algoritmlarni ishlab chiqishda ob’ekt, klass va metodlardan keng foydalaniladi. Klass – bu murakkab struktura bo‘lib, o‘z ichiga ma’lumotlarni, protsedura va funksiyalarni ifodalashdan tashqari, klasslarning vakili bo‘lmish ob’ektlar ustida bajarilishi mumkin bo‘lgan amallarni ham oladi. Klassdagi ma’lumotlar maydonlar, protsedura va funksiyalar esa metodlar deb ataladi.
Ta’rif. Ob’ektli algoritm deb qo‘yilgan masalani to‘la hal qilish uchun zarur bo‘lgan ob’ektlarning hususiyatlarini o‘zgartirish uchun ijrochining bajarishi talab qilingan amallar va metodlar ketma-ketligining qat’iy tartibiga aytiladi[21].
Ob’ekli algoritm qurish uchun uning qanday hususiyatlarga ega ekanligi hamda ana shu hususiyatlar ustida bajarish mumkin bo‘lgan amallarni bilish lozim.
Birinchi bob bo‘yicha xulosaUshbu bobda dasturlash texnologiyalarining ta’riflari, yaratilish tarixi, dasturlash muammolari, ularning yechimlari, ob’ektga yo‘naltirilgan dasturlash texnologiyalari ta’riflar, algoritm tushunchasining ta’rifi, ob’ektga yo‘naltirilgan algoritm va ularning ta’riflari haqida ma’lumotlar berilib o‘tildi. Bu berilgan ma’lumotlar o‘z oldiga dasturchi bo‘laman deb maqsad qo‘ygan shaxsning faoliyati uchun muhim hisoblanadi.
Paskal dasturlash tilining keng tarqalishi va qollanilishiga asosiy sabab dasturning soddaligi va undan foydalanishning qulayligidir. Dastavval Paskal tili universitetlarda qo‘llanilgan bo‘lib, keyinchalik uning turli rusumli kompyuterlar uchun versiyalari ishlab chiqildi.
1981- yilda Paskal tilining xalqaro standarti taklif etildi[20,42]. Paskal tilining Borland firmasi tomonidan ishlab chiqilgan 7.0 hozirgi davrda keng foydalaniladi. U foydalanuvchilar uchun juda qulay tizim — dasturlashning integrallashgan muhitiga ega.
Integrallashgan muhit-dasturlashga yordamlashuvchi dastur bo‘lib, u quyidagi asosiy vazifalarni bajarishi lozim:
avvalambor, u dastur matnini kiritish imkonini berishi;
vaqti-vaqti bilan kiritilayotgan dastur matnini tashqi xotirada saqlab turishi;
dasturni ishga tushirish uchun translyatorga ega bo‘lishi;
sintaktik xatoliklarni aniqlash vositasiga ega bo‘lishi kerak.
Bugungi kunda Paskal dasturlash tilining bir nechta versiyalari mavjud bo‘lib, bulardan eng ko‘p ishlatilib kelayotgan versiyalari quyidagilar:
Turbo Pascal.
PascalABC.
Turbo Pascal dasturlash tili MS DOS operatsion dasturida ishlaydi. PascalABC dasturlash tili Windows muhitlarida ishlaydi. Hozirgi paytda umumta’lim maktablarida Turbo Pascal 7.0 versiyasidan foydalanib dasturlar o‘rgatilib kelinmoqda. Savol tug‘iladi bu dasturlash tillarida masalalarni dastur kodini kiritganimizda, dastur kodini farqi bormi?
Biror bir masalani dasturni tuzganimizda ikkala tilda ham dastur kodi bir xil.
Ammo grafik imkoniyatiga kelganda farqlanadi. Masalan:
| Turbo Pascalda | PascalABC |
| uses graph; var gd,gm:integer; begin gd:=detect;initgraph(gd,gm, '' ); circle(320,240,100); readln; closegraph; end. | uses GraphABC; begin circle(320,240,100); readln; end. |
Hozirgi kunda barcha kompyuterdan Windovs operatsion dasturi tarkibida ishlaydi. Shuning uchun foydalanuvchi Paskal dasturlash tilida masalalarni dasturini tuzganimizda Windows muhitidag ishlovchi PascalABC dasturlash tilidan foydalansak maqsadga muvofiq bo‘lar edi.
Delphi – Windows muhitida ishlaydigan dastur tuzish uchun qulay bo‘lgan vosita bo‘lib, kompyuterda dastur yaratish ishlarini avtomatlashtiradi, xatoliklarni kamaytiradi va dastur tuzuvchi mehnatini yengillashtiradi.
Delphi muhiti zamonaviy 32 razryadli grafikali operatsion tizimlar (OT) Windows 95, Windows 98, Windows NT, Windows 2000 (ya’ni windows32 deb yuritiladi) WindowXP Windows 7, Windows 8 boshqaruvida ishlovchi dasturlar tuzish uchun mo‘ljallangan.
Oldingi MS-DOSda dasturlashga nisbatan Windows tizimida dasturlash ancha qiyinroqdir. Microsoft va Borland korporatsiyalari Windows 3.1 paydo bo‘lgandan boshlaboq mos vositalar yarata boshladi. Masalan, 1991 yil Turbo Pascal for Windows, 1992 yil bu dasturlash tizimining yangilangan versiyasini Borland Pascal with Object 7.0 ni chiqardi[31,36,42]. Bu dastlabki maxsuslashtirilgan uskunalar Windows ning anchagina bilimlarini talab qilar edi. 1993 yilga kelib Microsoft firmasi birinchi vizual dasturlash muhiti - Visual Basicni ishlab chiqdi hamda Windows uchun dasturlashtirish bir muncha osonlashdi. Bunga javoban Borland 1995 yilda Delphi dasturlash tilining birinchi versiyasi yaratildi[11].
Bu dasturlash tili ob’ekt - orientirlashtirilgan tillar majmuiga kirib, 1995 yildan hozirgacha bir qancha avlodlari yaratilgan va ularga quyidagilarni aytib o‘tish mumkin:
Delphi 1.0, Delphi 2.0, Delphi 3.0, Delphi 4.0, Delphi 5.0, Delphi 6.0,
Delphi 7.0, Delphi 8.0, Delphi 9.0, Delphi 10.0.
Bu til o‘zining keng qamrovli imkoniyatlariga egaligi bilan birga, boshqa dasturlash tillaridan o‘zining ba’zi bir xususiyatlari bilan ajralib turadi. Borland Delphining paydo bo‘lishi dasturlashni rivojlantirish tarixida yorqin ko‘rinish bo‘ldi. Delphi dasturlash tilining dunyoga kelishiga quyidagi tendensiyalar sabab bo‘ldi[22,42]:
Windows uchun dasturlash va komponentlar texnologiyasi;
masalalarni yechish uchun ob’ektga yo‘naltirilgan usul;
komponentlar texnologiyasiga asoslangan ilovalarni tez yaratishning vizual muhitlari;
interpretatsiyadan emas, kompilyatsiyadan foydalanish. Bu shundan iboratki, interpretator bilan ishlashga qaraganda kompilyator bilan ishlash tezligi o‘n martalab ustunlikka ega bo‘ladi;
universal usullar yordamida ma’lumotlar bazasi bilan ishlash imkoniyatlarining mavjudligi, masalan, lokal va shu bilan bir qatorda server ma’lumotlari faylidan mijoz - server arxitekturasiga yoki ko‘p bosqichli sxemasiga o‘tishni ta’minlash.
Borland Delphi yuqorida bayon etilgan tendensiyalarni joriy etish maqsadida yaratilgan. Ammo, uning eng asosiy elementi Object Pascal tili bo‘lib hisoblanadi.
Delphi – bu bir qancha muhim texnologiyalar yig‘indisidir, ya’ni:
mashina kodiga o‘tkazuvchi yuqori unumdorlikka ega bo‘lgan kompilyator mavjudligi;
komponentlar ob’ekt-orientirlashtirilgan modelga egaligi;
dasturlarni vizual tarzda yaratish (tuzish) imkoniyatining mavjudligi;
ma’lumotlar bazasini yaratish (tuzish) imkoniyatlarining yetarliligi.
Dastur yuqori unumdorlikka va tezlikka ega bo‘lgan kompilyatorga ega. Har bir yangi versiyasi yaratilganda dasturlash tiliga qandaydir qulaylik yoki
imkoniyatlilik kiritildi. Delphi dasturlash tili vizual instrumentlar yig‘indisiga ega bo‘lib, u esa dasturlash jarayonini yanada osonlashtiradi. Dasturchi dastur tuzish jarayonida komponentlar palitrasidagi tayyor tugmachalarni (ob’ektlarni) dasturga joylashtirishi mumkin. Mahsulotning standart turi ikkita bazaviy sinflardan tashkil topgan. Dasturlash tili qobig‘i korporativ ma’lumotlar bazasiga ulanishni qo‘llab quvvatlovchi, dastur tuzishni tezlashtiruvchi RAD (Rapid Application Development) vizual asboblar interfeysiga ega. VCL – visual komponentlar kutubxonasi foydalanuvchining standart ob’ektlari, ma’lumotlarni boshqarish ob’ektlari, grafik ob’ektlar, multimedia ob’ektlari, muloqot ob’ektlari, fayllarni boshqarish ob’ektlari, DDE va OLE larni boshqarish ob’ektlaridan tarkib topgandir. Ma’lumotlar bazasi ob’ektlari SQL ma’lumotlar bazasini boshqarish tizimi asosida Borland Database Engineni to‘liq o‘z ichiga oladi. Shuningdek, dasturlash tili tarkibiga Borland SQLLink ham kiradi. Bu esa Oracle, Sybase, Informix va Interbase ma’lumotlar bazasini boshqarish tizimlariga ruxsatni amalga oshiradi. Mahsulotni ikki xil varianti mavjuddir[38]:
«Mijoz - Server» (Delphi Client-Server).
Delphi for Windows.
«Mijoz - Server» varianti quyidagi imkoniyatlarga ega:
SQLLinks: Oracle, Sybase, Informix va InterBase larga ruxsat beruvchi (dostup) maxsus drayverlarning mavjudligi;
InterBase lokal serveri: lokal tarmoqqa ulanmagan kompyuterlar uchun ma’lumotlar bazasini boshqarish tizimlari dasturlarini tuzish;
Report Smith Client/Server Edition: SQL – server uchun hisobotlar generatorining mavjudligi;
Visual Query Builder – SQL so‘rovlarini tuzish modullarini mavjudligi.
Delphi for Windows varianti personal kompyuterlar uchun dasturlar tuzish hamda dBase va Paradox ma’lumotlar bazasini boshqarish tizimlarida dasturlar tuzish imkoniyatlariga ega. Shuningdek, shaxsiy DLL komponentlarini tuzish imkoniyati ham mavjuddir.
Delphi dasturlash tili bir necha muhim ahamiyatga ega bo‘lgan texnologiyalar kombinatsiyasini o‘zida mujassam etgan:
yuqori darajali mashinali kodda tuzilgan kompilyator;
ob’ektga yo‘naltirilgan komponentalar modellari;
dastur ilovalarini visual tuzish;
ma’lumotlar ba’zasini tuzish uchun yuqori masshtabli vosita.
C++ dasturlash tili C tiliga asoslangan. C esa o‘z navbatida B va BCPL tillaridan kelib chiqqan. BCPL 1967 yilda Martin Richards tomonidan tuzilgan va operatsion sistemalarni yozish uchun mo‘ljallangan edi[42]. Ken Thompson o‘zining B tilida BCPL ning ko‘p hossalarini kiritgan va B da UNIX operatsion tizimining birinchi versiyalarini yozgan. BCPL ham, B ham tipsiz til bo‘lgan. Ya’ni o‘garuvchilarning ma’lum bir tipi bo‘lmagan - har bir o‘zgaruvchi kompyuter xotirasida faqat bir bayt joy egallagan. O‘zgaruvchini qanday sifatda ishlatish esa, yani butun son-mi, kasrli son-mi yoki harfdek-mi, dasturchi vazifasi bo‘lgan.
C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell Laboratoriyasida, DEC PDP-11 kompyuterida qo‘lladi. C o‘zidan oldingi B va BCPL tillarining juda ko‘p muhim tomonlarini o‘z ichiga olish bilan bir qatorda o‘zgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. Boshlanishda C asosan UNIX sistemalarida keng tarqaldi. Hozirda operatsion sistemalarning asosiy qismi C/C++ da yozilmoqda. C mashina arxitekturasiga bog‘langan tildir. Lekin yaxshi rejalashtirish orqali dasturlarni turli kompyuter platformalarida ishlaydigan qilsa bo‘ladi[41].
1983 yilda C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 texnik komitet tuzildi va 1989 yilda ushbu standart qabul qilindi. Standartni dunyo bo‘yicha keng tarqatish maqsadida 1990 yilda ANSI va Dunyo Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990 standartini qabul
qilishdi. Shu sababli C da yozilgan dasturlar kam miqdordagi o‘zgarishlar yoki umuman o‘zgarishlarsiz juda ko‘p kompyuter platformalarida ishlaydi.
C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++ juda ko‘p qo‘shimchalarni o‘z ichiga olgan, lekin eng asosiysi u ob’ektlar bilan dasturlashga imkon beradi.
Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoda. Buni ta'minlash uchun ob’ektli dasturlash g‘oyasi ilgari surildi. Huddi 1970 - yillar boshida strukturali dasturlash kabi, programmalarni hayotdagi jismlarni modellashtiruvchi ob’ektlar orqali tuzish dasturlash sohasida inqilob qildi.
C++ dan tashqari boshqa ko‘p ob’ektli dasturlshga yo‘naltirilgan tillar paydo bo‘ldi. Shulardan eng ko‘zga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa ob’ektlarga asoslangan. C++ esa gibrid tildir. Unda C ga o‘xshab strukturali dasturlash yoki yangicha, ob’ektlar bilan dasturlash mumkin. Yangicha deyishimiz ham nisbiydir. Ob’ektli dasturlash falsafasi paydo bo‘lganiga ham yigirma yildan oshayapti.
C++ funksiya va ob’ektlarning juda boy kutubxonasiga ega. Yani C++ da dasturlashni o‘rganish ikki qismga bo‘linadi. Birinchisi bu C++ ni o‘zini o‘rganish, ikkinchisi esa C++ ning standart kutubxonasidagi tayyor ob’ekt funksiyalarni qo‘llashni o‘rganishdir.
masala. Berilgan ikkin sonni yig‘indisini hisoblash dasturi.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| Var a,b,s:real; Begin Write(‘a=’); read(a); Write(‘b=’); read(b); s:=a+b; Write(‘s=’,s); | { float a,b,s; cout a; cout b; s:=a+b; { cout } getch(); } |
masala. Uchta son berilgan. Ular ichida manfiy sonlarning kubini hisoblovchi dastur.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| Var a,b,c:real; Begin Write(‘a=’); read(a); Write(‘b=’); read(b); Write(‘c=’); read(c); If a | { float a,b,c; cout a; cout b; cout cin c; if (a { cout (b { cout } if (c { cout getch(); } |
masala. Berilgan butun n son musbat va 5 ga karrali bo‘lsa, shu sonning kvadrat ildizini, aks holda kvadratini hisoblash dasturi.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| Var n:integer; Begin Write(‘n=’); read(n); If (n0) and ( n mod 5=0) then write(‘Ildizi=’, sqrt(n)) else write(‘n*n=’, n*n); end. | { int n; cout n;
if ( (n0) and (n%5==0)) { cout } else { cout } getch(); } |
masala. yig‘indini hisoblash dasturi.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| Var a,b,c:real; Begin Write(‘a=’); read(a); Write(‘b=’); read(b); Write(‘c=’); read(c); | { int i; float s; for( i=7; i { if (i % 10==7) |
| If (a+bc) and (b+ca) and (c+ab) then write(‘Bajariladi’) else write(‘Bajarilmaydi’); end. | { s+=i/(i+4); cout } getch(); } |
masala. funksiyaning qiymatlarini [- ] oraliqda 0.3 qadam bilan hisoblash dasturi.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| var x,y:real; Begin x:=-pi; while x x:=x+0.3; write(‘y=’, y); end; end. | { float y,x=-pi; do { y=x*sin(x); x=x+0.3; { cout } } while (x } |
masala. [ ] massivdagi manfiy elementlar sonini aniqlovchi dastur.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| var n,i,k:integer; a:array[1..100] of integer; begin write('n='); read(n); for i:=1 to n do begin write('a[',i,']= '); readln(a[i]); end; for i:=1 to n do if a[i] k:=k+1; end; writeln('manfiy elementlari soni k=',k); end. | { int n,a[100],i,j; coutn; cout for(i=1;i couta[i];} cout i++) cout i++) |
|
| if(a[i] cout soni:" |
masala. [ ] massivning eng katta elementi chiqarish dasturi.
| Paskal va Delphi dasturlash tillari | C++ dasturlash tili |
| var n, i, j:integer; max:real; a:array[1..20,1..20] of real; begin write(‘n=’); read(n); for i:=1 to n do for j:=1 to n do begin write('a[',i,',',j,']='); read(a[i,j]); end; min:=a[i,j]; for i:=1 to n do for j:=1 to n do if a[i,j]max then max:=a[i,j] ; write('max=',max); end. | int a[20][20], i, j, n, max, p; coutn; for(i=1;i j++) { cout cina[i][j]; } max=a[1] [1]; cout j++) cout i++) for(j=1;j { max=a[i][j]; } } cout } |
Ikkinchi bob obo‘yicha xulosa
Ushbu bobda Paskal, Delphi, C++ dasturlash tillarining tarixi, imkoniyatlari hamda chiziqli, tarmoqlanuvchi, takrorlanuvchi va massivlarga oid masalalarning dasturlari tuzildi va qiyosiy tahlili ko‘rsatilib o‘tildi.
Umumiy o‘rta ta’limda «Informatika va hisoblash texnikasi asoslari» kursining maqsadi – o‘quvchilarga axborotlarni qayta ishlash texnologiyalari va ulardan foydalanish jarayonlari haqida puxta bilim berishni ta’minlashdan, ularga o‘quv hamda keyingi ish faoliyatlarida kompyuterlardan oqilona foydalanish ko‘nikma va malakalarini berishdan, shular asosida yangi axborot texnologiyalarining mamlakatimiz taraqqiyotiga qo‘shadigan hissasi to‘g‘risida tasavvur hosil qilishdan iborat.
Umumiy o‘rta ta’limda «Informatika va hisoblash texnikasi asoslari» ta’limining asosiy vazifalaridan biri o‘quvchilarga kompyuterda masalalar yechish texnologiyalari va uning asosiy bosqichlari haqida bilim berishni ifodalaydi. Shu paytgacha umumiy o‘rta ta’limda 9-sinf «Informatika va hisoblash texnikasi asoslari» kursida Beysik dasturlash tili qo‘llanilib kelinayotgan edi. Bugungacha yaratilgan dasturlash tillaridan keng tarqalgani va ko‘p foydalanilayotganini hisobga olib, 2006 o‘quv yilidan boshlab Paskal dasturlash tili darslikka kiritildi. Paskal dasturlash tili dasturlashni o‘rgatish maqsadida ishlab chiqilgan bo‘lsada, yuqori malakali dasturchilar orasida keng tarqalgan.
Paskal dasturlash tili umumta’lim maktablarining 9- sinfning ikkinchi bobida o‘qitiladdi. Bunda jami 38 dasrdan iborat. Savol tug‘iladi umumta’lim maktab o‘quvchilariga qanaqangi tartibda o‘qitilsa samarali bo‘ladi? Avvalom bor biz darslarni zamonaviy ta’lim texnologiyalaridan hamda multimediali darslar yordamida tashkil etilsa samaraliroq hisoblanadi.
Shu bois biz paskal dasturlash tili mavzularni o‘qitish bo‘yicha quyidagi zamonaviy ta’lim texnologiyalar va darsni olib borish texnologiyasi bo‘yicha quyidagilarni tavsiya etamiz:
| Mavzular | Foydalaniladigan ta’lim texnologiyalari |
| Paskal tili haqida ma’lumot | Bu darsimizda “Klaster” texnolo‘giyasidan foydalanildi |
| Paskal tilida algoritmni tuzim ko‘rinishida ifodalash | Bu darsimizda “Charhpalak” texnologiyasidan foydalanildi |
| O‘zgaruvchilar bo‘limi | Bu darsimizda “Qora quti” texnologiyasidan foydalanildi |
| O‘zlashtirish opеratori | Bu darsimizda “Qora quti” texnologiyasidan foydalanildi. |
| Ma’lumotlarni kiritish va chiqarish | Bu darsimizda “O‘yin” texnologiyasidan foydalanildi |
| Shartli o‘tish opеratori | Bu darsimizda “Charhpalak” texnologiyasidan foydalanildi |
| Tanlash opеratori | Bu darsimizda “Katta aylana” texnologiyasidan foydalanildi |
| Sikl оpеratоrlari | Bu darsimizda “Aqliy hujum” texnologiyasidan foydalanildi |
| Massivlar bilan ishlash | Bu darsimizda “Baliq sqileti” texnologiyasidan foydalanildi |
borish texnologiyasi
Mavzu: O‘tish va tarmoqlanish operatori(1-soat)
| Darsga ajratilgan soat –1 s | O‘quvchilar soni –20 ta |
| O‘quv mashg‘ulоtining shakli | Kirish ma’ruza |
| O‘quv mashg‘ulоtining tuzilishi | if, goto, operatorlari |
| O‘quv mashg‘ulоtining maqsadi | If, goto operatorini tushintirish |
| Pеdagоgik vazifalar: “Paskal” dasturlash fanining tuzilishini sharhlash; Fan miqyosidagi mеtоdik va tashkiliy ishlarning хususiyatlari, muddati va bahоlash mеzоnlari bilan tanishtirish; “Paskal” dasturlash fanining оb’еkti, prеdmеti, maqsad va vazifalarini aniqlashtirish; Fanning bоshqa fanlar bilan alоqalari va tadqiqоt mеtоdlarini ajratib ko‘rsatish; Fanning mеtоdоlоgik asоslari- ni оchib bеrish; Umumta’lim maktab ta’limi- ning tariхiy shakllangan | O‘quv faоliyati natijalari: Fanga ajratilgan umumiy sоatlar, ularning Paskal va Paskaldan tashqari vaqtda taqsimlanishi, fanning mоdul-blоklari haqida tushunchaga ega bo‘linadi; Fan bo‘yicha mashg‘ulоtlarning bоrishi, BKMlarni nazоrat qilish turlari, shakl, mеtоd va vоsitalari, nazоratlarni o‘tkazish vaqti va bahоlash mеzоnlari haqida aniq tasavvurlar shakllantiriladi; Fanning оb’еkti, prеdmеti, maqsad va vazifalarini bilib оladilar; Fanning bоshqa fanlar bilan alоqalarini taqqоslaydilar va tadqiqоt mеtоdlarini o‘zlashtiradilar; Fanning mеtоdоlоgik asоslariga dоir tasavvurlar hоsil qilinadi; |
| an’analarini bayon etish. | 6) Umumta’lim maktab ta’limining tariхiy shakllangan an’analari to‘g‘risidagi bilimlarni o‘zlashtiradilar. |
| Ta’lim mеtоdi | Ma’ruza, multimеdiyali. |
| Ta’limni tashkil etish shakli | Ma’ruza, оmmaviy |
| Didaktik vоsitalar | Ma’ruza matni, slayd-prеzеntatsiya |
| Ta’limni tashkil etish sharоiti | Maхsus tехnik vоsitalar bilan jihоzlangan хоna |
| Nazоrat | O‘z-o‘zini nazоrat qilish, rеflеksiya |
Paskal dasturlash tilida tarmoqlanish If opеratori bilan amalga oshiriladi. If opеratori- bu shartli opеrator hisoblanadi. Delphi tilida shart - bu mantiqiy turdagi ifoda bo‘lib, u faqat «chin»(True) yoki «yolg‘on »(False) qiymatni qabul qiladi, quyidagi mantiqiy belgilar ishlatiladi: katta “”,kichik “=”, teng emas “”, teng “=”. Quyidagilar munosabat amallari yoki taqqoslash amallari ham dеyiladi. Quyidagi mantiqiy amallar ishlatiladi:
NOT-«inkor»;
AND-«mantiqiy va»;
OR-«mantiqiy yoki».
Bu mantiqiy amallarning bajarilish natijalari quyidagicha:
3.1.1-jadval
| Op1 | Op2 | Op1 AND Op2 | Op1 OR Op2 | NOT Op1 |
| False | False | False | False | True |
| False | True | False | True | True |
| True | False | False | True | False |
| True | True | True | True | False |
Masalan: (50) OR (203) -mantiqiy ifoda yolg‘on (False).
O‘zlashtirish mantiqiy ifodalarni biror bir mantiqiy o‘zgaruvchiga yuborish ham mumkin. Masalan: F:=(A
Bu yеrda, agar ikkala shart bajarilgandagina F mantiqiy o‘zgaruvchi “chin” (True) qiymatni qabul qiladi. Aks holda “yolg‘on” (False) qiymatni qabul qiladi. Delphi dasturlash tilida shartli o‘tish opеratorining ikki xil ko‘rinishi mavjud:
If then begin
end
else
begin
end;
If then begin
end;
Bu yerda If -agar; then -u holda; else -aks holda ma'nosini bildiruvchi
xizmatchi (kalit) so‘zlar. Birinchi ko‘rinishdagi shartli opеratorda, agar shart bajarilsa birinchi begin va end ichidagi opеratorlar kеtma-ket bajariladi, aks holda ikkinchi begin va end ichidagi opеratorlar ketma-kеt bajariladi. Ikkinchi ko‘rinishdagi shartli opеrator quyidagicha ishlaydi: agar bеrilgan shart bajarilsa begin va end ichidagi opеratorlar kеtma-ket bajariladi, aks holda ular bajarilmaydi. Agar bajariluvchi opеratorlar soni bitta bo‘lsa, begin va end so‘zlarini yozish shart emas.
Misollar: 1) If A0 then begin C: =1; B:=C+1; end; else begin C: =0; B: =4; end;
2) If D=A then D: =A else A: =D;
Bir shartli o‘tish opеratori ichida boshqa ichki shartli opеratorlar joylashishi ham mumkin, Masalan: If b1 then a1 else If b2 then a2 else a3;
Misollar. A: =0.5; B: =-1.7; If Athen A: =B else B: =A;
Javob: 0.5
A: =0.1; B: =0.1; C: =0.5; D: =0;
If (Aor (AC) then D: =B+C else If B=A then begin D: =C; C: =A; end;
Javob: (0.1yoki (0.10.5) bu mantiqiy ifoda yolg‘on bo‘lganligi sababli B=A shart tеkshiriladi. Bu shart chin bo‘lganligi sabab D=0.5 ga, S=0.1 qiymatlarga tеng ekanligi kеlib chiqadi.
Yuqorida bayon qilingan fikrlarni tekshirib ko‘rish uchun Paskal dasturlash tilida shartli operatorlaridan foydalangan holda bir nechta dasturlar tuzamiz.
1-misol. Kiritilgan son 10 dan katta bo‘lsa, ekranga “katta” aks holda “Katta emas” degan yozuvni chiqaruvchi dastur tuzing.
usul. var n:real; begin
write('n='); read(n);
if n10 then write('katta');
if n
usul. var n:real; begin
write('n='); read(n);
if n10 then write('katta') else write(' katta emas');
end.
misol. Ikkita sonda kattasini topuvchi dastur tuzing.
var
a,b:real; begin
write('a='); read(a);
write('b='); read(b);
| if | ab | then | write('katta son a'); |
| if | a=b | then | write('bu sonlar teng‘); |
| if | ba | then | write(' katta son b'); |
end.
misol. Uchta sonda kattasini topuvchi dastur tuzing.
| var a,b,c:real; begin |
|
| ||||||
| write('a='); | read(a); | |||||||
| write('b='); | read(b); | |||||||
| write('c='); | read(c); | |||||||
| if (ab) and | (ac) then | write('katta | a=',a); | |||||
| if (ba) and | (bc) then | write('katta | b=',b); | |||||
| if (ca) and | (cb) then | write('katta | c=',c); | |||||
| if | (a=b) | and | (a=c) | then | write('bu sonlar teng‘); | |||
| if | (a=b) | and | (c | then |
| |||
write(' c sonidan a va b son katta hamda a=b'); if (c=a) and (b then
write(' b sonidan c va a son katta hamda c=a'); if (c=b) and (a then
write('a sonidan c va b son katta hamda c=b');
end.
misol. Kiritilgan son 4 dan kichgina bo‘lsa bu sonni ko‘paiytmasini aks holda bu son 4 dan katta deb chiqaruvchi dastur tuzing.
uses crt; label 1;
var n,i,y,i1,i2:integer; begin
1:read(n);
if n
misol. Ushbu funksiya qiymatini hisoblash dastur tuzing.
sin x ,
x2 1
agar
x 1,
y
3 1. sin2 x e x ,
agar
1 x 1,
ln( x 1,8),
label 1,2,3; var s,x:real; begin
agar
x 1.
write(‘x=’); read(x); if x1 then goto 2;
s:=sqr(sin(x))+exp(ln(x)/3); goto 3; 1:s:=sin(x)/(sqr(x)+1);
goto 3; 2:s:=ln(x+1.8);
3:write(‘s=’,s); end.
Hozirgi kunda akademik litsey va kasb-hunar kollejlarida Delphi va C++ dasturlash tillari o‘qitilib kelinmoqda. Bu dasturlash tillarini qanaqangi tartibda o‘qitilish kerak degan savol tug‘iladi.
Albatta bu dasturlash tillarini ham zamonaviy ta’lim texnologiyalaridan hamda multimediali darslar yordamida tashkil etilsa samaraliroq hisoblanadi.
Shu bois biz Delphi va C++ dasturlash tillarini mavzularni o‘qitish bo‘yicha quyidagi zamonaviy ta’lim texnologiyalar va darsni olib boorish texnologiyasi bo‘yicha quyidagilarni tavsiya etamiz:
“Delphi dasturlash tilida standart komponentalar palitrasi bilan ishlash” MA’RUZA DARSINI OLIB BORISH TЕХNOLOGIYASI
| Talabalar soni: | 25 –30 talaba |
| Vaqti: | 2 soat |
| Dars shakli | Mavzu bo‘yicha ma’ruza |
| Ma’ruza rеjasi | Tugmalarning vazifalari Tugmalarning ishlatish Tugmalarni formatlash |
| Dars maqsadi: Standart komponentalar palitrasidagi tugmalarning imkoniyatlari haqidagi ma`lumotlarni talabalarning tushuncha hosil qilish. | |
| Pedagog vazifalari: | O‘quv natijalari: |
| Standart komponentalar palitrasidagi tugmalarni tushuntirish | Standart komponentalar palitrasidagi tugmalarini imkoniyatlarini yoritib berish |
| Tugmalarni tushuntirish va tavsiflash | Standart komponentalar palitrasidagi har bitta tugmaga oida misollar keltiriladi |
| Tugmalarni imkoniyatlarini ko‘rsatish | MainMenu, PopupMenu, Label, Edit, Memo, Button, Check Box , Radio Button, List Box, Combo Box, Scroll Bar, GroupBox, Radio Group, Panel tugmalarning imkoniyatlari yoritilib beriladi |
| O‘qitishning usul, tехnikasi: | Ma’ruza, suхbat, baхs-munozara muhokama qilish, fikr almashish. |
| O‘qitish vositalari: | Ma’ruza matni, tarqatma matеriallar, slaydlar | |||
| O‘qitish shakli: | Frontal | |||
| O‘qitish shart – sharoitlari: | Teхnik vositalarni qo‘llashga mo‘ljallangan auditoriya. Proеktor | |||
| Monitoring va baholash | Og‘zaki natijalari. | so‘roq, | savol-javob, | tahlil |
“Delphi dasturlash tilida standart komponentalar palitrasi bilan ishlash” MAVZUSIDAGI MA’RUZA DARSIGA TЕХNOLOGIK XARITA
| Faoliyat bosqichlari | Faoliyatining mazmuni | |
| O‘qituvchi | Talaba | |
|
1-bosqich. Kursga va mavzuga kirish (20 min) | 1. O‘quv kursining nomini aytib, kurs doirasida dastlabki umumiy tasavvurni bеradi, hamda uslubiy va tashkiliy tomonlari, tinglovchilar bilimlarini baholash mеzonlari bilan tanishtiradi. | Tinglaydilar |
| 1.2. Mazkur kurs bo‘yicha o‘rganiladigan mavzular bo‘yicha nazariy va amaliy mashg‘ulotlar, ularning uzviyligi haqida qisqacha ma’lumot bеradi. Asosiy adabiyotlarning ro‘yхati bilan tanishtiradi. | Yozadilar, tinglaydilar | |
| 1.3. Birinchi o‘quv mashg‘uloti mavzusi, maqsadi va o‘quv faoliyati natijalarini aytadi. | Mavzu nomini yozib oladilar | |
|
2-bosqich. Asosiy bo‘lim (50 min) | 2.1. Mavzu rеjasi va tayanch tushunchalar bilan tanishtiradi. | Tinglaydilar |
| 2.2. Ma’ruza rеjasining 1-3 punktlari bo‘yicha tushuntiradi, har bir punkt nihoyasida umumlashtirib boradi. Jarayon komp’yutеr slaydlarini namoyish qilish bilan olib boriladi. | Tinglaydilar. konspеkt qilib boradilar. | |
| 2.3. Tayanch iboralarga qaytiladi. Tinglovchilar ishtirokida ular yana bir bor takrorlanadi (Pinbord usulida). Mavzuga oid bo‘lmagan iboralar olib tashlanib, kеrakli tushuncha va iboralar qo‘shiladi. | Har bir tayanch tushuncha va iboralarni muhokama qiladilar, tizimlashtirib konspеkt qiladilar. | |
| 3-bosqich. Yakun- | 3.1. Mavzu bo‘yicha yakunlovchi хulosalar qiladi. Mavzu bo‘yicha | Savollar bеradilar |
| lovchi (10 min) | olingan bilimlarni qaеrda ishlatish mumkinligi ma’lum qiladi. |
|
| 3.2. Mavzu maqsadiga erishishdagi tinglovchilar faoliyati tahlil qilinadi va baholanadi. | Baholash mezonidan foyalanib | |
| 3.3. Mavzu bo‘yicha mustaqil o‘rganish uchun topshiriqlar bеradi. | Mustaqil o‘rganish uchun Topshiriqlarni yozib oladilar |
Button tugmachasi.
Button tugmachasini bosilishi natijasida kutilishi lozim bo‘lgan jarayonlar (masalan, hisoblashlar yoki bajarilishi lozim bo‘lgan operatsiyalar) bajarilishga xizmat qiladi.
Button tugmachasini ekranga joylash uchun Delphi dasturlash tilining Standart komponentalar palitrasidan “Ok” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tugmacha qo‘yilishi lozim bo‘lgan joy ajratiladi. Natijada “Button1” tugmachasi hosil qilinadi. Ikkinchi marta tanlansa, “Button2” va hokazo “ButtonN” ko‘rinishda davom etadi.
Agar siz tugmachadagi “Button1” so‘zini boshqa so‘zga almashtirmoqchi bo‘lsangiz, ob’еktlar inspеktorining “Caption” xossasidan foydalanib o‘zgartiriladi(3.3.2-rasm).
Tugmachadagi so‘zni kattartirish yoki kichiklashtirishga to‘g‘ri kelsa, ob’еktlar inspеktorining Font-{Tfon} bandi tanlanadi va bu yerdan kerakli o‘lchamlarni tanlash mumkin.
Yuqorida paydo bo‘lgan ko‘rinishdan nafaqat Button tugmachasi ustida amallar bajaribgina qolmasdan, boshqa tugmalar ustida ham bajarish, shu bilan bir qatorda dasturlash maydonchasiga turli xil bezaklar berishda ham foydalanishimiz mumkin.
Demak, Button tugmachasi bosilishi natijasida kutilishi lozim bo‘lgan jarayonlar bajarilishga xizmat qilar ekan. Biz bu tugmachaga doir bir nechta misollar ko‘rib chiqamiz.
1-misol. Dasturdan chiqish buyrug‘ini bajaruvchi dastur tuzing.
Standard komponentalar palitrasidan “Button1” tugmasini hosil qilamiz va sichqoncha tugmasini ikki marta bosgan holda “Until1.pas” maydoniga “form1.close” buyrug‘ini kiritamiz (3.3.3-rasm).
Yuqoridagi topshiriq bajarilgandan so‘ng, bu dasturni birinchi marotaba “File→Save As”, Ikkinchi marotaba “File→Save project As” ketma-ketlikni bajaramiz va dasturdan chiqib, “project1” faylni qayta yuklaymiz. Natijada quyidagi ko‘rinish paydo bo‘ladi(3.3.4-rasm).
Agar siz tugmacha ustiga sichqoncha chap tugmasini birmarta bossangiz hosil qilingan dasturdan chiqishga muyassar bo‘lasiz.
Label komponentasi nafaqat ma’lumotlarni ekranga joylashtirish uchun xizmat qiladi, balki dastur natijalarini chiqarishda ham ishlatish mumkin. Buning uchun dasturda Labeln.caption:='Dastur natijasi'; buyrug‘i berilishi lozim.
Label tugmachasini Forma oynasiga joylashtirish uchun Delphi dasturlash tilining Standart komponentalar palitrasidan “A” piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tugmacha qo‘yilishi lozim bo‘lgan joy ajratiladi. Natijada “Label1” tugmachasi hosil qilinadi. Ikkinchi marta tanlansa “Label2” va hokazo “LabelN” ko‘rinishda davom etadi.
misol. Label tugmasi yordamida ma’lumotlarni ekranga joylashtirish va dastur natijasini chiqarish yo‘lini ko‘rib chiqamiz.
Standart komponentalar palitrasidan “A” piktogrammasi belgilaymiz va forma ustiga sichqoncha tugmachasini bosgan holda tugmacha qo‘yilishi lozim bo‘lgan joy ajratiladi. Natijada “Label1” komponentasi hosil bo‘ladi, ob’еktlar inspеktorining “Caption” bandidagi “Label1” so‘zini o‘chirib “Dastur tuzishni o‘rganamiz” jumlasini kiritamiz.
Ikkinchi marotaba xuddi shu yo‘lni tanlab, “Label2” komponentasini hosil qilamiz.
“Button1” tugmasini hosil qilib, “Caption” bandiga “Hisoblash” jumlasini kiritamiz.
Button1(hisoblash) bandiga sichqoncha tugmachasi ikki marta bosilib dasturlash maydonchasiga “Label2.caption:= ‘Salom yoshlar:’” jumlasini kiritamiz.
Yuqoridagi amallar ketma-ketligi kiritilgandan so‘ng “F9” tugmasini bosamiz. Natijada quyidagi ko‘rinish hosil bo‘ladi.
Edit (kiritish) qatori.
Edit kiritish qatori matnni bir qatordan kiritish va uni tahrirlash uchun ishlatilibgina qolmasdan balki ma’lumotlarni chiqarishda ham xizmat qiladi. Matn kiritish va chiqarish qatorini ekranga joylash uchun Delphining Standart komponentalar palitrasidan “ab” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda matn kiritilishi lozim bo‘lgan joy ajratiladi. Natijada “Edit1” matn kiritish maydoni hosil qilinadi. Matnni kiritish dastur ishchi holatiga o‘tilganda bajariladi.
misol. “Edit” matn kiritish va chiqarish qatoridan foydalanishni ko‘rib chiqamiz.
Standard komponentalar palitrasidan “ab” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “Edit1”matn kiritilishi va ikkinchi marotaba “Edit2” chiqarilishi lozim bo‘lgan joy ajratiladi.
Standard komponentalar palitrasidan “Button1” tugmasini hosil qilamiz.
Natijada hosil bo‘lgan “Button1” tugmasi ustiga sichqoncha tugmachasini ikki marta bosib, dasturlash maydonchasini hosil qilamiz.
Demak, hosil bo‘lgan maydonchaga quyidagi dasturni kiritamiz:
begin m:=strtoint(edit1.Text); edit2.text:=edit2.text+'Kiritilgan son='+inttostr(m); end; end.
3.2.8-rasm. Edit tugmachasidan foydalanish.
Dastur bajarilish uchun “F9” tugmasini tanlaymiz.
Shundan so‘ng, hosil bo‘lgan katakchaga (Edit1) maydoniga 6 sonini kiritamiz. Natijada “Edit2” maydonida “Kiritilgan son=6” ko‘rinish paydo bo‘ladi.
CheckBox tugmachasidan foydalanish.
CheckBox – fоrmаdа o‘chirish yoki belgilash vazifasini hosil qilish uchun xizmat qiladi. O‘chirish yoki belgilash vazifasini hosil qilish tugmachasini ekranga joylash uchun Delphining Standard komponentalar palitrasidan
piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda o‘chirish yoki belgilash lozim bo‘lgan joy ajratiladi. Natijada “CheckBox1” o‘chirish yoki belgilash maydoni hosil qilinadi. O‘chirish yoki belgilash dastur ishchi holatiga o‘tilganda bajariladi.
misol. “CheckBox1” tugmasidan o‘chirish yoki belgilashda foydalanish.
Standard komponentalar palitrasidan “ab” piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “Edit1”matn kiritilishi lozim bo‘lgan joy ajratiladi.
Standard komponentalar palitrasidan
piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “CheckBox1” tugmachasini hosil qilamiz.
Standard komponentalar palitrasidan “Label1” va “Button1” tugmalarini hosil qilamiz.
Demak, hosil bo‘lgan “Button1” tugmasi ustiga sichqoncha tugmachasini ikki marta bosib dasturlash maydonchasini hosil qilamiz.
Dasturlash maydonchaga quyidagi dasturni kiritamiz:
a:=strtofloat(edit1.Text); s:=a;
if CheckBox1.Checked then s:= s*2; label1.Caption:='s='+floattostr(s); end; end.
3.2.10-rasm. CheckBox tugmachasidan foydalanish
Dasturning bajarilishini amalga oshirish uchun “F9” tugmasini tanlaymiz.
Hosil bo‘lgan katakchaga (Edit1) maydoniga 5 sonini kiritamiz va “Button1”
tugmachasini tanlasak oynada 5 soni paydo bo‘ladi.
Agar Edit maydoniga 5 sonini kiritib “CheckBox1” tugmachasiga belgilash kiritsak oynada 10 soni paydo bo‘ladi.
GroupBox tugmachasidan foydalanish.
GroupBox – fоrmаdа bir nechta tugmalarni bir-biri bilan bog‘lashga xizmat qiladi. Tugmalar bilan bog‘lanish hosil qilish uchun, Delphining Standard komponentalar palitrasidan piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda bog‘lanish hosil qilish joyi ajratiladi. Natijada “GroupBox1” bog‘lanish hosil qiluvchi maydoni hosil qilinadi.
ScrollBar tugmachasidan foydalanish.
ScrollBar – fоrmаdа siljitish vоsitаsini yaratishda uchun xizmat qiladi. Siljitish vоsitаsini forma oynasiga joylashtirish uchun Delphining Standard komponentalar palitrasidan
piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tanlash, lozim bo‘lgan joy ajratiladi. Natijada “ScrollBar1” siljitish tugmachasi hosil qilinadi. Siljitish dastur ishchi holatiga o‘tilganda bajariladi.
misol. “ScrollBar” tugmachasidan foydalanish.
Standard komponentalar palitrasidan
piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “ScrollBar1” maydonini hosil qilamiz.
Standard komponentalar palitrasidan “Label1” tugmasini hosil qilamiz.
Ob’еktlar inspеktorining “Caption” xossasidan “Label1” yozuvi o‘rniga “0”
sonini kiritamiz.
“RadioButton1” tugmachasini ustiga sichqoncha tugmachasini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz: Label1.Caption:=IntToStr(ScrollBar1.Position);
Amallar ketma-ketligi bajarilishi uchun “F9” tugmasini tanlaymiz.
7. RadioButton tugmachasidan foydalanish.
RadioButton – bir nеchtа vаriаntdаn birоrtаsini tаnlаsh imkoniyatini yaratish uchun xizmat qiladi. Vаriаntdаn birоrtаsini tаnlаsh tugmachasini forma oynasiga joylashtirish uchun Delphining Standard komponentalar palitrasidan piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tanlash lozim bo‘lgan joy ajratiladi. Natijada “RadioButton1” tanlash tugmachasi hosil qilinadi. Tanlash dastur ishchi holatiga o‘tilganda bajariladi.
misol. “RadioButton” tugmachasidan foydalanish.
Standard komponentalar palitrasidan piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “GroupBox1” maydonini hosil qilamiz.
Standard komponentalar palitrasidan piktogrammasi belgilanib “GroupBox1” forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “RadioButton1” va ikkinchi marotaba “RadioButton2” tanlash lozim bo‘lgan joy ajratiladi.
Standard komponentalar palitrasidan “Label1” tugmasini hosil qilamiz.
Ob’еktlar inspеktorining “Caption” xossasidan “Label1” yozuvi o‘rniga
“Dastur ” so‘zini kiritamiz.
“RadioButton1” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz: Label1.Enabled := False;
“RadioButton2” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz: Label1.Enabled := True;
3.2.15-rasm. Radio Button tugmachasidan foydalanish
Dastur bajarilishini ta’minlash uchun “F9” tugmasini bosamiz.
Agar siz “RadioButton2” tugmasini tanlasangiz dastur so‘zi faollashadi va aksincha “RadioButton1” tanlasangiz dastur xira holga keladi.
RadioGroup – fоrmаdа bir nеchtа vаriаntdаn birоrtаsi tаnlаnаdigаn ro‘yxаtni tuzish uchun xizmat qiladi. Tаnlаsh tugmachasini forma oynasiga joylashtirish uchun Delphining Standard komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tanlash lozim bo‘lgan joy ajratiladi. Natijada “RadioGroup1”
tanlash tugmachasi hosil qilinadi. Tanlash dastur ishchi holatiga o‘tilganda bajariladi.
misol. “RadioGroup” tugmachasidan foydalanish.
Standard komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “RadioGroup1” maydonini hosil qilamiz.
Standard komponentalar palitrasidan “Label1” , “Button1” va “Edit1”
tugmalarini hosil qilamiz.
“RadioGroup1” maydoniga sichqoncha tugmachasini bir marta bosamiz.
Ob’еktlar inspеktorining “Items” xossasidan “TStrings” yozuvi ustiga sichqoncha tugmachasini bir marta bosamiz natijada quyidagi rasm paydo bo‘ladi.
3.2.17-rasm. RadioGroup tugmachasidan foydalanish
Hosil bo‘lgan maydonga “Nol, Bir, Ikki, Uch” yozuvlarini kiritamiz.
“RadioGroup1” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz: Label1.Caption:=IntToStr(RadioGroup1.ItemIndex);
“Button1” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz: Edit1.Text:=IntToStr(RadioGroup1.ItemIndex);
Yuqoridagi amallar ketma-ketligi bajarilishi uchun “F9” tugmasini tanlaymiz.
Dastur ishchi holatiga o‘tilganda so‘ng, to‘rtinchi belgini tanlaymiz va Button
tugmachasini tanlasak, Edit qatorida uch soni paydo bo‘ladi.
9. Panel tugmachasidan foydalanish.
Panel – fоrmаdа pаnеlni yaratish uchun xizmat qiladi. Siljitish vоsitаsini froma oynasiga joylashtirish uchun Delphining Standard komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda tanlash lozim bo‘lgan joy ajratiladi. Natijada “Panel1” tugmachasi hosil qilinadi.
misol. “Panel” tugmachasidan foydalanish.
Standard komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda “Panel1” maydonini hosil qilamiz.
Standard komponentalar palitrasidan “Edit1” tugmasini hosil qilamiz.
Panel1 maydoni ustiga “Button1” va “Button2” tugmalarini hosil qilamiz.
“Button1” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz:
“Button2” tugmachasini ustiga sichqoncha tugmacahsini ketma-ket ikki marta bosamiz va dasturlash maydonchasiga quyidagi dasturni kiritamiz:
3.2.20-rasm. Panel tugmachasidan foydalanish
Dasturlash maydonchasidagi amallar ketma-ketligi bajarilishi uchun “F9”
tugmasini tanlaymiz.
Hosil bo‘lgan dasturda “Button1” tugmachasini bir marta bosangiz dasturdan chiqasiz. Agar “Button2” tugmachasini tanlasangiz Edit qatoriga kiritilgan matinni o‘chiradi.
MainMenu va PopupMenu tugmachalari menyu yaratishda foydalaniladi.
PopupMenu tugmachasi ustun bo‘yicha menyu yaratish uchun mo‘ljalangan
bo‘lsa, MainMenu tugmachasi esa ustun va satrlar bo‘yicha menyular yaratishda foydalaniladi. Menyu yaratish tugmachalaridan foydalanishimiz uchun, Dastur oynasning Standard komponentalar palitrasidan yoki
piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda joylashtiriladi.
misol. “MainMenu” tugmasi yordamida dasturdan chiqish menyusini yaratish.
Standard komponentalar palitrasidan “MainMenu” tugmasini tanlaymiz va dastur oynasida paydo qilamiz.
Demak, hosil bo‘lgan tugma ustiga sichqoncha tugmasini ketma-ket ikki marta bosamiz. Natijada “Form1 MainMenu1” maydoni paydo bo‘ladi.
3.2.22-rasm. MainMenu tugmachasidan foydalanish
Ob’еktlar inspеktorining Caption bandiga “Fayl” bandini kiritamiz.
Fayl menyusiga bir nechta bandlarni kiritishingiz mumkin. Misol tariqasida “saqlash”, “boshqa oynaga o‘tish”, “Chiqish”. Fayl menyusining gorizantal yo‘nalishi bo‘yicha ham yorliqlar yaratish mumkin. Masalan: “Ko‘rinish”, “Ma’lumot”.
3.2.23-rasm. MainMenu tugmachasidan foydalanish
Forma oynasining menyu bo‘limlarining har bir bandga kerakli dasturlar tuzib foydalanish mumkin. “Chiqish” bandiga dasturdan chiquvchi dasturini tuzamiz.
Sichqoncha tugmachasini “Chiqish” bandiga ketma-ket ikki marta bosamiz va dasturlash oynasiga o‘tamiz.
Dasturlash oynasiga quyidagi dasturni kiritamiz.
Ma’lumotlarni kompyuter xotirasiga saqlaymiz.
File-Save Project Ass..
9. “F9” tugmasini tanlaymiz.
Yuqoridagi ketma-ketlik amallari bajarilgandan so‘ng, fayl menyusning “Chiqish” bandiga sichqoncha tugmachasini bir marotaba bosamiz va dasturdan chiqishimiz mumkin.
11. Memo tugmachalarida foydalanish Memo tugmachasi matnlarni bir necha qator qilib chiqarish uchun ishlatiladi. Matnlarni bir necha qator qilib chiqarish uchun, dastur oynasining Standart komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda joylashtiriladi.
Natijada “Memo1” matn chiqarish maydoni hosil qilinadi. Bu matn chiqarish maydoni dasturda natijalarni chiqarishda qo‘l keladi. Natijani chiqarishda u dastur ichida quyidagicha ishlatiladi.
Memo1.Lines.add('Yechim='+S); Agar biron bir masalani son qiymatini chiqarish uchun esa quyidagicha
Memo1.Lines.add('Yechim='+floattostr(s));Memo maydonini tozalash uchun esa natijani chiqarishdan oldin modulda
Memo1.Clear; buyrug‘ini berish bilan amalga oshiriladi.
misol. Haftada ish va dam olish kunlarini chiqaruvchi dastur tuzing.
Bu masalani dasturini tuzishimiz uchun, bitta “Button” va “Memo” tugmachasidan foydalanamiz.
«Button1» va «Memo1» tugmachalarini dasturlash maydoniga hosil qilamiz.
Button tugmachasini ustiga sichqoncha tugmachasini ketma-ket ikki marta bosamiz.
Hosil bo‘lgan dasturlash maydonchasiga quyidagi dasturni kiritamiz.
Memo1.Clear; Memo1.Lines.add('Ish kunlari'); Memo1.Lines.add('Dushanba'); Memo1.Lines.add('Seshanba'); Memo1.Lines.add('Chorshanba');
Memo1.Lines.add('Payshanba'); Memo1.Lines.add('Juma'); Memo1.Lines.add('Dam olish kuni'); Memo1.Lines.add('Shanba'); Memo1.Lines.add('Yakshanba'); end;end.
“F9” tugmasini tanlaymiz.
Yuqoridagi bosqichlardan so‘ng, hisoblash tugmachasini bosamiz. Natijada quyidagi oyna paydo bo‘ladi.
List Box tugmachasi fоrmаdа bir nеchtа sаtrlаr ro‘yxаtini tuzish imkоnini yaratadi. Sаtrlаr ro‘yxаtini tuzish tugmachasini hosil qilish uchun dastur oynasining Standart komponentalar palitrasidan piktogrammasi belgilanib forma ustiga kelinadi va sichqoncha tugmachasini bosgan holda joylashtiriladi. Natijada “List Box1” sаtrlаr ro‘yxаtini tuzish imkоnini yaratiladi. Sаtrlаr ro‘yxаtini tuzish dastur ishchi holatiga o‘tilganda bajariladi.
misol. “List Box1” sаtrlаr ro‘yxаtini tuzish dasturini ko‘rib chiqamiz.
Standart komponentalar palitrasidan “Button1”, “Edit1” va “List Box1”
tugmachalarini hosil qilamiz.
Ob’еktlar inspеktoridan “Button1” matn o‘rniga “O‘tkazish” matniga almashtiring.
Dastur maydoni ustiga sichqoncha tugmasini ketma-ket ikki marta bosamiz va dasturlash maydochasiga o‘tamiz.
Dasturlash maydoniga ListBox1.Clear; kodni kiritamiz.
“Button1” tugmachasini ikki marta bosamiz va dasturlash maydonchasiga
ListBox1.Items.Add(Edit1.text); Edit1.SetFocus; end;
dastur kodini kiritamiz.
Maydonda dastur kodining umumiy ko‘rinishi quyidagicha bo‘ladi:
procedure TForm1.FormCreate(Sender: TObject); beginListBox1.Clear; end;
procedure TForm1.Button1Click(Sender: TObject); begin
ListBox1.Items.Add(Edit1.text); Edit1.SetFocus; end; end.
“F9” tugmasini tanlaymiz.
Hosil bo‘lgan dasturda siz Edit qatoriga qiymat kiritib o‘tkazish tugmasini tanlasangiz qiymatlar ListBox maydonida namoyon bo‘ladi.
13. ComboBox tugmachasi. ComboBox tugmachasi fоrmаdа bir nеchtа sаtrlаr ro‘yxаtini tuzish imkоnini yaratad. Sаtrlаr ro‘yxаtini tuzish tugmachasini hosil qilish uchun dastur oynasning Standard komponentalar palitrasidan piktogrammasi belgilanib, forma ustiga
kelinadi va sichqoncha tugmachasini bosgan holda joylashtiriladi. Natijada “ComboBox1” sаtrlаr ro‘yxаtini tuzish imkоnini yaratiladi. Sаtrlаr ro‘yxаtini tuzish dastur ishchi holatiga o‘tilganda bajariladi.
misol. “ComboBox1” sаtrlаr ro‘yxаtini tuzish dasturini ko‘rib chiqamiz.
Standard komponentalar palitrasidan “Button1” va “ComboBox1”
tugmachalarini hosil qilamiz.
Ob’еktlar inspеktoridan “Button1” matn o‘rniga “O‘tkazish” matniga almashtiramiz.
Dastur maydoni ustiga sichqoncha tugmasini ketma-ket ikki marta bosamiz va dasturlash maydochasiga o‘tamiz.
Dasturlash maydoniga ComboBox1.Clear; kodni kiritamiz.
“Button1” tugmachasini ikki marta bosamiz va dasturlash maydonchasiga
dastur kodini kiritamiz.
Maydonda dastur kodining umumiy ko‘rinishi quyidagicha bo‘ladi:
procedure TForm1.Button1Click(Sender: TObject); beginComboBox1.Items.Add(ComboBox1.text); ComboBox1.SetFocus; end;
procedure TForm1.FormCreate(Sender: TObject); begin ComboBox1.Clear; end; end.
“F9” tugmasini tanlaymiz.
Hosil bo‘lgan ko‘rinishga ma’lumot kiritib o‘tkazish tugmasini tanlasangiz sonlar ketma-ketligi paydo bo‘ladi.
Misol. Bir forma oynasidan ikkinchisiga yoki ikkinchi forma oynasidan birinchi forma oynasiga o‘tuvchi dastur tuzing.
Bu masalani ikkinchi usul yordamida amalga oshirishimiz mumkin:
Button tugmasi;
MainMenu tugmasi.
Masalani ikkinchi usul yordamida yechadigan bo‘lsak, quyidagi bosqichlar yordamida amalga oshiramiz.
Menyular satridan form1 va form2 oynalarni hosil qilamiz.
Form1 oynasiga Standard komponentalar palitrasidan “MainMenu” tugmasini tanlaymiz va dastur oynasida paydo qilamiz.
Hosil bo‘lgan tugma ustiga sichqoncha tugmasini ketma-ket ikki marta bosamiz. Natijada “Form1 MainMenu1” maydoni paydo bo‘ladi.
Ob’еktlar inspеktori “Caption” qatoriga “Form2 ga o‘tish” jumlasini kiritamiz.
3.2.31-rasm. Bir oynadan ikkinchi oynaga o‘tish
Demak, hosil bo‘lgan ikkinchi qatorga “O‘tish” jumlasini kiritamiz.
So‘ng “O‘tish” tugmasini ustiga ketma-ket ikki marta bosamiz.
Dasturlash maydoniga quyidagi dasturni kiritamiz:
Dasturni biror nom bilan kompyuter xotirasiga saqlaymiz va dasturdan chiqib, tuzilgan dasturni qayta yuklaymiz.
3.2.32-rasm. Bir oynadan ikkinchi oynaga o‘tish
Agar siz Form2 dan Form1 ga o‘tuvchi dastur tuzmoqchi bo‘lsangiz, Yuqoridagi topshiriqlarni form2 oynasida bajarasiz va quyidagi dasturni kiritasiz: Begin
Form2.visible:=false; Form1.visible:=true; End;
“C++ dasturlash tilida o‘zgarmaslar, o‘zgaruvchilar va standart funksiyalar” ma’ruzasini olib borish texnologiyasi
MA’RUZA DARSINI OLIB BORISH TЕХNOLOGIYASI
Mavzu. C++ dasturlash tilida o‘zgarmaslar, o‘zgaruvchilar va standart funksiyalar (ma’ruza – 2 soat.)
| Mashg‘ulot shakli | Informatsion mavzu bo‘yicha ma`ruza |
| Ma`ruza rejasi | O‘zgarmaslar va ularning tasnifi. O‘zgarivchilar va ularning turlari. C tilining standart funksiyalari Nostandart funksiyalar ustida bajariladigan amallar. |
| O‘quv mashg‘ulotining maqsadi | Mavzu bo‘yicha batafsil tushunchaga ega bo‘lish. |
| Tayanch tushuncha va iboralar | Standart fuksiyalar, qo‘zg‘aluvchi va qo‘zg‘almas nuqtali o‘zgarmaslar, o‘zgaruvchilarning turlari |
| Pedagogik vazifalar: | O‘quv faoliyati natijalari: |
| O‘zgarmaslar va ularning tuzilishi, vazifalari bilan tanishtirish; | O‘zgarmaslar va ularning tuzilishi, vazifalari aytib bera oladilar; |
| O‘zgaruvchilar va ularning turlari, o‘zgaruvchilarni e’lon qilish usullari | O‘zgaruvchilar va ularning turlari, o‘zgaruvchilarni e’lon qilish usullari, shakllarini aytib bera oladilar; |
| Standart funksiyalarning umumiy tuzilishi bilan tanishtiradi; | Standart funksiyalarning umumiy tuzilishi bilan tanishtiradilar va ularni qo‘llash usullarini aytib beradilar. |
| O‘qitish vositalari | ma’ruza matni, kompyuter slaydlari, doska |
| O‘qitish usullari | ma’ruza, namoyish, blits-so‘rov, “aqliy hujum” usuli |
| O‘qitish shakllari | frontal, kollektiv ish |
| O‘qitish sharoiti | Texnik vositalar (komp’yuter, mul’-timedia proektor) bilan ta`minlangan, guruhlarda ishlash usulini qo‘llash mumkin bo‘lgan auditoriya. |
| Monitoring va baholash | Suhbat, kuzatish, savol-javob |
| Ish bosqich- lari |
O‘qituvchi faoliyatining mazmuni |
Izoh | Tinglovchi faoliyatining mazmuni |
|
1- bosqich.
O‘zgarm aslar va ularning tasnifi. (20 min) | 1.1. O‘zgarmaslarning tuzilishi, to‘g‘risida ma`lumotga ega bo‘lishadi. Mavzu bo‘yicha joriy, oraliq va yakuniy nazorat shakllari va reyting ballari bilan tanishtiradi | ilova | Tinglaydilar |
| 1.2. Mazkur kurs bo‘yicha o‘rgani- ladigan mavzular bo‘yicha nazariy va amaliy mashg‘ulotlar, ularning uzviyligi haqida qisqacha ma`lumot beradi. Asosiy adabiyotlarning ro‘yxati bilan tanishtiradi. O‘quv dasturi va tarqatma materialni tinglovchilarga tarqatadi. |
| Yozadilar, tinglaydilar | |
|
| 1.3. Birinchi o‘quv mashg‘uloti mavzusi, maqsadi va o‘quv faoliyati natijalarini aytadi. |
| Mavzu nomini yozib oladilar |
|
| 1.4. Blits-so‘rov usulida mavzu bo‘yicha ma`lum bo‘lgan tushunchalarni sanab berishni so‘raydi | ilova | Tushunchalarga javob beradilar |
|
| 2.1. Mavzu rejasi va tayanch tushunchalar bilan tanishtiradi. |
| Tinglaydilar |
|
2 - bosqich.
Asosiy bo‘lim | 2.2. Ma’ruza rejasining 1-3 punktlari bo‘yicha tushuntiradi, har bir punkt nihoyasida umumlashtirib boradi. Jarayon kompyuter slaydlarini namoyish qilish bilan olib boriladi. | ilova | Tinglaydilar. Tarqatma materiallar to‘plamida keltirilmagan qirralarini konspekt qilib boradilar. |
|
(50 min) | 2.3. Tayanch iboralarga qaytiladi. Tinglovchilar ishtirokida ular yana bir bor takrorlanadi (“Aqliy hujum” usulida). Mavzuga oid bo‘lmagan iboralar olib tashlanib, kerakli tushuncha va iboralar qo‘shiladi. | ilova | Har bir tayanch tushuncha va iboralarni muhoka- ma qiladilar. Barcha ma`lumotni tizimlashtiradilar. Konspekt qiladilar. |
|
3- bosqich. | 3.1. Mavzu bo‘yicha yakunlovchi xulosalar qiladi. Mavzu bo‘yicha olingan bilimlarni qayerda ishlatish mumkinligi ma`lum qiladi. |
| Savollar beradilar |
| Yakun- lovchi
(10 min) | 3.2. Mavzu maqsadiga erishishdagi tinglovchilar faoliyati tahlil qilinadi va baholanadi. |
|
|
| 3.3. Mavzu bo‘yicha mustaqil o‘rganish uchun topshiriqlar beradi. | ilova | Topshiriqni yozib oladilar | |
| 3.4. Mavzu bo‘yicha bilimlarni chu- qurlashtirish uchun adabiyotlar ro‘yxatini beradi. |
| Yozadilar | |
| 3.5. Keyingi mazvu bo‘yicha tayyorlanib kelish uchun savollar beradi. | ilova | Yozadilar |
C++ dasturlash tilida o‘zgarmaslar, o‘zgaruvchilar va standart funksiyalar
C++ algoritmik tilining alifbosi quyidagilardan iborat:
katta va kichik lotin harflari;
0 dan 9 gacha raqamlari;
maxsus belgilar (+,-,*,/,=,, oladi.
C++ tilida so‘z deb bir nechta belgilar ketma – ketligi tushuniladi. Xizmatchi so‘z deb C++ tilidagi standart nom tushuniladi. Bu nom maxsus ma'noni anglatadi va uni ma'lumotlarga berib bo‘lmaydi. Masalan: int, float, for, while va hokazo.
C++ tilida ma'lumotlarning elementlari bo‘lib o‘zgaruvchilar, o‘zgarmaslar, izohlar xizmat qiladi.
O‘zgaruvchi. Xotiraning nomlangan qismi bolib, o‘zida ma'lum bir toifadagi qiymatlarni saqlaydi. O‘zgaruvchining nomi va qiymati bo‘ladi. O‘zgaruvchining nomi orqali qiymat saqlanayotgan xotira qismiga murojaat qilinadi. Programma ishlashi jarayonida o‘zgaruvchining qiymatini o‘zgartirish mumkin. Har qanday o‘zgaruvchini ishlatishdan oldin, uni e'lon qilish lozim.
Quyida butun sonlardan foydalanish uchun b, haqiqiy sonlardan foydalanish uchun h.k. o‘zgaruvchisi e'lon qilingan:
int b; float h;
O‘zgarmaslar (const)Hisoblash jarayonida qiymatini o‘zgartirmaydigan kattaliklarga aytiladi.
float const pi = 3.14;
Izohlar. Programmaning ma'lum qismini tavsiflash uchun ishlatiladi va bu qatorda hech qanday amal bajarilmaydi, ya'ni programmaning biror qismini yaxshiroq tushuntirish uchun xizmat qiladi. Izoh "/*" va "*/" simvollari orasida beriladi.
/* Bu yerga izoh yoziladi. */
Bundan tashqari bir satrli izohlardan ham foydalanish mumkin. Buning uchun izoh boshiga "//" belgisi qo‘yiladi.
Operator. Tilning yakunlangan jumlasi hisoblanadi va ma'lumolar taxlilining tugallangan bosqichini ifodalaydi. Operatorlar nuqtali vergul “;” bilan ajratiladi. Ya'ni “;” operatorning tugallanganligini bildiradi. C++ da operatorlar progammada keltirilgan ketma - ketlikda bajariladi.
Identifikator. Programmist tomonidan programma elementlari (funksiya, o‘zgaruvchilar, o‘zgarmaslar …) uchun ixtiyoriy tanlangan nom.
Identifikator tanlaganda quyidagilarga ahamiyat berish kerak:
Identifikator lotin harflaridan boshlanishi shart;
Ikkinchi simvoldan boshlab raqamlardan foydalanish mumkin;
C++ da katta kichik harflar farq qiladi. Ya'ni quyidagilarning har biri alohida identifikator hisoblanadi: KATTA, katta, KaTTa, kAttA, Katta, KattA, ...
Probel C++ da so‘zlarni ajratish uchun ishlatiladi. Shuning uchun identifikatorda probeldan foydalanib bo‘lmaydi;
Xizmatchi (int, float, for, while kabi) so‘zlardan identifikator sifatida foydalanib bo‘lmaydi.
O‘zgaruvchilarni e'lon qilish. Programmada ishlatilgan barcha o‘zgaruvchilarni qaysi toifaga tegishli ekanligini e’lon qilish kerak. Ma’lulotlarni e’lon qilishning umumiy ko‘rinishi quyidagicha:
toifa_nomi o‘zgaruvchi;
Agar bir nechta o‘zgaruvchi bir toifaga mansub bo‘lsa, ularni vergul bilan ajratib berish mumkin.
Butun sonlarni ifodalash uchun int va haqiqiy sonlarni ifodalash uchun float xizmatchi so‘zlaridan foydalaniladi. Bu ma'ruzada shu 2 tasini bilish bizga kifoya qiladi. Keyingi mavzuda butun va haqiqiy sonlar haqida batafsil gaplashamiz.
int x,y; // butun toifadagi o‘zgaruvchilarni e’lon qilish float a,b,c; // haqiaiy toifadagi o‘zgaruvchilar e’lon qilish
| T/r | Matematik ko‘rinishi | C++ dasturida yozilishi |
| 1. | | | | Abs(x) |
| 2. |
| Pow(x,2) |
| 3. |
| Pow(a,k) |
| 4. |
√ | Sqrt(x) |
| 5. |
√ | Exp(x*log(x)/n) |
| 6. | lnx | Log(x) |
| 7. | Cosx | Cos(x) |
| 8. | tgx | Sin(x)/cos(x) |
| 9. |
| log(x)/log(a) |
| 10. | 2,3 | 2.3 |
1-misol. Quyidagi berilgan matematik masalani C++ dasturlash tilida yozing:
√
Yechilishi: pow(x,2)/2.3 –exp(log(x)/n)+sin(x).
Ko‘pgina mualliflar informatikani o‘qitishda yangilarni ishlatishni strategik muhimligini ta’kidlaydilar. Ta’limning kompyuterizatsiyalash muammolariga bag‘ishlangan maxsus konferensiyalar tashkil etilmoqda. Ta’limda multimedia vositalarini qo‘llash eng muhimdir.
Multimedia - bu multimedia axborot texnologiya vositalari bo‘lib (MIT) kompyuter va foydalanuvchi o‘rtasida ma’lumot almashishning turli kanallarini bir vaqtda ishlatishga yo‘l ochib beradi. Chunki multimedia o‘qitish jarayonida ma’lumotlarning barcha kanallarni ishga soladi, xotiraning barcha turlarini maksimal darajada ishlatadi.
Kompyuter o‘qitishiga bag‘ishlangan mavzular bo‘yicha maqolalar soni nashriyotda ortib bormoqda, ilmiy jamoalar axborot texnologiya va ta’lim jarayonini o‘zaro ta’sirini ko‘rib chiqishmoqda.
Kompyuterni o‘qitish vositasi yoki interfaol ekspert sifatida ishlatishga bag‘ishlangan taqiqotlar olib borilmoqda. Ta’limda ko‘p maktablar multimedia vositalari bilan jihozlangan kompyuterning oxirgi avlodlarini qo‘llashmoqda ta’limda kompyuterdan foydalanish qimmatbaholigiga qaramay aslida ma’lumotlarning uzatilish sifati uning yangilanish va qo‘shimchalar kiritilishi arzonligi kompterni kutubxona, audio-video sifatida qo‘llash, shubhasiz boshlang‘ich harajatlarni barchasini o‘n barobar qoplaydi.
Entuziaet - o‘qituvchilar multimedia vositalari yordamida informatika darslarni mustaqil ishlab chiqib dars o‘tishmoqda ammo maktabga informatikaga o‘qitishga multimedia vositalarini asoslangan, samarali metodika zarurdir, chunki u zamonaviy informatika sohasidagi bilimlardagi muammoni hal etish kerak.
Dasturlash asoslari fani o‘qituvchilari o‘z amaliyotida (faoliyatida) umumiy dasturlash tillarini o‘qitishda darslarni ko‘rgazmalilik va yetkaza olish prinsiplarini amalga oshrish muammolariga duch keladi. Bu muammolar sababi bo‘lib, tasviriy ko‘rgazmalilikning an’anaviy vositalarini deyarli samarali emasligi ularning past dinamikligi kuzatiladi, bu esa o‘quvchilar tomonidan materialni yaxshi o‘zlashtirishga xalaqit beradi.
Ta’lim muassasalari rivojlanishi uchun o‘qitishning insonparvarlashtirish va differensiallash xususiyatlari xosdir. Multimedia vositalari bilan o‘quv jarayoni yetarlicha jihozlanganini o‘qitishning indivudiallashtirishini kuchaytirishga olib keladi.
Boshqa tomondan, dasturlash asoslari fanini uzluksiz rivojlanishi bilan birga ilmiylik prinsipi dasturlash ta’limini mazmunini doimiy tahlildan o‘tkazishini talab qiladi. Bu masalani tez va ososn yechish uchun ma’lumotlarni elektron tashuvchilari va zamonaviy telekommunikatsiya vositalarini qo‘llash maqsadga muvofiqdir.
Multimediali o‘qitish prinsiplari ko‘pincha dasturlashtirilgan o‘qitish nazariyasidan o‘zlashtirilgan, shuning uchun bu muammoni kengroq ko‘lamda ko‘rib chiqamiz. Dasturlashtirilgan o‘qitish g‘oyasi AQSHda 50-yillarda paydo bo‘lgan uning muallifi professor B.F Skinper (psixologiyani o‘qitish sohasi bo‘yicha mutaxassis) o‘quv jarayonini boshqarish samaradorligini o‘rgatish jarayoni haqidagi ilmiy ma’lumotlarga to‘liq muvofiqlikda ko‘rish orqali taklifni kiritgan. Bizning mamlakatimizda dasturlashtirilgan o‘qitish bo‘yicha birinchi ilmiy ishlar A.A.Abduqodirov, N.I.Taylakov, Q.T.Olimovlar tomonidan ma’lum qilingan.
Dasturlashtirilgan o‘qitish g‘oyalari sobiq ittifoq pedagoglari va olimlarini jalb qilgan. Bu g‘oyalarda ular ittifoq maktabining oldida mavjud bo‘lgan dolzarb muammolarni yechishda potensial imkoniyatlarni ko‘rishgan. Bahorda 1962 yili YUNESKO yig‘ilishida dasturlashtirilgan o‘qitish g‘oyalari variantida amerikalik psixolog va pedagoglarning g‘oyalari, qarashlari va tajribasi ustun bo‘lgan sobiq ittifoq mamlakatida dasturlashtirilgan o‘qitishning yangi pedagogik g‘oyalari paydo bo‘lishi sovet kibernetikasi rivojlanishi boshlanishi bilan bir vaqtda bo‘lib qoldi va u pedagogikaga kibernetika, mantiq, statistika g‘oyalari va metodlari kirib kelishi bilan bog‘liq bo‘lgan. Ular butun pedagogik jarayonni boshqara oladigan tizim nuqtai nazaridan qarashga yo‘l ochib berdilar va shu bilan birga uning eng nozik tomonlarini aniqlashga yordam berdi. O‘qitishning optimallashtirish muammolari bo‘yicha tadqiqotlar o‘quv jarayoni tahlilining aniq statistik metodlari pedagogikada keng qo‘llanishiga olib keldi. Bu metodlar o‘qituvchi va o‘quvchi mehnati qo‘yilgan maqsadga qay darajada erishilishiga nisbatan ob’ektiv qarashlarga imkon berdi. Erishilgan natijalar tahlili va o‘quv materiali va uning
o‘zlashtirilishi bo‘yicha eng samarali xabar berish metodlarni ishlab chiqishga yordam beradi.
Dasturlashtirilgan o‘qitishga bir qator yutuqlarni keltirishgan: individualizatsiyalash (individuallashtirish) va differensiatsiyalash o‘quv jarayonini boshqarishning ilmiy tashkil etishi va bundan kelib chiqib, - uning samaradorligini oshirish. Multimedali o‘qitish ham shunday yutuqlarga oib kelishini taxmin qilishimizga yo‘l beradi. Dasturlashtirilgan o‘qitishni mazmun- mohiyatini ko‘rib chiqib, o‘quv materialining mazmuni va strukturasini yaxshilash bo‘yicha bir qancha savollarni ko‘rib chiqish zarurdir. Bu savollar o‘quv jarayonini optimallashtirishga, uni boshqarish uchun dastur tuzish bo‘yicha, uni o‘rganish va o‘zlashtirish usullarini optimallashtirishga yordam beradi.
Dasturlashtirilgan o‘qitishda o‘quv jarayonining barcha elementlari ilmiy asoslanganlikni taqozo etadi. Chunki o‘qitish – bu o‘quvchi va o‘qituvchining o‘zaro bog‘liq bo‘lgan faoliyati jarayoni, unda bevosita bo‘lgan aloqani aniqlash mumkin. Bevosita aloqa o‘quv jarayoni payti va o‘quvchilarning tarbiyasida o‘rnatiladi. Qayta bo‘lgan aloqa o‘quv mazmunini sifati, chuqurligi, mustahkamligi haqidagi ma’lumotlarni olishga yordam beradi.
Dasturlash tillarini multimedia texnologiyalaridan o‘qidarslarni asosan Ashampoo Snap va AutoPlay Media Studio dasturidan foydalanish maqsadga muvofiqdir.
Ashampoo Snap – bu dastur keng miqyosdagi audio-visual qo‘llanma fayllarni: namoyishlar “презентация”, ko‘rgazmali materiallar, audio-visual qo‘llanma darslarning slaydlarini yaratish uchun xizmat qiladi. Asosiy funkciyalari:
ekrandan audio va audio-visual qo‘llanma fayllarini yozib olish;
taxrirlash, loyiha yaratish;
diskga yozish;
AVI, FLV, PPT fayllari formatlarini qollash.
Ashampoo Snap dasturi kompyuter ekranidagi harakatlar, mikrofondan ovozlarni yozadi hamda kompyuterlar tushunadigan audio-visual qo‘llanma fayllar
formatiga o‘girib beradi. Bu vositalardan Ashampoo Snap dasturi o‘zining interfeysi, juda ko‘plab formatlari, audio-visual qo‘llanma fayllarga turli xil belgilar va izohlar qo‘yilishi hamda dastur yordamida audio fayllarni ham yaratish mumkin. Dars yozish davomida ekranning kerakli joyini alohida ajratib ko‘rsatish imkoni ham mavjud. Ana shu afzalliklari tufayli audio-visual qo‘llanma darslar yozuvchi dastur sifatida Ashampoo Snap dasturi tanlandi.
Ashampoo Snap dasturi tasnifi. Ashampoo Snap dasturi ekranda bo‘layotgan jarayonlarni saqlab qoyish uchun ishlatiladi. Dastur to‘rtta yordamchi qismlardan iborat:
MenuMaker;
Player;
Theater;
Recorder.
Dasturning asosiy qismi, shubhasiz, Ashampoo Snap Recorder hisoblanadi. Barcha darslar aynan shu dastur yordamida yaratildi. Ashampoo Snap dasturi oynasining pastki qismida timeline deb nomlanuvchi ishchi stoli mavjud bo‘lib, u orqali audio va audio-visual qo‘llanma fayllar ustida turli xil amallarni bajarish mumkin. Bular jumlasiga fayllarni bir- biriga bog‘lash, keraksiz qismlarni qirqib tashlash kabilar kiradi. Asosiy oynaning markazida dastur ishlashi mumkin bo‘lgan fayllar ro‘yxatini ko‘rsatuvchi «Корзина клипов» (Clip Bin) qismi joylashgan. Shu fayllarni o‘ng tarafdagi audio-visual qo‘llanma pleyerda ko‘rish mumkin. Bu kichkinagina Ashampoo Snap Player dasturi faqatgina bitta vazifani bajaradi-AVI fayllarini namoyish etadi. Ta’lim tizimida turli darslar orasidan keraklisini topish qiyinchilik tug‘dirishi mumkin, buning uchun foydalanuvchi uchun navigatsiya menyusini yaratish kerak bo‘ladi. Bunday navigatsiya interfeysini AutoPlay Media Studio dasturi yordamida hosil qilish mumkin. Mazkur dastur yordamida vizual ob’ektlarni qo‘llagan holda mukammal navigatsiyani yaratish mumkin. Interfeysda hosil bo‘ladigan har bir sahifa xuddi veb sahifalar kabi ko‘rinishga ega bo‘lib, sahifalardagi ob’ektlarda turli-xil amallarni belgilash mumkin.
Autoplay Media Studio - Istalgan fayl yoki fayllar to‘plamini bitta muhitga birlashtirish, qolaversa, CD yoki DVD disklar uchun Autorun-menyusini hosil qilishda Autoplay Media Studio eng kuchli vizual paket hisoblanadi. Multimedia texnologiyalariga asoslangan amaliy dasturlarni yaratish uchun Autoplay Media Studio dasturidan foydalanish foydalanuvchilar uchun juda oson va qulay interfeysni taqdim etadi.
Autoplay Media Studio bilan ishlashda deyarli dasturlash ishlari talab qilin- maydi. Foydalanuvchi faqat turli dizaynli dasturiy muhitni tanlash uchun bir nechta tayyor shakllardagi loyiha shablonlaridan foydalanishi mumkin. Bunda amaliy dastur muhitini dizaynga boy holatga tashkil etish uchun Autoplay dasturiy vositasi tarkibida tayyor ob’ektlar mavjud bo‘lib, ular tarkibiga buyruq tugmasi, tovush kuchaytirgichi, fayllarni printerdan bosmaga chiqarishni ta’minlovchi vosita, Web-saytllarni ochuvchi va ularga murojaatni amalga oshirib beruvchi qator funksional ob’ektlarni kiritish mumkin. Amaliy dasturlarga oid grafik qobiqlarni yaratish va uni avtomatik ishga tushirish uchun Autoplay Media Studio barcha kerakli fayllarni o‘zi yaratadi. Foydalanuvchilar zimmasiga esa faqat qattiq disk va kompakt diklarni yozish uchun tayyor loyihalarni shakllantirish vazifasi qoladi. 2008-yilning 12-martida Indigo Rose Corporation kompaniyasi Autoplay Media Studio 7.1 versiyasini iste’molga chiqardi [42].
Autoplay Media Studio dasturi muhitida Visual Basic, Visual C++, Java, Macromedia Flash kabi qator tizimlarda yaratilgan hujjatlarni ham bemalol qayta ishlash mumkin. Dastur yordamida animatsiyalanuvchi menyuni, kataloglar daraxtini, ma’lumotlar bazasini va shunga o‘xshash ob’ektlarni nafaqat tez yaratish, balki ularni boshqarish ham mumkin. Avtomatik ishga tushuvchi oynalarni o‘zining kutubxonasidagi “niqob”lardan foydalangan holda ixtiyoriy shaklda (formada) yaratish mumkin. Bunday “niqob” sifatida .jpg, .bmp va .png kabi formatdagi fayllardan foydalanilsa ham bo‘ladi. Qolaversa, ma’lumotlarni CD uchun tayyorlagan holda uni dasturning o‘zidan turib, CD yoki DVDga yoza olishi Autoplay Media Studio dasturi naqadar keng imkoniyatlarga ega ekanligini ko‘rsatadi. Tayyor loyiha bunda .exe kengaytmali fayl sifatida o‘zi ochiluvchi
arxiv ko‘rinishda yoki qattiq diskdagi alohida papkada shakllantirilishi mumkin. Bundan tashqari, dasturga matnni orfografik tekshirish imkoniyati ham kiritilgan. Dasturning bu xossasi uning “Label”, “Paragraph” va “Button” kabi ob’ektlari bilan birga ishlaydi. Agar dastur kompyuterga to‘liq versiya bilan o‘rnatilgan bo‘lsa, matnni orfografik tekshirish uchun uning kutubxonasida juda katta hajmdagi lug‘atlar bo‘lishi mumkin. Shunday qilib, AutoPlay Media Studio 7.0 ning yangi versiyasi quyidagi im- koniyatlarga ega holda iste’molga chiqarilgan:
Avtomatik ishga tushuvchi xususiy menyu, interfaol taqdimotlar, multi- media- ilovalar, sanoqli daqiqalarda dasturiy ta’minotlarni yaratish;
Loyihaga turli-tuman fotografiya, musiqa, video, animatsiya, matn va boshqalarni biriktira olish xususiyati;
Web-ilovalarni yaratishga mo‘ljallangan mukammallashgan instrumentlar;
XML, SQL va shifrlash mexanizmalari bilan ishlay olishi;
RTF-formatli hujjatlar bilan ishlay olishi;
Slide-show bilan ishlash imkoniyati;
Matn rangini o‘zgartirish uchun “RadioButton” ob’ektining mavjudligi;
Bosmaga chiqarishning kengaytirilgan funksiyasi;
Ob’ektlarni formatlash imkoniyati;
Kalit so‘zlar yordamida qidiruv tizimining mavjudligi;
CD, DVD kabi kompakt disklarga yozish imkoniyati va hk.
AutoPlayda ssenariylar yozish. Agar ishchi sohadagi (aniqrog‘i sahifadagi) biror ob’ekt bajarishi kerak bo‘lgan funksiyani xossalar panelidan foydalanib belgilamoqchi bo‘lsak, u holda bitta ob’ekt uchun faqat bitta funksiya biriktiriladi, xolos. Ammo real sharoitda bitta ob’ekt bir nechta funksiyani bajarishiga zaruriyat tug‘ilib qolishi mumkin. Bunday sharoitda vaziyatdan chiqish uchun xossalar panelidan tanlangan funksiyani bekor qilish va har bir funksiya uchun alohida- alohida ssenariy (script)lar yozish maqsadga muvofiq bo‘ladi. Masalan, bir sahifaga audio musiqani qo‘yib, boshqa sahifaga o‘tganda musiqani o‘chirish uchun uning “On Show” hodisasiga oid quyidagicha ssenariyni yozish mumkin: Audio.Load(0, "AutoPlay//Audio//01.ogg", true, false);
Bunda: true – sahifa ochilishi bilan audio musiqa ishga tushishini, false esa boshqa sahifaga o‘tganda bu audio musiqaning davom etmasligi yoki takrorlanmasligini bildiradi.
Bundan tashqari, sahifaga Tree ob’ekti joylashtirilgan bo‘lishi mumkin. U holda bu Tree ob’ektidan foydalanganda uning tarmoqlarini ishga tushirish uchun quyidagi ssenariyni yozish mumkin:
If Tree.GetNode("Tree1", "1.1").Selectedthen Page.Jump("PgWebMavzu1");
elseif Tree.GetNode("Tree1", "1.2").Selected then Page.Jump("PgWebTest");
End
Bu ssenariyga binoan, Tree ob’ektining 1-darajali tarmog‘ida turgan 1-satr belgilanib, sichqonchaning DoubleClick hodisasi ishlatilsa, u holda “PgWeb- Mavzu1” nomli sahifa yuzaga keladi.
Agar Tree ob’ektining 1-darajali tarmog‘ida turgan 2-satr belgilanib, ikki marta sichqoncha chap tugmasi bosilsa (ya’ni sichqonchaning DoubleClick hodisa- si ishlatilsa), u holda “PgWebTest” nomli sahifa yuzaga keladi.
Shuningdek, biror buyruq tugmasi (Button)ni bosish orqali biror .exe faylni ishga tushirish kerak bo‘lsa, u holda ssenariy quyidagicha yoziladi:
Shell.Execute("AutoPlay\\Docs\\MyProg.exe", "", "", SW_NORMAL, true);
Ba’zida turli variantlarda turli muloqot oynasini yuzaga keltirishga oid tarmoqlanuvchi algortmni yozishga to‘g‘ri keladi. Masalan, bosh sahifa ishga tushishidan oldin parol so‘ragan kabi “InputBox” dastlab ekranga chiqishini xohlasangiz, u holda bosh sahifaning “Preload” bandi uchun quyidagi scriptni yozish kifoya:
name = "";
while (name ~= "CANCEL") and (name == "") do
name=Dialog.Input("Diqqat", "Ismi sharifingizni kiriting:");
if name == "" then
result=Dialog.Message("Xato!", "Ma’lumot kiritmadingiz!", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
elseif name =="CANCEL" then
name=Dialog.Input("Personal Information", "Bu yerga muallifning ismi sharifi kiritiladi:");
end
Paragraph.SetText("Paragraph5", name);
end
Ssenariy (Script) yozishda asosiy e’tibor ob’ekt ustida yuzaga keladigan hodisaga qaratiladi.
AutoPlay Media Studio 7.0 da ssenariy yozish birmuncha murakkabroq ish, ammo har qanday takrorlanuvchi vaziyatlarda ssenariy tarkibini kichraytirish yoki soddalashtirish maqsadida golabl ssenariylar yozish imkoniyatini taqdim eta oladi. Buning ma’nosi shuki, ssenariy ishchi sohada yoki boshqacha aytganda, loyihaga tegishli barcha sahifalar uchun umumiy kuchga ega bo‘lgan global ssenariy bo‘lishi mumkin, yoki faqat bitta sahifa uchun kuchga ega bo‘lgan chegaralangan ssenariy bo‘lishi mumkin. Chegaralangan ssenariylar loyiha tarkibidagi boshqa sahifaga o‘tganda o‘z kuchini yo‘qotadi.
Shunday qilib, yuqorida keltirilgan barcha nazariy ma’lumotlar va mavjud amaliy tajribalarimiz asosida Ashampoo Snap, Autoplay Media Studio dasturlarining multimedia imkoniyatlaridan foydalanib Paskal, Delphi va C++ dasturlash tillaridan umumta’lim maktablari, akademik litsey, kasb-hunar kollejlari uchun multimediali elektron darslik yaratishga oid amaliy ish jarayonini ko‘rib chiqamiz. Eslatib o‘tamizki, tadbiqiy doiralarda ushbu multimediali elektron darslikning o‘zi hujjati sifatida qabul qilinishi va foydalanilishi mimkin.
Dasturning bosh sahifasi [1-ilova]da keltirilgan.
Paskal dasturlash tilini o‘rgatish bo‘yicha multimediali elektron darslikning mundarijasi [2-ilova]da keltirilgan.
Delphi dasturlash tilini o‘rgatish bo‘yicha multimediali elektron darslikning mundarijasi[3-ilova]da keltirilgan.
C++ dasturlash tilini o‘rgatish bo‘yicha multimediali elektron darslikning mundarijasi[4-ilova]da keltirilgan.
Paskal dasturlash tilini o‘rgatish bo‘yicha video ishlanmalar Ashampoo Snap dasturidan foydalanib yaratildi, namuna sifatida [5-ilova]da keltirilgan.
Delphi dasturlash tilini o‘rgatish bo‘yicha video ishlanmalar Ashampoo Snap dasturidan foydalanib yaratildi, namuna sifatida [6-ilova]da keltirilgan.
C++ dasturlash tilini o‘rgatish bo‘yicha video ishlanmalar Ashampoo Snap dasturidan foydalanib yaratildi, namuna sifatida [7-ilova]da keltirilgan.
Ushbu bobda Umumta’lim maktablari, Akademik litsey va kasb –hunar kollejlarida Paskal, Delphi va C++ dasturlash tilini o‘rgatish ta’lim texnologiyalaridan foydalanish va ma`ruz darslarini olib borish texnologiyalari hadida tavsiyalar berilib o‘tildi hamda multimediya texnologiyalarining imkoniyatlari, ulardan foydalanish usullari haqida tavsiyalar berilib o‘tildi.
Shu bilan birga dasturlash tillarini o‘qitish uchun Camtasia Studio, Ispring dasturlari yordamida multimediyali elektron darslik yaratildi va bu darslikdan foydalanish usullari aytib o‘tildi.
Umumiy xulosaHozirgi davrda O‘zbekistonda ta’lim-tarbiya jarayonini jahon talablari darajasiga yetkazish borasida aql-zakovatli, mustaqil fikrlay oladigan, intellektual salohiyatga ega yoshlarni tarbiyalashga alohida e’tibor berilayapti. Bu o‘z navbatida ta’lim jarayoniga katta e’tibor qaratish kerakligi, ta’lim jarayonining samaradorligini oshirish fan va texnika sirlarini chuqur egallashga yo‘llaydi.
Bugungi kunda ta’lim muasasalarida «Dasturlash tillarini” o‘qitish eng dolzarb muammolardan biri hisoblanadi. Uni hal qilish uchun ushbu tadqiqot ishida Dasturlash tillarini o‘qitish uslubiyoti ishlab chiqildi. Jumladan quyidagi ishlar amalga oshirildi:
Paskal dasturlash tilini o‘qitishning asosiy shakli va mazmuni ko‘rsatib berildi;
Delphi dasturlash tilini o‘qitishning asosiy shakli va mazmuni ko‘rsatib berildi;
C++ dasturlash tilini o‘qitishning asosiy shakli va mazmuni ko‘rsatib berildi;
Paskal, Delphi, C++ dasturlash tillarini bo‘yicha asoslangan tavsiyalar ishlab chiqildi;
Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha bitta elektron darslik yaratildi.
Dissertatsiyada dasturlash texnologiyalarini o‘qitish va uning ahamiyatlari haqida ma’lumotlar hamda tavsiyalar berib o‘tdik. Mavzuni o‘rganish uchun dissertatsiyani uchta bobga ajratdik. Birinchi bobda dasturlash vositalarining zamonaviy texnologiyalari, dasturlash tillarining tarixi, muammolari yechimlari hamda algoritmik til elementlari, algoritm tushunchalari, ob’ektga mo‘ljallangan algoritmlar haqida ma’lumot berib o‘tdik. Ikkinchi bobda Paskal, Delphi, C++ dasturlash tillarining imkoniyatlari haqida ma’lumot berib o‘tdik. Uchunchi bobda Paskal, Delphi, C++ dasturlash tillarini o‘qitish bo‘yicha tavsiyalar berib o‘tildi.
Xulosa qilib shuni aytish mumkin dissertatsiyada keltirib o‘tilgan dasturlash texnologiyalarini o‘qitish bo‘yicha tavsiyalardan foydalanilsa dasturlash tillarini o‘rgatishga yordam bo‘lar edi.
FOYDALANILGAN ADABIYOTLAR RO‘YXATI
O‘zbеkiston Rеspublikasi Prеzidеnti asarlari
Mamlakatimiz taraqqiyotini qonuniy asoslarini mustahkamlash faoliyatimiz mеzoni bo‘lishi darkor //Prеzidеnt I.A. Karimovning 2006 yil 24 fеvral kuni Toshkеnt shaxrida O‘zbеkiston Rеspublikasi Oliy Majlisi Sеnatining bеshinchi yalpi majlisidagi ma'ruzasi. //Xalq so‘zi, 2006 yil, 25 fеvral, № 39(3838).
Karimov I. Erishilgan yutuqlarni mustahkamlab, yangi marralar sari izchil harakat qilishimsiz lozim //Prеzidеnt I.A. Karimovning 2006 yil 10 fеvral kuni O‘zbеkiston Rеspublikasi Vazirlar Mahkamasining 2005 yilda mamlakatimizni ijtimoiy–iqtisodiy rivojlantirish yakunlari va 2006 yilda iqtisodiy isloxotlarni chuqurlashtirishning muxim ustuvor yo‘nalishlariga bag‘ishlangan majlisidagi ma'ruzasi. //Xalq so‘zi.-2006 yil, 11 fеvral, № 29(3828). 1-2-bеt
Karimov I. Bizning bosh maqsadimiz – jamiyatni dеmokratlashtirish va yangilash, mamlakatni modеrnizatsiya va isloh etishdir. –T.: O‘zbеkiston, 2005.
Karimov I. O‘zbеkiston dеmokratik taraqqiyotining yangi bosqichida. –T.: O‘zbеkiston, 2005.
Prеzidеnt I.A.Karimovning Vazirlar Mahkamasining 2004 yilda mamlakatni ijtimoiy-iqtisodiy rivojlantirish yakunlari va 2005 yilda iqtisodiy islohotlarni chuqurlashtirishning asosiy yo‘nalishlariga bag‘ishlangan majlisidagi ma'ruzasi.
//Xalq so‘zi. – 2005, 19 yanvar.
Karimov I. Biz tanlagan yo‘l – dеmokratik taraqqiyot va ma'rifiy dunyo bilan hamkorlik yo‘li. –T.: O‘zbеkiston, 2003.
O‘zbеkiston Rеspublikasi Prеzidеntining «Axborot tеxnologiyalari sohasida kadrlar tayyorlash tizimini takomillashtirish to‘g‘risida»gi qarori, //Xalq so‘zi, 2005, 3-iyun, 1-bеt.
«Axborot-kommunikatsiya tеxnologiyalarini yanada rivojlantirishga oid qo‘shimcha chora-tadbirlar to‘g‘risida» O‘zbеkiston Rеspublikasi Prеzidеntining 2005 yil 8 iyuldagi -117-son qarori.
«ZiyoNET axborot tarmoqini yanada rivojlantirish to‘g‘risida» O‘zbеkiston Rеspublikasi Vazirlar Mahkamasining 2005 yil 28-dеkabrdagi 282-son qarori.
Aripov M. “Programmalashga kirish”. O‘quv qo‘llanma. Toshkent 2008 y.
Nazirov Sh., Musayev M.M., Ne`matov A., Qobulov R.V. “Delphi tilida dasturlash asoslari”. O‘quv qo‘llanma. Toshkent 2006 y.
Aripov M. M., Otaxanov N. A. DELPHI dasturlash tili. /O‘quv qo‘llanma. -N.: Namangan, 2007. -544 b.
Nazirov Sh.A., Divald G. Dasturlash аsoslari. Axborot-kommunikatsiya texnologiyalari sohasidagi kasb-hunar kollejlarining “Axborot-kommunikatsiya tizimlari mutaxassisligi talabalari uchun o‘quv qo‘llanma Toshkent - 2007 y.
Nаzirоv Sh.А., Qobulоv R.V. Оb’еktgа mo‘ljаllаngаn dаsturlаsh. Kasb-hunar kollejlari uchun o‘quv qo‘llanma. G‘afur G‘ulom nomidagi nashriyot-matbaa ijodiy uyi Tоshkеnt -2007 y.
Azamatov A.R. Algoritmlash va dasturlash asoslari. Kasb-hunar kollejlari uchun o‘quv qo‘llanma. Toshkent — 2010.
Ne’matov A., Kulmuradov M., Tangirov A., Akbarova N. Dasturlash asoslari. Toshkent-2011y.
Ahmedov A., Tayloqov N. Informatika. Toshkent, “O‘zbekiston”. 2008 y.
Kulakov A.G., Lando S.K., Semyonov A.L., Shen A.X. Algoritmika. V–VII sinflar. Moskva: Drofa, 1997.
B.J. Boltayev, A.R. Azamatov, A.D. Asqarov, M.Q. Sodiqov, G.A. Azamatova. Informatika va hisoblash texnikasi asoslari. 9-sinf uchun darslik.Toshkent 2011y.
Otaxanov N. A. Ob’ektga yo‘naltirilgan dasturlash texnologiyalarini o‘qitish hususida. // Ta’lim muammolari. -Toshkent, 2008. -№ 3. –B. 168-172.
Ro‘ziyev R.A. , Yodgorov G‘.R., Mirsanov U.M. Delphi dasturlash tilini o‘rganish.Uslubiy qo‘llanma. Navoiy 2012 y.
22 Otaxanov N. A. DELPHI dasturlash tilida ishlashni bilasizmi. // Ta’lim va tafakkur. –Namangan, 2008. -№ 4. –B. 16-17.
Otaxanov N. A. DELPHI tilini o‘qitishdagi ayrim muammolar va ularni bartaraf qilish uslubiyoti. / Uslubiy qo‘llanma. –F.: Farg‘ona, 2008. -36 b.
Otaxanov N. A. Ob’ektga yo‘naltirilgan dasturlash texnologiyalarin o‘qitishda turli tipdagi ma’lumotlar bilan ishlash uslubiyoti. //“Ta’lim jarayonini sifatli tashkil etishda ilg‘or pedagogik texnologiyalarning roli”. Respublika ilmiy-amaliy konferensiya materiallari. -Toshkent, 2008. –B. 134-137.
Otaxanov N. A. Ob’ektga yo‘naltirilgan dasturlash texnologiyalari va ulardan foydalanish. // Pedagogik ta’lim. - Toshkent, 2008. -№ 4. –B. 56-61.
Немнюгин А. Turbo Pascal, Москва Харьков-Минск 2000 г.
Ушаков Д.М., Юрков Т.А. Паскаль для школьников. Москва-Санкт- Петербург-Нижний Новгород – Воронеж - Ростов-на-Дону - Екатеринбург – Самара – Новосибрск – Киев – Харьков - Минск 2010 г.
С.А. Немнюгин. Turbo Paskal. Санк-Петербург Москва-Харьков-Минск- 200 г.
Axborot- kommunikatsiya texnologiyalari izohli lug‘ati. Toshkent-2004y.
Бухер, Патрик, «Programmiersprachen» (Языки программирования), статья на сайте www.it-academy.cc, 10/2004
Бухер, Патрик, «Der Bubble-Sort Algorithmus», статья на сайте www.it- academy.cc, 11/2004
Бёме, д-р. P., «Programmiersprachen C/C++» (Язык прогаммирования C/C++), конспект лекций Института информатики Университета им. Мартина-Лютера, Халле-Виттенберг, 1996
Блессманн, Бюттнер, Дакс, «Anwendungsentwicklung» (Программирование), Тройсдорф, 2002 г.
Бройер, Клаус Ульрих и Мюллер, Карлхайнц, «Umsetzungshilfen fьr neue Prьfungsstruktur der IT-Berufe» (Помощь в реализации новых экзаменационных стректур для ИКТ-профессий), заключительный отчет», Федеральное министерство образования и исследований (ответственный редактор), Бонн, 10/2000
Stein J. March 1988 . Object-Oriented Programming and Database Design. Dr. Doobs journal of Software Tools for the Professional Programmier. № 137, p.18.
Н. Вирт. 1989. Алгоритмы и структуры данных. Москва, Мир, 360 стр.
Тутубалин Д. К.Объекто-ориентированное программирование в среде Delphi: Учеб. пособие.–Томск: Изд-во Том. гос. ун-та систем управл. и радиоэлектрон., 2004. – 112 с.
http://cs.usu.edu.ru/. Мультимедиа.
http://websound.ru/. MIDI-технология.
Dastur.uz
Ziyonet.uz
Mirsanov U.M., Navruzov B.I. Uchburchakning ba’zi munosabatlarini Paskal dasturlash tili yordamida isbotlash. “Matematika va uni zamonaviy pedagogik texnologiyalar yordamida o‘qitish muammolari” Respublika ilmiy- amaliy konferensiyasi materiallari. 25-aprel 2015 yil. Navoiy-2015, 148149 betlar.
Утапов Т.У., Шамсиддинов Ф., Навўзов Б. Педагогик дастурий воситаларга қўйиладиган талаблар ҳақида. Глобал олий таълим тизимида илмий тадқиқотларнинг замонавий услублари. Халқаро илмий конференция 9 апрел 2015 й. III-қисм. Навоий - 2015. 278-284 бетлар.
ILOVALAR
ilova.
ilova.
ilova
ilova
ilova.
ilova.