Lucrarea nr



Yüklə 0,56 Mb.
səhifə4/20
tarix17.01.2019
ölçüsü0,56 Mb.
#98835
1   2   3   4   5   6   7   8   9   ...   20

1.7Probleme propuse


Problema 1. Să se scrie un program care să afişeze litera E pe ecran într-o grilă de 7 x 7 puncte.

*******


*

*

***



*

*

*******



Indicaţie. Fiecare linie se va afişa cu o instrucţiune cout.
Problema 2. Să se scrie un program care să afişeze valorile minimă şi maximă pentru tipul float. Constantele respective sunt FLT_MIN şi FLT_MAX şi sunt definite în biblioteca
Problema 3. Să se scrie un program care să citescă valorile x şi n de la tastatură şi să calculeze expresia , unde x este real şi n este întreg.
Problema 4. Să se scrie un program care să efecteze cele patru operaţii aritmetice cu numerele reale 12.44 şi 3.57 în simplă precizie. Rezultatele se vor afişa astfel
a = 12.44

b = 3.57


a + b = …

a – b = …

a * b = …

a / b = …


Problema 5. Fie x un vector cu două componente întregi. Se vor citi componentele vectorului de la tastatură şi se vor calcula calcula expresiile :

sin(x0) + sin(x1)

cos(x0 + x1)

Se vor afişa valorile componentelor vecorului şi valorile expresiilor. Prototipurile funcţiilor matematice sunt definite în biblioteca .

Indicaţie. Componentele vectorului x sunt x0 şi x1.
Problema 6. Să de definească un vector de tip char care să conţină textul “Curs de programare”. Să se afişeze acest şir pe ecran.
Problema 7. Conversia tipurilor. Fie variabila de tip întreg

int m = 14 ;

şi variabila de tip real

float x = 3.14159 ;

Fie variabilele n şi y date de instrucţiunile

int n = m + x;

float y = m + x;

Să se afişeze valorile variabilelor m şi x şi ale variabilelor n şi y. Să se explice rezultatele.


Problema 8. Să se calculeze valoarea expresiei

pentru x = 1.2 şi radiani.


Problema 9. Se dă matricea cu elemente reale

Să se calculeze determinantul acestei matrice.


Problema 10. Se dă matricea

Să se calculeze expresia




2Structuri de control fundamentale




2.1Operatorii ++ şi –


Operatorii de incrementare şi decrementare ++ şi – se aplică asupra variabilelor întregi. Ei pot fi prefix (++operand) şi postfix (operand++) şi au următoarea definiţie:

  • ++operand, preincrementare, (operand=operand+1, după care este folosit în alte calcule),

  • operand++, postincrementare, (operand se foloseşte mai întâi în calcule după care operand=operand+1)

  • --operand, predecrementare, (operand=operand-1, după care este folosit în alte calcule)

  • operand--, posdecrementare, (operand se foloseşte mai întâi în calcule, după care operand=operand-1)


Problema 1. Operatorii ++ şi --. Se va executa următorul program.
#include

using namespace std;

int main() {

// operatorul ++ prefix

int i = 1;

cout << “i = “ << i << endl;

cout << “++i = “ << ++i << endl;

cout << “i = “ << i << endl;

// operatorul ++ postfix

int j = 1;

cout << “j = “ << j << endl;

cout << “j++ = “ << j++ << endl;

cout << “j = “ << j << endl;

return 0;

}

Rezultatele rulării programului sunt prezentate mai jos. Se vor explica aceste rezultate.



Exerciţiu. Se va scrie un program care să utilizeze în acelaşi mod operatorul --.



2.2Operatori de deplasare


Operatorii de deplasare se aplică numai asupra numerelor întregi. Deplasarea la stânga cu un bit a unui număr întreg realizează înmulţirea cu 2 a acelui număr. Deplasarea la dreapta cu un bit a unui număr întreg este câtul impărţirii cu 2 a acelui număr.

  • << este operator de deplasare la stânga cu un număr de biţi;,

  • >> este operator de deplasare la dreapta cu un număr de biţi;.

Expresiile în care intervin operatorii de deplasare au forma

expresie1 << expresie2

expresie1 >> expresie2

În aceste expresii expresie1 este expresia ce va fi deplasată, iar expresie2 dă numărul de biţi cu care este deplasată expresie1.



Problema 2. Fie variabila întregă x = 12. Sa se deplaseze la stanga cu trei biţi. Fir variabila întreagă t = 33. Să se deplaseze la dreapta cu doi biţi.
#include

using namespace std;

int main()

{

int x = 12;



int rez = x << 3;

cout << "x = " << x << endl << "x << 3 = " << rez << endl;

int y(33);

rez = y >> 2;

cout << "y = " << y << endl << "y >> 3 = " << rez << endl;

return 0;

}
Rezultatul rulării programului este cel de mai jos.



2.3Operatori logici pe biţi


Operatorii logici pe biţi se aplică numai operanzilor întregi. Ei sunt următorii :

~ operand care reprezintă negaţia termenului întreg operand

& este operatorul şi

| este operatorul sau inclusiv

^ este operatorul sau exclusiv

Aceşti operatori sunt definiţi cu tabelele de adevăr de mai jos.




a

b

a|b

a&b

a^b

0

0

0

0

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

0

Tabelul 2. Tabelele de adevăr pentru operatorii |, &, ^.

a

~a

0

1

1

0

Tabelul 3. Tabela de adevăr pentru operatorul ~.

Operatorii |, &, ^ sunt binari, operatorul ~ este unar. Operatorii binari sunt comutativi şi asociativi la stânga. Priorităţile lor sunt ~, apoi & şi în final | şi ^.


Problema 3. Fie variabila întreagă i = 0xf şi variabila întreagă j = 0xc. Să se scrie un program care să calculeze valorile : i & j ; i |j ; i ^ j ; ~i. Rezultatele se vor afişa în zecimal şi hexazecimal.

Indicaţie. Pentru a afişa o variabilă întreagă în hexazecimal se va folosi manipulatorul hex ca mai sus. Programul este următorul.


#include

using namespace std;

int main()

{

int i=0xf, j=0xc, rez;



cout << "\t" << "baza 10" << "\t" << "baza 16" << endl;

cout << "i = \t" << dec << i << "\t" << hex << i << endl;

cout << "j = \t" << dec << j << "\t" << hex << j << endl;

rez=i&j;


cout<<"i&j=\t"<rez=i|j;


cout<<"i|j=\t"<rez=~i;


cout<<"~i=\t"<return 0;

}
Rezultatul rulării programului este cel de mai jos.



Problema 4. Fie variabila întreagă k = 0xabc. Să se calculeze valoarea expresiei

k | 0xff


Se vor afişa valoarea variabilei k şi valoarea expresiei în hexazecimal. Să se explice rezultatul.
#include

using namespace std ;

int main(){

int k = 0xabc;

k = k | 0xff;

cout << "k=" << hex << k << endl;

return 0;

}
Rezultatele rulării programului sunt prezentate în caseta text.



In cazul operatorului & valoarea 0xff extrage ultimele două cifre hexazecimale din număr. Ea se numeşte mască.




Yüklə 0,56 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin