Файл: Ozbekiston respublikasi oliy va orta maxsus talim vazirligi navoiy davlat pedagogika instituti.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 297

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

So‘z boshi

I BOB. C++ DASTURLASH TILIGA KIRISH Ushbu bobda C ++ tilining asosiy elementlari, ya’ni, alifbosi, o‘zgaruvchilar, o‘zgarmaslar, ma’lumotlar turlari, asosiy amallar, standart funksiyalar, dastur tuzilishi va ma’lumotlarni kiritish hamda chiqarishga oid ma’lumotlar berilgan. 1.1-§. C++ tilining leksik asoslari C++ dasturlash tili 1980-yilning boshida Bjarne Stroustrup tomonidan C dasturlash tiliga asoslangan holda yaratilgan bo`lib, uning kutubxonasida turli funksiyalar mavjud. Ushbu tilni o`rganish ikki qismga bo‘linadi. Birinchi qismda C++ dasturlash tilini o‘rganish, ikkinchisi esa C++ dasturlash tilining standart kutubxonasidagi tayyor obyekt va funksiyalarni qo‘llashni o‘rganishga asoslangan.Dastlab, mazkur mavzuda C++ dasturlash tili imkoniyatlarini Dev-C++ muhitidan foydalanib, misol va masalalarni dasturlashni ko‘rib chiqamiz. Dev-C++ – bu C / C ++ dasturlash tillari asosida dasturiy mahsulotlarni ishlab chiqish muhiti hisoblanadi. Dev-C ++ dasturi Bloodshed Software firmasi xodimi Colin Laplace tomonidan yaratilgan va shundan so‘ng, Windows operatsion tizimiga moslashtirilgan versiyalari ishlab chiqarila boshlagan.Hozirda Embarcadero firmasi tomonidan, Embarcadero Dev-C ++ shaklida ishlab chiqarish davom etmoqda. Embarcadero Dev-C ++ – bu Bloodshed Dev-C ++ dasturlash tilining yangi va takomillashtirilgan versiyalaridan biri hisoblanadi.Bugungi kunda, ushbu tilning ko`plab versiyalari ishlab chiqilgan bo`lib, mazkur mavzuda Dev C++ muhitining 5.11-versiyasi va unda misol va masalalarni dasturlashni ko`rib chiqamiz. Ushbu dasturni ishga tushirish quyidagi ketma-ketlikda amalga oshiriladi: Пуск – Все программы – Bloodshed Dev-C++ – Dev-C++ . So‘ngra, File – New – Source File (Ctrl+N) ketma-ketligi tanlanadi. Shu bilan birga, Windowsning ishchi maydonidagi yorliq orqali ham uni ishga tushirish mumkin. Yuqrida qayd etilgan ketma-ketlik asosida Dev C++ muhitining 5.11- versiyasi ishga tushirilgandan so‘ng, dastur oynasi quyidagicha namoyon bo‘ladi: 1-rasm.Ushbu oynaning Untitled1 maydoniga dastur kodi kiritiladi va F9- tugmasidan foydalanib, dastur kodi kompilyatsiya qilinadi. F11- tugmasi yordamida esa bir vaqtda kompilyatsiya qilinadi va ishga tushirib, natija olinadi. Agar dastur kodida xatolik aniqlansa, xatolik topilgan qator ajratilib ko‘rsatiladi.C++ dasturlash tili alifbosi va xizmatchi so‘zlariTanlab olingan algoritm asosida qo‘yilgan masalani kompyuterda yechish uchun har qanday algoritmik tilning o‘z alifbosi, buyruqlar majmuasi va maxsus dasturlar jamlangan kutubxonasi bo‘lishi zarur. Bu imkoniyatlar C++ dasturlash tilida ham mavjud bo`lib, uning alifbosi quyidagica bo`ladi. 1-jadvalC++ dasturlash tili alifbosi t/r Nomi Ishlatiladigan belgilar 1 Katta va kichik lotin alfaviti xarflari (A,B,..,Z, a,b,…,z) 2 Raqamlar 0,1,2,3,4,5,6,7,8,9 3 Maxsus belgilar “ , {} | [] () + - / % \ ; ‘ . : ? < = > _ ! & * # ^ Keltirilgan jadvaldan tashqari satrlarni o‘zaro ajratish uchun ishlatiladigan belgilar (misol uchun bo‘shliq, tabulyatsiya, yangi qatorga o‘tish belgilari) ham mavjud.Izohlar satrini tavsiflashC++ dasturlash tilida ikki turdagi izohlardan foydalaniladi: 1. Bir satrli. Masalan: // Beriladigan izoh (satr boshida ikkita drop belgisini qo‘yish orqali bir satrli izoh yoziladi);2. Ko‘p satrli. Masalan: /* Beriladigan izoh */ (izoh boshiga /* belgilari, izoh oxirida esa */ belgilari yoziladi).C++ tilida operatorlarC++ dasturlash tilida tuziladigan dastur kodi, kutubxona fayllariga murojaat va bir nechta funksiyalardan iborat bo‘lishi mumkin. Bunda, main nomli asosiy funksiya bo‘lishi zarur. Agar dasturda faqat asosiy funksiyadan foydalanilsa, dastur kodi quyidagicha yoziladi:#includeusing namespace std;int main(){ // dastur tanasi;} 2-rasm.Bunda:1. #include – xizmatchi so‘zi, kutubxona fayliga murojaat qiladi. Foydalanuvchi tomonidan qiymat kiritiladigan yoki ekranga qandaydir ma’lumot chiqariladigan dasturda iostream kutubxona fayli yoziladi. Masalan, kiritish va chiqarish operatoridan foydalanish uchun iostream kutubxona faylidan foydalaniladi;2. using namespace std – standart nomlarni e’lon qilish;3. int main() – asosiy funksiya hisoblanib, misol va masalalarning dastur kodi, ushbu bo‘limga, ya’ni { va } belgilari oralig‘iga kiritiladi;4. { va } – dastur kodi bloki hisoblanadi. Bunga dasturchi tomonidan kiritiladigan buyruqlar bitta operator sifatida qaraladi.Standart funksiyalar va ularning yozilishiC++ dasturlash tilida funksiyalar kutubxona fayllarida mavjud bo‘lib, undan foydalanish uchun #include xizmatchi so‘zi yordamida tegishli kutubxonaga murojaat qilinadi. Masalan, matematik funksiyalar joylashgan kutubxonaga murojaat qilish uchun math.h buyrug‘i yoziladi:#include#includeusing namespace std;int main(){ // dastur tanasi;}Ushbu math.h kutubxonasida quyidagi matematik funksiyalar mavjud:2-jadvalmath.h kutubxonasidagi ba’zi bir funksiyalarning berilishi va vazifalari t/r Berilishi Vazifasi 1 abs(x) Butun qiymatli x ning moduli 2 fabs(x) Haqiqiy qiymatli x ning moduli 3 sin(x) x ning sinusi 4 cos(x) x ning kosinusi 5 tan(x) x ning tangensi 6 atan(x) x ning arktangensi 7 acos(x) x ning arkkosinusi 8 asin(x) x ning arksinusi 9 exp(x) eksponenta, ex 10 log(x) natural logorifm (x>0) 11 log10(x) o‘nli logorifm (x>0) 12 sqrt(x) kvadrat ildiz (x>0) 13 pow(x,a) x ning a-chi darajasi 14 ciel(x) x ni katta butun songacha yaxlitlash 15 floor(x) x ni kichik butun songacha yaxlitlash Ushbu 2-jadvalda keltirilgan funksiyalardan foydalanib, ba’zi bir matematik amallar yozilishini 3-jadvalda ko‘rib chiqamiz.3-jadvalBa’zi bir matematik formulalarning C++ dasturlash tilida yozilishi Matematik formulalar C++ dasturlash tilida yozilishi 1. 1. pow((a+b)*(a+b), 1./5)2. pow(pow(a+b,2), 1./5)3. pow((a+b)*(a+b), (float)1/5)4. pow(pow(a+b,2), (float)1/5) 2. pow(sin(x), n) 3. exp(3*n) 4. exp(6*cos(2*x/a)) 5. pow(cos(sqrt(x+a)),2) 6. 1. log(abs(x-5))2. log(fabs(x-5)) 7. log(2*b)/log(a) 8. log10(b*b+1)/log10(a) 9. 3,4/pow(2,x) 10. pow(tan(pow(x,5)), 1/k) -pow(cos(2*x),2/3) 11. log(2*x)/log(b)-log(x) 12. pow(x,-3)-pow(2,5-x) 13. (2*x-(x-pow(x,6))*pow((x-pow(x,3)),x) /(sin(x)-abs(x-1) Konsol orqali muloqot qilishDev-C++ dasturlash muhitida konsolli rejim yordamida misol va masalalarning natijalarini qulay tartibda olish imkoniyati mavjud. Konsolli rejimda yangi dasturlash oynasini hosil qilish uchun File – New – Source File (Ctrl+N) ketma-ketligi tanlanadi. Hosil qilingan oynada tegishli dastur kodi yozilgandan so‘ng, uni kompyuter xotirasiga saqlash mumkin. Buning ikki xil usuli mavjud: 1. File – Save (Ctrl+S) ketma-ketligi yordamida lozim bo‘lgan disk yoki katalog tanlanadi;2. F9- yoki F11- tugmalari bosilganda hosil qilingan faylni saqlash so‘raladi. Shundan so‘ng, kompilyatsiya amali bajariladi. Natijada *.cpp fayl kengaytma bilan kompyuter xotirasiga saqlanadi. Agar kiritilgan dastur kodi, kompilyatsiyadan muvaffaqiyatli o‘tsa (dastur kodida xatolik bo‘lmasa) *.exe fayl kengaytma bilan tanlangan disk yoki katalogda, joriy fayl sifatida saqlanadi.Chiqarish operatoriDev-C++ dasturlash muhitida ma’lumotlarni ekranga chiqarish uchun iostream kutubxona faylida joylashgan cout<< operatoridan foydalaniladi. Bu yerda “cout” – chiqarish operatori, “<<” – esa chiqarish oqimi hisoblanadi. Misol uchun “2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili” jumlasini ekranga chiqarish uchun quyidagi dastur kodi yoziladi:#includeusing namespace std;int main(){cout<<"2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili";} 3-rasm.Ushbu dastur kodi kiritilgandan so‘ng, F11- tugmasi yordamida kompilyatsiya qilinadi. Natijada, quyidagi oyna hosil bo‘ladi: 4-rasm.Yuqorida keltirilgan tartibda bir nechta jumlalarni ham chiqarish mumkin. Buning uchun chiqariladigan ma’lumotlar oralig‘iga << – chiqarish oqimi yoziladi:#includeusing namespace std;int main(){cout<<"Mening birinchi dasturim"<<" Dasturlashni o‘rganaman "<<"Yosh dasturchi";} 5-rasm.Ushbu jumlalarni ustun shaklda chiqarish uchun ma’lumotlar oralig‘iga endl operatori kiritiladi. Ya’ni, quyidagi dastur kodi yoziladi: cout<<"Mening birinchi dasturim"< 6-rasm.Yuqorida keltirilgan tartibda faqat jumlalarni emas, balki hisoblash natijalarini ham chiqarish mumkin.Kiritish operatoriDev-C++ dasturlash muhitida ma’lumotlarni muloqot usulida kiritish uchun iostream kutubxona faylida joylashgan cin>> operatoridan foydalaniladi. Bu yerda “cin” – kiritish operatori, “>>” – esa kiritish oqimi hisoblanadi. Ushbuga oid misollarni keyingi mavzularda ko‘rib chiqamiz.Mustaqil bajarish uchun topshiriqlar1. Dev-C++ dasturlash muhitini kompyuterga o‘rnating.2. Dev-C++ dasturlash muhitini turli usullar bilan ishga tushiring.3. Dev-C++ dasturlash muhitida yangi dasturlash oynasini hosil qiling va uni kompyuter xotirasiga saqlang.4. Quyidagi misollarni hisoblash dasturini tuzing:1) .2) .3) .4) .5) .6) .7) .8) .9) .10) .5. Quyidagi jumlalarni ustun va satr shaklda chiqaruvchi dastur tuzing: “1-sentyabr O‘zbekiston Respublikasining mustaqillik kuni”, “9-may Xotira va qadrlash kuni” , “8-dekabr O‘zbekiston Respublikasining Konstitutsiyasi qabul qilingan kun”.1   2   3   4   5   6   7   8   9   10   11

1.2-§. O‘zgaruvchi va o‘zgarmas tipli kattaliklar

1.3-§. Dasturlash operatorlari

II BOB. BOSHQARUV OPERATORLARI

2.1-§. C++ dasturlash tilida shartli operatorlar

2.2-§. C++ dasturlash tilida takrorlanuvchi jarayonlar

2.3-§. C++ dasturlash tilida funksiyalar

2.4-§. C++ dasturlash tilida massivlar

2.5-§. C++ dasturlash tilida ko‘rsatkichlar

2.6-§. C++ dasturlash tilida satrlar va ular ustida amallar C++ dasturlash tilida ikki xil belgilar majmuasini mujassamlashtirgan. Birinchi toifaga, an’anaviy, ya’ni, tor belgilar deb nomlanuvchi 8 bitli, ikkinchisiga esa 16 bitli belgilar kiradi. Til kutubxonasida har bir guruh belgilari uchun maxsus funksiyalar to‘plami mavjud. Satrni char turidagi belgilar massivi sifatida qarash mumkin va bu belgilar ketma-ketligi nol kodli belgi bilan tugaydi (‘\0’). Odatda, nol bilan tugaydigan satrlarni ASCIIZ – satrlar deyiladi. Shuningdek, C++ dasturlash tilida satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. String sinfida satr oxirida ‘\0’ belgi qo‘yish talab etilmaydi.Satrli o‘zgarmas deb – qo‘shtirnoqlar ichiga olingan belgilar ketma-ketligiga aytiladi. Qo‘shtirnoqlar ichidagi belgilar ketma-ketligiga satr deyiladi.Quyida C++ dasturlash tilida belgi sifatida ishlatilishi mumkin bo‘lgan o‘zgarmaslar to‘plami keltirilgan: katta harflar – ‘A’ …’Z’, ‘A’…’Я’; kichik harflar – ‘a’ …’z’, ‘a’…’я’; raqamlar – ‘0’ …’9’; gorizontal bo‘sh joy qoldirish (ASCII kodi 9), satrni o‘tkazish (ASCII kodi 10), vertikal bo‘sh joy qoldirish (ASCII kodi 11), formani o‘tkazish (ASCII kodi 12), navbatdagi satrga o‘tkazish (ASCII kodi 13); punktuatsiya belgilari (ajratuvchilar) ! ” # $ & ‘ ( ) * + - , . / : ; < = > ? @ [ \ ] ^ _ { | }

2.7-§. C++ dasturlash tilida strukturalar va birlashmalar



O‘ZBEKISTON RESPUBLIKASI

OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI

NAVOIY DAVLAT PEDAGOGIKA INSTITUTI
R.A.Ro‘ziyev, U.M.Mirsanov, F.J.Toxirov,

L.S.Isroilova, H.N.Arziqulov


Dasturlash asoslari

(C++ tilida)

O‘quv qo‘llanma

(5110700-Informatika o‘qitish metodikasi ta’lim yo‘nalishi)

Navoiy- 2021
UDK 681.3.062;004.432

BBK 32.973.26-018.1
Ro‘ziyev R.A. Mirsanov U.M., Toxirov F.J., Isroilova L.S., Arziqulov H.N. Dasturlash asoslari (C++ tilida) // O‘quv qo‘llanma. Toshkent: “______________”nashriyoti, 2021. 138 bet.
Taqrizchilar: Aloyev R.D.- fizika-matematika fanlari doktori, O‘zbekiston Milliy universiteti “Hisoblash modellari va texnologiyalari” kafedrasi professori.

Ibragimov A.A.- fizika-matematika fanlari nomzodi, Navoiy davlat pedagogika instituti “Informatika o‘qitish metodikasi” kafedrasi dotsenti.
Ma’sul muharrir: Suvonov O.O.
Annotatsiya

Ushbu o‘quv qo‘llanmada rivojlanayotgan axborotlashgan jamiyatda dasturlash tilini tadbiq etishning nazariy va amaliy asoslari, dasturlash texnologiyasi C++ dasturlash tili misolida yoritilgan bo‘lib, C++ tilining leksik asoslari, o'zgaruvchi va o'zgarmas tipli kattaliklar, boshqaruv operatorlari vazifalari bayon qilingan. Shuningdek, har bir keltirilgan ma’lumotlar misollar orqali asoslangan.

O‘quv qo‘llanma 5110700- informatika o‘qitish metodikasi bakalavriat ta’lim yo‘nalishi davlat ta’lim standarti va o‘quv rejasiga mos ishlab chiqilgan. Undan Oliy o‘quv yurti, akademik litsey va umumiy o‘rta ta’lim maktablarida informatika va axborot texnologiyalari, algoritimlash va dasturlash asoslari fanlaridan ma’ruza, amaliy va laboratoriya hamda mustaqil mashg‘ulotlarni olib borishda foydalanish mumkin.
Аннотация

В данном учебнике рассматриваются теоретические и практические основы языка программирования C ++ в развивающемся информационном обществе, технологии программирования на примере языка программирования C ++, его лексические основы переменные и инвариантные константы, функции управляющих операторов. Кроме того, каждая информация основана на примерах.

Учебник разработан в соответствии с государственным образовательным стандартом и учебной программой бакалавриата 5110700-Методика преподавания информатики. Его можно использовать на лекционных, практических и лабораторных, а также на самостоятельных занятиях по основам информатики и информационных технологий, алгоритмов и программирования в высших учебных заведениях
, академических лицеев и общеобразовательных школ.
Annotations

This tutorial examines the theoretical and practical foundations of a programming language in the developing information society, programming technologies using the C ++ programming language as an example, C ++ lexical foundations, variable and invariant sizes, and control operator functions. ... In addition, each information is based on examples.

Textbook 5110700-Methods of teaching informatics is developed in accordance with the state educational standard and the curriculum of the bachelor's degree. It can be used in lectures, practical and laboratory classes, as well as in independent studies on the basics of computer science and information technology, algorithms and programming in higher educational institutions, academic lyceums and secondary schools.

So‘z boshi


Amaliyotdan ma’lumki, har qanday ijtimoiy-iqtisodiy o‘zgarishlarning samaradorligi, bu borada belgilangan vazifalarni bajarishga safarbar qilinadigan mutaxassislarning kasbiy yetukligiga bog‘liqdir.

Ushbu maqsadda qabul qilingan, O‘zbekiston Respublikasi Prezidentining “2017-2021 yillarda O‘zbekiston Respublikasini rivojlantirishning beshta ustuvor yo‘nalishlari bo‘yicha Harakatlar strategiyasi to‘g‘risida”gi Farmoni, “Oliy ma’lumotli mutaxassislar tayyorlash sifatini oshirishda iqtisodiyot sohalari va tarmoqlarining ishtirokini yanada kengaytirish chora-tadbirlari to‘g‘risida”gi 2017-yil 27-iyil PQ-3151-sonli Qarori, hamda “Oliy ta’lim muassasalarida ta’lim sifatini oshirish va ularni mamlakatda amalga oshirilayotgan keng qamrovli islohotlarda faol ishtirokini ta’minlash bo‘yicha qo‘shimcha chora-tadbirlar to‘g‘risida”gi 2018- yil 5- iyun PQ-3775-sonli Qarorida belgilangan vazifalarni amalga oshirish ustuvor vazifa qilib belgilangan. Bu esa o‘z navbatida yangi ta’lim tizimida dunyo axborot-ta’lim olamiga kirib borishga, o‘quv-tarbiya jarayonini ham nazariy, ham amaliy jihatdan o‘zgartirishga, shuningdek, o‘sib kelayotgan yosh avlodni axborot jamiyatida yangicha bilim olishga va yaratuvchanlik ruhida tarbiyalashga keng yo‘l ochib berdi.

Kompyuter vositalariga tayangan holda, axborot texnologiyalarini turli tarmoqlarda keng ko‘lamda qo‘llanilishi hozirgi kunda samarali natijalarga olib kelmoqda. Ayniqsa, bugungi kunda uzluksiz ta’lim tizimining kompyuter texnalogiyalari asosida tashkil etishdagi yutuqlari, o‘qitishning samaradorligini oshirishga asos bo‘lmoqda. Ushbu tizim asosida mashg‘ulotlarning olib borilishi va zamonaviy dasturiy vositalarni qo‘llanilishi, o‘quvchi-talabalarning ijodiy, mantiqiy fikirlash qobiliyatini rivojlanishiga, ma’lumot va axborotlarning ko‘payishi asosida bilimlarini oshirishga zamin yaratmoqda.

Shu sababli, ta’lim jarayonini axborotlashtirish, zamonaviy axborot texnologiyalari imkoniyatlaridan, jumladan, innovatsion texnologiyalar tizimlarini yaratish va undan ta’lim jarayonida unumli foydalanishning nazariy hamda amaliy asoslarini yaratish, bugungi kunda dolzarb hisoblanadi.

Shunday qilib, ta’lim tizimida dasturlash asoslari yuzasidan bilim va malakalarni shakllantirish, uni rivojlantirish, mazkur jarayonga nisbatan tizimli, kompleks yondashuvni taqozo etmoqda.

Demak, ta’lim olayotgan o‘quvchi-talabalarni, davr talabiga javob bera oladigan yetuk mutaxassis, komil inson bo‘lib tarbiyalanishlarida, yaratuvchanlik tamoyili asosida yangi g‘oyalarga tayangan holdi dasturlash tillaridan kreativ fikrlashini shakillantirishda “Dasturlash tillari” fanini o‘qitish katta ahamiyat kasb etadi.

Ushbu o‘quv qo‘llanmada bayon qilingan ma’lumotlar, 5110700- informatika o‘qitish metodikasi bakalavriat ta’lim yo‘nalishi, davlat ta’lim standarti va o‘quv rejasiga mos keltirilgan mavzular asosida taqdim etilgan. Shuningdek, akademik litsey o‘quvchilari va mustaqil dasturlash bilan shug‘ullanuvchilarni C++ dasturlash tili bo‘yicha o‘z bilim, ko‘nikma va malakalarini oshirishlariga qaratilgan.

Qo‘llanma ikkita bobdan iborat bo‘lib, har bir bobda keltirilgan tushunchalardan foydalanish aniq misollar yordamida yoritilgan hamda bilimlarni mustahkamlash uchun topshiriqlar keltirilgan. Jumladan, birinchi bobda o‘quv dasturiga mos tarzda mavzular ketma-ketligi bo‘yicha C++ dasturlash tilining boshlang‘ich nazariy ma’lumotlari, tilni ishga tushirish va foydalanish usullari yoritilgan. Keyingi bobda C++ tilining boshqaruv operatorlari: shartli operatorlar, takrorlanuvchi jarayonlar, funksiyalar, massivlar, satrlar ustida amallar, struktura va birlashmalar hamda fayllar bilan ishlashga oid ma‘lumotlar va mavzularga mos zaruriy tushunchalardan foydalanish imkoniyatlari misollar orqali taqdim etilgan.



Yuqoridagi fikirlarimizning asosi sifatida ushbu o‘quv qo‘llanmada, foydalanuvchilar C++ dasturlash tilidan barqaror dasturlash ko‘nikmasiga ega bo‘lishi uchun qo‘shimcha misol va masalalar keltirilgan. O‘quv qo‘llanma ba‘zi kamchiliklardan xoli bo‘lmasligi mumkin. Uni yanada mukammal bo‘lishi yuzasidan bildirilgan fikr-mulohazalarni mamnuniyat bilan qabul qilamiz.

I BOB. C++ DASTURLASH TILIGA KIRISH


Ushbu bobda C ++ tilining asosiy elementlari, ya’ni, alifbosi, o‘zgaruvchilar, o‘zgarmaslar, ma’lumotlar turlari, asosiy amallar, standart funksiyalar, dastur tuzilishi va ma’lumotlarni kiritish hamda chiqarishga oid ma’lumotlar berilgan.

1.1-§. C++ tilining leksik asoslari


C++ dasturlash tili 1980-yilning boshida Bjarne Stroustrup tomonidan C dasturlash tiliga asoslangan holda yaratilgan bo`lib, uning kutubxonasida turli funksiyalar mavjud. Ushbu tilni o`rganish ikki qismga bo‘linadi. Birinchi qismda C++ dasturlash tilini o‘rganish, ikkinchisi esa C++ dasturlash tilining standart kutubxonasidagi tayyor obyekt va funksiyalarni qo‘llashni o‘rganishga asoslangan.

Dastlab, mazkur mavzuda C++ dasturlash tili imkoniyatlarini Dev-C++ muhitidan foydalanib, misol va masalalarni dasturlashni ko‘rib chiqamiz. Dev-C++ – bu C / C ++ dasturlash tillari asosida dasturiy mahsulotlarni ishlab chiqish muhiti hisoblanadi. Dev-C ++ dasturi Bloodshed Software firmasi xodimi Colin Laplace tomonidan yaratilgan va shundan so‘ng, Windows operatsion tizimiga moslashtirilgan versiyalari ishlab chiqarila boshlagan.

Hozirda Embarcadero firmasi tomonidan, Embarcadero Dev-C ++ shaklida ishlab chiqarish davom etmoqda. Embarcadero Dev-C ++ – bu Bloodshed Dev-C ++ dasturlash tilining yangi va takomillashtirilgan versiyalaridan biri hisoblanadi.

Bugungi kunda, ushbu tilning ko`plab versiyalari ishlab chiqilgan bo`lib, mazkur mavzuda Dev C++ muhitining 5.11-versiyasi va unda misol va masalalarni dasturlashni ko`rib chiqamiz. Ushbu dasturni ishga tushirish quyidagi ketma-ketlikda amalga oshiriladi: Пуск – Все программы – Bloodshed Dev-C++ – Dev-C++ . So‘ngra, File – New – Source File (Ctrl+N) ketma-ketligi tanlanadi. Shu bilan birga, Windowsning ishchi maydonidagi yorliq orqali ham uni ishga tushirish mumkin. Yuqrida qayd etilgan ketma-ketlik asosida Dev C++ muhitining 5.11- versiyasi ishga tushirilgandan so‘ng, dastur oynasi quyidagicha namoyon bo‘ladi:



