Download presentation
Presentation is loading. Please wait.
1
6. Unaza While dhe Do While
2
Unaza WHILE Ekzekutimi i komandave a të përfshira brenda kllapave të unazës do të përsëritet derisa të plotësohet kushti i<=p kushti . Po komanda; Jo 2
3
f - vlera fillestare e variablës së unazës.
Komanda WHILE i=f; while(i<=p); { a1; a2; … aN; i=i+h; } PARAMETRA TË UNAZËS: i - variabla e unazës. f - vlera fillestare e variablës së unazës. p - vlera përfundimtare e variablës së unazës. h - hapi me të cilin ndryshohen vlerat e variablës i. a - komandat e përfshira brenda unazës. 3
4
#include <iostream> using namespace std; int main() {
Programi për llogaritjen e vlerës së faktorielit F=(n+1)! duke e realizuar unazën përmes komandës while. #include <iostream> using namespace std; int main() { double F=1; int i,n; cout << "\nVlera e variablës n: "; cin >> n; i=1; while (i<=n+1) F=F*i; i=i+1; } cout << "\nVlera e faktorielit F="<< F<< "\n\n"; return 0;
5
Unaza DO-WHILE do komanda while(kushti);
do{ komanda1; komanda2; … komandaN; } while(kushti); do komanda while(kushti); komanda; kushti Po Jo komandaN; kushti Po Jo komanda1; . . . Komandat e ciklit ekzekutohen derisa është i plotësuar kushti. Së paku një cikël ekzekutohet meqë kushti llogaritet në fund të ciklit.
6
Komanda DO-WHILE i=fillim; do{ komanda1; komanda2; … komandaN; i=i+hapi; } while(i<=fund); PARAMETRA TË UNAZËS: i – variabla e unazës. fillim – vlera fillestare variablës i. fund – vlera përfundimtare e variablës i. hapi – hapi me të cilin ndryshohet variabla i. blloku – komandat të përfshira brenda unazës. blloku i=i+hapi; i<=fund Po Jo i=fillim;
7
Shembull 1. Të llogaritet shuma e numrave natyrorë mes 1 dhe n me komandën do-while.
int main() { int i,n,S; cout << "n: "; cin >> n; S=0; i=1; do { S+=i; i++; } while(i<=n); cout << "S=" << S << endl; return 0; Shembuj daljesh Dalje 1 n: 5 S=15 Dalje 2 n: 50 S=1275
8
Shembull 2. Të llogaritet F=(n+1)! me komandën do-while. (fq.236)
int main() { int i,n,F; cout << "n: "; cin >> n; F=i=1; do { F*=i; i++; } while(i<=n+1); cout << "F=" << F << endl; return 0;
9
Shembull 3. Të llogaritet shuma katrorëve të numrave tek dhe kubeve të numrave çift mes numrave natyrorë 1 dhe n. #include <iostream> #include <math.h> using namespace std; int main() { int i,n; double S; cout << "n: "; cin >> n; S=0; i=1; do { if(i%2!=0) S=S+(i*i); else S=S+(i*i*i); i++; } while(i<=n); cout << "S=" << S << endl; return 0; Shembuj daljesh Dalje 1 n: 3 S=18 Dalje 2 n: 4 S=82 Dalje 3 n: 6 S=323
10
Kapërcimi i komandave brenda unazës Do-While
Shembull 1. Të llogaritet vlera e funksionit (fq.248) x, n – variabla hyrëse int main() { int i,n,S; double x,y; cout << "x n: "; cin >> x >> n; cout << " i S \n"; S=0; i=1; do { if(i!=3 && i!=6){ S+=2*i+1; cout << setw(5) << i << setw(5) << S << endl; } i++; } while(i<=n+1); y=x/3+4*S; cout << "\n y=" << y << endl; return 0;
11
Dalje nga unaza Do-While me komandën Break
Shembull 2. Të llogaritet n! për numrat mes 1 dhe n. Llogaritja të ndërpritet nëse faktorieli e tejkalon vlerën maksimale të tipi int. (fq.268) int main() { int i,n; double F; cout << "n: "; cin >> n; cout << " Numri Faktorieli \n"; F=i=1; do { if(F*i>INT_MAX){ cout << "F>INT_MAX \n"; break; } F*=i; cout << setw(5) << i << fixed << setprecision(1) << setw(18) << F << endl; i++; } while(i<=n); return 0;
12
Shembulli 3. Të llogaritet sa numra çift dhe sa numra tek lexohen nga tastiera. Leximi i numrave përfundon kur të lexohet numër negativ ose zero. int main( ) { int numri,i=1,tek=0,cift=0; do { cout << "n" << i << ": "; cin >> numri; if (numri<=0) break; if(numri%2==0) cift++; else tek++; i++; } while(true); cout << "cift=" << cift << " tek="<< tek << endl; return 0; }
13
Ushtrime rreth Kolokviumit të parë
1. Shkruani program për llogaritje të variablës z sipas numrave të plotë x dhe y që lexohen nga tastiera. Vlerat për x, y dhe z të shtypen ne rresht të njëjtë. z = min(x2,y2), për y < 0 z = max(x,y), për y ≥ 0 int main() { int x,y,z; cout << "x y: "; cin >> x >> y; if(y<0) { if(x*x<y*y) z=x*x; else z=y*y; } else if(x>y) z=x; else z=y; cout << x<<" "<<y<<" " <<z<<endl; return 0;
14
2. Të caktohet cilit kvadrant të sistemit koordinativ kartezian i takon pika A(x,y). Pika A nuk mund tu takojë boshteve të apshisës dhe ordinatës. int main() { int x,y; cout << "x y: "; cin >> x >> y; if(x==0 || y==0) cout << "Gabim! x!=0 dhe y!=0 \n"; else if(x>0) { if(y>0) cout << "Kvadranti 1\n"; else cout << "Kvadranti 4\n"; } else { // x<0 if(y>0) cout << "Kvadranti 2\n"; else cout << "Kvadranti 3\n"; return 0; I II III IV
15
3. Shkruani program që në bazë të shenjës së lexuar (+, -,
3. Shkruani program që në bazë të shenjës së lexuar (+, -, *, /) do ta ekzekutojë operacionin adekuat aritmetik me numrat realë a dhe b, që lexohen nga tastiera. Numrat a dhe b mund të kenë edhe vlerë 0. int main() { float a,b; char c; cout << "a b: "; cin >> a >> b; cout << "Operatori:"; cin >> c; switch(c) { case '+': cout << a << "+" << b << "=" << a+b << endl; break; case '-': cout << a << "-" << b << "=" << a-b << endl; break; case '*': cout << a << "*" << b << "=" << a*b << endl; break; case '/': if(b!=0){cout << a << "/" << b << "=" << a/b << endl;} else cout << "Pjestim me zero!" << endl; } return 0;
16
4. Me komandën for të llogaritet shuma e numrave dyshifror natyrorë që janë të pjestueshëm me 10. Numrat natyrorë që u takojnë intervaleve [30,40] dhe [70,80] nuk i shtohen shumës. int main() { int i,S=0; for(i=10; i<=99; i++) { if(i%10==0) if((i>=30 && i<=40)||(i>=70 && i<=80)) continue; S=S+i; } cout << "S=" << S << endl; return 0;
17
5. Shkruani program që nga numrat natyror treshifror që lexohen nga tastiera do ta shtyp numrin maksimal. Leximi i numrave përfundon kur të lexohet numri 0. int main() { int i,n,max; i=max=1; while(true){ cout << "n" << i << ": "; cin >> n; if (n==0) break; if(n>max) max=n; i++; } cout << "max=" << max << endl; return 0;
18
6. Shkruani program që do t’i shtyp të gjithë numrat treshifror ABC për të cilët vlen:
abc = (ab)2 - c2 p.sh. 147=142-72=196-49=147 int main() { int numri,a,b,c,x; for(numri=100; numri<=999; numri++){ a=numri/100; b=(numri/10)%10; c=numri%10; x=a*10+b; if(x*x-c*c==numri) cout << numri << endl; } return 0;
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.