1- mavzu (ma'ruza) uz 1-Ma’ruza. Algoritmlash va dasturlashning asosiy tushunchalari yangi


Download 63.29 Kb.
bet1/3
Sana10.12.2020
Hajmi63.29 Kb.
  1   2   3

1- mavzu (ma'ruza)_uz

1-Ma’ruza. Algoritmlash va dasturlashning asosiy tushunchalari 

         yangi:

                Kirish



  1. C++ dasturlash tilining tushunchalari

  2. Identifikatorlar. Ozgarmas va o’zgaruvchi kattaliklar.

  3. С++ tilining tayanch turlari

  4. C++ da  amallarIfoda tushunchasi. Ma’lumotlar toifasini o‘zgartirish

  5. Inkrement va dekrement amallar. Razryadli mantiqiy amallar. Chapga va o‘ngga surish amallari. Shartli amal.

  6. Amallar bajarish ketma-ketligi va yo’nalishi.

  7. C++ da kutbhonalar. Standart matematik funktsiyalar kutubhonasi

  8. Nazorat savollari

  9. Foydalangan adabiyotlar

 

Kalit so’zlari: algoritm, blok-sxema, identifikatorlar, int, short, bool, char, long, unsigned, unar amallar, binar amallar, C++, oszgaruvchi kattaliklar, o’zgarmaslar, inkrement, decrement, razryadli mantiqiy amallar, chapga ciljish amali, o’nga ciljish amali, mantiqiy ifodalar, solishtirish amallari, include, cmath.

 

Annotatsiya: Bu ma’ruzamizda C++ dasturlash tili bilan tanishishni boshlaymiz.

Dastirlash tilining alifbosi va leksemmalari (asosiy tyshunchalari) bilan tanishib chqamiz. C++ dastulash tilida birinchi oddiy dastur tuzamiz. Dasturda islatiladigan o’zgaruvchi va o’zgarmas kattaliklarni e’lon qilish, yani unin turini (toifasini) aniqlash va qiymat berish, ular ustida bajarish mumkin bo’lgan amallar bilan tanishamiz.

Kirish

Qo’yilgan masalani EHMda еchishda tеgishli ma'lumotlar arifmеtik yoki mantiqiy (logik) o’ayta ishlanadi. Lеkin, har qanday masalani EHMda bеvosita еchishdan oldin, odatda tayyorgarlik ishlari amalga oshiriladi. Ular quyidagilardan iboratdir:

  1.Masalani qo’yish va uning matеmatik modеlini yaratish;

  2.Еchish usulini tanlash;

  3.Masalani  еchish  algoritmini  ishlab chiqish;

  4.Dasturlash;

  5.Dasturni kiritish va xatolarini tuzatish;

  6.Masalani bеvosita EHMda еchish va olingan natijalarni tahlil qilish.

Dеmak EHMda masalalar еchishda algoritm muhim rol o’ynaydi. Har qanday qo’yilgan masalani kompyutеrda еchish uchun oldin uning еchilish algoritmini ishlab chiqish kеrak bo’ladi.



Ta'rif. Algoritm dеb, qo’yilgan masalani еchish uchun ma'lum qoidaga binoan bajariladigan amallarning chеkli qadamlar kеtma-kеtligiga aytiladi.

Har qanday algoritm ma'lum ko’rsatmalarga binoan bajariladi va bu ko’rsatmalarga buyruq dеyiladi. Algoritm bajaruvchi(ijrochi)ga tushunarli bo’lishi kеrak, aks holda maqsadga erishib bo’lmaydi.

Algoritm quyidagi muhim xossalarga ega: aniqlik va tushunarlilikommaviylik, natijaviylik va diskrеtlik.

Aniqlik va tushunarlilik - dеganda algoritmda ijrochiga bеrilayotgan ko’rsatmalar aniq mazmunda bo’lishi tushuniladi. Chunki ko’rsatmalardagi noaniqliklar mo’ljallangan maqsadga erishishga olib kеlmaydi. Ijrochiga tavsiya etiladigan ko’rsatmalar tushunarli mazmunda bolishi shart, aks holda ijrochi uni bajara olmaydi.

Ommaviylik -dеganda har bir algoritm mazmuniga ko’ra bir turdagi masalalarning barchasi uchun ham o’rinli bo’lishi, ya'ni umumiy bo’lishi tushuniladi.

Natijaviylik -dеganda algoritmda chеkli qadamlardan so’ng albatta natija bo’lishi tushuniladi.

Diskrеtlik -dеganda algoritmlarni chеkli qadamlardan tashkil qilib bo’laklash imkoniyati tushuniladi.

Har qanday algoritmning mantiqiy tuzilishi uchta asosiy elementlar orqali ifoda qilinishi mumkin:



ketma-ketlik (chiziqli) , tarmoqlanish, takrorlanish (takrorlash)

1. Chiziqli algoritm tuzilmasi ketma-ket bajariladigan buyruqlar tizimidan iborat bo‘ladi.

2. Tarmoqlanish. Bu tuzilma shart bajarilishi natijasiga qarab (ha yoki yo‘q) algoritmni bajarish yo‘nalishini belgilaydi.

3.Takrorlash tuzilmasi buyruq, ko‘rsatma va amallarni ko‘p marotaba bajarilishini ta’minlaydi.

Algoritmlarni turli usullarda tasvirlash mumkin.

Masalan:

                    -so’z bilan ifodalash;

                    -formulalarda berish;

                    -blok-sxеmalarda tasvirlash;

                    -dastur shaklida ifodalash va boshqalar.

Algoritmlarni blok-sxеma ko’rinishda tasvirlash qulay va tushunarli bo’lgani uchun eng ko’p ishlatiladi. Bunda algoritmdagi har bir ko’rsatma o’z shakliga ega. Masalan: parallеlogramm ko’rinishdagi bеlgi ma'lumotlarni kiritish va chiqarish; to’g’ri to’rtburchak bеlgisi hisoblash jarayonini; romb bеlgisi shartlarning tеkshirilishini  bildiradi (1.1 jadval).

                                                                             1.1 jadval


Amallarni belgilanishi

Izoh

     

Oddiy amal

    

Shartni tekshirish




Takrorlanishni boshi

   

Yordamchi algoritmga murojaat

   

Ma’lumotlarni kiritish va chiqarishning umumiy ko‘rinishi

     

Algoritmning boshi va oxiri

     

Natijani bosmaga chiqarish

 

Masala yechimi algoritmi islab chiqilgandan so’ng, uni dasturlash tillari  yordamida dasturint ishlab chiqish kerk boladi. Biz siz bilan hozirda keng tarqalgan C++ dasturrlash tilini o’rganishni boshlaymiz.


1. C++ dasturlash tilining tushunchalari


 

C++ tili Byarn Straustrup tomonidan 1980 yil boshlarida ishlab chiqilgan.

С++ tilida dastur yaratish bir nechta bosqichlardan iborat bo‘ladi. Dastlab, matn tahririda (odatda dasturlash muhitining tahririda) dastur matni teriladi, bu faylning kengaytmasi «.cpp» bo‘ladi, Keyingi bosqichda dastur matn yozilgan fayl kompilyatorga uzatiladi, agarda dasturda xatoliklar bo‘lmasa, kompilyator «.obj» kengaytmali ob’ekt modul faylini hosil qiladi. Oxirgi qadamda komponovka (yigʻuvchi) yordamida «.exe» kengaytmali bajariluvchi fayl - dastur hosil bo‘ladi. Bosqichlarda yuzaga keluvchi fayllarning nomlari boshlangʻich matn faylining nomi bilan bir xil bo‘ladi.

Kompilyatsiya jarayonining o‘zi ham ikkita bosqichdan tashkil topadi. Boshida preprotsessor ishlaydi, u matndagi kompilyatsiya direktivalarini bajaradi, xususan #include direktivasi bo‘yicha ko‘rsatilgan kutubxonalardan С++ tilida yozilgan modullarni prog-ramma tarkibiga kiritadi. SHundan so‘ng kengaytirilgan dastur matni kompilyatorga uzatiladi. Kompilyator o‘zi ham dastur bo‘lib, uning uchun kiruvchi ma’lumot bo‘lib, С++ tilida yozilgan dastur matni hisoblanadi. Kompilyator dastur matnini leksema (atomar) elementlarga ajratadi va uni leksik, keyinchalik sintaksik tahlil qiladi. Leksik tahlil jarayonida u matnni leksemalarga ajratish uchun «probel ajratuvchisini» ishlatadi. Probel ajratuvchisiga - probel belgisi (‘⊔’), ‘\t’ - tabulyasiya belgisi, ‘\n’- keyingi qatorga o‘tish belgisi, boshqa ajratuvchilar va izohlar  hisoblanadi.

Dastur matni tushunarli bo‘lishi uchun izohlar ishlatiladi. Izohlar kompilyator tomonidan «o‘tkazib» yuboriladi va ular dastur amal qilishiga hech qanday ta’sir qilmaydi.

С++ tilida izohlar ikki ko‘rinishda yozilishi mumkin.

Birinchisida “/*” dan boshlanib, “*/” belgilar oraligʻida joylashgan barcha belgilar ketma-ketligi izoh hisoblanadi, ikkinchisi «satriy izoh» deb nomlanadi va u “//” belgilardan boshlangan va satr oxirigacha yozilgan belgilar ketma-ketligi bo‘ladi. Izohning birinchi ko‘rinishida yozilgan izohlar bir necha satr bo‘lishi va ulardan keyin С++ operatorlari davom etishi mumkin.

Misol.


     # include             // sarlavha faylni qo‘shish

     int main ()                                // bosh funksiya tavsifi

    {                                                 // blok boshlanishi

      cout << ”Salom Olam!\n”;    // satrni chop etish

      return 0;                               // funksiya qaytaradigan qiymat

   }                                                // blok tugashi

 

Dastur bajarilishi natijasida ekranga “Salom Olam!” satri chop etiladi.



Dasturning 1-satrida #include. preprotsessor direktivasi bo‘lib, dastur kodiga oqimli o‘qish/yozish funksiyalari va uning o‘zgaruvchilari e’loni joylashgan «iostream.h» sarlavha faylini qo‘shadi. Keyingi qatorlarda dasturning yagona, asosiy funksiyasi - main() funksiyasi tavsifi keltirilgan. SHuni qayd etish kerakki, С++ dastursida albatta main() funksiyasi bo‘lishi shart va dastur shu funksiyani bajarish bilan o‘z ishini boshlaydi.

Dastur tanasida konsol rejimida belgilar ketma-ketligini oqimga chiqarish amali qo‘llanilgan. Ma’lumotlarni standart oqimga (ekranga) chiqarish uchun quyidagi format ishlatilgan:

sout <<  ;

Bu yerda sifatida o‘zgaruvchi yoki sintaksisi to‘gʻri yozilgan va qandaydir qiymat qabul qiluvchi til ifodasi kelishi mumkin (keyinchalik, burchak qavs ichiga olingan o‘zbekcha satr ostini til tarkibiga kirmaydigan tushuncha deb qabul qilish kerak).

Masalan:

      int uzg=324;

      cout<butun son chop etiladi

Berilganlarni standart oqimdan (odatda klaviaturadan) o‘qish quyidagi formatda amalga oshiriladi:

            cin >> ;

Bu yerda qiymat qabul qiluvchi o‘zgaruvchining nomi. 

Misol:

           int Yosh;



          cout<<”Yoshingizni kiriting_” ;

          cin>>Yosh;

Butun turdagi Yosh o‘zgaruvchisi kiritilgan qiymatni o‘zlashtiradi. Kiritilgan qiymatni o‘zgaruvchi turiga mos kelishini tekshirish mas’uliyati dastur tuzuvchisining zimmasiga yuklanadi.

Bir paytning o‘zida probel vositasida bir nechta va har xil turdagi qiymatlarni oqimdan kiritish mumkin. Qiymat kiritish tugmasini bosish bilan tugaydi. Agar kiritilgan qiymatlar soni o‘zgaruvchilar sonidan ko‘p bo‘lsa, «ortiqcha» qiymatlar bufer xotirada saqlanib qoladi.

             #include                  

             int main()

            {

               int x,y;

               float z;

               cin>>x>>y>>z;                                                          

               cout<<”O‘qilgan qiymatlar\n”;

               cout<

               return 0;        

          }

O‘zgaruvchilarga qiymat kiritish uchun klaviatura orqali

              10 20 3.14

harakati amalga oshiriladi. SHuni qayd etish kerakki, oqimga qiymat kiritishda probel ajratuvchi hisoblanadi. Haqiqiy sonning butun va kasr qismlari ‘.’ belgisi bilan ajratiladi. 


Download 63.29 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2020
ma'muriyatiga murojaat qiling