1-rasm.

Ushbu oynaning Untitled1 maydoniga dastur kodi kiritiladi va F9- tugmasidan foydalanib, dastur kodi kompilyatsiya qilinadi. F11- tugmasi yordamida esa bir vaqtda kompilyatsiya qilinadi va ishga tushirib, natija olinadi. Agar dastur kodida xatolik aniqlansa, xatolik topilgan qator ajratilib ko‘rsatiladi.

C++ dasturlash tili alifbosi va xizmatchi so‘zlari

Tanlab olingan algoritm asosida qo‘yilgan masalani kompyuterda yechish uchun har qanday algoritmik tilning o‘z alifbosi, buyruqlar majmuasi va maxsus dasturlar jamlangan kutubxonasi bo‘lishi zarur. Bu imkoniyatlar C++ dasturlash tilida ham mavjud bo`lib, uning alifbosi quyidagica bo`ladi.

1-jadval

C++ dasturlash tili alifbosi

t/r

Nomi

Ishlatiladigan belgilar

1

Katta va kichik lotin alfaviti xarflari

(A,B,..,Z, a,b,…,z)

2

Raqamlar

0,1,2,3,4,5,6,7,8,9

3

Maxsus belgilar

“ , {} | [] () + - / % \ ; ‘ . : ? < = > _ ! & * # ^


