Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
TEMA :
INSTRUCTIUNILE LIMBAJULUI C++
MOTIVATIE
Intotdeauna omul a cautat sa se informeze pentru a inva a mai bine, a crea, a decide, a ac iona. Traim intr-o epoca confruntata cu schimbari profunde - concuren a, accentuarea ritmului de dezvoltare a tehnologiilor informa ionale, calitatea activita ii desfa urate devine obligatorie. Pentru a deveni un bun programator trebuie sa incepi cu inva area no iunilor de baza i anume cu instruc iunile limbajului.
INSTRUCTIUNEA EXPRESIE
Existenta acestei instructiuni ar putea sa ne mire. In pseudocod expresiile intervin in cadrul instructiunii de atribuire. In C++ exista instructiunea expresie. Ea este de forma:
Expresie;
Ca o curiozitate, limbajul permite sa scriem instructiunea expresie 7+2;. Aceasta se evalueaza, chiar daca nu folosim in nici un fel rezultatul.
Programul de mai jos este corect!
void main()
Exemplul dat ilustreaza flexibilitatea limbajului. Consecintele acestei instructiuni sunt uriase si vor fi expuse la momentul potrivit.
Se observa ca instructiunea expresie se termina cu " ; '. Daca expresia este vida - nu are nici un operand, nici un operator - obtinem asa numita instructiune vida. Programul de mai jos este corect!
void main()
Instructiunea expresie este des utilizata in efectuarea atribuirilor (in pseudocod atribuirea este instructiune separata).
Exemplul 1. Programul p1 interschimba continutul a doua variabile care au fost citite. La sfarsit, sa se afiseze noul continut al variabilelor.
# include <iostream.h>
main()
Exemplul 2. Se citesc doua valori intregi a si b. Se cere sa afiseze media aritmetica a lor.
#include <iostream.h>
main()
Exemplul 2. Se citesc trei variabile reale a, b si c. Sa se calculeze functia:
Programul urmator rezolva aceasta problema, exemplifica folosirea unei instruc iuni if, plasata in corpul altei instructiuni if.
#include <iostream.h>
void main()
Exemplul 3. Se citeste o valoare intreaga. in cazul in care aceasta, este para (se imparte exact la 2) se va afisa mesajul 'am citit un numar par". Altfel, programul nu va da mesaj.
#include <iostream.h>
main()
INSTRUCTIUNEA COMPUSA
Se pune urmatoarea problema: cum procedam in situatia in care la utilizarea instructiunii if fie intr-un caz, fie in altul, urmeaza sa scriem mai multe instructiuni. Pentru a putea scrie mal multe instructiuni care sa fie interpretate de compilator ca una singura se foloseste instructiunea compusa.
Instructiunea compusa are forma urmatoare:
Aici, i1, ,in reprezinta instructiunile care se gasesc in corpul instructiunii compuse. Acestea sunt separate prin ';',
Exemplul 1 Sa se scrie un program care rezolva ecuatia algebrica de gradul 1 cu o necunoscuta, cu coeficienti reali (a*x+b=0).
In programul C++ care rezolva aceasta problema se observa folosirea unei instructiuni compuse la calculul radacinii si tiparirea ei.
#include <iostream.h>
main()
else
if (b==0) cout<<'infinitatate de solutii';
else cout<<'nu are solutie';
}
Observatie: orice program c++ are cel putin o functie si aceasta are cel putin o instructiune compusa .
INSTRUCTIUNEA SWITCH
Instructiunea switch, are forma generala:
switch (expresie)
Unde:
expresie are semnificatia: expresie de tip intreg;
exp i: sunt expresii constante de tip intreg;
instructiuni, reprezinta o secventa oarecare de instructiuni.
Principiul de executare:
P1. se evalueaza expresia;
P2. daca aceasta produce o valoare egala cu cea produsa de exp i, se executa, in ordine, instructiunii si se trece ia instructiunea urmatoare, astfel se executa numai secventa instruc iuni n+1.
Observatie 1. Alternativa default este facultativa. in absenta, in cazul in care nu exista coincidenta de valori, se trece la instructiunea urmatoare.
Observatie 2. Am prezentat o forma simplificata a instructiunii switch, mai precis, cea corespunzatoare programarii structurate. De fapt, break este instructiune c++, dar utilizarea ei nu este recomandata in perioada de invatare a programarii.
Exemplu
Programul care urmeaza probeaza instructiunea switch.
#include <iostream.h>
void main()
INSTRUCTIUNEA WHILE
Aceasta instructiune reproduce structura de tip Cat timp . . . executa
Forma generala este:
while (expresie) instructiune
Principiul de executare este urmatorul:
P1. Se evalueaza expresia;
P2. Daca valoarea produsa de aceasta este diferita de 0se executa instructiunea subordonata, apoi se revine la P1, altfel se trece la instructiunea urmatoare.
Exemplul 1: Se citeste n, numar natural. Sa se calculeze suma cifrelor sale (pentru n=213, se va tipari 6).
#include <iostream.h>
void main()
cout<<s;
Exemplul 2 Se citeste n, numar natural. Sa se afiseze numarul obtinut prin inversarea cifrelor sale (pentru n=412, se va tipari 214).
#include <iostream.h>
void main()
cout<<'numarul inversat '<<ninv; }
In c++, datorita uriaselor posibilitati de lucru cu expresii, de multe ori instructiunea subordonata unei instructiuni repetitive este cea vida. ln programul de mai jos sau folosit mai multe expresii separate prin virgula. Am inva at ca valoarea produsa de o astfel de expresie este data de ultima din irul lor(cea din dreapta).
#include <iostream.h>
main()
Programul mai poate fi scris si asa:
#include <iostream.h>
main()
INSTRUCTIUNEA DO WHILE
Aceasta instructiune este asemanatoare cu structura Executa. . . cat timp.
Forma generala a acestei instructiuni este urmatoarea:
do
instructiune
while(expresie);
Principiul de executare este urmatorul:
P1. Se executa instructiunea subordonata;
P2 Se evalueaza expresia. In cazul in care valoarea produsa la evaluare este 0, executia instructiunii do se termina, altfel se trece la P1.
Observatie: secventa se executa cei putin o data, dupa care se pune problema daca sa se repete sau nu (prin evaluarea expresiei logice).
Exemplul 1: Se citeste un numar natural n, mai mare sau egal cu 1. Sa se calculeze suma primelor n numere naturale.
#include <iostream.h>
main()
while (i<=n);
cout<<s; }
Putem scrie si asa:
#include <iostream.h>
main()
Exemplul 2: Se citeste h, numar natural. Sa se descompuna in factori primi.
#include <iostream.h>
main()
if (fm) cout<<i<<' la puterea '<<fm<<endl; i++; }while (n!=1); }
INSTRUCTIUNEA FOR
Instructiunea for are forma generala:
for(expresieinitjalizare; expresietest; expresieincrementare) instructiune
Dupa cum se vede, intre paranteze se gasesc 3 expresii.
expresieinitjalizare; se foloseste, de regula, pentru initializarea variabilei de ciclare. Este de remarcat faptul ca in cadrul acestei expresii (cu rol special) este posibil chiar sa declaram variabila de ciclare (cu valoare initiala).
expresietest se folose te pentru a testa daca se executa instructiunea subordonata - daca expresia produce la evaluare o valoare diferita de 0, instructiunea subordonata for se executa.
expresieincrementare se foloseste pentru incrementarea variabilei de ciclare.
Principiul de executare
PI. Se evalueaza expresieinitializare (un caz special este acela in care aceasta contine si declaratia variabilei de ciclare);
P2. Se evalueaza expresiatest. in cazul in care aceasta produce o valoare diferita de o, se executa instructiunea subordonata for; apoi se trece la P3, altfel se trece la instructiunea urmatoare (se termina executia instructiunii for).
P3. Se evalueaza expresia de incrementare si se revine la P2.
Important. Toate expresiile pot fi vide. In concluzie expresiile de mai sus au rolul precizat in mod normal - dar nu obligatoriu si nici restrictiv.
De exemplu, daca expresietest este vida, se executa un ciclu infinit.
main()
Programul de mai sus cicleaza. Daca un ciclu nu se termina (instructiunile se executa la infinit) spunem ca programul cicleaza. Uneori, din (greseala, scriem programe care cicleaza. Pentru a opri din executare un astfel de program, procedam diferentiat dupa sistemul de operare in care lucram:
dos -tastam ctrl+pause;
Windows-tastam ctrl+alt+del.
Exemplul 1. Programul urmator listeaza numerele 5, 4, 3, 2, 1.
#include <iostream.h>
main()
Exemplul 2. Sa se listeze alfabetul in ordine inversa.
#include <iostream.h>
main()
Exemplul 3. Se citeste n (numar natural). Se cere sa se efectueze suma primelor n numere naturale. Exemplu: s=3. s=1+2+3=6
#include <iostream.h>
main()
Se poate si asa
#include <iostream.h>
main()
BIBLIOGRAFIE
Webliografie:
www.econ.ubbcluj.ro/~gsilaghi/asd2004/Grafuri.doc
inf.ucv.ro/~bereanu/courses/CB4103/
www.byte.ro/byte97-09/surf.htm
thor.info.uaic.ro/~adrianaa/ teach/proiect/fise/graf/Grafuri_SCC.html
edu.botosani.ro/cetcpbt/informatica/1112.html
asecib.ase.ro/Mitrut%20Dorin/ Curs/bazeCO/html/33Grafuri.htm
Politica de confidentialitate |
Copyright © 2024 - Toate drepturile rezervate