Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti 413-20-guruh talabasi Davronov Diyorbekning Dasturlash_1 fanidan bajargan 3-laboratoriya ishi
3-laboratoriya topshiriqlari
7-variant (1-jadval)
7
|
;
|
1
|
b=4
c=-2
d=8
|
X=0.750
|
2
|
b=4
c=-3
d=7
|
X=0.250
|
Dastur kodi
#include
#include
#include
using namespace std;
int main(){
float a, b, c, d, X;
cout << "b = "; cin >> b;
cout << "c = "; cin >> c;
cout << "d = "; cin >> d;
a = (b*b - c*c) / d;
if (a>0) {
X = pow(a,3) / (3 + a);
cout << "X = " << setprecision(3) << fixed << X << endl; }
else {
X = sqrt(fabs( (a*a+2) / (1+a) ));
cout << "X = " << setprecision(3) << fixed << X << endl; }
return 0;
}
Natijalar
7-masala (2-jadval)
7.
|
OX va OY o‘qlarida yotmaydigan nuqta koordinatalari bilan berilgan. Bu nuqta joylashgan koordinata choragi aniqlansin.
|
Dastur kodi
#include
using namespace std;
int main()
{
float x, y;
cout << "A nuqtani koordinatasini kiriting: \n";
cout << "x = "; cin >> x; cout << "y = "; cin >> y;
if (x>0 and y>0)
cout << "A nuqta 1-chorakda joylashgan!" << endl;
else
if (x<0 and y>0)
cout << "A nuqta 2-chorakda joylashgan!" << endl;
else
if (x<0 and y<0)
cout << "A nuqta 3-chorakda joylashgan!" << endl;
else
if (x>0 and y<0)
cout << "A nuqta 4-chorakda joylashgan!" << endl;
main();
return 0;
}
Natija
9-masala (2-jadval)
9.
|
Haqiqiy x,y va z sonlari berilgan bo‘lib, x |
Dastur kodi
#include
#include
using namespace std;
int main()
{
float x, y, z;
cout << "x= "; cin >> x;
cout << "y= "; cin >> y;
cout << "z= "; cin >> z;
if ( xx) {
cout << "Ikkilangan qiymatlar:\n";
cout << x*2 << endl;
cout << y*2 << endl;
cout << z*2 << endl; }
else {
x = fabs(x); y = fabs(y); z = fabs(z);
cout << x << endl;
cout << y << endl;
cout << z << endl; }
main();
return 0;
}
Natija
11-masala (2-jadval)
11.
|
Sonlar o‘qida uchta A, B va C nuqtalar joylashgan. B va C nuqtalardan qaysi biri A nuqtaga yaqin masofada joylashgan bo`lsa, shu masofa chop etilsin.
|
Dastur kodi
#include
#include
using namespace std;
int main()
{
float A, B, C;
cout << "A = "; cin >> A;
cout << "B = "; cin >> B;
cout << "C = "; cin >> C;
if ( fabs(A-B) > fabs(A-C) )
cout << "|AB| = " << fabs(A-B) << endl;
else
if ( fabs(A-B) < fabs(A-C) )
cout << "|AC| = " << fabs(A-C) << endl;
else
cout << "|AB| = |AC| = " << fabs(A-B) << endl;
return 0;
}
Natija
12-masala (2-jadval)
12.
|
Berilgan uch xonali son raqamlari orasida bir xillari bor yoki yo‘qligi aniqlansin?
|
Dastur kodi
#include
#include
using namespace std;
int main()
{
int a, x, y;
boshi:
cout << "3 xonali butun son kiriting: "; cin >> a;
x = a%10;
y = (a/10) % 10;
a = a/100;
if (((a>=100 and a<=999) or (a>=-999 and a<=-100)) or (x==y or x==a or a==y)) {
cout << "Berilgan sonda raqamlar takrorlangan!" << endl; }
else
if ((a>999 or a<100) or (a>-100 or a<-1000)) {
cout << "! Siz 3 xonali butun son kiritmadingiz!!!\n" << endl;
goto boshi; }
else
cout << "Raqamlar takrorlanmagan!" << endl;
return 0;
}
Natija
Uyga vazifa
18-masala: 100-999 oraliqdagi sonlarni so`zda ifodalovchi programma tuzilsin.
Dastur kodi
#include
using namespace std;
int main()
{
int n;
start:cout << "N = "; cin >> n; //123
if(n>=100 and n<=999) {
if (n/100 == 1)
cout << "Bir yuz " << endl;
else
if (n/100 == 2)
cout << "Ikki yuz " << endl;
else
if (n/100 == 3)
cout << "Uch yuz " << endl;
else
if (n/100 == 4)
cout << "To`rt yuz " << endl;
else
if (n/100 == 5)
cout << "Besh yuz " << endl;
else
if (n/100 == 6)
cout << "Olti yuz " << endl;
else
if (n/100 == 7)
cout << "Yetti yuz " << endl;
else
if (n/100 == 8)
cout << "Sakkiz yuz " << endl;
else
if (n/100 == 9)
cout << "To`qqiz yuz " << endl;
if(n/10%10 == 0)
cout << "_" << endl;
if(n/10%10 == 1)
cout << "o`n " << endl;
if(n/10%10 == 2)
cout << "yigirma " << endl;
if(n/10%10 == 3)
cout << "o`ttiz " << endl;
if(n/10%10 == 4)
cout << "qirq " << endl;
if(n/10%10 == 5)
cout << "ellik " << endl;
if(n/10%10 == 6)
cout << "oltmish " << endl;
if(n/10%10 == 7)
cout << "yetmish " << endl;
if(n/10%10 == 8)
cout << "sakson " << endl;
if(n/10%10 == 9)
cout << "to`qson " << endl;
if (n%10 == 0)
cout << "_" << endl;
if (n%10 == 1)
cout << "bir " << endl;
if (n%10 == 2)
cout << "ikki " << endl;
if (n%10 == 3)
cout << "uch " << endl;
if (n%10 == 4)
cout << "to`rt " << endl;
if (n%10 == 5)
cout << "besh " << endl;
if (n%10 == 6)
cout << "olti " << endl;
if (n%10 == 7)
cout << "yetti " << endl;
if (n%10 == 8)
cout << "sakkiz " << endl;
if (n%10 == 9)
cout << "to`qqiz " << endl;
}
else {
cout << "[100;999] oraliqda son kiriting!\n";
goto start; }
return 0;
}
15-masala (2-jadval)
15.
|
tenglamaning haqiqiy ildizlarini topadigan yoki ildizi yo‘qligi haqida ma’lumot beradigan dastur tuzilsin.
|
Dastur kodi
#include
#include
#include
using namespace std;
int main()
{
float y1, y2, a, b, c, D;
cout << "Bikvadrat tenglama koeffitsientlarini kiriting:\n";
cout << "a = "; cin >> a;
cout << "b = "; cin >> b;
cout << "c = "; cin >> c;
// x*x=y
D = b*b - 4*a*c;
if (D >= 0) {
y1 = (-b + D)/(2*a);
y2 = (-b - D)/(2*a); }
else
cout << "Bikvadrat tenglama yechimga ega emas1" << endl;
if (y1 >= 0 and y2 >= 0)
{
cout << "Bikvadrat tenglama 4ta yechimga ega: " << endl;
cout << "x = " << -sqrt(y1) << " , " << sqrt(y1) << endl;
cout << "x = " << -sqrt(y2) << " , " << sqrt(y2) << endl;
}
else
if (y1 >= 0 and y2 < 0)
cout << "2ta yechimga ega: x= " << -sqrt(y1) << " , " << sqrt(y1) << endl;
else
if (y2 >= 0 and y1 < 0)
cout << "2ta yechimga ega: x= " << -sqrt(y2) << " , " << sqrt(y2) << endl;
else
if (y1 < 0 and y2 < 0)
cout << "Bikvadrat tenglama yechimga ega emas2" << endl;
main();
system("pause");
}
Natija
20-masala 2-jadval
|
Natural n soni berilgan. Sonni to‘rt xonali deb hisobga olgan holda ushbu sonning palindrom ekanligi aniqlansin (chapdan va o‘ngdan bir xil o‘qiladigan sonlar, masalan, 1221, 5555, 440 sonlari palindrom sonlar hisoblanadi).
|
Dastur kodi
#include
using namespace std;
int main(){
int n, m, k, t, y, x;
cout << "4 xonali Natural son kiriting: "; cin >> n; //9543
if (n>0) {
m = n/1000; //9
k = n%1000; // 543
t = k/100; //5
y = (k/10)%10; //4
x = k%10; //3
if (m==x and t==y)
cout << "Kiritilgan son palindrom!\n";
else
cout << "Palindrom son emas!\n";
}
else
cout << "Siz 4xonali Natural son kiritmadingiz!!!" << endl;
main();
return 0;
}
Natija
3-jadval 7-masala
Case7. Og’irlik birliklari quyidagi tartibda berilgan. 1-kilogramm, 2-milligramm, 3-gramm, 4-tonna, 5-sentner. Og’irlik birligini bildiruvchi son berilgan (1-5 oraliqda) va shu birlikdagi og’irlik qiymati berilgan (haqiqiy son). Og’irlikni kilogrammda ifodalovchi dastur tuzilsin.
Dastur kodi
#include
using namespace std;
int main(){
int a;
float m, kg;
cout << "Og`irlik birligini kiriting: 1:kilogram, 2:milligram, 3:gram, 4:tonna, 5:sentner \n";
cin >> a;
switch(a){
case 1: cout << "Og`irlikni Kilogramda kiriting: "; cin >> m;
kg = m; cout << kg << " kg" << endl; break;
case 2: cout << "Og`irlikni milligramda kiriting: "; cin >> m;
kg = m/1000000; cout << kg << " kg" << endl; break;
case 3: cout << "Og`irlikni gramda kiriting: "; cin >> m;
kg = m/1000; cout << kg << " kg" << endl; break;
case 4: cout << "Og`irlikni tonnada kiriting: "; cin >> m;
kg = m*1000; cout << kg << " kg" << endl; break;
case 5: cout << "Og`irlikni sentnerda kiriting: "; cin >> m;
kg = m*100; cout << kg << " kg" << endl; break;
default: cout << "Xatolik! Qaytadan kiriting!\n"; }
main();
return 0; }
Natija
Case13-masala
Case13. Teng yonli uchburchakning elementlari quyidagi tartibda nomerlangan: 1-katet a, 2-gipotenuza , 3-gipotenuzaga tushirilgan balandlik 4-yuzasi Shu elementlardan bittasi berilgan qolganlarini topuvchi dastur tuzilsin.
Dastur kodi
#include
#include
using namespace std;
int main(){
float S, a, c, h;
int k;
cout << "Kiriting 1: katet, 2: gipotenuza, 3: balandlik, 4: yuzasi\n";
cin >> k;
switch(k) {
case 1: cout << "Katetni kiriting: "; cin >> a;
c=sqrt(2)*a; cout << "Gipotenuza: " << c << endl;
h=c/2; cout << "Balandlik: " << h << endl;
S=c*h/2; cout << "Yuza: " << S << endl; break;
case 2: cout << "Gipotenuzani kiriting: "; cin >> c;
a=c/sqrt(2); cout << "Katet: " << a << endl;
h=c/2; cout << "Balandlik: " << h << endl;
S=c*h/2; cout << "Yuza: " << S << endl; break;
case 3: cout << "Balandlikni kiriting: "; cin >> h;
c=2*h; cout << "Gipotenuza: " << c << endl;
a=c/sqrt(2); cout << "Katet: " << a << endl;
S=c*h/2; cout << "Yuza: " << S << endl; break;
case 4: cout << "Yuzani kiriting: "; cin >> S;
c=sqrt(4*S); cout << "Gipotenuza: " << c << endl;
h=c/2; cout << "Balandlik: " << h << endl;
a=c/sqrt(2); cout << "Katet: " << a << endl; break;
default: cout << "Xatolik! Qayta kiriting" << endl; }
main(); return 0; }
Natija
Nazorat savollariga javob
While takrorlash operatori
while takrorlash operatori, operator yoki blokni tarorlash sharti yolg’on (false yoki 0) bo’lguncha takror bajaradi. U quyidagi sintaksisga ega:
while () ;
Agar rost qiymatli o’zgarmas ifoda bo’lsa, takrorlash cheksiz bo’ladi. Huddi shunday, takrorlash boshlanishida rost bo’lib, uning qiymatiga takrorlash tanasidagi hisoblash ta’sir etmasa, ya’ni uning qiymati o’zgarmasa, takrorlash cheksiz bo’ladi.
Xossalari:
Sikl sharti har safar tekshiriladi.
Agar sikl sharti yolg’on bo’lsa, sikl umuman bajarilmaydi.
Agar sikl sharti yolg’on bo’lmasa, dastur takrorlanaveradi.
Do-while so`ng shartli takrorlash operatori
do-while takrorlash operatori while operatoridan farqli ravishda oldin operator yoki blokni bajaradi, keyin takrorlash shartini tekshiradi. Bu qurilma takrorlash tanasini kamida bir marta bajarilishini ta’minlaydi. do-while takrorlash operatori quyidagi sintaksisga ega:
do ;
while ();
Bunday takrorlash operatorining keng qo‘llaniladigan holatlari - bu takrorlashni boshlamasdan turib, takrorlash shartini tekshirishning iloji bo‘lmagan holatlar hisoblanadi.
Switch Tanlash operatori
Switch tanlash operatorida kiritilgan biror bir qiymat uning kalit so`zlari(case() qavs ichidagi ifoda) bilan solishtirib ko`riladi, agar ular ustma-ust tushsa unga mos amallar ketma-ketligi bajariladi, aks holda operator ichiga kirmaydi va undan keyingi operator bajarilib ketaveradi.0>0>
Do'stlaringiz bilan baham: |