Keltirilgan jadvaldan tashqari satrlarni o‘zaro ajratish uchun ishlatiladigan belgilar (misol uchun bo‘shliq, tabulyatsiya, yangi qatorga o‘tish belgilari) ham mavjud.

Izohlar satrini tavsiflash

C++ dasturlash tilida ikki turdagi izohlardan foydalaniladi:

1. Bir satrli. Masalan: // Beriladigan izoh (satr boshida ikkita drop belgisini qo‘yish orqali bir satrli izoh yoziladi);

2. Ko‘p satrli. Masalan: /* Beriladigan izoh */ (izoh boshiga /* belgilari, izoh oxirida esa */ belgilari yoziladi).

C++ tilida operatorlar

C++ dasturlash tilida tuziladigan dastur kodi, kutubxona fayllariga murojaat va bir nechta funksiyalardan iborat bo‘lishi mumkin. Bunda, main nomli asosiy funksiya bo‘lishi zarur. Agar dasturda faqat asosiy funksiyadan foydalanilsa, dastur kodi quyidagicha yoziladi:

#include

using namespace std;

int main(){

// dastur tanasi;

}



2-rasm.

Bunda:

1. #include – xizmatchi so‘zi, kutubxona fayliga murojaat qiladi. Foydalanuvchi tomonidan qiymat kiritiladigan yoki ekranga qandaydir ma’lumot chiqariladigan dasturda iostream kutubxona fayli yoziladi. Masalan, kiritish va chiqarish operatoridan foydalanish uchun iostream kutubxona faylidan foydalaniladi;

