Toshkent davlat agrar universiteti s. M. Aminov, S. I. Muxamadiyev, S. Sh. Rasulov axborot kommunikatsion



Yüklə 15,83 Mb.
Pdf görüntüsü
səhifə45/74
tarix14.10.2023
ölçüsü15,83 Mb.
#155463
1   ...   41   42   43   44   45   46   47   48   ...   74
kommunikacion tehnologijalar 2020 j

tarmoqlanuvchi algoritmlar
deyiladi. 
3.
 
Takrorlanuvchi algoritm 
Takrorlanuvchi algoritmlar deb bir yoki bir necha marta takrorlanadigan 
amallar ketma-ketligining bir necha marta takrorlanishiga aytiladi (5.2-rasm). 
8.2-rasm Algoritmni blok-sxema turlari 
Tarmoqlanuvchi 
algoritmlar 
hisoblashlar 
ketma-ketligini 
aniqlaydigan 
shartlarni o‘z ichiga oladi. Blok –sxemada hech bo‘lmaganda bitta romb ishtirok 
etadi. Qandaydir shartni bajarilishiga bog‘liq bo‘lgan algoritm 
tarmoqlanuvchi 
algoritmlar
. Bunday algoritmlar to‘liq va to‘liq emas shakllarda bo‘ladi. 
 
1 – topshiriq. Quyidagi funksiyani hisoblash dasturini tuzing: 
|
|
)
cos(
2
3
b
ax
x
y
e
z
x




1. 
2. 
3. 


74 
Echilishi:
Masalaning blok sxemasi: 
2 – topshiriq. 
Funksiya qiymatini hisoblash dasturini tuzing. 
Echilishi:
I.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3-topshiriq. 
x
nuqta 
[a,b]
oraliqda yotishini aniqlovchi dasturni tuzing. 
Echilishi:
 Masalaning blok sxemasi: 


.
61
.
0
sin
625
.
1
2




boshlanishi 
ma’lumotlarni 
kiritish 
z=(exp(x)-cos(y))/|x*x*x+ax*x+b| 
z ni chiqarish 
tamom 
Boshlanish 
alfa ni kiritish 
fi
=1.625*sin(alfa+0.61)* 
sin(alfa+0.61

z- ni chiqarish 
Tamomlash 


Axborot kommunikatsion texnologiyalar.S.Aminov 
75 
4 - topshiriq. Funksiyaning qiymatini hisoblash dasturini tuzing. 
Echilishi:
Masalaning blok sxemasi: 
 













.
3
,
4
sin
,
3
2
,
4
4
.
21
,
2
,
1
4
)
(
2
3
2
2
x
x
x
x
x
x
x
f
Boshlanish 
О‘zgaruvchilarni 
kiritish 
x<2 
2≤x≤3 
fx=sqrt(4*x*x+1) 
f=exp((1/3)*(21.4+4*x*x)); 
f=sin(4*x*x); 
Tamom 
ҳа 
ҳа 
йўқ 
йўқ 
f ni chiqarish 
Boshlanish 
a, b ni kiritish 
Tamomlash 
a<=x<=b 
“Yotmaydi” 
“Yotadi” 
йўқ 
ҳа 


76 
II Topshiriqlar. 
1. 
2.
3.
arctg
4.
5.
6.
7.
8.
9.
10.
13-amaliy mashg’ulot. C++ tilining operatorlari bilan tanishish
va masalalar yechish 
Ishdan maqsad:
Dasturlash haqida tushuncha olish.C++ dasturlash tilining 
o’zgaruvchi va o’zgarmas tasnifi. C++ dasturlash tilining operatorlari bilan ishlashni 
o’rganish. 
 
II uslubiy ko’rsatmalar 
Har qanday dastur funksiyalar ketma ketligidan iborat bo`ladi. Funksiyalar 
sarlavha va funksiya tanasidan iborat bo`ladi. Funksiya sarlavhasiga 
void main()
ifoda misol bo`la oladi. Funksiya tanasi ob`yektlar ta`riflari va operatorlardan iborat 
bo`ladi. 
Har qanday operator nuqta-vergul [;] belgisi bilan tugashi lozim. Quyidagi 
ifodalar
X=0
, yoki
I++
operatorga aylanadi agar ulardan so`ng nuqtali vergul [;] 
kelsa (
X = 0; I++;).
Operatorlar 
bajariluvchi 
va 
bajarilmaydigan 
operatorlarga 
ajratiladi. 
Bajarilmaydigan operator bu izoh operatoridir. Izoh operatori [/*] belgisi bilan 
boshlanib, [*/] belgisi bilan tugaydi. Bu ikki simvol orasida ixtiyoriy jumla yozish 
mumkin. Kompilyator bu jumlani tekshirib o`tirmaydi. Izoh operatoridan dasturni 
tushunarli qilish maqsadida izohlar kiritish uchun foydalaniladi.
b
ax
x
x
x
ctg
tgx
y





2
)
ln
(
2
2
sin
2
y
x
by
ax
y
x





y









3
2
2
2
ln(
xy
y
x
y
x
3
2
sin
1
1
cos
log
x
x
y
x



)
sin
1
(
log
1
4
cos
2
sin
2
x
Пx
П
y
x




)
1
cos(
2
2



b
ax
e
y
x
tg


x
e
x
y
x
x
2
7
.
0
sin
2
1
.
5
cos




x
Пx
Пx
x
e
y
2
ln
1
cos
03
.
4





3
3
4
1
4
ln
4
.
6
x
arctgx
x
tg
y



x
x
y
2
3
3
2
1
arccos




Axborot kommunikatsion texnologiyalar.S.Aminov 
77 
Bajariluvchi operatorlar o`z navbatida ma`lumotlarni o`zgartiruvchi va 
boshqaruvchi operatorlarga ajratiladi. Ma`lumotlarni o`zgartiruvchi operatorlarga 
qiymat berish operatorlari va [;] bilan tugovchi ifodalar kiradi. Masalan, 
I++; 
x*=I; 
I=x-4*I; 
Boshqaruvchi operatorlar dasturni boshqaruvchi konstruktsiyalar deb ataladi. 
Bu operatorlarga quyidagilar kiradi: 
-
Qo`shma operatorlar; 
-
Tanlash operatorlari; 
-
Takrorlash operatorlari; 
-
O`tish operatorlari; 
Qo`shma operatorlar.
Bir necha operatorlar [{] va [}] figurali qavslar 
yordamida qo`shma operatorlarga yoki bloklarga birlashtirilishi mumkin. Blok yoki 
qo`shma operator sintaksis jihatdan bitta operatorga ekvivalentdir. Blokning qo`shma 
operatordan farqi shundaki blokda ob`yektlar ta`riflari mavjud bo`lishi mumkin. 
Quyidagi dastur qismi qo`shma operator: 
{ n++; 
summa+=(float)n; } 
Bu fragment bo`lsa blok: 
{ int n=0; 
n++; 
summa+=(float)n; } 
Kiritish-chiqarish operatorlari.
Chiquvchi oqim 
cout
kelishilgan bo`yicha 
ekranga mos keladi. Lekin maxsus operatorlar yordamida oqimni printer yoki faylga 
mos qo`yish mumkin.
#include
void main(void)

cout << 1001; 

1001 
#include
void main(void)

cout << 1 << 0 << 0 << 1; 

1001 
Kiruvchi oqim 
cin 
kelishilgan bo`yicha ekranga mos keladi.
#include
void main(void)
{ int a 
cin >> a;
a*a 


78 
cout << a*a; } 
#include
void main(void)
( int a,b; 
cin >> a >> b; 
cout << a*b; } 
a*b 
Qiymat berish operatorlari. 
Bu qismda keyingi bo`limlarda kerak bo`ladigan 
tushunchalarni berib o`tamiz. 
C++
da hisoblashni va undan keyin javobni 
o`zgaruvchiga beruvchi bir necha operator mavjuddir. Masalan,
k = k * 4; ni k *= 4; 
Bunda [*=] operatorining chap argumenti o`ng argumentga qo`shiladi va javob 
chap argumentda saqlanadi. Biz har bir operatorni ushbu qisqartirilgan ko`rinishda 
yoza olamiz ([+=], [-=], [/=], [*=], [%=]). Ikkala qism birga yoziladi. Qisqartirilgan 
operatorlar tezroq yoziladi, tezroq kompilyatsiya qilinadi va ba`zi bir hollarda tezroq 
ishlaydigan mashina kodi tuziladi. 
Birga oshirish va kamaytirish operatorlari
(INCREMENT and DECREMENT).
C++
da bir argument oluvchi inkrenet (++) va dekrement (--) operatorlari mavjuddir. 
Bular ikki ko`rinishda ishlatiladi, biri o`zgaruvchidan oldin (++f - preinkrement, --d - 
predekrement), boshqasi o`zgaruvchidan keyin (s++ - postinkrement, s-- - 
postdekrement) ishlatilgan holi. 
Postinkrementda o`zgaruvchining qiymati ushbu o`zgaruvchi qatnashgan 
ifodada shlatiladi va undan keyin qiymati birga oshiriladi. Preinkrementda esa 
o`zgaruvchining qiymati birga oshiriladi, va bu yangi qiymat ifodada qo`llaniladi. 
Predekrement va postdekrement ham aynan shunday ishlaydi Lekin qiymat birga 
kamaytiriladi. Bu operatorlar faqatgina o`zgaruvchining qiymatini birga oshirish
kamaytirish uchun ham ishlatilinishi mumkin, yani boshqa ifoda ichida 
qo`llanilmasdan. Bu holda pre va post formalarining farqi yo`q. Masalan, 
++r; r++; 
Yuqoridagilarning funksional jihatdan hech qanday farqi yo`q, chunki bu ikki 
operator faqat r ning qiymatini oshirish uchun qo`llanilmoqda. Bu operatorlarni oddiy 
holda yozsak: 
r = r + 1; d = d - 1; 
Lekin 
bizning 
inkrement/dekrement 
operatorlarimiz 
oddiygina 
qilib 
o`zgaruvchiga bir qo`shish/ayirishdan ko`ra tezroq ishlaydi. Yuqoridagi operatorlarni 
qo`llagan holda bir dastur yozaylik.
# include
int main() 
{ int k = 5, l = 3, m = 8; 
cout << k++ << endl;
l += 4;
cout << --m << endl;
m = k + (++l);
//ekranga 5 yozildi, k = 6 bo`ldi.
// l = 7 bo`ldi. 
// m = 7 bo`ldi va ekranga 7 chiqdi. // m 
= 6 + 8 = 14; 



Yüklə 15,83 Mb.

Dostları ilə paylaş:
1   ...   41   42   43   44   45   46   47   48   ...   74




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin