Sunteți pe pagina 1din 10

Algoritmi -structuri pseudocod

Structura ”daca”
 Se realizeaza selectarea intre doua actiuni in functie de
indeplinirea sau neindeplinirea unei conditii.

 Sintaxa:
daca (conditie logica) • Se evalueaza conditia
A/B • Aceasta poate fi adevarata (A) sau falsa(F)
atunci
instructiune 1; • In cazul in care conditia este A
• Se executa instructiune 1
altfel
• In cazul in care conditia este F
instructiune 2; • Se executa instructiune 2
Exemplu:
 Se compara valorile a doua variabile a si b.
 daca a>b
atunci
scrie a;
altfel
scrie b;

Exemple de conditii:
– testarea unui numar pozitiv: a > = 0
– testarea unui numar negativ: a < 0
 -testarea unui numar de doua cifre: a >=10 && a <= 99
 -testarea unui numar par: a % 2 = 0
 -testarea unui numar impar: a % 2 = 1
Structura ”pentru” - structura repetitivă cu număr cunoscut de pași

 Se utilizează atinci cand se cunoste numarul de repetari


Sintaxa

pentru contor valoare initiala, valoare finala, [pas crestere ] executa


instructiuni; Daca lipseste,
atunci pasul de
crestere este 1
Obs: poate avea o forma in care contorul descreste si atunci pasul de incrementare
va fi negativ- se numeste pas de decrementare
Principiul de funcționare:
1. Contorul primeste valoarea initiala
2. Se compara cu valoarea finala. Daca este mai mica decat valoarea initiala se executa
instructiunile din corpul lui ”pentru”;
3. Creste valoarea contorului cu pasul de crestere
4. Se reia pasul 2
5. Atunci cand valoarea contorului este mai mare ca valoarea finala se opreste executia
structurii si se trece la urmatoarea structura din program
Exemplu:
Determinati suma primelor n numere naturale.
Algoritm Ex: n=5
Se va afisa 15
citeste n;
S 0; n i s
5 0
pentru i 1, n executa
1 1
S S+i; 2 3
3 6
scrie S; 4 10
5 15 Valoarea
afisata
6
(aici se opreste algoritmul
si nu se mai executa
instructiunea din pentru)
Structura ”cat timp”
 Se mai numeste structura repetitiva cu numar necunoscut de
pasi
 Conditia este asezata in partea de inceput a structurii
 Sintaxa
cat_timp (conditie logica) executa
instructiuni;

Principiul de funcționare:
1. Se evalueaza conditia
2. Daca raspunsul returnat este adevarat se executa instructiunile din corpul lui ”cat
timp”;
3. Se reia pasul 2
4. Atunci cand conditia nu mai este indeplinita se opreste executia structurii si se
trece la urmatoarea structura din program
Exemplu:Determinarea produsului cifrelor unui numar.
Explicarea algoritmului

 Algoritmul
1. Initializam p
citeste a; cu 1(elementul
neutru de la
inmultire)
P 1;
cat_timp (a !=0) executa 2. Determinam ultima
cifra din numar (uc) si
uc a%10 o adaugam variabilei
care calculeaxa
produsul
P P * uc; Eliminam
ultima cifra

a a /10;
scrie P;
a uc P
Exemplu
124 1
de
4 4
rulare
12 2 8
algoritm
1 1 8
0 (algoritmul se opreste)
Transformarea unei structuri
repetitive in alta structura repetitiva
Echivalenta structurilor ”pentru” si ”cat timp”
Transformarea unui algoritm care contine structura ”pentru” in unul
care sa foloseasca structura ”cat timp”

Exemplu algoritm
Etapele transformarii
 Initializam contorul (i) in afara
structurii cat timp. Acesta primeste
valoarea initiala din structura
pentru
 Conditia logica permite
compararea contorului cu valoarea
Citeste n initiala (pt executarea algoritmului
c 0 aceasta trebuie sa fie adevarata)
i 1
 Transcriem instructiunile din
Cat timp (i<=n) executa
structura pentru
c (c+1)%10
scrie c  Crestem valoarea contorului cu
i i+1 pasul de crestere(daca nu este
precizat creste cu valoarea 1)
Algoritmul modificat
Transformarea unui algoritm care contine structura ”cat timp” in unul
care sa foloseasca structura”pentru”
Algoritmul initial
Se va regasi in conditia Variabila a va deveni valoarea
pentru
(contor =val init)
finala din structura pentru

Algoritmul modificat
Citeste a,b,k
Acesta este pasul de
incrementare/decrementare
pm 0, y 0
In caul exemplului nostru Pentru i b, a (pas -1) executa
contorul descreste cu 1 x i....... transcriem algoritmul
asa cum este avand grija sa eliminam
 Indicii: conditia prin care sa modifica valoarea
 Cautam o variabila care sa fie initializata, sa se gaseasca in contorului (acesta se face automat prin
structura in sine)
conditia structurii cat timp si apoi sa fie incrementata (sa
Instructiunea ( i i+1) nu se
aiba un pas de crestere/decrementare) va mai regasi in structura pentru
 Observam ca variabila i indeplineste toate aceste conditii.
Aceasta va fi contorul din structura pentru scrie y

S-ar putea să vă placă și