2. using namespace std – standart nomlarni e’lon qilish;

3. int main() – asosiy funksiya hisoblanib, misol va masalalarning dastur kodi, ushbu bo‘limga, ya’ni { va } belgilari oralig‘iga kiritiladi;

4. { va } – dastur kodi bloki hisoblanadi. Bunga dasturchi tomonidan kiritiladigan buyruqlar bitta operator sifatida qaraladi.

Standart funksiyalar va ularning yozilishi

C++ dasturlash tilida funksiyalar kutubxona fayllarida mavjud bo‘lib, undan foydalanish uchun #include xizmatchi so‘zi yordamida tegishli kutubxonaga murojaat qilinadi. Masalan, matematik funksiyalar joylashgan kutubxonaga murojaat qilish uchun math.h buyrug‘i yoziladi:

#include

#include

using namespace std;

int main(){

// dastur tanasi;

}
Ushbu math.h kutubxonasida quyidagi matematik funksiyalar mavjud:

2-jadval

math.h kutubxonasidagi ba’zi bir funksiyalarning berilishi va vazifalari

t/r

Berilishi

Vazifasi

1

abs(x)

Butun qiymatli x ning moduli

2

fabs(x)

Haqiqiy qiymatli x ning moduli

3

sin(x)

x ning sinusi

