Algoritmul separat și îndepărtat secvențial pentru ultima cifră, în creștere contra.
Care este dificultatea în avans:? Nedefinit și nu se știe cât de multe cifre trebuie să fie eliminate, de exemplu, câți pași trebuie să faceți.
Cum se efectuează: Trebuie să ne oprim separarea numerelor, când n = 0. adică trebuie efectuată până la n> 0
exemplu soluție în Pascal:
Bucla în timp ce în Pascal este folosit pentru a crea repetiție cu un număr necunoscut de ei în avans. Repetiția (iterație) va fi efectuată până la o anumită condiție este adevărată.
Diagrama bloc ciclu corespunzător în timp ce în Pascal:
- Aici, operatorul de serviciu după cuvintele fac. corp și formează o buclă vor fi executate până la valoarea de „condiții“ este egal cu adevărat (TRUE).
- În cazul în care operatorii trebuie să fie o parte, atunci este necesar să se utilizeze o declarație compus.
- Condițiile recalculate de fiecare dată când este introdus bucla
- Imediat starea buclei în timp ce poate fi expresia variabilă sau logică.
- în timp ce operatorii de corpul buclei sunt executate numai în cazul în care condiția este adevărată în cazul în care condiția este falsă - acestea sunt ignorate, iar programul continuă cu acei operatori care sunt după construcție. Astfel, este o diferență semnificativă de la ciclu la ciclu cu o pre-postconditie.
Luați în considerare utilizarea bucla în timp ce în Pascal decisis exemplu:
Exemplu: Print „zero“ număr specificat de ori
Aici este necesar să se atragă atenția asupra faptului că repartizarea n: = 1 este setat la ciclu, în cazul în care acest lucru nu se face, atunci condiția să nu funcționeze corect, pentru că variabila n va fi gol.
programul de construcție în puterea lui Pascal
Pentru a începe cu să ne precizeze că există o formulă de calcul a gradului de Pascal. Dar noi nu le vom utiliza, și analiza algoritmul pentru exponentiere.
Pentru a construi numărul la o putere, acesta trebuie să fie înmulțit cu sine, ca de multe ori, ceea ce este egal cu exponent.
Astfel, construcția puterii d n poate fi exprimată ca:
n d = n1 * n2 * n3 * ... * nd. unde subscriptului indică doar o alta într-un rând de n.
Cu toate acestea, ia în considerare următoarele:
- număr la puterea zero, este egal cu 1
- Dacă exponentul este negativ, adică, d. problema este rezolvată în conformitate cu formula:
n d = 1 / (n1 * n2 * n3 * ... * nd)
Ie rezolvare a programului în Pascal ia în considerare:
- program Pascal număr de iterații (repetiții) în timp ce ciclul ar trebui să fie egal cu exponent al numărului modulo
- în cazul în care exponentul - un număr negativ, este necesar ca urmare a unității împărțit la rezultatul
gradul Sarcina 6. Se calculează Pascal folosind în timp ce bucla