1 / 18

6. Unaza While dhe Do While

6. Unaza While dhe Do While. kushti. 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. Po. komanda;. Jo. 2. Komanda WHILE. i=f; while(i<=p) { a1; a2; … aN; i=i+h; }. PARAMETRA TË UNAZËS:

ulfah
Télécharger la présentation

6. Unaza While dhe Do While

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6. Unaza While dhe Do While

  2. kushti 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 . Po komanda; Jo 2

  3. 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. Programi për llogaritjen e vlerës së faktorielit F=(n+1)! duke erealizuar 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. komanda; Po Jo komanda1; . . . kushti kushti komandaN; Po Jo Unaza DO-WHILE do komanda while(kushti); do{ komanda1; komanda2; … komandaN;}while(kushti); do komanda while(kushti);  Komandat e ciklit ekzekutohen derisa është i plotësuar kushti.  Së paku një cikël ekzekutohet meqë kushti llogaritet në fund të ciklit.

  6. i=fillim; blloku i<=fund i=i+hapi; Po Jo 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ë cilinndryshohet variabla i. blloku – komandat të përfshira brenda unazës.

  7. Shembull 1. Të llogaritet shuma e numrave natyrorë mes 1 dhe nme 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 1n: 5S=15 Dalje 2 n: 50S=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. Shembuj daljesh Dalje 1n: 3S=18 #include <iostream> 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; } Dalje 2 n: 4S=82 Dalje 3 n: 6S=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. 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(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 << "z=" << z << endl; return 0; }

  14. II I III IV 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. intmain() { 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; }

  15. 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; 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>=30 && i<=40)||(i>=70 && i<=80)) continue; 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; }

More Related