4

cos(x)

x ning kosinusi

5

tan(x)

x ning tangensi

6

atan(x)

x ning arktangensi

7

acos(x)

x ning arkkosinusi

8

asin(x)

x ning arksinusi

9

exp(x)

eksponenta, ex

10

log(x)

natural logorifm (x>0)

11

log10(x)

o‘nli logorifm (x>0)

12

sqrt(x)

kvadrat ildiz (x>0)

13

pow(x,a)

x ning a-chi darajasi

14

ciel(x)

x ni katta butun songacha yaxlitlash

15

floor(x)

x ni kichik butun songacha yaxlitlash


Ushbu 2-jadvalda keltirilgan funksiyalardan foydalanib, ba’zi bir matematik amallar yozilishini 3-jadvalda ko‘rib chiqamiz.

3-jadval

Ba’zi bir matematik formulalarning C++ dasturlash tilida yozilishi




Matematik formulalar

C++ dasturlash tilida yozilishi

1.



1. pow((a+b)*(a+b), 1./5)

2. pow(pow(a+b,2), 1./5)

3. pow((a+b)*(a+b), (float)1/5)

4. pow(pow(a+b,2), (float)1/5)

2.



pow(sin(x), n)

3.



exp(3*n)

4.



exp(6*cos(2*x/a))

5.



pow(cos(sqrt(x+a)),2)

6.



1. log(abs(x-5))

2. log(fabs(x-5))

7.



log(2*b)/log(a)

8.



log10(b*b+1)/log10(a)

9.




3,4/pow(2,x)

10.



pow(tan(pow(x,5)), 1/k) -pow(cos(2*x),2/3)

11.



log(2*x)/log(b)-log(x)

12.



pow(x,-3)-pow(2,5-x)

13.




(2*x-(x-pow(x,6))*pow((x-pow(x,3)),x) /(sin(x)-abs(x-1)


Konsol orqali muloqot qilish

Dev-C++ dasturlash muhitida konsolli rejim yordamida misol va masalalarning natijalarini qulay tartibda olish imkoniyati mavjud. Konsolli rejimda yangi dasturlash oynasini hosil qilish uchun File – New – Source File (Ctrl+N) ketma-ketligi tanlanadi. Hosil qilingan oynada tegishli dastur kodi yozilgandan so‘ng, uni kompyuter xotirasiga saqlash mumkin. Buning ikki xil usuli mavjud:

1. File – Save (Ctrl+S) ketma-ketligi yordamida lozim bo‘lgan disk yoki katalog tanlanadi;

2. F9- yoki F11- tugmalari bosilganda hosil qilingan faylni saqlash so‘raladi. Shundan so‘ng, kompilyatsiya amali bajariladi. Natijada *.cpp fayl kengaytma bilan kompyuter xotirasiga saqlanadi. Agar kiritilgan dastur kodi, kompilyatsiyadan muvaffaqiyatli o‘tsa (dastur kodida xatolik bo‘lmasa) *.exe fayl kengaytma bilan tanlangan disk yoki katalogda, joriy fayl sifatida saqlanadi.

Chiqarish operatori

Dev-C++ dasturlash muhitida ma’lumotlarni ekranga chiqarish uchun iostream kutubxona faylida joylashgan cout<< operatoridan foydalaniladi. Bu yerda “cout” – chiqarish operatori, “<<” – esa chiqarish oqimi hisoblanadi. Misol uchun “2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili” jumlasini ekranga chiqarish uchun quyidagi dastur kodi yoziladi:

#include

using namespace std;

int main(){

cout<<"2021-yil Yoshlarni qo‘llab-quvvatlash va aholi salomatligini mustahkamlash yili";

}



3-rasm.

Ushbu dastur kodi kiritilgandan so‘ng, F11- tugmasi yordamida kompilyatsiya qilinadi. Natijada, quyidagi oyna hosil bo‘ladi:



4-rasm.

Yuqorida keltirilgan tartibda bir nechta jumlalarni ham chiqarish mumkin. Buning uchun chiqariladigan ma’lumotlar oralig‘iga << – chiqarish oqimi yoziladi:

#include

using namespace std;

int main(){

cout<<"Mening birinchi dasturim"<<" Dasturlashni o‘rganaman "<<"Yosh dasturchi";

}



5-rasm.

Ushbu jumlalarni ustun shaklda chiqarish uchun ma’lumotlar oralig‘iga endl operatori kiritiladi. Ya’ni, quyidagi dastur kodi yoziladi:

cout<<"Mening birinchi dasturim"<



6-rasm.

Yuqorida keltirilgan tartibda faqat jumlalarni emas, balki hisoblash natijalarini ham chiqarish mumkin.

Kiritish operatori

Dev-C++ dasturlash muhitida ma’lumotlarni muloqot usulida kiritish uchun iostream kutubxona faylida joylashgan cin>> operatoridan foydalaniladi. Bu yerda “cin” – kiritish operatori, “>>” – esa kiritish oqimi hisoblanadi. Ushbuga oid misollarni keyingi mavzularda ko‘rib chiqamiz.

Mustaqil bajarish uchun topshiriqlar

1. Dev-C++ dasturlash muhitini kompyuterga o‘rnating.

2. Dev-C++ dasturlash muhitini turli usullar bilan ishga tushiring.

3. Dev-C++ dasturlash muhitida yangi dasturlash oynasini hosil qiling va uni kompyuter xotirasiga saqlang.

4. Quyidagi misollarni hisoblash dasturini tuzing:

1) .

2) .

