Dasturlash - Kurs ishi mavzusi

1.2 Dasturlash
Dasturlash — kompyuterlar va boshqa mikroprotsessorli elektron mashinalar uchun dasturlar tuzish, sinash va oʻzgartirish jarayonidan iborat. Odatda dasturlash yuqori saviyali dasturlash tillari (PHP, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur tuzish jarayoni ancha oson kechadi.
Dasturlash elektron mashinalarda masalalarni yechish hamda ularda har xil aqliy mehnat turlarini bajarish nazariyasi va usullarini ishlab chiqish bilan shugʻullanadi. Algoritmlar nazariyasining amaliy boʻlimi- insonning mashina bilan aloqa qilish vositasi. Asosiy vazifalaridan biri elektron mashinalar uchun programma (dastur) tuzish usullari, ularni tekshirish va takomillashtirishdan iborat.
Dasturlash — bevosita dasturlash va avtomatik dasturlashga boʻlinadi. Bevosita dasturlashda programmaning umumiy sxemasini ishlab chiqishdan kodlash va mashinaga kiritishgacha boʻlgan barcha ishni programmachi bajaradi. Avtomatik dasturlashda esa programmachi faqat programma sxemasini tuzib, uni qisqartirilgan simvolik ko‘rinishda yozadi, programma tuzish va uni kodlash kabi texnikaviy ishlarni esa mashinaning oʻzi maxsus dasturlash programmasi yordamida bajaradi.
Dasturlash jarayoni, odatda, quyidagi bosqichlarga boʻlinadi: masalaning qoʻyilishi; masalaning algoritmik tavsifini tuzish; masalani yuqori darajadagi programma tilida dasturlash; masalani taxminiymashina tilida dasturlash; masalani mashina tilida dasturlash
Dasturlash tili programmalar tuzishning asosiy vositasidir. Bu tillar konkret mashina komandalari sistemasiga bogʻliq boʻlmasligi va iboralar strukturasi jihatidan umumiy xususiyatga ega boʻlishi bilan boshqa tabiiy tillarga oʻxshab ketadi. Iboralar ikki turga — operatorlar hamda tavsiflarga boʻlinadi, ularning bir-biri bilan bogʻliqligi qavslar bilan, alohidaligi nuqtali vergul bilan ajratiladi. Operator tilning amal birligi boʻlib, oʻz navbatida, oʻzgaruvchan kattalikka qiymat beruvchi operatorlar, shartga muvofiq tegishli hisoblash tarmogʻini tanlovchi (shartli) operator va takroriy hisobni amalga oshiruvchi sikl operatorlariga boʻlinadi. Tavsifda oʻzgaruvchan kattalik va boshqa belgilar xususiyatlari yoziladi. Biror xususiy masalani yechish uchun tuzilgan programmani simvolik ravishda funksional belgilash mumkin. Bunday belgilash va tavsif birgalikda kichik programma deb yuritiladi. Yangi programmalar tuzishda kichik programmalardan tayyor holda foydalanish mumkin.
Juda koʻp dasturlash tillari (algol-60, q. Algol), muhandislik va ilmiy masalalarni yechish uchun fortran, iqtisodiy hisoblashlar uchun kobol, matematik modellar uchun simula, takomillashgan algol-68, PL/I yaratildi. Ularning har biri uchun shu tillarda ifodalangan masalalarga qarab mashina programmasini avtomatik tarzda qaytatuzuvchi translyatorlar mavjud. Taxminiy mashina tili ikkilik sistemadan koʻra yanada qulayroq simvollarda ifodalangan mashina komandalari terminlaridagi programmalar boʻlib, bunda koʻpincha, yuqori darajadagi til sifatida blok sxemalardan foydalaniladi.
Dasturlashning programma tuzilgandan keyingi yana bir asosiy bosqichi „tekshirish“ (otladka) boʻlib, bunda yoʻl qoʻyilgan xatolar topiladi va tuzatiladi. Programmalar kodlanadi va mashinaga maxsus qurilma yordamida kiritiladi. Amaliyotda dasturlashning yangi va tezkor usullari bor; matematik dasturlash — amaliy matematikaning bir boʻlimi, umumiy ma‘noda — biron-bir funksiya fo (x) ning ekstremumini ( Ekstremum) topish masalasi tushuniladi
Oldingi mavzularda misol tariqasida keltirilgan dasturlarda amallar yozilish tartibida ketma-ket va faqat bir marta bajariladigan holatlar, ya’ni chiziqli algoritmlar keltirilgan. Amalda esa kamdan-kam masalalar shu tariqa yechilishi mumkin. Aksariyat masalalar yuzaga keladigan turli holatlarga bog‘liq ravishda mos qaror qabul qilishni (yechimni) talab etadi. C++ tili programmaning alohida bo‘laklarining bajarilish tartibini boshqarishga imkon beruvchi qurilmalarning yetarlicha katta majmuasiga ega. Masalan, programma bajarilishining birorta qadamida qandaydir shartni tekshirish natijasiga ko‘ra boshqaruvni programmaning u yoki bu bo‘lagiga uzatish mumkin (tarmoqlanuvchi algoritm). Tarmoqlanishni amalga oshirish uchun shartli operatordan foydalaniladi. Ushbu mashg‘ulotdan oldingi darslarda, dasturlash asoslarini o‘rganishga kirish qismi sifatida qabul qilishingiz mumkin, chunki oldingi darslarda juda sodda dasturlarni yozdik, ushbu dasturlar qandaydir tarzda ishladi, biror sodda vazifani bajardi, lekin qanday qilib rivojlanishni tanlash qobiliyatidan mahrum edi ushbu dasturlar. Bunday dasturlar chiziqli dasturlar deb ataladi. if konstruksiyasi. if ifodasi shartning to‘g‘riligini tekshiradi va agar u to‘gri bo‘lsa, u operatorlar blokini bajaradi. Ushbu operator quyidagi qisqa shaklga ega: if (shart) { ko‘rsatmalar; } Rost yoki yolg‘onni qaytaradigan shartli ifoda shart sifatida ishlatiladi. Agar shart rost bo‘lsa, unda if blokiga kiritilgan keyingi bayonotlar bajariladi. Agar shart yolg‘on bo‘lsa, unda keyingi bayonotlar bajarilmaydi. Ko‘rsatmalar bloki figurali qavslar ({ }) ichiga kiritilgan. Masalan: #include using namespace std; { int main() { int x = 60; if(x > 50) { 79 cout << “x 50 dan katta\n”; } if(x < 30) { cout << “x 30 dan kichik\ n”; } cout<<”Dastur oxiri”<Bu yerda ikkita ifoda berilgan. Ular x ning belgilangan qiymatdan katta yoki kichikligini tekshiradilar. Ko‘rsatma sifatida ikkala holatda ham konsolga satr chiqariladi. Birinchi holda, x>50, shart to‘g‘ ri bo‘ladi, chunki x o‘zgaruvchining qiymati haqiqatan ham 50 dan katta, shuning uchun bu shart haqiqiy bo‘ladi va shuning uchun if blokiga kiradigan ko‘rsatma bajariladi. if operatoridagi shart yolg‘on bo‘lsa else operatoridan so‘ng, bajariladigan mulohazalar to‘plamini aniqlashimiz mumkin. Ya’ni, agar 80 shart rost bo‘lsa, if ifodasidan keyingi ko‘rsatmalar bajariladi va agar bu ifoda yolg‘on bo‘lsa, else operatoridan keyingi ko‘rsatmalar bajariladi. ʻ if(x > 60) cout << “x 60 dan katta\n”; else cout << “x 60 dan kichik \n”; Bunday holda, x> 60 sharti yolg‘on, ya’ni “false” qiymatini qaytaradi, shuning uchun else bloki bajariladi. Natijada konsolda “x 60 dan kichik” qatori ko‘rsatiladi. Biroq ko‘p hollarda ikkita emas balki bir nechta variantlardan birini tanlash kerak bo‘lib qolishi mumkin. Bu holda bir nechta if else konstruksiyasini ishlatish mumkin. Masalan, yuqoridagi holatda siz uchta shartni hisoblashingiz mumkin: x o‘zgaruvchisi 60 dan katta, 60 dan kichik va 60 ga teng bo lishi mumkin. Shart operatorida e’tibor qilish kerak bo‘lgan jihatlar: 1) if sintaksisi: if (shart) { ko rsatmalar ʻ } 2) if-else sintaksisi: if (shart) { ko‘rsatma 1.
|