Sunteți pe pagina 1din 19

COLEGIUL UNIVERSITĂȚII TEHNICE A

MOLDOVEI

PORTOFOLIU
la unitatea de curs
Programarea Procedurală

Elaborat: Verificat:
Elevul/a grupei RC_231 Burca Eugenia,
Nume Prenume master în informatică,
Ceban Eugeniu profesor de informatică.

Chișinău, 2024
Cuprins

1. Programarea-pasiunea mea...............................................................................................................4
2. Tipul de date fișier. Operații de specifice tipului de date fișier.......................................................5
2.1 În cadrul orelor de teorie............................................................................................................5
2.2 Probleleme rezolvate în cadrul lecției de laborator și tema pentru acasă...................................5
3. Metode de sortare.............................................................................................................................7
3.1. În cadrul orelor de teorie...........................................................................................................7
3.2. În cadrul orelor de laborator și tema pentru acasă.....................................................................7
4. Structuri. Tablouri de structuri.........................................................................................................8
4.1 Structuri......................................................................................................................................8
4.1.1 În cadrul orelor de teorie.....................................................................................................8
4.1.2 În cadrul orelor de laborator și tema pentru acasă...............................................................8
4.2 Tablouri de structuri...................................................................................................................8
4.2.1 În cadrul orelor de teorie.....................................................................................................8
4.2.2 În cadrul orelor de laborator și tema pentru acasă...............................................................8
5. Pointeri. Variabile Pointeri...............................................................................................................9
5.1 Variabile Pointeri.......................................................................................................................9
5.1.1 În cadrul orelor de teorie.....................................................................................................9
5.1.2 În cadrul orelor de laborator și tema pentru acasă...............................................................9
5.2 Pointeri și tablouri......................................................................................................................9
5.2.1 În cadrul orelor de teorie.....................................................................................................9
5.2.2 În cadrul orelor de laborator și tema pentru acasă...............................................................9
5.3 Alocarea dinamică a memoriei pentru tablouri. Eliberarea memoriei.......................................9
5.3.1 În cadrul orelor de teorie.....................................................................................................9
5.3.2 În cadrul orelor de laborator și tema pentru acasă...............................................................9
6. Subprograme..................................................................................................................................10
6.1 Subprograme 1.........................................................................................................................10
6.1.1 În cadrul orelor de teorie...................................................................................................10
6.1.2 În cadrul orelor de laborator și tema pentru acasă.............................................................10
6.2 Subprograme 2.........................................................................................................................10
6.2.1 În cadrul orelor de teorie...................................................................................................10
6.2.2 În cadrul orelor de laborator și tema pentru acasă.............................................................10
6.3 Subprograme (parametri de tip tablou)....................................................................................10
6.3.1 În cadrul orelor de teorie...................................................................................................10
6.3.2 În cadrul orelor de laborator și tema pentru acasă.............................................................10

-2-
6.4 Subprograme recursive.............................................................................................................10
6.4.1 În cadrul orelor de teorie...................................................................................................10
6.4.2 În cadrul orelor de laborator și tema pentru acasă.............................................................10
6.5 Subprograme. Particularități în utilizare..................................................................................10
6.5.1 În cadrul orelor de teorie...................................................................................................10
6.5.2 Realizare proiect propriu...................................................................................................11
DECLARAŢIA PRIVIND ASUMAREA RĂSPUNDERII..............................................................12

-3-
1. Programarea-pasiunea mea.

Tema „Programarea – pasiunea mea” este una care eu o consider relativă. Într-un caz, iubesc
programarea, fiind ceva ce este clasificată ca „viitorul”, dar în alt caz, nu aș alege să am un job
anume în sfera programării și scrierii a codului. De ce? Sincer să spun, găsesc asta plictisitor și
nesănătos, fiind în fața ecranului unui calculator pentru 7-8 ore într-o zi. Asta se aplică la orice Job
ce include lucrul într-un oficiu unde, similar, trebuie să iți dedici ziua ecranului calculatorului. În
același caz, nu cred că asta este o idee care se aplică tuturor, deoarece știu unii oameni care iubesc
să facă asta. Nu este ceva pentru mine. Un alt argument ar fi faptul că liniile de cod, mai ales când
ai mii de linii de cod, consider stresant și sincer greu să țin minte. Acesta este un motiv de ce am
ales să fiu un rețelist: mai puțin cod, mai mult hardware și deja codul care ai nevoie pentru a
administra o rețea de calculatoare. Nu spun că va fi ușor, dare din câte am învățat în NetAcademy
până la acest moment și la lecțiile doamnei Ludmila Peca, este ceva ce îmi place.
În concluzie, consider că programarea nu este pasiunea mea, în același timp respectâmd-o pe ea și
oamenii care o practică.