3) .

4) .

5) .

6) .

7) .

8) .

9) .

10) .

5. Quyidagi jumlalarni ustun va satr shaklda chiqaruvchi dastur tuzing: “1-sentyabr O‘zbekiston Respublikasining mustaqillik kuni”, “9-may Xotira va qadrlash kuni” , “8-dekabr O‘zbekiston Respublikasining Konstitutsiyasi qabul qilingan kun”.

1   2   3   4   5   6   7   8   9   10   11

1.2-§. O‘zgaruvchi va o‘zgarmas tipli kattaliklar


O‘zgaruvchilar

Har qanday dasturda, muammoni hal qilish uchun ma’lumotlar qayta ishlanadi, ular kompyuter xotirasida saqlanadi. Ushbu ma’lumotlar turlicha bo‘lishi mumkin: butun va haqiqiy sonlar; belgilar; satrlar; massivlar.

Ma’lumot turlari kompyuter xotirasida raqamlar yoki belgilar uchun joy ajratadi. Ular u yoki bu qiymat yoziladigan katakchaning o‘lchamini belgilaydi va shu bilan uning maksimal qiymatini yoki sonning aniqligini anglatadi. Muayyan turdagi qiymatni saqlaydigan xotira qismi o‘zgaruvchi deb ataladi. O‘zgaruvchining nomi (identifikatori) va qiymati mavjud. Uning nomi qiymat saqlanadigan xotira maydoniga murojaat qilish uchun ishlatiladi. Bunda dastur ishlayotganda o‘zgaruvchining qiymati o‘zgarishi ham mumkin. Ulardan foydalanish uchun dastlab e’lon qilish talab etiladi. Uni e’lon qilish quyidagicha yoziladi:

