PROBLEME REZOLVATE
|
PAG. 2 / 4
|
Instrucțiunea while
CERINȚĂ
Se citeşte un număr natural
n. Se cere să se decidă dacă este
prim sau nu.
REZOLVARE
Această problemă a fost
[
rezolvată]
cu ajutorul instrucţiunii
for.
Algoritmul folosit avea
un neajuns. În cazul în care se găseşte un divizor, se caută mai departe, fără nici un rost, alţi divizori.
Cum eliminăm neajunsul amintit? Prin utilizarea instrucţiunii
while, care e indispensabilă
în astfel de situaţii (
în care nu cunoaştem de câte ori se repetă secvenţa):
• se generează primul posibil divizor (
2);
• pentru a executa instrucţiunea compusă subordonată lui
while, acesta trebuie să îndeplinească simultan două condiţii:
- să fie mai mic decât jumătatea numărului;
- să nu dividă numărul.
De ce toate acestea? Pentru că instrucţiunea subordonată lui
while generează următorul divizor.
Cu alte cuvinte, ca să generăm următorul posibil divizor trebuie ca să existe un număr,
mai mare decât cel analizat, care are şansa să fie divizor şi numărul analizat să nu fie divizor.
Mai jos aveți programul:
INTERESANT
Este demn de remarcat "
trucul" folosit. Testul dacă un număr este sau nu divizor nu se face
în instrucţiunea subordonată
while, ci chiar în expresia logică a sa...
În aceste condiţii, cum decidem dacă numărul este sau nu prim?
Simplu. Dacă s-au testat toate numerele
posibile înseamnă că numărul este prim. Altfel, înseamnă că a fost găsit un divizor, caz
în care bineînțeles că numărul nu este prim.
Analizează problema rezolvată,
apoi avansează la pagina următoare.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic]
securizat sub formă
de fișier *.pdf.
"
O cameră fără cărţi este ca un corp fără suflet."
(G. K. Chesterton)
Cursanții au mai cumpărat ...
[
vezi lista completă a cărților]