logo

C++ asosida dasturni yaratish bosqichlari sxemasi, funksiyalarni loyihalash va qo‘llash tamoyillari.

Yuklangan vaqt:

23.11.2024

Ko'chirishlar soni:

0

Hajmi:

461.388671875 KB
O‘	ZBEKISTON RESBUPLIKASI	 	
 	
OLIY TA'LIM FAN VA INNOVATSIYALAR VAZIRLIGI	 	
SHAROF RASHIDOV NOMIDAGI SAMARQAND DAVLAT 	
UNIVERSITETI INTELLEKTUAL TIZIMLAR VA 	
KOMPYUTER TEXNOLOGIYALARI	 	
FAKULTETI	 	
 	
SUN’IY INTELLEKT 	yo‘	nalishi	 	
 	
__________________________ fanidan 	 	
 
 	
KU	RS ISHI	 	
 	
MAVZU:	 C++ asosida dasturni yaratish bosqichlari sxemasi, 	
funksiyalarni loyihalash va 	qo‘	llash 	tamoyillari.	 	
 	
 
 
 
 
Bajardi: I 	-bosqich talabasi: ___________________	___________	 	
 
Rahbar: 	_____________________________________	__	(F. I. O.	) 	
 
 
 
 
 
 
 	
Samarqa	nd 2024	  2 	
 	
MUNDARIJA	 	
I. KIRISH	 ................................	................................	................................	..................	 3 	
II.  ASOSIY QISM	 ................................	................................	................................	....	 5 	
1. C++ sintaksisi	 ................................	................................	................................	.....	 5 	
2. Dastur tuzilmasi	 ................................	................................	................................	. 8 	
3. C++ tilida oddiy dasturni yaratish bosqichlari	 ................................	.................	 10	 	
4. 	C++ asosida funksiyalarni loyihalash	 ................................	..............................	 15	 	
III. XULOSA	 ................................	................................	................................	...........	 19	 	
IV. FOYDALANILGAN ADABIYOTLAR	 ................................	..........................	 20	 	
 
 
 	  3 	
 	
I. 	KIRISH	 	
 
C++ 	- Bjarne  Stroustrup  tomonidan  1980	-til  boshlarida  ishlab  chiqilgan  eng 	
ko‘	p  ishlatiladigan  va  eng  mashhur  dasturlash  tili.  C++ 	- bu  yuqori  darajadagi  va 	
ob'ektga y	o‘	naltirilgan 	dasturlash tili. Ushbu til ishlab chiquvchilarga katt	a ilovalar va 	
dasturiy  ta'minotni  ishlab  chiqish, 	o‘	yinlarni  ishlab  chiqish  va  operatsion  tizimni 	
dasturlash uchun toza va samarali kod yozish imkonini beradi. Bu C dasturlash tilining 
ob'ektga  y	o‘	naltir	ilgan  dasturlashni  (OOP) 	o‘	z  ichiga  olgan  kengaytiril	ishi  b	o‘	lib, 	
kompyuterlar  uchun  dasturlarni  ishlab  chiqish  uchun  ishlatiladi.  Ushbu  C++ 
qoʻllanmasi C++ asoslari, C++ funktsiyalari, C++ sinflari, OOP va STL tushunchalari 
kabi C++ tilining barcha asosiy	 va ilgʻor mavzularini qamrab oladi.	 	
C++ eng mashhur platform	alararo dasturlash tili boʻlib, u OS, oʻyinlar, elektron 	
tijorat  dasturlari  va  boshqalar  kabi  yuqori  unumli  ilovalar  va  dasturiy  taʼminotlarni 
yaratish  uchun  ishlatiladi.  U  Bjarne  Stroustrup  tomo	nidan  C  tilining  kengaytmasi 	
sifatida  ishlab  chiqilgan.  C++  t	izim  resurslari  va  xotira  ustidan  yuqori  darajadagi 	
nazoratni beradi. 	C++ 	- bu yuqori unumli ilovalar yaratish uchun ishlatilishi mumkin 	
bo‘	lgan 	o‘	zaro  faoliyat  platformalar  tili.	 C++  Bjarne  Stroustrup  t	omonidan  C 	
tilining	 kengaytmasi  sifatida  ishlab  chiqilgan	 . C++  dasturchilarga  tizim  resurslari 	
va xotira ustidan yuqori darajadagi nazoratni beradi.	 Til 2011, 2014, 2017 va 2020 	
yillarda C++11,	 C++14, C++17, C++20 ga 4 ta katta marta yangilandi.	  	
C++  dun	yodagi  eng  mashhur  dasturlash  tillaridan  biridir.	 C++  tilini  hozirgi 	
operatsion tizimlarda, foydalanuvchi grafik interfeyslarida va 	o‘	rnatilgan tizimlarda 	
topish mumkin.	 C++ 	- bu ob'ektga y	o‘	nalt	irilgan dasturlash tili b	o‘	lib, u dasturlarga 	
aniq  tuzilma  be	radi  va  kodni  qayta  ishlatishga  imkon  beradi  va  ishlab  chiqish 	
xarajatlarini  kamaytiradi.	 C++  portativ  hisoblanadi  va  bir  nechta  platformalarga 	
moslasha  oladigan  ilovalarni  ishlab  chiqish  uchun  i	shlatilishi  mumkin.  C++ 	- bu 	
qiziqarli va 	o‘	rganish oson!	  	
C++ tili C	 , C#	 va	 Java	 tillariga yaqin boʻlgani uchun	 dasturchilar uchun C++ 	
tiliga yoki 	aksincha oʻtishni osonlashtiradi. 	C++ 	- bu samaradorlik va tezlik muhim  4 	
 
bo‘	lgan 	o‘	yinlarni ishlab chiqish, virtual haqiqat, real	 vaqtda simulyatsiya va yuqori 	
chastotali savdoda q	o‘	llaniladigan etakchi dasturlash tili.	 	
C++ ning bu qadar samarali b	o‘	lishini	ng sabablaridan biri uning apparat bilan 	
juda  yaqindan  ishlash  qobiliyatidir.  Bundan  tashqari,  ob'ektga  y	o‘	naltirilgan 	
dasturlas	h tili sifatida u rivojlanishda moslashuvchanlikni taklif qiladi. Bu tezlik va 	
unumdorlikni  muhokama  qilib  b	o‘	lmaydigan  hollarda	 	uni  eng  yaxshi  tilga 	
aylantiradi.	 	
 
 	  5 	
 	
II. 	 ASOSIY QISM	 	
 	
1. 	C++ sintaksisi	 	
 	
Sintaksis	 nima?	 Sintaksis	 deganda	 dasturlash	 tilida	 bayonotlar	 yozish	 	
qoidalari	 va	 qoidalari	 tushuniladi.	 Ularni	 dasturlash	 tilining	 tuzilishini	 belgilovchi	 	
grammatik	 qoidalar	 sifat	ida	 ham	 ko‘	rish	 mumkin.	  	
C++	 tili	 ham	 taqdim	 etuvchi	 funksiyalar	 uchun	 o‘	z sintaksisiga	 ega.	 Turli	 xil	 	
iboralar	 ularning	 ishlatilishini	 ko‘	rsatadigan	 turli	 xil	 sintaksisga	 ega,	 ammo	 C++	 	
dasturlarida	 barcha	 dasturlarda	 amal	 qilinadigan	 asosiy	 sintaksis	 qoid	alari	 ham	 	
mavjud.	 
C++	 dasturining	 asosiy	 sintaksisi.	 Biz	 quyidagi	 dastur	 yordamida	 asosiy	 C++	 	
sintaksisi	 bilan	 tanishishimiz	 mumkin.	 	
1.  Sarlavha  fayli:	 Sarlavha  fayllari  bizning  dasturimizda 	foydalanadigan 	
funktsiyalar va makroslarning ta'rifini 	o‘	z ichiga	 oladi. Ular C++ dasturining yuqori 	
qismida aniqlanadi.	 	
1-qatorda  biz 	#include  <iostream>	 iborasidan  foydalanib, 	kompilyatorga 	
iostream  sarlavhalari  fayllari  kutubxonasini  q	o‘	shishni  aytdik, 	unda  biz  kiritish  va 	
chiqarish  uchun  foydalangan  cin  va  cout  stan	dart  kiritish/chiqish  oqimlarining 	
ta'rifini  saqlaydi.  #include  preprotsessor  direktivasi  b	o‘	lib,  biz  sarlavha  fayllarini 	
import qilamiz.	 	
Sintaksis:	  #include	 < kutubxona_nomi >	 	
 
2. Ismlar may	doni	: 	
C++  tilidagi  nomlar  maydoni  biz  identifikatorlarni  aniqlayd	igan  soha  yoki 	
hududni  ta'minlash  uchun  ishlatiladi.  U  ikkita  identifikator 	o‘	rtasidagi  nom 	
ziddiyatlarini oldini olish uchun ishlatiladi, chunki identifikator sifatida faqat noyob 
nomlardan 	foydalanish mumkin.	 	
2-qatorda  biz  barcha  standart  kutubxona  funkt	siyalari  aniqlangan  standart 	
nom maydoni b	o‘	lishini k	o‘	rsatish uchun std namespace iborasidan foydalandik	.  6 	
 	
Sintaksis:	 using namespace std;	 	
C++  tilidagi  nomlar  b	o‘	shliqlari  haqida  k	o‘	proq  ma’l	umot  olish  uchun  C++ 	
tilidagi nomlar b	o‘	shliqlari maqolasiga qara	ng .	 	
 
3. Asosiy funksiya	: 	
Funktsiyalar  C++  dasturining  asosiy  qurilish  bloklari  b	o‘	lib,  u  qandaydir 	
muayyan  vazifani  bajarish  uchun  k	o‘	rsatmalarni 	o‘	z  ichiga  oladi.  Funktsiya  ta'rifi 	
uning  tanasida  mavjud  b	o‘	lgan  k	o‘	rsatmalardan  tashqari,  uning  qaytish  turi	 va 	
parametrlari  haqida  ma'lumotni  ham 	o‘	z  ichiga  oladi.  C++  funksiyalari  haqida 	
ko‘	proq bilish uchun C++ tilidagi funksiyalar maqolasiga qarang .	 	
№3  qatorda  biz  asosiy  funktsiyani 	int  main()	 sifatida  aniqladik.  Asosiy 	
funksiya  har  qanday  C++  dasturining  eng  muhim  qismidir.  Dasturning  bajarilishi 
har  doim  asosiy  funktsiyadan  boshlanadi.  Boshqa  barcha  funksiyalar  asosiy 
funksiyadan chaqiriladi. C++ da	 asosiy funksiya bajarilish holatin	i k	o‘	rsatuvchi ba'zi 	
qiymatlarni qaytarish uchun talab qilinadi.	 	
Sintaksis:	 	
int main() { 	 	
    	... kod ....	 	
     	return 0;	 	
} 
 
