Elemente de bază în programare
Bogdan Cristescu & Adi Apostu
Cursul 5. Instrucțiunea alternative If. Instrucțiunile for și
while. Clauzele break și continue
Instrucțiunea if
Ce este o instrucțiune de decizie ?
Deciziile în programe se pot lua cu ajutorul instrucţiunii if. Forma generală a instrucțiunii If
este:
Modul de executare este următorul:
Pasul 1. Se evaluează expresie_logică.
Pasul 2. Dacă expresia logică are valoarea True, atunci se execută setul de instrucțiuni
instrucțiuni_1. Altfel, dacă valoarea este False, se execută setul instrucțiuni_2.
Instrucțiunea if
Exemplu
Citim de la tastatură un număr întreg reținut de variabila n. Să se afișeze dacă este sau nu
mai mare decât zero:
[Link]
INDENTAREA - INSTRUCȚIUNI SUBORDONATE
Am văzut că în urma evaluării expresiei logice, fie într-un caz, fie în altul, am executat o
singură instrucţiune.
Atunci când am folosit instrucțiunea if, după ce am scris caracterul două puncte obligatoriu
și apăsăm tasta Enter pentru a introduce instrucțiunea asociată cazului (subordonată), linia
nouă este indentată cu fix 4 caractere:
ceea ce indică automat faptul că în interiorul lui if putem scrie un bloc format din mai multe
instrucțiuni, ... nu doar una.
Notă. Pentru cei ce au lucrat în Pascal ori C/C++, instrucțiunea compusă era delimitată
de begin și end, respectiv de acolade.
În Python totul e mai simplu, folosim indentarea!
Operatori relaționali
Toţi operatorii relaţionali sunt binari (acţionează asupra a doi operanzi). Aceştia
sunt: > (mai mare), >= (mai mare sau egal), < (mai mic), <= (mai mic sau egal), == (egal)
şi != (diferit).
Operanzii pot fi variabile sau valori de orice tip învăţat. Aici vom studia modul de
acţiune al operatorilor relaţionali numai asupra variabilelor întregi sau reale.
Rezultatul aplicării unui operator relaţional este întotdeauna o valoare logică -
True (adevărat) sau False (fals).
Valori booleene
Precum vedeți, o importanță deosebită o au valorile de adevăr True sau False. Acestea se
numesc valori booleene, iar conceptul a fost definit prima dată de un matematician din secolul al
XIX-lea numit George Boole.
Aceste valori sunt esențiale în deciziile pe care un program trebuie să le ia în funcție de
valorile introduse de utilizator ori determinate în codul nostru. Rezultatul unei evaluări logice se
reține într-un tip de date numit bool.
Bineînțeles, Python este adaptiv, deci nu e necesară conversia explicităprin bool (expresie).
Operatori relaționali
Exemplu.
Analizați rezultatul expresiilor de mai jos executând programul:
[Link]
Operatori logici
Operatorii logici sunt următorii: not (negare), and (şi), or (sau).
Cu excepţia operatorului not - care este unar (acţionează asupra unui singur
operand), restul operatorilor logici sunt binari (acţionează asupra a doi operanzi).
Operanzii pot fi de tip logic, întreg, real, etc. Rezultatul va fi întotdeauna o valoare
de tip logic – True sau False.
Exemplu. Analizați rezultatul expresiilor logice de mai jos executând programul:
[Link]
Operatori logici
[Link]
Forma extinsă a lui IF
Rezolvarea primei probleme avea un mic inconvenient. Citind un număr întreg în n,
avem în esență trei cazuri:
• n este mai mic decât 0 (n < 0)
• n este egal cu zero (n == 0)
• n este mai mare ca 0 (n > 0). Așadar, putem folosi forma extinsă a instrucțiunii if:
[Link]
Forma extinsă a operatorului If
Deci, aveam trei cazuri, iar instrucțiunea if ne-a ajutat perfect pentru a rezolva problema
complet!
De notat este faptul că se pot introduce câte clauze elif aveți nevoie în codul vostru. În
anumite situații, există o răscruce de drumuri ce are mai mult de 3 alternative...
[Link]
Instrucțiuni repetitive: for și while
Forma generală a lui for – pe care o folosim pentru a naviga secvențial printre toate
elementele unei colecții de date.
Am studiat anterior șirurile de caractere și listele, iar acum este momentul să navigăm
printre elementele acestora. Vom folosi for, care are forma generală ca cea de mai jos:
for variabilă în colectie_de_date:
instrucțiuni_subordonate
Putem citi astfel: pentru fiecare element din cadrul colecției, reținut de variabilă, efectuăm
un set de instrucțiuni de prelucrare subordonate.
Notă. Șirurile de caractere nu sunt colecții de date, însă se pot itera cu for.
[Link]
Instrucțiunea for
Exemplu. Mai jos afișăm pe rând toate elementele unei liste și apoi toate caracterele unui
șir:
[Link]
Instrucțiunea for
[Link]
Instrucțiunea for
[Link]
Instrucțiunea for
[Link]
Instrucțiunea for
[Link]
Instrucțiunea while
Forma generală pentru while
Ca şi for, instrucţiunea while este repetitivă și subordonează un set de instrucţiuni. Forma
generală este cea de mai jos:
Principiul de executare este:
Pasul 1. Se evaluează expresia logică. Dacă se obţine valoarea True, se trece la Pasul 2,
altfel executarea instrucţiunii se încheie.
Pasul 2. Se execută setul de instrucțiuni, apoi se trece iar la Pasul 1.
[Link]
Instrucțiunea while
Exemplu. Se citeşte n, număr natural. Să se calculeze suma primelor n numere naturale.
[Link]
Instrucțiunea while
[Link]
Clauzele break și continue
[Link]
Clauzele break și continue
[Link]
Vă mulțumesc!