Dasturlash vositalari ularning turlari
Hozirgi kunda dasturlash texnologiyasining uskunaviy vositalarini yaratish bilan bog’liq yo’nalish tez sur’atlarda rivojlanib bormoqda.Bunday uskunaviy vositalar dasturlar yaratish va sozlash uchun quvvatli qulay vositalarni tashkil etadi. Kompyuterda dasturlash bu – kompyuter mikroprotsessori uchun turli buyruqlar berish, qachon, qayerda nimani o'zgartirish va nimalarni kiritish yoki chiqarish haqida buyruqlar berishdir. Ushbu maqolada, qanday dasturlash tillari borligi, eng keng tarqalgan dasturlash tillari va ularning farqi. Hamda, Dasturlashni o'rganish yo'llari haqida suhbatlashamiz Kompyuter dunyosida ko'plab dasturlash tillari mavjud bo'lib, dasturlash va unga qiziquvchilar soni ortib bormoqda. Bir xil turdagi ishni bajaradigan dasturlarni Basic, Pascal, Ci va boshqa tillarda yozish mumkin. Pascal, Fortran va Kobol tillari universal tillar hisoblanadi, Ci va Assembler tillari mashi tiliga ancha yaqin tillar bo'lib, quyi yoki o'rta darajali tillardir. Algoritmik til inson tillariga qanchalik yaqin bo'lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir. Mashina tili bu sonlardan iboratdir, Masalan: 010110100010101 Dasturlash tillari 2 ta katta guruhlarga bo'linadi, Quyi va Yuqori darajali dasturlash tili. Quyi darajali dasturlash tili ancha murakkab bo'lib ular juda maxsus sohalarda ishlatiladi va ularning mutaxassislari ham juda kam. Chunki quyi dasturlash tillari (masalan: assembler) ko'pincha miktoprotsessorlar bilan ishlashda kerak bo'lishi mumkin. Odatda turli dasturlash ishlari uchun yuqori darajali dasturlash tilidan keng foydalaniladi. EHM (Elektron Hisoblash Mashinasi) endi yuzaga kelgan paytda programma tuzishda, faqat mashina tillarida, ya'ni sonlar yordamida EHM bajarishi kerak bo'lgan amallarning kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq sistemalari bo'lgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan. Yuqori darajali dasturlashda, mashina tillariga qaraganda mashinaga moslashgan (yo'naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda mashina kodlari ularga mos belgilar bilan belgilanadi, hamda xotirani avtomatik taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday mashina moslashgan til - ASSEMBLER tili nomini oldi. Odatda dasturlash yuqori saviyali dasturlash tillari (Delphi, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur tuzish jarayoni ancha oson kechadi. Ko'p ishlatiladigan dasturlash tillari. Biz hozir biladigan va ishlatadigan tillarning barchasi shu guruhga mansub. Ular insonga "tushunarli" tilda yoziladi. Ingliz tilini yaxshi biluvchilar programma kodini qiynalmasdan tushunishlari mumkin. Bu guruhga Fortran, Algol, C, Pascal, Cobol va h.k. tillar kiradi(ko`pchiligi hozirda deyarli qo`llanilmaydi). Eng birinchi paydo bo`lgan tillardan to hozirgi zamonaviy tillargacha ishlatish mumkin. Lekin, hozirgi web texnologiya orqali ishlaydigan tillarda(PHP, ASP.NET, JSP) bunday dasturlar tuzilmaydi. Chunki bunday dasturlarning ishlashi uchun yana bir amaliy dastur ishlab turishi kerak. Hozirda, amaliy dasturlar, asosan, Visual C++, C#, Borland Delphi, Borland C++, Java, Phyhon kabi tillarda tuziladi. O`zbekistonda ko`pchilik Delphi dan foydalanadi. Buning asosiy sababi: soddaligi, komponentlarning ko`pligi, interfeysining tushunarliligi va h.k. Delphida birinchi ishlagan odam ham qanaqadir dastur tuzishi oson kechadi. Lekin, Windows da dasturning asosiy ishlash mohiyatini ancha keyin biladi(komponentlarning ko`pligi va API funksiyalari dasturda ko`rsatilmasligi uchun). Yana bir tarafi, Delphi(Pascal) operativ xotirani tejashga kelganda ancha oqsaydi. Unda o`zgaruvchilarni oldindan e'lon qilib qo`yish evaziga ishlatilmaydigan o`zgaruvchilar va massivlar ham joy olib turadi. Eng keng tarqalgan dasturlash tili(Windows OS ida) Microsoft Visual C++ tilidir. Ko`pchilik dasturlar hozirda shu tilda tuziladi. Umuman olganda, C ga o`xshash(C-подобный) tillar hozirda dasturlashda yetakchi. Deyarli hamma zamonaviy tillarning asosida C yotadi. Bundan tashqari, Turli komputer o'yinlari tuzishda yoki kichik hajmdagi dasturlar tayyorlashda LUA script yoki JavaScript tillari ham keng ishlatilmoqda. Biz sizga xozirgi kunda keng tarqalgan desktop dasturlashda ishlatiladigan dasturlash tillaridan bazilari haqida aytib o'tamiz: Delphi (talaff. délfi) — dasturlash tillaridan biri. Borland firmasi tomonidan ishlab chiqarilgan. Delphi dasturlash tili ishlatiladi va avvaldan Borland Delphi paketi tarkibiga kiritilgan. Shu bilan bir qatorda 2003-yildan hozirgacha qoʻllanilayotgan shu nomga ega bulgan. Object Pascal — Pascal tilidan bir qancha kengaytirishlar va toʻldirishlar orqali kelib chiqqan boʻlib, u ob'yektga yoʻnaltirilgan dasturlash tili hisoblanadi. Avvaldan ushbu dasturlash muhiti faqatgina Microsoft Windows amaliyot tizimi uchun dasturlar yaratishga mo'ljallangan, keyinchalik esa GNU/Linux hamda Kylix tizimlari uchun moslashtirildi, lekin 2002-yilgi Kylix 3 sonidan so'ng ishlab chiqarish to'xtatildi, ko'p o'tmay esa Microsoft.NET tizimini qo'llab quvvatlashi to'g'risida e'lon qilindi. Lazarus proekti amaliyotidagi (Free Pascal) dasturlash tili Delphi dasturlash muhitida GNU/Linux, Mac OS X va Windows CE platformalari uchun dasturlar yaratishga imkoniyat beradi. Visual Basic (talaffuzi: "Vijual Beysik") – Microsoft korporatsiydan dasturlash tili va uning uchun dasturlash muhitdir. U BASICdan ko`p tushunchalar oldi va tez rasmli interfeys bilan dasturlar taraqqiyot ta`minlaydi. Oxirgi versiya 6.0 1998 yilda reliz kelishdi. Microsoftdan voris Visual Basic .NET 2002 yilda paydo bo`ldi. Java dasturlash tili - eng yaxshi dasturlash tillaridan biri bo'lib unda korporativ darajadagi mahsulotlarni(dasturlarni) yaratish mumkin.Bu dasturlash tili Oak dasturlash tili asosida paydo bo'ldi. Oak dasturlash tili 90-yillarning boshida Sun Microsystems tomonidan platformaga(Operatsion tizimga) bog'liq bo'lmagan holda ishlovchi yangi avlod aqlli qurilmalarini yaratishni maqsad qilib harakat boshlagan edi. Bunga erishish uchun Sun hodimlari C++ ni ishlatishni rejalashtirdilar, lekin ba'zi sabablarga ko'ra bu fikridan voz kechishdi.Oak muvofaqiyatsiz chiqdi va 1995-yilda Sun uning nomini Java ga almashtirdi, va uni WWW rivojlanishiga hizmat qilishi uchun ma'lum o'zgarishlar qilishdi. Java Obyektga Yo'naltirilgan Dasturlash(OOP-object oriented programming) tili va u C++ ga ancha o'xshash.Eng ko'p yo'l qo'yildigan xatolarga sabab bo'luvchi qismalari olib tashlanib, Java dasturlash tili ancha soddalashtirildi. Java kod yozilgan fayllar(*.java bilan nihoyalanuvchi) kompilatsiyadan keyin bayt kod(bytecode) ga o'tadi va bu bayt kod interpretator tomonidan o'qib yurgizdiriladi. C++ (talaffuzi: si plyus plyus) — turli maqsadlar uchun moʻljallangan dasturlash tili. 1979-yili Bell Labsda Biyarne Stroustrup tomonidan C dasturlash tilining imkoniyatlarini kengaytirish va OOP(object Oriented Programming) xususiyatini kiritish maqsadida ishlab chiqarilgan. Boshida „C with Classes" deb atalgan, 1983-yili hozirgi nom bilan yaʼni C++ deb oʻzgartirilgan. C++ C da yozilgan dasturlarni kompilyatsiya qila oladi, ammo C kompilyatori bu xususiyatga ega emas. C++ tili operatsiyon tizimlarga aloqador qisimlarni, klient-server dasturlarni, EHM oʻyinlarini, kundalik ehtiyojda qoʻllaniladigan dasturlarni va shu kabi turli maqsadlarda ishlatiladigan dasturlarni ishlab chiqarishda qoʻllaniladi. Quyidagi jadvalda programmalash tillari haqida ma'lumotlar keltirilgan.
Algoritm so`zi algoritmi so`zidan olingan bo`lib, u IX- asrning buyuk matematigi bobokolonimiz Muhammad al-Xorazmiy nomining lotincha shaklidir. Informatika sohasida algoritm tushunchasi asosiy tushuncha bo`lib, u geometriya kursidagi nuqta, to`g`ri chiziq va tekislik, matematikadagi to`plam, kimyodagi modda, fizikadagi fazo hamda vaqt tushunchalari kabi fundamental tushuncha hisoblanadi. Algoritmga aniq bir ta`rif berish mushkul. Shunday bo`lsada, algoritmning mohiyatini aniq tushuntirish mumkin. Algoritm – biror masalani yechish uchun bajarilishi zarur bo`lgan buyruqlarning tartiblangan ketma-ketligi. Tuzilgan algoritmni uning yozilish qoidalarini tushunadigan va unda ko`rsatilgan buyruqlarni bajarish imkoniga ega bo`lgan insonning o`zi yoki texnik qurilma (masalan, kompyuter) bajarishi mumkin.Odamlar har kuni bajaradigan ishlarida o`zlari bilmagan holda shu ishlarni bajarish algoritmlardan foydalanadilar. Masalan, kompyuterdan foydalanish, non yopish, tamom tayyorlash, telefon avtomatidan foydalanish, avtomobilni boshqarish, kitob o`qish, ko`cha harakati qoidalariga rioya qilish, televizor yoki radiodan foydalanish va hokazo. Albatta, odamlar yuqorida keltirilgan yumushlarni har doim bajarib yurganligi bois, ularni bajarish uchun hech qanday aniq ko`rsatmalarga muhtojlik sezmaydilar. Lekin yuqoridagi yumushlarni birinchi marotaba bajarayotgan odam aniq ko`rsatmalarsiz uni bajara olmaydi. Masalan, hech qachon kompyuterdan foydalanib ko`rmagan odam aniq bir ko`rsatmasiz bu ishni bajaraolmaydi. Demak, odamlar o`zlariga tanish bo`lgan ishlarni yoki masalalarni bajarish zarur bo`ldigan ko`rsatmalarni qachonlardir, qayerlardandir olganlar yoki o`rganganlar. Algoritmni bajarishda ko`rsatmalarni berilgan tartibda bajarish kerak bo`ladi.
Algorithm va uning xossalari
Elektron hisoblash mashinalarining vujudga kelishiga qadar algorithmga har xil TA'rif berib kelindi. Lekin ularning barchasi mA'no jihatdan bir-biriga juda yaqin Bo'lib, bu TA'rif hozirgi kunda quyidagicha talqin qilinadi.
TA'rif. Algorithm deb, q'yilgan masalani echish uchun mA'lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligiga aytiladi.
Har qanday algorithm mA'lum Ko'rsatmalarga binoan bajariladi va bu Ko'rsatmalarga buyruq deyiladi.
Algorithm quyidagi muhim xossalarga ega:
Aniqlik va tushunarlilik - deganda algorithmda ijrochiga berilayotgan Ko'rsatmalar aniq mazmunda Bo'lishi tushuniladi.
Ommaviylik - deganda har bir algoritm mazmuniga Ko'ra bir turdagi masalalarning barchasi uchun ham o'rinli Bo'lishi tushuniladi.
Natijaviylik - deganda algorithmda chekli qadamlardan so'ng albatta natija Bo'lishi tushuniladi.
Diskretlik - deganda algorithmlarni chekli qadamlardan tashkil qilib Bo'laklash imkoniyati tushuniladi.
Algorithm turlari
Algorithmning uchta turi bor: chiziqli, tarmoqlanuvchi va takrorlanuvchi.
CHiziqli algorithm - deb hech qanday shartsiz faqat ketma-ket bajariladigan jarayonlarga aytiladi.
Tarmoqlanuvchi algorithm - deb mA'lum shartlarga muvofiq bajariladigan Ko'rsatmalardan tuzilgan algorithmga aytiladi.
Takrorlanuvchi algorithm - deb biron bir shart tekshirilishi yoki biron parametrning har xil qiymatlari asosida algorithmda takrorlanish yuz beradigan jarayonlarga aytiladi.
Algorithmlarni turli usullarda tasvirlash mumkin. Masalan: so'z bilan ifodalash; formulalarda berish; blok-sxemalarda tasvirlash; dastur shaklida ifodalash va boshqalar.
Algorithmlarni blok-sxema Ko'rinishda tasvirlash qulay va tushunarli Bo'lgani uchun Ko'p ishlatiladi. Bunda algorithmdagi har bir Ko'rsatma o'z shakliga ega. Masalan: parallelogramm Ko'rinishdagi belgi mA'lumotlarni kiritish va chiqarish; to'g'ri to'rtburchak belgisi hisoblash jarayonini; romb belgisi shartlarning tekshirilishini bildiradi.
Hayotimizda algoritmlarni turli sohalarda BA zan BA zan bilgan holda holda esa bilmagan ishlatamiz. Algorithmlar faqat matematik xarakterga ega Bo'lmasdan ularni oddiy hayotiy turmushimizda ham Ko'p Qo'laymiz. Masalan, ovqat tayyorlash, choy damlash, berilgan biror ishni bajarish va boshqa. Bu ishlarni bajarishda mA'lum Bo'lgan aniq Ko'rsatmalarni ketma ket bajaramiz. Agar bu Ko'rsatmalar aniq bir ketma ketlik tartibida bajarilmasa kerakli natijani olaolmaymiz. Misol tariqasida matematik xarakterga ega Bo'lmagan butelbrod tayyorlash algoritmini Ko'reb chiqaylik. Bunda boshlang'ich berilganlar: non, kolbasa va pishloq. Natija: butelbrod. Butelbrod tayyorlash algorithmi:
1. non Bo'lagini kesib olish;
2. kolbasa va pishloq Bo'lagini kesib olish;
3. kolbasa va pishloq lagini non Bo Bo lagi orasiga qo'yish.
Agar bu jarayonning ketma ketlik o'rinlari almashsa yoki biror bir bosqich amalga oshirilmasa natija Bo'lmaydi.
Algorithmik tillar
Masalani echish algorithmi ishlab chiqilgandan so'ng dastur tuziladi. Dastur-bu berilgan algorithmga asoslangan biror bir algorithmik tilda yozilgan Ko'rsatmalar, ya'ni buyruqlar yoki operatorlar to'plamidir. Dasturlash-esa bu dastur tuzish jarayoni Bo'lib, u quyidagi bosqichlardan iboratdir:
1.dasturga Bo'lgan talablar;
2.qo'yilgan masala algoritmini tanlash yoki ishlab chiqish;
3.dastur kodlarini (matnlari, buyruqlarni) yozish;
4.dasturni to'g'rilash va test o'tkazish.
Hozirgi kunda juda Ko'plab algorithmik tillar mavjud. Ularga dasturlash tillari deb ataymiz. Algorithmik til - algoritmlarni bir xil va aniq yozish uchun ishlatiladigan belgilashlar va qoidalar tizimidir. Algorithmik til oddiy tilga yaqin Bo'lib u matematik belgilarni o'z ichiga oladi. Tuzilgan algorithmni to'g'ridan-to'g'ri mashinaga berib Bo'lmaydi, shu sababli yozilgan algorithmni biror bir algorithmik tilga o'tkazish zarur. Har qanday algorithmik til o'z Qo'llanilish sohasiga ega. Masalan, muxandislik hisob ishlarini bajarishda Pascal, Beysik va Fortran. Iqtisod masalalarini echishda Pascal va Kobol. Mantiqiy dasturlash uchun Prolog va boshqalar. O'quv jarayonlari uchun Beysik, Pascal va boshqalar.
Paskal, Fortran, va Kobol tillari universal tillardan hisoblanadi. Assembler tili mashina tiliga ancha yaqin til Bo'lib o'rta darajadagi tildir. Algorithmik til inson tillariga qancha yaqin Bo'lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir.
Masalalarni yechish bosqichlari
Kompyuterda masalani echish bosqichlari quyidagilar:
1.Masalani q'yish va uning matematik modelini ishlab chiqish. Ushbu bosqichda boshlang'ich malumotlar tarkibi aniqlanadi. Masalani q'yish odatda echiladigan masalaning asosiy xususiyatlarini og'zaki tavsiflash bilan tugallanadi va so'ngra, masala matematik modeli yoziladi.
2.Echish usulini tanlash. Masala matematik ifodalanib Bo'lgandan so'ng uni echish usuli tanlanadi. Bunda izlanayotgan natijalarning boshlang'ich mA'lumotlarga bog'liqligini aniqlaydi. Hozirgi zamon hisoblash matematikasi fan va texnikaga oid turli masalalarni echish uchun Ko'plab sonli usullarga ega.
3.Masalani echish algorithmini ishlab chiqish. Bu bosqichda kompyuterda masalani echish uchun bajariladigan amallar (buyruqlar) ketma-ketligi tavsiflanadi. Biz buni algorithmlash deb ataymiz.
4.Dasturlash. Bunda algoritm biror algoritmik tilga Ko chiriladi.
5.Dasturni kiritish va xatolarini tuzatish.
6.Masalani bevosita kompyuterda echish va natijalarni tahlil qilish. Bunda dasturda kerakli boshlang'ich qiymatlar berilib kompyuterda natija olinadi va tahlil qilinadi. Bu bosqichda agar kerak Bo'lsa algorithm va dastur modernizatsiya qilinishi ham mumkin. YAngi olingan mA'lumotlar asosida kerakli xulosalar ishlab chiqiladi. Bu mA'lumotlar q'yilgan masalani turlicha tahlil qilishga, murakkab jarayonlarni tushunishga, olamshumul yangiliklarning ochilishiga, yangi nazariyalarning, texnika mo‘jizalarining yaratilishiga xizmat qiladi. Umuman olganda "Model-algorithm-dastur" uchligi modellashtirishning intelektual MAG'zini tashkil etadi, bunday uchliksiz kompyuterda murakkab masalalarni echishda muvaffaqiyatga erishib Bo'lmaydi.
Dasturlash asoslari
Foydalanuvchi kompyuter bilan muloqat qilish uchun kompyuter “tili” ni bilishi ham talab qilinadi. Kompyuter tushunadiga “til” dasturlash tili deb ataladi. Biror masalani kompyuterda yechish uchun, avvalo, uning algoritmi tuzilishi va bu algoritmni kompyuter tushunadigan ko`rsatmalar va qonun-qoidalar asosida yozilisi kerak bo`ladi. Bu yozuv dastur bajarishi mumkin bo`lgan ko`rsatmalarning izchil tartibidan iborat ekan. Kompyuter uchun dastur tuzish jarayoni dasturlash va dasturnituzadigan kishi dasturchi deb ataladi.
MatCad dasturi interfeysi .Zamonaviy kompyuter matematikasi matematik hisoblarni avtomatlashtirish uchun butun bir birlashtirilgan dasturiy tizimlar va paketlarni taqdim etadi. Bu tizimlar ichida Mathcad oddiy, yetarlicha qayta ishlangan va tekshirilgan matematik, kimyoviy hisoblashlar tizimidir. Zamonaviy kompyuter matematikasi matematik hisoblarni avtomatlashtirish uchun butun bir birlashtirilgan dasturiy tizimlar va paketlarni taqdim etadi. Bu tizimlar ichida Mathcad oddiy, yetarlicha qayta ishlangan va tekshirilgan matematik, kimyoviy hisoblashlar tizimidir. Umuman olganda Mathcad – bu kompyuter matematikasining zamonaviy sonli usullarini qo`llashning umumiy kompleksidir. U o`z ichiga yillar ichidagi matematikaning rivojlanishi natijasida yig`ilgan tajribalar, qoidalar va matematik hisoblash usullarini olgan.
Mathcad paketi muxandislik va hisob ishlarini bajarish uchun dasturiy vosita bo`lib, u professional matematiklar, texnoliglar uchun mo`ljallangan. Uning yordamida o`zgaruvchi va o`zgarmas parametrli algebraik va differentsial tenglamalarni yechish, funktsiyalarni tahlil qilish va ularning ekstremumini izlash, topilgan yechimlarni tahlil qilish uchun jadvallar, grafiklar qurish va boshqa shunga o’shash vazifalarni bajarish mumkin. Mathcad murakkab masalalarni yechish uchun o`z dasturlash tiliga ham ega.
Mathcad interfeysi Windowsning barcha dasturlari intefeysiga o`xshash. Mathcad ishga tushurilgandan so`ng uning oynasida bosh menyu va uchta panel vositasidan iborat bo’lib ular quyidagi tartibda: Standart (Standart), Formatting (Formatlash) va Math (Matematika). Mathcad ishga tushganda avtomatik ravishda uning ishchi hujjat fayli Untitled 1 nom bilan ochiladi va unga Workshet (Ish varag`i) deyiladi. Standart (Standart) vositalar paneli bir necha fayllar bilan ishlash uchun buyruqlar to`plamini o`z ichiga oladi. Formatting (Formatlash) formula va matnlarni formatlash bo`yicha bir necha buyruqlarni o`z ichiga oladi. Math (Matematika) matematik vositalarini o`z ichiga olgan bo`lib, ular yordamida simvollar va operatorlarni hujjat fayli oynasiga joylashtirish uchun qo`llaniladi (1-rasm).
Colculator (Kolkulyator) – asosiy matematik operatsiyalar shabloni; Graph (Grafik) – grafiklar shabloni; Matrix (Matritsa) – matritsa va matritsa operatsiyalarini bajarish shabloni; Evluation (Baholash) – qiymatlarni yuborish operatori va natijalarni chiqarish operatori; Colculus (Hisoblash) – differentsiallash, integrallash, summani hisoblash shabloni; Boolean (Mantiqiy operatorlar) – mantiqiy operatorlar; Programming (Dasturlashtirish) – dastur tuzish uchun kerakli modullar yaratish operatorlari; Greek (Grek harflari) -symbolik belgililar ustida ishlash uchun operatorlar. Colculator (Kolkulyator) – asosiy matematik operatsiyalar shabloni; Graph (Grafik) – grafiklar shabloni; Matrix (Matritsa) – matritsa va matritsa operatsiyalarini bajarish shabloni; Evluation (Baholash) – qiymatlarni yuborish operatori va natijalarni chiqarish operatori; Colculus (Hisoblash) – differentsiallash, integrallash, summani hisoblash shabloni; Boolean (Mantiqiy operatorlar) – mantiqiy operatorlar; Programming (Dasturlashtirish) – dastur tuzish uchun kerakli modullar yaratish operatorlari; Greek (Grek harflari) -symbolik belgililar ustida ishlash uchun operatorlar.
Foydalanilgan Manbalar: fayllar.org , arxiv.uz
Do'stlaringiz bilan baham: |