linkedin facebook linkedin facebook nod32

C++ algoritmik tilining asosiy tushunchalari

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2016-01-12

C++ algoritmik tilining asosiy tushunchalari

Video darslik 

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. C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell Laboratories da, DEC PDP-11 kompyuterida qo'lladi. 1983 yilda, C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 tehnik komitet tuzildi. 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 70-chi yillar boshida strukturali dasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi ob'ektlat 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'hshab strukturali dasturlash yoki yangicha, ob'ektlar bilan dasturlash mumkin.

C++ algoritmik tilining alifbosi quyidagilardan iborat:
1. katta va kichik lotin harflari;
2. 0 dan 9 gacha raqamlari;
3. maxsus belgilar (+,-,*,/,=,>,<,{,},[,],') ni o'z ichiga 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. Dastur 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 o'zgaruvchisi e'lon qilingan:
int b;
float h;

O'zgarmaslar (const)
Hisoblash jarayonida qiymatini o'zgartirmaydigan kattaliklarga aytiladi.
float const g = 9.81;
Izohlar. Dasturning ma'lum qismini tavsiflash uchun ishlatiladi va bu qatorda hech qanday amal bajarilmaydi, ya'ni dasturning 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. Dasturchi tomonidan dastur 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 ishlatilad i. Shuning uchun
identifikatorda probeldan foydalanib bo'lmaydi;
Xizmatchi (int, float, for, while kabi) so'zlardan identifikator sifatida
foydalanib bo'lmaydi;

C++ tilining kalit so'zlariga quyidagilar kiradi:
asm, auto, break, case, catch, char, class, const, continue, default, delete, do, double,else, enum, explicit, extern, float, for, friend, goto, if, inline, int, long, mutable, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, swith, template, this, throw, try, typedef, typename, union, unsigned, virtual, void, volatile, while.
Protsessor registrlarini belgilash uchun quyidagi so'zlar ishlariladi:
_AH, _AL, _AX, _EAX, _BH, _BL, _BX, _EBX, _CL, _CH, _CX, _ECX, _DH,
_DL, _DX, _EDX, _CS, _ESP, _EBP, _FS, _GS, _DI, _EDI, _SI, _ESI, _BP, _SP,_DS, _ES, _SS, _FLAGS.
Eslatma. Identifikator tanlashda birinchi belgi sifatida "_" belgisidan foydalanmaslik tavsiya etiladi.
C++ da dastur funksiya yoki funksiyalardan tashkil topadi. Agar dastur bir nechta funksiyadan iborat bo'lsa, bir funksiyaning nomi main bo'lishi shart.
Dastur aynan main funksiyasining birinchi operatoridan boshlab bajariladi.
Funksiyaning aniqlashishi quyidagicha bo'ladi:
qaytariluvchi_qiymat_toifas i funksiya_nomi ( [parametrlar] )
{
funksiya tanasini tashkil qiluvchi operatorlar
}
Qoida bo'yicha funksiya qandaydir bir qiymatni hisoblash uchun ishlatiladi. Shuning uchun funksiya nomi oldidan, funksiya qaytaradigan qiymat toifasi yoziladi. Agar funksiya hech qanday qiymat qaytarmaydigan bo'lsa, void toifasi yoziladi. Agar funksiya qaytaradigan qiymat toifasi yozilmagan bo'lsa, int ( butun ) toifali qiymat qaytariladi deb qabul qilinadi.
Funksiyalar bilan keyingi mavzularda batafsil tanishamiz.
C++da oddiy matnni ekranga chiqaruvchi dasturni ko'rib chiqamiz
Misol: Matnni ekranga chiqaruvchi dastur

#include<iostream.h>
int main ()
{
cout<<"ekranga ma'lumot chiqarish uchun";
system ("Pause");
return 0;
}

Har bir satrni o'rganib chiqamiz:
// - satrlar izoh hisoblanadi. Malakali dasturchilar har qanday dastur
muallif, dasturning tuzilish sanasi va maqsadini ifodalovchi izoh bilan boshlanishini maslahat berishadi.
#include <iostream.h> - satrlar bo'sh satrlar hisoblanadi. Bosh satrlar dastur qismlarini bir - biridan ajratib qo'yish uchun ishlatiladi. Dastur qismlarining bir - biridan ajralib turishi, dastur o'qilishini osonlashtiradi.
inputoutput - satrda, klaviaturadan ma'lumotlarni kiritish va ekranga chiqarish uchun<iostream.h> sarlavha fayli dasturga qo'shilyapti. Bu satr klaviatura orqali ma'lumot kirituvchi va ekranga nimadir chiqaruvchi har qanday dasturda bo'lishi shart. Aks xolda xato sodir bo'ladi.
Agar sizning kompilyatoringiz eski bo'lsa, unda <iostream.h> yozishingiz lozim bo'ladi.
"// ekranga ma'lumot chiqarish uchun" yozuvi bir satrli izoh hisoblanadi.
int main() - satrda butun toifadagi qiymat qaytaruvchi main funksiyasi berilgan. int xizmatchi so'zi butun toifadagi ma'lumotlarni e'lon qilishi uchun ishlatiladi.
{ - satrdagi ochuvchi figurali { funksiya tanasining boshlanganini bildiradi.
} - satrdagi yopuvchi figurali } funksiya tanasining tugaganini bildiradi.
cout - satrda cout << orqali ma'lumotlar ekranga chiqariladi. Qo'shtirnoq ( "_" )
orasida yozilgan ma'lumotlar satr deyiladi. Qo'shtirnoq orasida nima yozilsa, hech qanday o'zgarishsiz ekranga chiqariladi.

; - satr oxiridagi nuqtali vergul ( ; ) cout operatori tugallanganligini bildiradi. ;
operatorlarni bir - biridan ajratish uchun xizmat qiladi. Ya'ni operator tugallanganligini bildiradi. ; - satrdagi kabi preprotsessor amalidan keyin ; qo'yilmaydi. satrdagi return xizmatchi so'zi orqali funksiya 0 qiymat qaytaradi va dastur muvoffaqiyatli yakunlanadi.
O'zgaruvchilarni e'lon qilish. Dasturda 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
Kiritish va chiqarish operatorlari. Dasturda klaviatura orqali ma'lumot kiritish va ekranga chiqarish uchun preprotsessor direktivasini, ya'ni #include <iostream.h > ni dasturga qo'shish shart. Ma'lumotlarni kiritish cin >>, ma'lumotlarni chiqarish cout << operatori orqali amalga oshiriladi. cin >> a;
Bu operator bajarilganda ekranda kursor paydo bo'ladi. Kerakli ma'lumot klaviatura orqali kiritilgandan so'ng Enter tugmasi bosiladi. cout orqali ekranga ixtiyoriy ma'lumotni chiqarish mumkin. Satrli ma'lumotlarni ekranga chiqarish uchun, ularni qo'shtirnoq orasida yozish kerak.
Quyidagi a va b sonlarining yig'indisini chiqaruvchi dastur berilgan:

#include<iostream.h>
int main ()
{
int a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
c=a+b;
cout<<c<<endl;
system ("Pause");
return 0;
}

Ba'zi matematik funksiyalar: Matemetik funksiyalardan dasturda foydalanish uchun math.h faylini progarmmaga qo'shish kerak.
#include <math.h>
Funksiyaning C++ da ifodalanishi Funksiyaning matematik ifodalanishi
abs(x) - butun sonlar uchun /x/
fabs(x) - haqiqiy sonlar uchun

Pow(x,y)-xy
sqrt(X)-ildiz

Matematik funksiyalardan foydalanish kerak

#include<iostream.h>
#include<math.h>
int main ()
{
float a;
cout<<"a=";cin>>a;
a=sqrt(a);
cout<<a<<endl;
system ("Pause");
return 0;
}

11019 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений