6 Unaza While dhe Do While 1 Unaza

  • Slides: 18
Download presentation
6. Unaza While dhe Do While 1

6. Unaza While dhe Do While 1

Unaza WHILE kushti Ekzekutimi i komandave a të përfshira brenda kllapave të unazës do

Unaza WHILE kushti Ekzekutimi i komandave a të përfshira brenda kllapave të unazës do të përsëritet derisa të plotësohet kushti i<=p. Po Jo komanda; 2

Komanda WHILE i=f; while(i<=p); { a 1; a 2; … a. N; i=i+h; }

Komanda WHILE i=f; while(i<=p); { a 1; a 2; … a. N; 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

Programi për llogaritjen e vlerës së faktorielit F=(n+1)! duke e realizuar unazën përmes komandës

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 << "n. Vlera e variablës n: "; cin >> n; i=1; while (i<=n+1) { F=F*i; i=i+1; } cout << "n. Vlera e faktorielit F="<< F<< "nn"; return 0; }

Unaza DO-WHILE do komanda while(kushti); komanda; Po kushti Jo do{ komanda 1; komanda 2;

Unaza DO-WHILE do komanda while(kushti); komanda; Po kushti Jo do{ komanda 1; komanda 2; … komanda. N; } while(kushti); Komandat e ciklit ekzekutohen derisa është i plotësuar kushti. komanda 1; . . . Së paku një cikël ekzekutohet meqë kushti llogaritet në fund të ciklit. komanda. N; Po kushti Jo 5

Komanda DO-WHILE i=fillim; do{ komanda 1; komanda 2; … komanda. N; i=i+hapi; } while(i<=fund);

Komanda DO-WHILE i=fillim; do{ komanda 1; komanda 2; … komanda. N; i=i+hapi; } while(i<=fund); PARAMETRA TË UNAZËS: i – variabla e unazës. fillim – vlera fillestare variablës i. i=fillim; fund – vlera përfundimtare e variablës i. hapi – hapi me të cilin ndryshohet variabla i. blloku – komandat të përfshira brenda unazës. i=i+hapi; Po i<=fund Jo 6

Shembull 1. Të llogaritet shuma e numrave natyrorë mes 1 dhe n me komandën

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 7

Shembull 2. Të llogaritet F=(n+1)! me komandën do-while. (fq. 236) int main() { int

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; } 8

Shembull 3. Të llogaritet shuma katrorëve të numrave tek dhe kubeve të numrave çift

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 9

Kapërcimi i komandave brenda unazës Do-While Shembull 1. Të llogaritet vlera e funksionit (fq.

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; } 10

Dalje nga unaza Do-While me komandën Break Shembull 2. Të llogaritet n! për numrat

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; } 11

Shembulli 3. Të llogaritet sa numra çift dhe sa numra tek lexohen nga tastiera.

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; } 12

Kolokviumi i parë 1. Shkruani program për llogaritje të variablës z sipas numrave të

Kolokviumi i 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(x 2, y 2), 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 << "z=" << z << endl; return 0; } 13

2. Të caktohet cilit kvadrant të sistemit koordinativ kartezian i takon pika A(x, y).

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 1n"; else cout << "Kvadranti 4n"; } else { // x<0 if(y>0) cout << "Kvadranti 2n"; II else cout << "Kvadranti 3n"; } return 0; } III I IV 14

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ë kanë 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; case '-': cout << a << "-" << b << "=" << a-b << endl; case '*': cout << a << "*" << b << "=" << a*b << endl; case '/': if(b!=0){cout << a << "/" << b << "=" << a/b else cout << "Pjestim me zero!" << endl; } return 0; } break; << endl; } 15

4. Me komandën for të llogaritet shuma e numrave dyshifror natyrorë që janë të

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>=30 && i<=40)||(i>=70 && i<=80)) continue; S+=i; } cout << "S=" << S << endl; return 0; } 16

5. Shkruani program që nga numrat natyror treshifror që lexohen nga tastiera do ta

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; } 17

6. Shkruani program që do t’i shtyp të gjithë numrat treshifror ABC për të

6. Shkruani program që do t’i shtyp të gjithë numrat treshifror ABC për të cilët vlen: abc = (ab) ( 2 - c 2 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; } 18