Sunteți pe pagina 1din 22

INSTRUCTIUNILE

LIMBAJULUI C++
Instructiunea IF
• Are doua forme:

• 1.

• If (expresie) instructiune1
• else instructiune2
• Principiul functionarii: se evalueaza expresia, daca valoarea
rezultata este diferita de 0 se executa instructiune1 iar daca
valoarea rezultata este 0 se executa instructiune2.

• 2.

• If (expresie) instructiune
• Principiul de functionare este: daca valoarea expresiei este
diferita de 0 atunci se executa instructiune.
• EX: Sa se tipareasca maximul dintre 2 numere citite de la tastatura.

• #include <iostream>

• using namespace std;

• int main()

• {

• int a,b,max;

• cout <<”a=”; cin >> a;

• cout<<”b=”; cin >> b;

• if (a>b) max=a;

• else max=b;

• cout <<”maximul este”<<max;

• return 0;

• }
• B. Instructiunea compusa

• Pentru a putea scrie mai multe instructiuni care sa fie interpretate de


compilator ca una singura, se foloseste instructiunea compusa care
are urmatoarea forma:

• {

• instructiune1;

• instructiune2;

• instructiune3;

• ………….

• instructiunen;

• }
• EX: Sa se scrie un program care rezolva ecuatia de gradul I a*x+b=0.

• #include <iostream>

• using namespace std;

• int main()

• {

• float a,b,x;

• cout <<”a=”; cin >> a;

• cout<<”b=”; cin >> b;


• {

• x=-b/a;

• cout<<x;

• }

• else

• if (b==0) cout<<”ecuatia are o infinitate de solutii”

• else cout<<”ecuatia nu are solutii in R”;

• return 0;

• }

• Observatie: Orice program C are cel putin o functie si o instructiune compusa.


C. Instructiunea WHILE
• While (expresie) instructiune
• Principiul functionarii este: se evalueaza expresia iar daca
valorea produsa este diferita de 0 se executa
instructiunea subordonata si se revine la evaluarea
expresiei; daca valoarea expresiei este 0 atunci se trece
la instructiunea urmatoare lui while.
• EX: Se citeste un numar natural n. Se cere sa se
calculeze suma cifrelor sale.
• #include <iostream>

• using namespace std;

• int main()

• { int n,s=0;

• cout<<”n=”; cin >>n;

• while (n)

• {

• s=s+n%10;

• n=n/10;

• }

• cout<<s;

• return 0;

• }
• Scrieţi un program C++ care citeşte un număr natural n şi determină
suma cifrelor pare şi suma
• cifrelor impare.
• #include <iostream>
• using namespace std;
• int main()
• {
• int x, si=0, sp=0;
• cout<<”introduceti un numar:”; cin>>x;
• while (x>0)
• { if (x%10%2==0) sp=sp+x%10;
• else si=si+ x%10;
• x=x/10;
• }
• cout<<"suma cifrelor pare este:"<<sp<<endl;
• cout<<"suma cifrelor impare este:"<<si;
• return 0;
• }
Instrucţiunea repetitivă cu număr
cunoscut de paşi - for
• Principiul funcţionării este: se evaluează expresia de
iniţializare, se evaluează expresia test iar dacă aceasta
are ca rezultat o valoare diferită de 0 se execută
instrucţiunea subordonată şi se trece la expresia de
incrementare de unde se verifică din nou expresia test.
• Dacă la un moment dat aceasta returnează valoarea 0
execuţia instrucţiunii for se termină.,
• Exemple: for (contor=limita_iniţială; contor<=limită_finală;
contor++) {instrucţiuni de repetat la fiecare pas} for (i=1;
i<=n; i++) { instrucţiuni de repetat la fiecare pas }
Instrucţiunea repetitivă cu număr
cunoscut de paşi - for
• Efect: - pentru fiecare valoare a contorului i intre
limita_iniţială şi limita_finală se execută instructiunile
dintre acolade; Observaţii:
• 1. Acoladele pot lipsi dacă există o singură instrucţiune
care se repetă.
• 2. Expresia de incrementare poate fi înlocuită de una de
decrementare.
• Exemplu: Se citeşte de la tastatură un număr natural n. Se cere
să se calculeze suma divizorilor
• săi.
• #include <iostream>
• using namespace std;
• int main()
• {
• int n, d, s=0;
• cout<<”n=”;cin>>n;
• for (d=1; d<=n; d++)
• {
• if (n%d == 0)s=s+d;
• }
• cout<<"suma divizorilor este:"<<s;
• return 0;
• }
• Scrieţi un program C++ care citeşte un număr natural n şi
determină suma primelor n numere
• naturale. (S=1+2+3+……+n)
• #include <iostream>
• using namespace std;
• int main()
• {
• int x, i,s=0;
• cout<<”introduceti un numar:”; cin>>x;
• for (i=1; i<=x; i++) s=s+i;
• cout<<"suma numerelor este:"<<s<<endl;
• return 0;
• }
Instrucţiunea repetitivă cu test iniţial – DO
WHILE
• 1. Teorie
• Forma generală este:
• do
• {
• Instructiune ;
• }
• while (expresie)
• Principiul funcţionării este: se execută instructiunea
subordonată dupa care se evaluează expresia iar dacă valorea
produsă este diferită de 0 se revine la executia instructiuni
isubordonate reevaluandu-se expresia; dacă valoarea
expresiei este 0 atunci se trece la instrucţiunea următoare lui
do while.
• Exemplu: Se citeşte de la tastatură un număr natural x. Se cere
să se calculeze suma cifrelor
• sale.
• #include <iostream>
• using namespace std;
• int main()
• {
• int x, s=0;
• cin>>x;
• do
• { s=s+x%10;
• x=x/10;
• }
• while (x>0)
• cout<<"suma cifrelor este:"<<s;
• return 0;
• }
• Scrieţi un program C++ care citeşte numere naturale pana la intalnirea
lui 0 şi determină suma celor
• pare şi produsul celor impare.
• #include <iostream>
• using namespace std;
• int main()INFORMATICĂ prof. Carmen Ana ANTON
• 3
• {
• int x, sp=0, pi=1;
• do{
• cout<<”introduceti un numar:”; cin>>x;
• if (x%2==0) sp=sp+x; else pi=pi* x;
• }
• while (x>0)
• cout<<"suma numerelor pare este:"<<sp<<endl;
• cout<<"produsul numerelor impare este:"<<pi;
• return 0;
• }
Instructiunea switch
• Aceasta instructiune este corespondenta instructiunii case
din Pascal.
• Forma generala:

