Za učenike I i III godine Tehničke škole, smerovi: Mašinski tehničar za kompjutersko konstruisanje; Tehničar drumskog saobraćaja; Vozač motornih vozila

понедељак, 23. новембар 2009.

Ciklus while()

Broj ponavljanja ciklusa određuje se uslovom koji se nalazi ispred tela ciklusa. Zato while ciklus zovemo ciklus sa preduslovom. Tok izvršavanja ciklusa je sledeći:

while( uslov )
{
telo ciklusa
}


1. Provera usova, ako je uslov tačan ide se na naredbe tela ciklusa, ako nije prekida se sa radom while ciklusa
2. Izvršava se telo ciklusa (u njemu se mora voditi računa o parametrima koji ulaze u uslov da bi on nekad postao netačan i prekinuo ciklus)
3. Ponovo provera uslov-a, pa zatim ponavljamo tačku 2, 3, 2, ... sve dok uslov ne postane netačan. Tada se prekida while() ciklus.

Možemo zaključiti da kod ciklusa sa preduslovom, ako uslov nije tačan u prvoj proveri telo se neizvršava ni jedanput.

Pr1.

ch='k';
while (ch!= 'd' && ch!='D') ch=getch();

u ovom primeru se unosi znak po znak, sve dok se ne unese malo ili veliko slovo 'D'.

Pr2.

Na koji način možemo obezbediti, da prilikom unosa znaka (D/N) korisnik unese jedan od ta dva znaka,ako pogreši, vraća se da ponovo unese znak sve dok unos ne bude ispravan.

ch=getche(); /*ucitava znak i prikazuje ga na ekranu */
ch=toupper(ch); /* konvertuje ch u veliko slovo */
while (ch!='D' || ch!='N'){

printf("\nPogresno unet znak, unesite ponovo: ");
ch=getche();

}

Pr3.

Napisati program za unos teksta sa tastature sve dok se ne unese tačka ' .' , na kraju se prikazuje poruka koliko znakova sadrži rečenica

main(){

int ch, n=0;
ch=getche();
while(ch!='.'){

ch=getche();
n++;

}

printf("\nRecenica sadrzi %d znakova\n",n);

}

Zadaci sa while() ciklusom

14. Računati sumu prirodnih brojeva 1, 2, ..., n sve dok vrednost sume ne dostigne vrednost veću od 1.000.000.000 , prikazati koliko je brojeva sumirano.
Rešenje

15. Napisati program za približno računanje sume:

Formula sume

Sumirati do prvog člana (uključujući i njega) koji je po apsolutnoj vrednosti manji od unete vrednosti eps.
Rešenje

16. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja slova 'A' i izraziti tu vrednost procentualno u odnosu na sve unete znake.
Rešenje

17. Napisati program koji određuje broj unetih linija u ulaznom tekstu. Unos teksta traje dok se ne naiđe na znak EOF (end of file)

Rešenje

18. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja malih slova, broj pojavljivanja velihih slova i br pojavljivanja svih ostalih znakova. Izraziti te vrednosti procentualno u odnosu na sve unete znake. (Rešenje)