-4-
2. Tipul de date fișier. Operații de specifice tipului de date fișier

2.1 În cadrul orelor de teorie

Plasează condiția, codul și execuția de la problemele rezolvate la teorie și din prezentare

Ca de exemplu:

Programa 5
Condiție
Lunar Ionel primește de la părinți A lei pentru a achita factura pentru consumul de gaz şi
apă. În luna curentă consumul de gaze a fost de 43.23 m3, iar de apă de 67.78 m3. De la tastatură se
citește suma de bani primită de Ionel, costul unui m 3 de gaz și costul unui m3 de apă. Să se
elaboreze un program prin intermediul căruia se va afișa la ecran suma ce necesită a fi achitată de
către Ionel, cât și suma de bani rămasă.

Implementare în C++
#include<iostream>
#include<iomanip>
using namespace std;
float A,apa,gaz,rest,f;
const float g=43.23;
const float a=67.78;
main(){
cout<<"Indicati suma initiala ";cin>>A;
cout<<"Dati costul pentru un metru cub de gaz";
cin>>gaz;
cout<<"Dati costul pentru un metru cub de apa";
cin>>apa;
f=gaz*g+apa*a;
rest=A-f;
cout<<"Suma pentru achitarea facturii=";
cout<<setprecision(2)<<f<<endl;
cout<<"Lui Ionel iau ramas";
cout<<setprecision(2)<<rest<<" lei";
}

Rezultatul execuției

2.2 Probleleme rezolvate în cadrul lecției de laborator și tema pentru acasă

-5-
11) Fişierul date.in conţine un şir de caractere. De la tastatură se citeşte un şir de
caractere. Elaboraţi un program care va înlocui cifrele din şir cu semnul +. Rezultatul va
fi afişat la ecran cât şi în fişierul date.out

12) Fişierul date.in conţine un şir de caractere. De la tastatură se citeşte un şir de


caractere. Elaboraţi un program care va afişa doar cifrele din şir. Rezultatul va fi afişat
la ecran cât şi în fişierul date.out

-6-
-7-
3. Metode de sortare

3.1. În cadrul orelor de teorie

se includ toate programele de la ora de teorie + prezentarea de pe classroom

3.2. În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

-8-
4. Structuri. Tablouri de structuri.
4.1 Structuri.
4.1.1 În cadrul orelor de teorie

se includ toate programele de la ora de teorie + prezentarea de pe classroom

4.1.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

4.2 Tablouri de structuri.


4.2.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

4.2.2 În cadrul orelor de laborator și tema pentru acasă


Programe elaborate în laborator
Ex1

