Documente Academic
Documente Profesional
Documente Cultură
Moldova
RAPORT
Lucrarea de laborator nr.1
la POO
A efectuat:
st. gr. AI-171 E. Cazacov
A verificat: M. Osovschi
Chişinău - 2018
Lucrarea de laborator nr.1
Tema: Reprezentarea tipurilor de date ale limbajului C++ în memoria calculatorului. Operatorii
limbajului C++. Construcţiile elementare ale limbajului C++ (instrucţiunile for, while, do-while,
if-else, switch-break, goto). Tipuri de date recursive, operaţii asupra listelor, arborilor.
Construirea şi elaborarea programelor recursive. Fişierele.
Scopul lucrării: familiarizarea studenţilor cu reprezentarea tipurilor de date ale limbajului C++ în
memoria calculatorului, operatorii limbajului C++, construcţiile elementare ale limbajului C++
(instrucţiunile for, while, do-while, if-else, switch-break, goto), tipuri de date recursive, operaţii
asupra listelor, arborilor, construirea şi elaborarea programelor recursive, lucrul cu fişierele.
Programul in C++:
#include <iostream>
#include <cmath>
#include <conio.h>
using namespace std;
int main()
{
int n, i, binarNr;
cout << "Introduceti un numar intreg: ";
cin >> n;
binarNr = convertDecimalToBinary(n);
cout << n << " in decimal = " << binarNr << " in binar" << endl ;
return 0;
}
long long convertDecimalToBinary(int n)
{
long long binarNr = 0;
int rest, i = 1, pas = 1;
while (n!=0)
{
rest= n%2;
cout << "Pas " << pas++ << ": " << n << "/2, Rest = " << rest << ", Cit = " << n/2
<< endl;
n /= 2;
binarNr += rest*i;
i *= 10;
}
return binarNr;
}
#include<iostream>
#include<conio.h>
using namespace std;
void afisare1(nod1*v1)
{nod1 *c1;
c1=v1;
while(c1)
{cout<<c1->nr1<<" ";
c1=c1->back;}}
void afisare2(nod2*v2)
{nod2 *c2;
c2=v2;
while(c2)
{cout<<c2->nr2<<" ";
c2=c2->back;}}
int suma1(nod1*v1){
nod1 *c1;
int suma1=0;
v1=varf1;
while(v1!=NULL){
suma1+=v1->nr1;
v1=v1->back;
} return suma1;}
int suma2(nod2*v2){
nod2 *c2;
int suma2=0;
v2=varf2;
while(v2!=NULL){
suma2+=v2->nr2;
v2=v2->back;
}
return suma2;
}
int main()
{int n1, n2 ,a1, a2, i;
cout<<"numarul initial de noduri n1: ";
cin>>n1;
cout<<"numarul initial de noduri n2: ";
cin>>n2;
for(int i=1;i<=n1;i++)
{cout<<"valoarea de adaugat in stiva n1: ";
cin>>a1;
push1(varf1,a1);
}
for(int i=1;i<=n2;i++)
{cout<<"valoarea de adaugat in stiva n2: ";
cin>>a2;
push2(varf2,a2);
}
cout<<endl;
cout<<"Prima stiva: \n";
afisare1(varf1);
cout<<"\nA doua stiva: \n";
afisare2(varf2);
cout<<endl<<"\n Suma nod1="<<suma1(varf1)<<endl;
cout<<endl<<"\n Suma nod2="<<suma2(varf2)<<endl;
cout<<"\n Comparare:";
if(suma1(varf1) < suma2(varf2)){
cout<<"Nod1 < Nod2";
}
if(suma1(varf1) > suma2(varf2)){
cout<<"Nod1 > Nod2";
}
if(suma1(varf1) == suma2(varf2)){
cout<<"Nod1 = Nod2";
}
getch();
}
Concluzie:
Efectuind laboratorul nr.1 am facut cunostinta cu biblioteca iostream( cin, cout), am implementat
diferite circuite si am efectuat prelucrari ale stivei.