Documente Academic
Documente Profesional
Documente Cultură
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>
• int main()
• {
• int a,b,max;
• if (a>b) max=a;
• else max=b;
• return 0;
• }
• B. Instructiunea compusa
• {
• instructiune1;
• instructiune2;
• instructiune3;
• ………….
• instructiunen;
• }
• EX: Sa se scrie un program care rezolva ecuatia de gradul I a*x+b=0.
• #include <iostream>
• int main()
• {
• float a,b,x;
• x=-b/a;
• cout<<x;
• }
• else
• return 0;
• }
• int main()
• { int n,s=0;
• 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.