#include <iostream>
using namespace std;
struct copil{
char nume[15]; int ziua,luna,anul;

} c1 ,c2, c3;
int main()
{
int varsta1,varsta2,varsta3;
cout<<"Date primul copil: "<<endl;
cout<< "Nume: "; cin>>c1.nume;
cout<< "Ziua: "; cin>>c1.ziua;
cout<< "Luna: "; cin>>c1.luna;
cout<< "Anul : "; cin>>c1.anul;

cout<<"Date al doilea copil: "<<endl;


cout<< "Nume: "; cin>>c2.nume;
cout<< "Ziua: "; cin>>c2.ziua;
cout<< "Luna: "; cin>>c2.luna;
cout<< "Anul : "; cin>>c2.anul;

cout<<"Date al treilea copil: "<<endl;


cout<< "Nume: "; cin>>c3.nume;
cout<< "Ziua: "; cin>>c3.ziua;
cout<< "Luna: "; cin>>c3.luna;
cout<< "Anul : "; cin>>c3.anul;

varsta1= c1.ziua+c1.luna*30+ (2024-c1.anul)*360;


-9-
varsta2= c2.ziua+c2.luna*30+ (2024-c2.anul)*360;
varsta3= c3.ziua+c3.luna*30+ (2024-c3.anul)*360;
cout<<c1.nume<<" are "<<varsta1<<" zile"<<endl;
cout<<c2.nume<<" are "<<varsta2<<" zile"<<endl;
cout<<c3.nume<<" are "<<varsta3<<" zile"<<endl;

if(varsta1>varsta2 )
{ if(varsta2 > varsta3)
{ cout<<"Cel mai mare este: "<<c1.nume<<endl;
cout<<"Cel mijlociu este: "<<c2.nume<<endl;
cout<<"Cel mai mic este: "<<c3.nume<<endl;}
else
{ cout<<"Cel mai mare este: "<<c1.nume<<endl;
cout<<"Cel mijlociu este: "<<c3.nume<<endl;
cout<<"Cel mai mic este: "<<c2.nume<<endl;}
}
if(varsta2 > varsta3 )
{ if(varsta3 > varsta1)
{ cout<<"Cel mai mare este: "<<c2.nume<<endl;
cout<<"Cel mijlociu este: "<<c3.nume<<endl;
cout<<"Cel mai mic este: "<<c1.nume<<endl;}
else
{ cout<<"Cel mai mare este: "<<c2.nume<<endl;
cout<<"Cel mijlociu este: "<<c1.nume<<endl;
cout<<"Cel mai mic este: "<<c3.nume<<endl;}
}

if(varsta3>varsta1 )
{ if(varsta1 > varsta2)
{ cout<<"Cel mai mare este: "<<c3.nume<<endl;
cout<<"Cel mijlociu este: "<<c1.nume<<endl;
cout<<"Cel mai mic este: "<<c2.nume<<endl;}
else
{ cout<<"Cel mai mare este: "<<c3.nume<<endl;
cout<<"Cel mijlociu este: "<<c2.nume<<endl;
cout<<"Cel mai mic este: "<<c1.nume<<endl;}
}
return 0;
}
|Ex 2

