Pentru operatorii care efectuează condiții de verificare (dacă, etc. P.) În coloana „Condiții“ luate pentru a indica rezultatul testului. În acest caz, pentru starea buclei este testată continuarea ciclului.
Simboluri“. „Subliniați că valoarea contorului ciclului la ieșirea buclei este nedefinit.
Metoda de urmărire este foarte util atunci când un program de depanare atunci când programul afișează rezultatul greșit, care ar trebui să emită. Realizarea unui pas cu pas de urmărire, vom îngropa în logica programului și la fiecare pas, verificați pentru a vedea dacă a fost corect raționamentul nostru în scris ea.
Calcularea sumei seriei
Luați în considerare problema de calcul suma seriei:
1 / (1 * 1) + 1 / (2 * 2) + 1 / (3 * 3) + 1 / (4 * 4) + 1 / (5 * 5)
Aici avem un număr de fracțiuni, ale căror numitori sunt înregistrate în pătrate de numere 1 - 5.
Luați în considerare fiecare fracție ca produs a două fracțiuni, de exemplu:
1 / (3 * 3) = 1/3 * 1/3
În termeni generali, acesta poate fi scris ca:
1 / (N * N) = 1 / N * 1 / N
O diagramă bloc a algoritmului de rezolvare a problemei este prezentată în Fig. 6.4.
Fig. 6.4. Schema tehnologică de calcul al sumelor de
Sarcina 6.5.
Scrieti un program de calcul n! (Factorial n), unde n este pozitiv. Definiția factorial:
Cu alte cuvinte, n! - este produsul primelor n numere naturale.
Fiecare rezultat în urma (notat R), se obține prin înmulțirea rezultatului precedent (P anterior) la un contor care durează de la 1 la n.
Notăm valoarea contorului de litera k.
Se obține forma generală a expresiei: P = P * k (adică, utilizați recurență formula factorială: n = (n - 1) * n !!).
Programul ar trebui să fie organizate după cum urmează: tastatură numărul de intrare n (n-pozitiv), iar apoi ecranul este dat un tabel de factorialele de numere până la n inclusiv.
Sarcina 6.6.
Programul write calcularea sumei ryadaS = 2 + 1 + 3 + 4 + 5 + 6. Egal organigrame umple tabelul urmă. Asigurați-vă că urme că suma este de 21.
Tabelul 6.2. Pregătirea pentru un algoritm de urmărire tabel de sarcină 6.6
Sarcina 6.6.
Scrieți un program pentru a calcula suma unui număr de termeni pentru n (n este introdus de la tastatura):
1 / (1 * 2 * 3) + 1 / (2 * 3 * 4) + 1 / (3 * 4 * 5) + 1 / (4 * 5 * 6) + ...
Sarcina 6.7.
Folosind posibilitățile modulului Crt pentru a lucra cu ecranul în modul text, a scrie un program care schimbă ecranul de 16 ori culoarea și imprimă orice text pe un fundal nou în centrul ecranului.
Explicație: rezonabilă dacă parametrul de culoare de fond, iar ciclul va fi aceeași variabilă (paleta de culori variază în intervalul 0-15).
Sarcina 6.8.
Folosind capacitățile modulului de Crt, scrie un program în care simbolul „asterisc“ (*) se execută în jurul perimetrului ecranului din colțul din stânga sus.
Explicație: Programul organizează 4 cicluri. Ca un contor folosind coordonatele X și Y. Desenați organigrame.
Încercați să schimbați programul folosind doar două cicluri: un ciclu de stele rula din partea de sus și de jos a ecranului, cealaltă - de la marginile din stânga și din dreapta. Să fiecare asterisc este afișată următoarea culoare aleatorii.
Sarcina 6.9.
Scatter pe ecran în 1000 de stele într-o culoare aleatoare loc aleatoriu, cu o mică întârziere. Nu uitați să inițializa generatorul de numere aleatorii la începutul programului - o dată! Desenați organigrame.
1. Pentru organizarea acțiunii repetitive cu un număr cunoscut de repetiții utilizate pentru buclă.
2. Contorul de buclă are întotdeauna tipul de comandă.
3. contorul buclei incrementat unul, în cazul în care operatorul are forma
pentru. =. a. face
4. incremente contorul buclei -1 dacă operatorul are forma
pentru. =. downto. face
5. Pentru a vedea cât de multe ori corpul este executat pentru bucla, aveți nevoie pentru a găsi diferența dintre valorile extreme ale contorului (modulo) și se adaugă 1 la rezultat.
6. Nu modificați contorul buclei în bucla.
7. Dacă în bucla de aprovizionare pentru un singur ciclu, numărul de ori bucla interior este executat corpul, este produsul numărului de repetiții interne ale iterațiile buclei exterioare.
8. Pentru a verifica corectitudinea algoritmului este realizată manual, pas cu pas, urmărirea modificărilor în toate variabilele. Aceasta se numește urmărire.
1. Care este operatorul pe care doriți să utilizați pentru a obține cuvântul „Hello“, în fiecare linie a ecranului?
2. Care este diferența forma «a» și «downto» pentru operator?
3. Variabile ce tip ar trebui să fie folosit ca un contor pentru buclă?
4. De câte ori va executa corpul buclei interioare:
pentru i: = 2 până la 6 do
pentru j: = 5 3 do downto
writeln ( '*').
5. Programul scris produce un rezultat ciudat. Probabil, programul este scris cu o eroare. Cum de a înțelege în cazul în care eroarea este?
6. Necesită repartizată în mod succesiv la un valori variabile N a tuturor numerelor de trei cifre. Scrie operatorul atribuit valorile variabilei N dorite.