pentru

Schema logica instructiunea pentru

  Instrucțiunea pentru este echivalenta lui for în pseudocod. Este o structură repetitivă cu număr cunoscut de pași, folosită atunci când știm câte executări ale instrucțiunilor dorim să se întâmple.

Sintaxă

┌─pentru <indice> <- <init>, <fin> [,<pas>] execută
│   <instructiuni>
└■

Dacă lipsește pasul, aceste este considerat implicit 1.

Efect

  1. indicele (<indice>) primește valoarea inițială (<init>);
  2. se compară indicele (<indice>) cu valoarea finală (<fin>):
    • Dacă este mai mic (mai mare dacă pasul este negativ)
      • se execută instrucțiunile din pentru;
      • se adună indicelui (<indice>) pasul (<pas>);
      • se reia pasul 2.
    • Dacă nu mai este îndeplinită condiția, se trece în program la următoarea instrucțiune.

Implementare

a) Enunț: Se citește un număr natural n. Să se afișeze descrescător numerele naturale impare mai mici sau egale cu n.

citește n
┌─dacă n%2=0 atunci
│   n<-n-1
└■
┌─pentru i<-n, 1, -2 execută
│   scrie i, " "
└■
11
11 9 7 5 3 1 
8
7 5 3 1 

  Prima dată vom verifica dacă n este număr par, iar dacă este vom scădea 1. În acest fel ne asigurăm că valoarea este impară.
  Cu un pentru vom lua indicele i începând de la n până la valoarea 1, cu pasul -2. Astfel, parcurgem numerele impare descrescător (din 2 în 2 deoarece ne-am asigurat că n este impar) și la fiecare pas afișăm indicele.

b) Enunț: Se citește un număr natural nenul n. Să se afișeze suma S = 1 + 1*2 + 1*2*3 + ... + 1*2*3*...*n.

citește n
s<-0
p<-1
┌─pentru i<-1, n execută
│   p<-p*i
│   s<-s+p
└■
scrie s
5
153
3
9

  Această expresie este o sumă de termeni numere factoriale. La fiecare pas vom ține minte în p factorialul corespunzător poziției la care ne aflăm, pe care îl adunăm ulterior sumei s.