turi o‘zgaruvchi_nomi;

yoki

tip o‘zgaruvchilar_ro‘yxati;

Identifikatorlar va xizmatchi so`zlar

Identifikatorlar va xizmatchi so‘zlar C++ dasturlash tili alifbosidagi belgilaridan foydalanib yoziladi.

Identifikator – bu harflar, raqamlar va pastki chiziq belgisidan iborat dasturiy obyektning nomidir. Identifikatorning birinchi belgisi harf yoki pastki chiziq bo‘lishi zarur, ammo raqam bo‘lishi mumkin emas. Identifikatorni yozishda bo‘sh joy (probel)dan foydalanilmaydi. Identifikatordagi katta va kichik harflar har xil belgilashlarni anglatadi. Masalan, ABC, abc, Abc belgilashlar uch xil nom hisoblanadi. Har bir ism (identifikator) funksiya ichida yozilishi va hech qanday xizmatchi so‘zlarga mos kelmasligi kerak.

Xizmatchi so‘zlar – bu kompilyator uchun alohida ma’noga ega bo‘lgan hamda faqat ular til operatorlari, ma’lumotlar turlari va boshqalarda ishlatiladigan so‘zlardir. Masalan, include, cout, cin, int.
Ma’lumotlarning tiplari

C ++ dastrulash tilining ma’lumotlar tiplarini asosiy va tarkibiy qismlarga bo‘lish mumkin. C ++ dastrulash tilida o‘zgaruvchilarning asosiy tiplariga quyidagilar kiradi:

• char - belgili;

• int – butun son;

• float – haqiqiy son;

• double - ikki karra haqiqiy son;

• bool - mantiqiy.

Ma’lumotlarning boshqa tiplarini shakllantirish uchun spetsifikator (qiymat chegarasi) lardan foydalaniladi. Spetsifikatorlar yordamida belgilangan tiplar tarkibiy ma’lumotlar deyiladi.

C ++ dasturlash tilida ma’lumotlar tipining to‘rtta spetsifikatori mavjud:

• short - qisqa;

• long - uzun;

• signed - ishorali;

• unsigned - ishorasiz.

Bularning imkoniyatlarini quyida ko‘rib chiqamiz:

Belgili tiplar

Belgili o`zgaruvchilarga oid misol va masalalarni dasturlashda char tipidan foydalaniladi. char tipidagi ma’lumotlar kompyuter xotirasida bir bayt joy egallaydi. Buning sababi shundaki, odatda 256 ta belgilardan birini saqlash uchun qancha belgi turiga teng bo‘lsa, shuncha xotira ajratiladi. Belgining turi ishorali yoki ishorasiz bo‘lishi mumkin.

4-jadval

Belgili tiplarning nomi, hajmi va qiymatlar chegarasi

t/r

Toifa nomi

Hajm, bit

Qiymatlar chegarasi

1.

char

1 bayt

-128 … 127

2.

unsigned char

1 bayt

0 … 255

3.

signed char

1 bayt

-128 … 127