4. Bloklar:	 	
Bloklar 	- bu  {  }  qavs  ichiga  olingan  iboralar  guruhi  .  Ular  identifikatorlar 	
doirasi	ni belgilaydi va odatda 	funksiyalar va boshqaruv bayonotlari tanasini qamrab 	
olish uchun ishlatiladi.	 	
Asosiy funktsiyaning tanasi №4 qatordan 9	-qatorgacha { } ichida joylashgan	. 	
Sintaksis:	 {   // Funktsiyaning asosiy qismi     	return	 0; }	 	
 
 
  7 	
 	
5. Nuqtali vergul:	 	
Siz 	allaqachon  sezgan  b	o‘	lsangiz,  yuqoridagi  koddagi  har  bir  bayonotdan 	
keyin  (  ;  )  nuqtali  vergul  b	elgisi  q	o‘	yiladi.  U  dastur  bayonotining  har  bir  satrini 	
tugatish  uchun  ishlatiladi.  Kompilyator  bu  nuqta	-vergulni  k	o‘	rganda,  u 	o‘	sha 	
qatorning ishlashini tugata	di va keyingi qatorga 	o‘	tadi.	 	
Sintaksis:	 kodlar	; 	
 
6. Identifikatorlar	: 	
Biz identifikatorlardan 	o‘	zgaruvchilar, funktsiyalar va boshqa foydalanuvchi 	
tomonidan  belgilangan  ma'lumotlar  turlarini  nomlash  uchun  foydalanamiz. 
Identifikator  katta  va  kichik  alifbo 	belgilaridan,  pastki  chiziqdan  va  raqamlardan 	
iborat b	o‘	lishi mumkin. Birinchi harf pastki chizi	q yoki alifbo b	o‘	lishi kerak.	 	
Misol:	 	
int soni1 = 24; 	 	
int soni2 = 34;	 	
num1 va num2 identifikatorlar, int esa ma'lumotlar turidir.	 	
 
7. Kalit s	o‘	zlar	: 	
C++ 	dasturlash  tilida  C++  dasturida  ba'zi  maxsus  ma'nolar  uchun 	
ishlatiladigan ba'zi zahiralangan s	o‘	zlar ma	vjud. Uni identifikatorlar uchun ishlatib 	
bo‘	lmaydi.	 Masalan,  int,  return  va  using  s	o‘	zlari  dasturimizda  ishlatiladigan  kalit 	
so‘	zlardir. Bularning barc	hasi C++ tilida oldindan belgilangan ma'noga ega.	 	
C++ tilida jami 95 ta kalit s	o‘	z mavjud. Bu ba'zi kali	t s	o‘	zlar.	 	
int void if while auto bool uchun bu statik yangi haqiqiy false case char sinfini 	
buzadi	. 
     	 	
8. Asosiy Chiqish soni	: 	
7-qatorda  biz  standar	t  chiqish  oqimida  (stdout)  ikkita  sonning  yi	g‘	indisini 	
chiqarish uchun C++ da asosiy chiqish usuli b	o‘	lg	an cout usulidan foydalandik	. 	
Sintaksis:	  cout << natija << endl;	  8 	
 	
2. Dastur tuzilmasi	 	
 	
C++  dasturlash  tilida  dastur  quyidagi  tarkibda  tashkil  topadi:  Direktivalar 	– 	
funksiyalar kutubxonasini chaqirish. Ular maxsus includ	e katalogida joylashgan va 	
.h  kenga	ytmali  fayllar  b	o‘	ladi.  С++  tilida  masalaning  q	o‘	yilishiga  qarab  kerakli 	
kutubxonalar  chaqiriladi.  Bu	 	esa  dasturning  xotirada  egallaydigan  joyini 	
minimallashtiradi. 	 	
Masalan, ma’lumotlarni kiritish	-chiqarish proseduralari	 uchun: 	 	
• 	#include	 tizimdan chaqiris	h 	 	
• 	#include “stdio.h” joriy katalogdan chaqirish. 	 	
C++  dasturlash  tili  bilan  ishlovchi  eng  sodda  dasturlar  Dev  C++  va 	
CodeBlocks  dasturlaridir.  Ularning  tarkibida  300  dan  ortiq  kutubxonalar  mavjud. 
Eng  k	o‘	p  ishlatiladigan  ku	tubxonalar  quyidagilar:  #includ	e,  7  #include	 #include	 	
#include	 #include	 va  boshqalar  Makrolar  (#define) 	– dastur  bajarilishi  davomida 	
o‘	zgaruvchi  k	o‘	rsatilgan  qiymatni  qabul  qilishi  uchun  (const).  Unda  makroning 	
nomi va qiymati k	o‘	rsatiladi. 	 	
Masalan	:  	
#defi	ne pi 3.1415 	 	
#define x 556 #d	efine s[100] 	 	
#define M x*x*x 	 	
main  () 	funksiyasi	 – asosiy  degan  ma’noni  anglatadi.  Bu  funksiya  “{“ 	
belgisidan  boshlanadi  va  dasturning  asosini  tashkil  etuvchi 	o‘	zgaruvchilarning 	
toifalari k	o‘	rsatiladi. Dastur “}” belgisi bilan ya	kunlanishi shart. Agar das	turda qism 	
dasturlardan  foydalanilayotgan  b	o‘	lsa,  ularning  nomlari  va  haqiqiqy  parametrlari 	
keltiriladi. S	o‘	ngra dasturning asosiy buyruqlari yoziladi. Agar buyruqlar murakkab 	
bo‘	lsas, ular alohida “{ }” belgilari orasiga olingan 	bo‘	lishi kerak. 	 	
С++ tilid	a dasturning asosi b	o‘	lmish buyruqlar kichik harflar bilan yoziladi. 	
Buyruqlar  nuqta	-verguk  bilan  (;)  yakunlanadi.  Buyruqlar  bir  qator  qilib  yozilishi 	
ham mumkin. 	  9 	
 	
C++  dasturlash tilida  dastur  funksiya  va  funksiyalardan  tashkil  topa	di. Agar 	
dastur	 bir nechta funksiyalardan tashkil topgan b	o‘	lsa, bir funksiyaning nomi main 	
deb  nomlanishi  shart.  Dastur  aynan  main  funksiyasining  birinchi  operatoridan 
boshlab bajariladi. 	 	
C++ tilidagi dastur k	o‘	rinishini quyidagi misol yordamida keltirib 	o‘	tamiz.	 	
 	
 	
 
Dasturning  1	-satrida 	#include	 direktivasi  b	o‘	lib,  dastur  kodiga  oqimli 	
o‘	qish/yozish  funksiyalari  va  uning 	o‘	zgaruvchilari  e’loni  joylashgan  iostream.h 	
sarlavha  faylini  q	o‘	shadi.  Keyingi  qatorlarda  dasturning	 yagona,  asosiy  funksiyasi 	
main()	 funksiyasi tav	sifi keltirilgan. Shuni qayd etish kerakki, C++ dasturida albatta 	
main()	 funksiyasi  b	o‘	lishi  shart  va  dastur  shu  funksiyani  bajarish  bilan 	o‘	z  ishini 	
boshlaydi. 	 	
Dastur  tanasida  konsol  rejimi 	(Consol	 – rejimi 	bu  MS  DOS  oynasi 	
ko‘	rinishiga 	o‘	xshash oyna b	o‘	lib, unda foydalanuvchi dastur tuzuishda faqat dastur 	
kodlari bilan ishlaydi. Graphic interface 	– rejimida esa faqat tilning kodlari bilangina 	
emas muhitning menyulari, komponentalari bilan ham ishlashi mumkin	 bo‘	ladi) da 	
belgilar ketma	-ketligini oqimga ch	iqarish amali q	o‘	llanilgan. 	 	
Ma’lumotlarni  standart  oqimga  (ekranga)  chiqarish  uchun  quyidagi  format 	
ishlatilgan: 	 	
cout <<	  < ifoda	 >;  	
Bu  yerda	 sifatida 	o‘	zgaruvchi  yoki  sintsksisi  t	o‘	g‘	ri  yozilgan  va  qandaydir 	
qiymat qab	ul qiluvchi til ifodasi kelishi mu	mkin (keyinchalik, burchak qavs ichiga  10	 	
 
olingan 	o‘	zbekcha  satr  ostini  til  tarkibiga  kirmaydigan  tushuncha  deb  qabul  qilish 	
kerak). 	 
cin << a;	 	
 Ma’lumotlarni  klaviatura  yordamida  kiritish  buyru	g‘	i  b	o‘	lib,  u  ham 	
iostream.h kutu	bxonasi tarkibidagi funksiya his	oblanadi.	 	
 	
3. C++ tilida oddiy dasturni yaratish	 bosqichlari	 	
 
C++  dastur	ni	 	ishlab  chiqish  uchun  birinchi  qadam  IDE  (Integrated 	
Developing Environment) ni yuklab olish b	o‘	ladi. IDE k	o‘	pincha kompilyator, matn 	
muharriri  va  k	o‘	pincha  tuzatuvchini 	o‘	z  ichiga  ol	adi.  IDE  lardan  foydalanish 	
dasturlashni soddalashtiradi	. 	
2-qadam: sharhlash	 	
 	
1-rasm.	 	
Garchi dasturlashdagi sharhlar kodning qanday ishlashini 	o‘	zgartirmasa ham, 	
bu  dastur  kelajak	dagi  ishlab  chiquvchilarga  nima  qilishini  etkazishda  muhim 	
ahamiyatga  ega.  I	zoh  kattaroq  dasturlarda  muhimroq,  lekin  yaxshi  odatlarni 	
rivojlantirish  uchun  kichikroq  dasturlarda  ham  foydalanish  yaxshidir.  Fikr 
bildirishning  ikkita  asosiy  usuli  mavjud.  Birin	chisi,  qator  izohidir. 	\\ bilan 	
boshlangan har qanday qator izohdir. Bundan 	tashqari, /* va */ orasidagi har qanday 	
kod izohdir. Bu ushbu bosqichga mos keladigan rasmda k	o‘	rsatilgan	. 	
 
  11	 	
 
3-qadam: #include Direktivalar	. 	
 	
2-ra	sm.	 	
Izohlardan keyin #include iboralari yoziladi. Bu qatorlar bizga kutubxonalarni 	
belgilash yoki boshqa fayll	arda yozgan koddan foydalanish imkonini	 beradi. Misol 	
dasturida  biz  C++  kirish  va  chiqish  oqimlaridan  foydalanish  uchun  kutubxona, 
satrlardan foydalanish imkoniyati uchun kutubxona, c standart kutubxonasi va vaqt 
kutubxonasini 	o‘	z  ichiga  olamiz.  Ushbu  kutu	bxonalar  bizga  dasturda  q	o‘	shimcha 	
oper	atsiyalardan foydalanish imkonini beradi	. 	
4-qadam: Asosiy funktsiya	 	
 	
 	
3-rasm.	 	
Asosiy funktsiya qatori siz yozadigan deyarli har qanday dasturda b	o‘	ladi. Bu 	
erda  dastur  ishlay  boshlaydi.  Asosiy  funktsiya  k	o‘	pincha  int	 main((int  argc,  char 	
**argv)) shaklida yoziladi. Bu bizga argumentlarni asosiy funktsiyamizga 	o‘	tkazish 	
imkonini bera	di, ammo bu dastur uchun e'tiborsiz qoldirilishi mumkin	. 	
  12	 	
 
5-qadam: 	O‘	zgaruvchilar va 	o‘	zgaruvchilar turlari	 	
 	
 	
4-rasm.	 	
C++ da, qaysi turdag	i ma'lumotlar bilan ishlashga qarab, turli xil ma'lumotlar 	
turlari kerak b	o‘	lishi mumkin. Ushbu sahifadagi rasmda ishlatiladigan ma'lumotlar 	
turi  ikkita 	o‘	zgaruvchini  k	o‘	rsatadi,  taxmin  va  soni_tahminlar,  ikkalasi  ham  int 	
tipidagi.  Ular	 nomi  k	o‘	rsatganidek	 har  qanday  butun  son  qiymatini  ushlab  turishi 	
mumkin.  Turli  xil  boshqa  turdagi 	o‘	zgaruvchilar  mavjud.  Boshqa  asosiy  turdagi 	
o‘	zgaruvchilarga  float,  double  va  char  kiradi.  Belgida  bitta  belgi,  float  va  double 	
o‘	nlik  qiymatlarni  saqlashi	 mumkin.  Belgiga  mis	ol  sifatida  "c"  belgisi  b	o‘	lishi 	
mumkin.  Float  yoki  double  saqlashi  mumkin  b	o‘	lgan  qiymat  1,5  qiymati  b	o‘	lishi 	
mumkin.  Ushbu 	o‘	quv  q	o‘	llanma  uchun  misol  dasturi  int  dan  foydalanishdan 	
tashqari,  Std::string  turidan  foydalanadi.  Ushbu  tur	dagi  belgilar  ketma	-ketligini 	
saqlashi	 mumkin	.  	
Misolda 	-1 qiymati 	guess	da	 saqlanadi va 0 	qiymati 	number	_of_guesses ichida 	
saqlanadi.	 	
6-qadam: Konsolga chop etish	 	
 	
5-rasm.	  13	 	
 	
C++ da matnni std::cout ga ma’lumotlarni yuborish orqali konsolga chop etish 	
mumkin.  Bu  asosiy  ma'lumot	lar  turlarini 	o‘	z  ichiga  olishi  mumkin.  std::endl 	
chiqishga yangi qator q	o‘	shadi. Bu buni amalga osh	irishning C++ usuli. C++ C dan 	
ko‘	p  funksiyalarni  q	o‘	llab	-quvvatlaydi.  Bunga  printf  funksiyasi  kiradi.  Quyidagi 	
kod 	o‘	rniga	 u quyidagi	 ch	ayozilishi	 mumkin	: 	
printf("Raqam: %d 	\n", tasodifiy_raqam)	; 	
printf("Taxminlar soni: %d 	\n",taxminlar_soni)	; 	
printf("Ta	briklaymiz, siz raqamni topdingiz! 	\n")	;  	
Printf  funksiyasida  tirnoq  orasiga  kiritilgan  matn  k	o‘	rsatilgan  matn 	
hisoblanadi. Q	o‘	shtirnoq va verguldan keyin ch	op etilgan 	o‘	zgaruvchilar r	o‘	yxatga 	
olinadi.  Ular  tartibda  chop  etiladi  va  foiz  belgisi  bilan  boshl	angan  %d,  %c  yoki 	
boshqa ketma	-ketlikka mos kelishi kerak. 	\n belgisi yangi qatorni k	o‘	rsatadi.	 	
 
7-qadam: Konsoldan 	o‘	qish	 	
 	
 	
6-ras	m.	 	
C++  da  matnni  konsoldan	 	std::cin  dan  ma	’lumotlarni  yuborish  va 	
o‘	zgaruvchida  saqlash  orqali 	o‘	qish  mumkin.  std::cin  funksiyasi  chaqirilganda 	
konsol  foydalanuvchi  kiritishini  kutadi.  Foydalanuvchi  biror  narsani  kiritgandan 
so‘	ng,  dastur  uni  taxmin  qilishda  saqlashga  harakat  qilad	i.  Ushbu  misolda	 xato 	
tekshiruvi  amalga  oshirilmaydi,  shuning  uchun  agar  butun  sondan  boshqa  narsa 
kiritilsa, dastur ishdan chiqishi mumkin	. 	
 
 
  14	 	
 
8-qadam: Arifmetik amallar va tayinlash operatori	 	
 	
 	
7-ras	m.	 	
Belgilash  operatori  (=  belgisi)  tengning 	o‘	ng  tomonid	agi  qiymatni  tengning 	
chap  tomonidagi 	o‘	zgaruvchiga  belgilaydi.  Buning  t	o‘	g‘	ri  ishlashi  uchun  chap 	
tomon 	o‘	zgaruvchan	 bo‘	lishi	 kerak	. 	
Arifmeti	k  amallar  raqamlar  ustida  matematik  amallarni  bajarishga  imkon 	
beradi.  Raqamlar  bilan  ishlash  uchun  ishlatilishi  m	umkin  b	o‘	lgan  k	o‘	plab 	
operatorlar  mavjud.  Ularga  q	o‘	shish  (+  belgisi),  ayirish  (	- belgisi),  k	o‘	paytirish  (x 	
belgisi) kiradi. Kod qatorida taxm	inlar_soniga oldingi qiymat va 1 q	o‘	shiladi.	 	
9-qadam: Shartli (agar) bayonotlar	 	
 	
 	
8-rasm.	 	
Shartli  iboralar  (if  s	o‘zlari)  if  iborasi  yonidagi  qavs  ichida  nima  borligiga 	
qarab  keyingi  qaysi  kod  ishlashini 	o‘	zgartiradi.  Avval  qavsning  ichki  qismi 	
baholanadi. Bunday holda, agar respond.compare (string kutubxonasidan funksiya) 
0 ni qaytarsa, undan k	eyingi kod bajariladi. 	Taqqoslash funksiyasi uni chaqiruvchi 	
satr (bu misolda javob) ekvivalent b	o‘	lganda 0 ni qaytaradi. Satrlar va asosiy turlar  15	 	
 
turli xil taqqoslashlardan foydalanishiga e'tibor bering. Agar javob "ha"dan boshqa 
narsa b	o‘	lsa, "Siz qiziq 	emassiz!" konsolga chop	 etiladi.	  	
 
10	-qadam: 	Tarkrorlanishlar	 	
 	
 	
9-rasm.	 	
Looplar  deyarli  har  doim  if  iboralari  bilan  ishlatiladi  va  ma'lum  bir  shart 	
bajarilgunga  qadar  ishlaydi.  while  tsikli  yonidagi  qavs  ichida  mohiya	tan  if  ifodasi 	
mavjud.  Agar  bayonot  rost  b	o‘	lsa,  dastur  while	 siklining  yopilish  qavsigacha 	
ishlaydi  va  shart  yana  baholanadi  va  agar  bu  rost  b	o‘	lsa,  dastur  while  siklining 	
yopilish  qavsigacha  ishlaydi.  Bu  tsikl  shart  (	guess	 != random	_number	)  t	o‘	g‘	ri 	
bo‘	lmaguncha davom etadi. Bu tsikl, taxmin tasodifiy_raqam 	o‘	zgaru	vchisiga teng 	
bo‘	lmaguncha ishlaydi	. 	
 	
4. C++	 asosida funksiyalarni loyihalash	 	
 	
Funktsiya 	- bu qandaydir operatsiyala	rni bajaradigan kod blokidir. Funktsiya 	
ixtiyoriy  ravishda  q	o‘	ng‘	iroq  qiluvchilarga  argumentlarni  funktsiyaga 	o‘	tkazish 	
imkonini  beruvchi  ki	ritish  parametrlarini  belgilashi  mumkin.  Funktsiya  ixtiyoriy 	
ravishda  qiymatni  chiqish  sifatida  qaytarishi  mumkin.  F	unktsiyalar  umumiy 	
operatsiyalarni  qayta  foydalanish  mumkin  b	o‘	lgan  yagona  blokga  joylashtirish 	
uchun foydalidir, bu funksiya nima qilishini	 aniq tasvirlaydigan nom bilan. Quyidagi 	
funksiya  q	o‘	ng‘	iroq  qiluvchidan  ikkita  butun  sonni  qabul  qiladi  va  ularning	 	
yi	g‘	indisini qaytaradi;	 a va	 b int 	turdagi	 parametrlar	:  16	 	
 	
 	
10	-rasm.	 	
Funktsiyani	 dasturning	 istalgan  sonidan  chaqirish  yoki	 chaqiris	h mumkin.	 	
Funktsiyaga  uzatiladigan  qiymatlar  argumentlar  b	o‘	lib	 , ularning  turlari  funksiya 	
ta'rifidagi parametr turlariga mos kelishi kerak.	 	
 	
11	-rasm.	 	
 
Funktsiya uzunligi uchun amaliy chegara y	o‘	q, lekin yaxshi dizayn bitta aniq 	
belgilangan vazifani bajaradigan fu	nktsiyalarga qaratilgan. Murakkab algoritmlarni 	
iloji boricha tushunarli sodda funktsiyalarga b	o‘	lish kerak.	  	
Sinf  doirasida  aniqlangan  funksiyal	ar  a'zo  funksiyalar  deyiladi.  C++  da, 	
boshqa tillardan farqli 	o‘	laroq, funktsiya nomlar maydoni doirasida ham a	niqlanishi 	
mumkin (shu jumladan yashirin global nomlar maydoni). Bunday funktsiyalar	 erkin 	
funktsiyalar	 yoki	 a'zo  b	o‘	lmagan  funktsiyalar	 deb  atal	adi	 ;  Ular  standart 	
kutubxonada keng q	o‘	llaniladi.	 	
  17	 	
 	
Funksiya parametrlari va argumentlari	 	
 
Funktsiya  nol  yoki  un	dan  k	o‘	p  turdagi  vergul  bilan  ajratilgan  parametrlar 	
ro‘	yxatiga  ega,  ularning  har  biri  funktsiya  tanasi  ichida  kirish  mumkin  b	o‘	lgan 	
nomga  ega.  F	unktsiya  shabloni  k	o‘	proq  turdagi  yoki  qiymat  parametrlarini 	
belgilashi  mumkin.  Q	o‘	ng‘	iroq  qiluvchi  argumentlar	ni  uzatadi,  ular  turlari 	
parametrlar r	o‘	yxatiga mos keladigan aniq qiymatlardir	. 	
Odatiy  b	o‘	lib,  argumentlar  funktsiyaga  qiymat  b	o‘	yicha  uzatiladi	,  ya'ni 	
funksiya  uzatilayotgan  ob'ektning  nusxasini  oladi.  Katta  ob'ektlar  uchun  nusxa 
ko‘	chirish qimmat b	o‘	lis	hi mumkin va har doim ham kerak emas.	 	
 	
 	
12	-rasm.	 	
Funktsiyaning mahalliy 	o‘	zgaruvchilari	 	
 
Funktsiya  tanasi  ichida  e'lon  qilingan 	o‘	zgaruvchiga	 mahalliy 	
o‘	zg	aruvch	i yoki  oddiygina	 mahalli	y deyiladi	. Statik  b	o‘	lmagan  mahalliylar  faqat 	
funktsiya tanasi ichida 	ko‘	rinadi va agar ular stekda e'lon qilingan b	o‘	lsa, funktsiya 	
tugagandan  s	o‘	ng  doiradan  chiqib  ketadi.  Mahalliy 	o‘	zgaruvchini  yaratganingizda 	
va  uni  qiym	at  b	o‘	yicha  qaytarganingizda,  kompilyator  odatda	 keraksiz  nusxa 	
ko‘	chirish  operatsiyalarini	 	oldini	 	oli	sh	 	uchun	 nomli	 	qaytish  qiymatini 	
optimallashtirishn	i amalg	a oshirishi	mumkin.	 	
Agar  siz  mahalliy 	o‘	zgaruvchini  mos  yozuvlar  b	o‘	yicha  qaytarsangiz, 	
kompilya	tor ogohlantirish beradi, chunki q	o‘	ng‘	iroq qiluvchining ushbu havoladan 	
foydalanishga urinishi mahalli	y y	o‘	q qilinganidan keyin sodir b	o‘	ladi.	 	
C++ da mahalliy 	o‘	zgaruvchi statik deb e'lon qilinishi mumkin. 	O‘	zgaruvchi 	
faqat  funktsiya  tanasi  ichida  k	o‘	rina	di,  lekin 	o‘	zgaruvchining  bitta  nusxasi  18	 	
 
funksiyaning  barcha  misollari  uchun  mavjud.  tomonidan  belgilang	an  tugatish 	
vaqtida mahalliy statik ob'ektlar y	o‘	q qilinadi	 atexi	t. Agar statik ob'ekt tuzilmagan 	
bo‘	lsa,  chunki  dasturning  boshqaruv  oqimi  uning  deklara	tsiyasini  chetlab 	o‘	tgan 	
bo‘	lsa, bu ob'ektni y	o‘	q qilishga urinishlar amalga oshirilmaydi.	 	
 
Funktsiyada	n bir nechta qiymatlarni qaytarish	 	
 
Funktsiyadan bir nechta qiymatlarni qaytarishning turli usullari mavjud:	 	
1.	 	Nomlangan sinf yoki struktura ob'ektidagi qiy	matlarni inkapsulyatsiya qiling. 	
Sinf yoki struktura ta'rifi q	o‘	ng‘	iroq qiluvchiga k	o‘	rinadigan b	o‘	lishini talab qiladi:	 	
 	
 	
13	-ras	m.	 	
 	  19	 	
 	
III. 	XULOSA	 	
 
Ushbu  kurs  ishimni  qilish  mobaynida	 men  C++  tili  va  uning  imkoniyatlari 	
haqida  batafsil  ma’lumotlarga  ega  b	o‘	ldim.  C++  tili	da  oddiy  dasturni	 tuzish 	
jarayonlarini,  dastur  tuzilmasini,  bosqichlarini  bilib  oldi	m	 va  bu  amaliy  q	o‘	llay 	
oldim.	 
C++  funksiya  va  obyektlarning  juda  boy  kutubhonasiga  ega.  Yani  C++ 	
dasturlash  tilida  dasturlashni 	o‘	rganish  ikki  qismga  b	o‘	linadi.  Birinchisi  bu  C++ 	
tilini 	o‘	zini 	o‘	rganish,  ikkinchisi  esa  C++  ning  standart  kutubhonasidagi  tay	yor 	
obyekt  va  funksiyalarni  q	o‘	llashni 	o‘	rganishdir.  6  C++  tiliga  k	o‘	plab  yangiliklar 	
kiritilgan b	o‘	lib, tilning imkoniyati yanada kengaytirilgan. C++ dasturlash tili ham 	
boshqa dasturlash tillari kabi 	o‘	z alfavitiga va belgilariga ega. 	  	
C++  tilida  funksi	ya  haqida,  uning	 ishlatilish  usullarini,  bilib  oldim. 	C++ 	
dasturlash  tilida  funksiyalar,  belgilangan  vazifalarni  bajaruvchi  kod  b	o‘	lib,  ular 	
dasturda  qayta	-qayta  ishlatiladigan  qismlardir.	 Fu n ks iy a   f a q a t   c h a qi r i lg a n 	
v a q td a  i s h l ay d ig a n  k o d  b lo g i  hi s ob l a na d i	. Fu n k s iy a g a  p ar a me t r l a r  s i f a t i da 	
ma 'l u mo tl a r n i  u z ati	s h  mu mk i n . Fu nk si y a l a r  mu a yy a n  bi r v a z i f a n i  b a j a ri s h 	
u c h un  i s hl a t il a d i . K o d  y o z is h  j a r a yo ni d a  y a r a t g an  f u nk s iy a d a n  bi r  y ok i  b ir 
n e c h t a  ma r t a  i s hl a ti s h  y ok i  u mu ma n  is h l a t mas l ik  i mk on iy a t i g a  e g a	mi z .	 	
 	  20	 	
 	
IV. 	FOYDALANILGAN ADABIYOTLAR	 	
 	
1.	 	Sh.A.Sadullayeva, A.Z.Maxmudov	. C++ DA DASTURLASH fanidan 	o‘	quv 	
qo‘	llanma	, Toshkent 2017	; 	
2.	 	A.X.Nishanov,  U.U.Turapov.  “C++  tilida  dasturlash  asoslari  fani  b	o‘	yicha 	
o‘	quv	-uslubiy majmua”. Toshkent	-2016;	 	
3.	 	J.Axmadaliyev,  R.Holdarboyev	.  “  C++  tilini 	o‘	rganish  b	o‘	yicha 	o‘	quv	-	
uslubiy majmua”. Andijon	-2015;	 	
 	
INTERNET RESUSRLARI	 	
 	
1.	 	https://www.instructables.com/How	-to	-Write	-a-Simple	-C-Program/	 	
2.	 	https://www.geeksforgeeks.org/	functions	  	
3.	 	https://learn.microsoft.com/en	-us/cpp/cpp/functi	ons	-cpp?view=msvc	-170

O‘ ZBEKISTON RESBUPLIKASI OLIY TA'LIM FAN VA INNOVATSIYALAR VAZIRLIGI SHAROF RASHIDOV NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI INTELLEKTUAL TIZIMLAR VA KOMPYUTER TEXNOLOGIYALARI FAKULTETI SUN’IY INTELLEKT yo‘ nalishi __________________________ fanidan KU RS ISHI MAVZU: C++ asosida dasturni yaratish bosqichlari sxemasi, funksiyalarni loyihalash va qo‘ llash tamoyillari. Bajardi: I -bosqich talabasi: ___________________ ___________ Rahbar: _____________________________________ __ (F. I. O. ) Samarqa nd 2024

2 MUNDARIJA I. KIRISH ................................ ................................ ................................ .................. 3 II. ASOSIY QISM ................................ ................................ ................................ .... 5 1. C++ sintaksisi ................................ ................................ ................................ ..... 5 2. Dastur tuzilmasi ................................ ................................ ................................ . 8 3. C++ tilida oddiy dasturni yaratish bosqichlari ................................ ................. 10 4. C++ asosida funksiyalarni loyihalash ................................ .............................. 15 III. XULOSA ................................ ................................ ................................ ........... 19 IV. FOYDALANILGAN ADABIYOTLAR ................................ .......................... 20

3 I. KIRISH C++ - Bjarne Stroustrup tomonidan 1980 -til boshlarida ishlab chiqilgan eng ko‘ p ishlatiladigan va eng mashhur dasturlash tili. C++ - bu yuqori darajadagi va ob'ektga y o‘ naltirilgan dasturlash tili. Ushbu til ishlab chiquvchilarga katt a ilovalar va dasturiy ta'minotni ishlab chiqish, o‘ yinlarni ishlab chiqish va operatsion tizimni dasturlash uchun toza va samarali kod yozish imkonini beradi. Bu C dasturlash tilining ob'ektga y o‘ naltir ilgan dasturlashni (OOP) o‘ z ichiga olgan kengaytiril ishi b o‘ lib, kompyuterlar uchun dasturlarni ishlab chiqish uchun ishlatiladi. Ushbu C++ qoʻllanmasi C++ asoslari, C++ funktsiyalari, C++ sinflari, OOP va STL tushunchalari kabi C++ tilining barcha asosiy va ilgʻor mavzularini qamrab oladi. C++ eng mashhur platform alararo dasturlash tili boʻlib, u OS, oʻyinlar, elektron tijorat dasturlari va boshqalar kabi yuqori unumli ilovalar va dasturiy taʼminotlarni yaratish uchun ishlatiladi. U Bjarne Stroustrup tomo nidan C tilining kengaytmasi sifatida ishlab chiqilgan. C++ t izim resurslari va xotira ustidan yuqori darajadagi nazoratni beradi. C++ - bu yuqori unumli ilovalar yaratish uchun ishlatilishi mumkin bo‘ lgan o‘ zaro faoliyat platformalar tili. C++ Bjarne Stroustrup t omonidan C tilining kengaytmasi sifatida ishlab chiqilgan . C++ dasturchilarga tizim resurslari va xotira ustidan yuqori darajadagi nazoratni beradi. Til 2011, 2014, 2017 va 2020 yillarda C++11, C++14, C++17, C++20 ga 4 ta katta marta yangilandi. C++ dun yodagi eng mashhur dasturlash tillaridan biridir. C++ tilini hozirgi operatsion tizimlarda, foydalanuvchi grafik interfeyslarida va o‘ rnatilgan tizimlarda topish mumkin. C++ - bu ob'ektga y o‘ nalt irilgan dasturlash tili b o‘ lib, u dasturlarga aniq tuzilma be radi va kodni qayta ishlatishga imkon beradi va ishlab chiqish xarajatlarini kamaytiradi. C++ portativ hisoblanadi va bir nechta platformalarga moslasha oladigan ilovalarni ishlab chiqish uchun i shlatilishi mumkin. C++ - bu qiziqarli va o‘ rganish oson! C++ tili C , C# va Java tillariga yaqin boʻlgani uchun dasturchilar uchun C++ tiliga yoki aksincha oʻtishni osonlashtiradi. C++ - bu samaradorlik va tezlik muhim

4 bo‘ lgan o‘ yinlarni ishlab chiqish, virtual haqiqat, real vaqtda simulyatsiya va yuqori chastotali savdoda q o‘ llaniladigan etakchi dasturlash tili. C++ ning bu qadar samarali b o‘ lishini ng sabablaridan biri uning apparat bilan juda yaqindan ishlash qobiliyatidir. Bundan tashqari, ob'ektga y o‘ naltirilgan dasturlas h tili sifatida u rivojlanishda moslashuvchanlikni taklif qiladi. Bu tezlik va unumdorlikni muhokama qilib b o‘ lmaydigan hollarda uni eng yaxshi tilga aylantiradi.

5 II. ASOSIY QISM 1. C++ sintaksisi Sintaksis nima? Sintaksis deganda dasturlash tilida bayonotlar yozish qoidalari va qoidalari tushuniladi. Ularni dasturlash tilining tuzilishini belgilovchi grammatik qoidalar sifat ida ham ko‘ rish mumkin. C++ tili ham taqdim etuvchi funksiyalar uchun o‘ z sintaksisiga ega. Turli xil iboralar ularning ishlatilishini ko‘ rsatadigan turli xil sintaksisga ega, ammo C++ dasturlarida barcha dasturlarda amal qilinadigan asosiy sintaksis qoid alari ham mavjud. C++ dasturining asosiy sintaksisi. Biz quyidagi dastur yordamida asosiy C++ sintaksisi bilan tanishishimiz mumkin. 1. Sarlavha fayli: Sarlavha fayllari bizning dasturimizda foydalanadigan funktsiyalar va makroslarning ta'rifini o‘ z ichiga oladi. Ular C++ dasturining yuqori qismida aniqlanadi. 1-qatorda biz #include <iostream> iborasidan foydalanib, kompilyatorga iostream sarlavhalari fayllari kutubxonasini q o‘ shishni aytdik, unda biz kiritish va chiqarish uchun foydalangan cin va cout stan dart kiritish/chiqish oqimlarining ta'rifini saqlaydi. #include preprotsessor direktivasi b o‘ lib, biz sarlavha fayllarini import qilamiz. Sintaksis: #include < kutubxona_nomi > 2. Ismlar may doni : C++ tilidagi nomlar maydoni biz identifikatorlarni aniqlayd igan soha yoki hududni ta'minlash uchun ishlatiladi. U ikkita identifikator o‘ rtasidagi nom ziddiyatlarini oldini olish uchun ishlatiladi, chunki identifikator sifatida faqat noyob nomlardan foydalanish mumkin. 2-qatorda biz barcha standart kutubxona funkt siyalari aniqlangan standart nom maydoni b o‘ lishini k o‘ rsatish uchun std namespace iborasidan foydalandik .