Documente Academic
Documente Profesional
Documente Cultură
"Fiecare greeal este o ocazie de a nva. Totul este s nu comii aceeai greeal n mod repetat - ar fi o prostie. ns comite ct mai multe greeli noi de care eti n stare; nu trebuie s-ti fie team, cci acesta este singurul mod n care natura i permite s nvei." OSHO
CUPRINS
FI DE LUCRU - OPERATORI C++ ............................................................................................................ 3 FI DE LUCRU STRUCTURA ALTERNATIV .......................................................................................... 5 STRUCTURA REPETITIV WHILE .............................................................................................................. 6 EXEMPLE .............................................................................................................................................. 6 STRUCTURA REPETITIV FOR .................................................................................................................. 7 EXEMPLE .............................................................................................................................................. 8 STRUCTURA REPETITIV DO...............WHILE .......................................................................................... 9 EXEMPLE .............................................................................................................................................. 9 PROBLEM REZOLVAT........................................................................................................................... 9 ALGORITMI FUNDAMENTALI ................................................................................................................. 10 1. Separarea cifrelor unui numr ...................................................................................................... 10 2. Determinarea divizorilor proprii ai unui numr natural dat ......................................................... 11 3. Testul de numr prim .................................................................................................................... 12 4. Determinarea celui mai mare divizor comun a dou numere naturale ........................................ 12 5. Descompunerea n factori primi a unui numr natural ................................................................. 13 6. Determinarea minimului/maximului unui ir de numere ............................................................. 13
{ int x=2, y=7, z,u; u=x*(y-2)%3; cout<<u=<<u<<endl; z=u+x; x=x*y; cout<<x=<<x<< y=<<y<< z=<<z<< u=<<u<<endl; x=-y*z%3+u; cout<<x=<<x<<endl; z=(x-y)*(u-x); cout<<z=<<z<<endl; }
NOIUNI TEORETICE I PROBLEME OPERATORI, STRUCTURI ALTERNATIVE I REPETITIVE , ALGORITMI FUNDMENTALI 10. Scriei un program care convertete gradele Celsius n grade Fahrenheit conform formulei f=(9/5)*c+32. Datele se citesc de la tastatur. 11. Se introduc 2 numere, a i b i un numr k. S se afieze un mesaj dac fracia a/b poate fi simplificat prin k. 12. Se introduc 2 numere. S se afieze un mesaj dac aceste numere sunt consecutive. 13. Fie variabilele x,y i u de tipul int. Scriei o instruciune care mrete valoarea variabilei u cu ctul ntreg al mparirii lui x la y ? 14. Scriei 3 valori ce pot fi citite pentru variabila y astfel nct programul de mai jos s tipreasc 1 ?
{ int n, a, b, c, x, w, q; cout<<"n="; cin>>n; a=n/100; b=n/10%10; c=n%10; (a>b ? x=a, a=b, b=x : x); (b>c ? x=b, b=c, c=x : x); (a>b ? x=a, a=b, b=x : x); cout<<a<<" "<<b<<" "<<c<<endl; w=a*100+b*10+c; q=c*100+b*10+a; cout<<w<<" "<<q; }
FI DE LUCRU STRUCTURA ALTERNATIV Structura alternativ simpl Structura alternativ generalizat if (expresie) switch (selector) instructiune_1; { else case 1: instructiune_1;break; instructiune_2; case 2: instructiune_2;break; ----------------------------case n: instructiune_n;break; default : instructiune_i; }
1.Se citete de la tastatur un numr natural ntreg care reprezint un an calendaristic. S se verifice dac numrul citit este un an bisect. 2. Un elev primete ntr-o zi trei note, nu toate bune. Se hotrte ca, dac ultima not este cel puin 8, s le spun prinilor toate notele primite iar dac este mai mic dect 8, s le comunice doar nota cea mai mare dintre primele dou. Introducei notele luate i afiai notele pe care le va comunica prinilor. 3. Se citesc trei numere ntregi x, y, z. Dac toate sunt pozitive s se afieze cel mai mare numr dintre al doilea i al treilea numr, n caz contrar s se afieze suma primelor dou numere. 4. Scriei un program care s testeze un caracter introdus de la tastatur. Dac este liter mare, s afieze mesajul Liter mare, dac este liter mic s se afieze mesajul Liter mic, altfel s se afieze mesajul Nu este liter. 5. Se citete de la tastatur un numr natural ntreg format din 3 cifre i care afieaz cel mai mic numr care se poate forma din cifrele sale. Modificai programul, astfel nct, s afieze cel mai mare numr ce se poate forma din cifrele numrului citit. 6. Se introduc de la tastatur dou numere ntregi a, b i un caracter c care reprezint o operaie aritmetic. S se afieze operaia efectuat de operatorul citit i s se calculeze valoarea lui e definit ca rezultat al aplicrii operatorului aritmetic pe numerele a i b (2 metode: se folosesc instruciuni if-else imbricate i apoi cu instruciunea switch-case). 7. Scriei un program care s permit alegerea unei opiuni dintr-un meniu afiat pe ecran, apoi se alege o operaie din meniu prin introducerea numrului de ordine. Meniul conine: 1. ORDONARE CRESCTOARE 2. ORDONARE DESCRESCTOARE Programul ordoneaz cresctor i descresctor cifrele unui numr ntreg format din 3 cifre. 8. Se citesc trei numere ntregi nenule a, b i c care reprezint coeficienii unei ecuaii de gradul II. S se rezolve ecuaia. Testai programul pentru urmtoarele seturi de intrare:(1,-5,6), (1,-2,1), (1,1,1).
EXEMPLE
a)Se citesc de la tastatur mai multe numere pn la ntlnirea valorii 0. S se scrie un program C++ care calculeaz i afieaz pe ecran suma numerelor pare i produsul numerelor impare.
NOIUNI TEORETICE I PROBLEME OPERATORI, STRUCTURI ALTERNATIVE I REPETITIVE , ALGORITMI FUNDMENTALI b) Se citesc de la tastatur mai multe numere pn la ntlnirea valorii 0. S se scrie un program C++ care determin valoarea maxim i de cte ori apare n ir. Explicaii: se citete primul numr , se atribuie variabilei max valoarea primului numr citit i se iniializeaz contorul cu 1; se citete urmtorul numr; dac max este egal cu n atunci se incrementeaz contorul; dac n este mai mare dect max, atunci variabilei max i se atribuie valoarea lui n i se iniializeaz contorul cu 1. aceste operaii se execut pn cnd citim valoarea 0.
exp1, pentru iniializare, prin care se stabilete starea dinainte de prima execuie a instruciunii; exp2, pentru testare, compar starea curent cu starea care termin procesul de terminare; are rolul de a termina executarea repetat a instruciunilor; exp3, pentru modificare, prin schimbarea strii curente, astfel nct s se avanseze ctre starea final. Instruciunea for se execut astfel: PAS 1: se evalueaz expresia exp1; PAS 2: se evalueaz expresia exp2; dac rezultatul este diferit de 0, adic INFORMATIC clasa a IX-a
NOIUNI TEORETICE I PROBLEME OPERATORI, STRUCTURI ALTERNATIVE I REPETITIVE , ALGORITMI FUNDMENTALI corespunde valorii logice adevrat, atunci se execut instruciunile; altfel se trece la execuia instruciunii care urmeaz instruciunii for. PAS 3: se evalueaz expresia exp3 i se revine la PAS 2.
EXEMPLE
a)Se citesc de la tastatur n numere ntregi.S se calculeze i s se afieze pe ecran suma numerelor pare i produsul numerelor impare. b)nlocuii structura repetitiv structura repetitiv WHILE. FOR cu
c)Se citesc de la tastatur n numere ntregi. S se calculeze media aritmetic a numerelor impare.
FOR
cu
do { instruciuni;
Aceast instruciune se execut astfel: PAS 1: se execut instruciune; PAS 2: se evalueaz expresia;dac rezultatul
} while(expresie);
este diferit de 0, adic corespunde valorii logice adevrat, atunci se revine la primul pas; altfel se trece la execuia instruciunii care urmeaz instruciunii dowhile. Spre deosebire de instruciunea WHILE instruciunea DO...WHILE se execut cel puin o dat.
EXEMPLE
a)Se citesc cifrele unui numr ncepnd cu cifra cea mai semnificativ. S se afieze numrul obinut. b)Modificai WHILE. programul, nlocuind
PROBLEM REZOLVAT
1.Se citete cte un caracter, pn la ntlnirea caracterului @. S se afieze cte litere mari au fost introduse, cte litere mici, cte cifre i cte alte caractere. 2.Modificai programul astfel nct, pentru fiecare caracter citit, s se caracter. afieze un
mesaj care s indice dac s-a citit o liter mare, o liter mic, o cifr sau un alt
ALGORITMI FUNDAMENTALI
Aceti algoritmi au fost concepui spre a veni n ajutorul programatorilor, care i folosesc ori de cte ori este necesar n probleme, fr a mai fi nevoie s-i elaboreze de fiecare dat. Acetia se refer la separarea cifrelor unui numr (folosit de fiecare dat cnd n rezolvarea unei probleme este necesar accesul la cifrele unui numr), determinarea divizorilor proprii ai unui numr natural dat, testarea dac un numr natural mai mare ca 1 este prim, determinarea celui mai mare divizor comun a dou numere naturale date, descompunerea unui numr natural n factori primi, determinarea maximului/minimului unui ir de numere citite, pe rnd, de la dispozitivul de intrare.
NOIUNI TEORETICE I PROBLEME OPERATORI, STRUCTURI ALTERNATIVE I REPETITIVE , ALGORITMI FUNDMENTALI Exemplu: n=2954 operaia 2954:10 295:10 29:10 2:10 ct 295 29 2 0 rest 4 5 9 2
Limbajul C++
Algoritmul este urmtorul: ct timp cele dou numere a i b sunt diferite ntre ele, se scade din numrul mai mare numrul mai mic. n momentul n care cele dou numere devin egale, cmmdc se afl n oricare din cele dou numere a sau b.
Algoritm: se pornete de la primul factor prim posibil, 2; ct timp numrul dat este diferit de 1, se execut operaiile: dac factorul l divide pe n l afim ct timp numrul se mparte exact la un factor prim se execut mprirea, se prelucreaz factorul i ctul devine demprit se trece apoi la urmtorul factor prim