#include <iostream>
using namespace std;
struct data{
int ziua,luna,anul;

} c1 ,c2, sum,dif;
int main()
{

-10-
cout<<"Datele despre prima variabila: "<<endl;
cout<< "Ziua: "; cin>>c1.ziua;
cout<< "Luna: "; cin>>c1.luna;
cout<< "Anul : "; cin>>c1.anul;

cout<<"Datele despre a doua variabila "<<endl;


cout<< "Ziua: "; cin>>c2.ziua;
cout<< "Luna: "; cin>>c2.luna;
cout<< "Anul : "; cin>>c2.anul;

sum.ziua=c1.ziua+c2.ziua;
sum.luna=c1.luna+c2.luna;
sum.anul=c1.anul+c2.anul;

if(sum.ziua>30){
sum.luna++;
sum.ziua -=30;
}
if(sum.luna>12){
sum.anul++;
sum.luna -=12;
}

if(c1.ziua+c1.luna*30+ c1.anul*360> c2.ziua+c2.luna*30+ c2.anul*360){


dif.ziua=c1.ziua-c2.ziua;
dif.luna=c1.luna-c2.luna;
dif.anul=c1.anul-c2.anul;

}else
{
dif.ziua=c2.ziua-c1.ziua;
dif.luna=c2.luna-c1.luna;
dif.anul=c2.anul-c1.anul;
}

if(dif.ziua<0){
dif.luna--;
dif.ziua+=30;

}
if(dif.luna<0){
dif.anul--;
dif.luna+=12;

cout<<"Data 1: "<<endl;
cout<<c1.ziua<<"/"<<c1.luna<<"/"<<c1.anul<<endl;
cout<<"Data 2: "<<endl;
cout<<c2.ziua<<"/"<<c2.luna<<"/"<<c2.anul<<endl;
-11-
cout<<"Suma: "<<endl;
cout<<sum.ziua<<"/"<<sum.luna<<"/"<<sum.anul<<endl;
cout<<"Diferenta: "<<endl;
cout<<dif.ziua<<"/"<<dif.luna<<"/"<<dif.anul<<endl;

return 0;
}
Ex 3

#include <iostream>
using namespace std;
struct data{
int sec,min,ora;

} c1 ,c2, sum,dif;
int main()
{

cout<<"Datele despre prima variabila: "<<endl;


cout<< "Ore: "; cin>>c1.ora;
cout<< "Minute: "; cin>>c1.min;
cout<< "Secunde: "; cin>>c1.sec;

cout<<"Datele despre a doua variabila "<<endl;


cout<< "Ore: "; cin>>c2.ora;
cout<< "Minute: "; cin>>c2.min;
cout<< "Secunde : "; cin>>c2.sec;

sum.ora=c1.ora+c2.ora;
sum.min=c1.min+c2.min;
sum.sec=c1.sec+c2.sec;

if(sum.sec>60){
sum.min++;
sum.sec -=60;
}
if(sum.min>60){
sum.ora++;
sum.min -=60;
}

if(c1.sec+c1.min*60+ c1.ora*3600> c2.sec+c2.min*60+ c2.ora*3600){


dif.sec=c1.sec-c2.sec;
dif.min=c1.min-c2.min;
dif.ora=c1.ora-c2.ora;

}else
{
dif.sec=c2.sec-c1.sec;
-12-
dif.min=c2.min-c1.min;
dif.ora=c2.ora-c1.ora;
}

if(dif.sec<0){
dif.min--;
dif.sec+=60;

}
if(dif.min<0){
dif.ora--;
dif.min+=60;

cout<<"Ora 1: "<<endl;
cout<<c1.ora<<":"<<c1.min<<":"<<c1.sec<<endl;
cout<<"Ora 2: "<<endl;
cout<<c2.ora<<":"<<c2.min<<":"<<c2.sec<<endl;
cout<<"Suma: "<<endl;
cout<<sum.ora<<":"<<sum.min<<":"<<sum.sec<<endl;
cout<<"Diferenta: "<<endl;
cout<<dif.ora<<":"<<dif.min<<":"<<dif.sec<<endl;

return 0;
}
Ex 4

#include <iostream>
#include <math.h>
using namespace std;
struct punct{
int x,y;

} A,B,C;
int main()
{
float latA,latB,latC;
cout<<"Cordonatele puctului A sunt: "<<endl; cin>>A.x>>A.y;
cout<<"Cordonatele puctului B sunt: "<<endl; cin>>B.x>>B.y;
cout<<"Cordonatele puctului C sunt: "<<endl; cin>>C.x>>C.y;

latA =(float) sqrt(pow(A.x-B.x,2) + pow(A.y-B.y,2));


latB =(float) sqrt(pow(B.x-C.x,2) + pow(B.y-C.y,2));
latC =(float) sqrt(pow(C.x-A.x,2) + pow(C.y-A.y,2));

cout<<"Latura A este: "<<latA<<endl;


cout<<"Latura B este: "<<latB<<endl;
cout<<"Latura C este: "<<latC<<endl;
-13-
return 0;
}

-14-
Problema 1 p40 problemar, TPA nr. 4 pe classroom

Problema 2 p40 problemar, TPA nr. 4 pe classroom

-15-
5. Pointeri. Variabile Pointeri.
5.1 Variabile Pointeri.
5.1.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

5.1.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

5.2 Pointeri și tablouri.


5.2.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

5.2.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

5.3 Alocarea dinamică a memoriei pentru tablouri. Eliberarea memoriei.


5.3.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

5.3.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

-16-
6. Subprograme.
6.1 Subprograme 1
6.1.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.1.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.2 Subprograme 2
6.2.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.2.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.3 Subprograme (parametri de tip tablou)


6.3.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.3.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.4 Subprograme recursive.


6.4.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.4.2 În cadrul orelor de laborator și tema pentru acasă

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.5 Subprograme. Particularități în utilizare.


6.5.1 În cadrul orelor de teorie

se includ toate probleme de la orele de laborator + prezentarea de pe classroom

6.5.2 Realizare proiect propriu

-17-
se includ toate probleme de la orele de laborator + prezentarea de pe classroom

-18-
DECLARAŢIA PRIVIND ASUMAREA RĂSPUNDERII

Subsemnatul, declar pe proprie răspundere că materialele prezentate în


Portofoliu, se referă la propriile activităţi şi realizări, în caz contrar urmând să suport
consecinţele, în conformitate cu legislaţia în vigoare.

Nume, Prenume:

-19-

S-ar putea să vă placă și