• switch (variabila)
•{
• case valoare 1: instructiune 1;
• case valoare 2 : instructiune 2;
• case valoare n: instructiune n;
• default: instructiune default;
•}
Instructiunea switch
• a=3;

• switch (a)
•{
• case 1: cout<<„a este egal cu 1”;
• case 2: cout<<„a este egal cu 2”;
• case 3: cout<<„a este egal cu 3”;
• default: cout<<„a este mai mare decat 3”;
•}
Instructiunea switch
• Daca a==1 atunci afisam mesajul corespunzator, daca
a==2 atunci afisam mesajul corespunazator, la fel si
pentru a==3. Daca a nu indeplineste niciuna din conditiile
din „case-uri”, atunci instructiunea default afiseaza „a este
mai mare decat 3”. Ramura default este obligatorie pentru
instructiunea switch.

• Switch este deosebit de utila atunci cand trebuie sa


verificam proprietati ale unei variabile pe mai multe cazuri.
Probleme
• Prelucrarea cifrelor unui număr
• 1. Scrieţi un program C++ care citeşte un număr natural n şi
determină şi afişează suma cifrelor sale.
• 2. Scrieţi un program C++ care citeşte un număr natural n şi
verifică dacă toate cifrele sale sunt pare şi tipăreşte un mesaj
corespunzător.
• 3. Scrieţi un program C++ care citeşte un număr natural n şi
determină suma cifrelor pare şi suma cifrelor impare.
• 4. Scrieţi un program C++ care citeşte un număr natural n şi
determină şi afişează cea mai mica şi cea mai mare dintre
cifrele sale. De exemplu, pentru n=25471, se va tipări cmin=1
şi cmax=7.
• 5. Se citește un număr natural n de cel mult 8 cifre. Să se scrie
programul C++ care determină și afișează câte cifre pare şi
câte cifre impare are numărul citit. De exemplu, pentru n=2754,
se va tipări 2 cifre pare şi 2 cifre impare.
Probleme
1. Se citesc numere întregi până la întâlnirea valorii 0. Să se crie
un program care determină câte
sunt pozitive şi câte sunt negative.
2. Se citesc numere întregi până la întâlnirea valorii 0. Să se crie
un program care afişează pentru
fiecare număr pătratul său.
3. Se citesc numere întregi până la întâlnirea valorii 0. Să se crie
un program care afişează pentru
fiecare număr suma cifrelor sale.
4. Se citesc numere întregi până la întâlnirea valorii 0. Să se crie
un program care determină câte
sunt prime.
5. Se citesc perechi de numere întregi până la întâlnirea a doua
valori egale. Să se crie un program
care determină cate sunt prime intre ele.
Instructiunile limbajului C++
• Realizat de Anton Dumitrița

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