3- AMALIY MASHG’ULOT
MAVZU: TARMOQLANISH VA UZILISHLARNI TASHKIL ETISH OPERATORLARI.
Masalaning qo’yilishi:
Quyida berilgan tarmoqlanuvchi algoritmlarning dasturini tuzing.
Nazariy qism.If va if else operatorlari, ?: amali.
Dastur bajarilishining birorta qadamida qandaydir shartni tekshirish natijasiga ko’ra boshqaruvni dasturning u yoki bu bo’lagiga uzatish mumkin(Tarmoqlanuvchi algoritm). Tarmoqlanishni amalga oshirish uchun shartli operatordan foydalaniladi.
If operatori. If qandaydir shartni rostlikka tekshirish natijasiga ko’ra dasturda tarmoqlanishni amalga oshiradi:
If (< shart >) ;
Bu yerda<shart> har qanday ifoda bo’lishi mumkin, odatda u
taqqoslash amali bo’ladi.
Agar shart 0 qiymatidan farqli yoki rost (true) bo’lsa, <operator> bajariladi, aks holda, ya’ni shart 0 yoki yolg’on (false) bo’lsa, hech qanday amal bajarilmaydi va boshqaruv if operatoridan keyingi operatorga o’tadi (agar u mavjud bo’lsa).
C++ tilining qurilmalari operatorlarni blok ko’rinishida tashkil qilishga imkon beradi. Blok - ‘{‘ va ‘}’ belgi oralig’iga olingan operatorlar ketma-ketligi bo’lib, u kompilyator tomonidan yaxlit bir operator deb qabul qilinadi. Blok ichida e’lon operatorlari ham bo’lishi mumkin va ularda e’lon qilingan o’zgaruvchilar faqat shu blok ichida ko’rinadi (amal qiladi), blokdan tashqarida ko’rinmaydi. Blokdan keyin ‘;’ belgisi qo’yilmasligi mumkin, lekin blok ichidagi har bir ifoda ‘;’ belgisi bilan yakunlanishi shart.
Shart operatoriningif - else ko’rinishi quyidagicha:
if (<shart-ifoda>) <operator1>; else <operator2>;
#include
#include
using namespace std;
int main()
{
float x,z;
cout<<"x="; cin>>x;
cout<<"z="; cin>>z;
if (abs(x)<5*z)
cout<<"Y="<
else cout<<"Y="<
return 0;
}
2-Masalaning qo’yilishi:
17.
|
Uchburchak uchlarining koordinatalari , va berilgan. Berilgan nuqta uchburchak ichida yotish yoki yotmasligi aniqlansin.
|
#include
#include
using namespace std;
float s3(float x1, float y1, float x2, float y2, float x3, float y3){
return abs(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2;
}
int main()
{
float x1,x2,x3,x,y1,y2,y3,y;
cout<<"x="; cin>>x;
cout<<"x1="; cin>>x1;
cout<<"x2="; cin>>x2;
cout<<"x3="; cin>>x3;
cout<<"y="; cin>>y;
cout<<"y1="; cin>>y1;
cout<<"y2="; cin>>y2;
cout<<"y3="; cin>>y3;
bool dotIsIn = s3(x1,y1,x2,y2,x3,y3) == s3(x,y,x1,y1,x2,y2) + s3(x,y,x1,y1,x3,y3) + s3(x,y,x2,y2,x3,y3);
cout << (dotIsIn ? "Ichkarida" : "Tashqarida");
}
3-Masalaning qo’yilishi:
Case17. O’quv masalalarini raqamini aniqlovchi 10-50 gacha butun son berilgan. Son kirirtilganda masala raqamini unga mos so’zlarda ifodalovchi dastur tuzilsin. (“yigirmanchi masala”, “o’ttiz beshinchi masala” va hk)
#include
using namespace std;
int main()
{
int n;
cout<<"n="; cin>>n;
switch(n/10){
case 1:cout<<"o'n"; break;
case 2:cout<<"yigizma"; break;
case 3:cout<<"o'ttiz"; break;
case 4:cout<<"qirq"; break;
case 5:cout<<"ellik"; break;
default:cout<<"xato kiritildi";
}
switch(n%10){
case 1:cout<<" birinchi masala"; break;
case 2:cout<<" ikkinchi masala"; break;
case 3:cout<<" uchinchi masala"; break;
case 4:cout<<" to'rtinchi masala"; break;
case 5:cout<<" bechinchi masala"; break;
case 6:cout<<" oltiinchi masala"; break;
case 7:cout<<" yettinchi masala"; break;
case 8:cout<<" sakkizinchi masala"; break;
case 9:cout<<" to'qqizinchi masala"; break;
case 0:cout<<"inchi masala"; break;
}
return 0;
}
211_20. Shohruh Berdikulov.
Do'stlaringiz bilan baham: |