Documente Academic
Documente Profesional
Documente Cultură
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
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
-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
-6-
-7-
3. Metode de sortare
-8-
4. Structuri. Tablouri de structuri.
4.1 Structuri.
4.1.1 În cadrul orelor de teorie
#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;
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;
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;
}
}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()
{
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;
}
}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;
-14-
Problema 1 p40 problemar, TPA nr. 4 pe classroom
-15-
5. Pointeri. Variabile Pointeri.
5.1 Variabile Pointeri.
5.1.1 În cadrul orelor de teorie
-16-
6. Subprograme.
6.1 Subprograme 1
6.1.1 În cadrul orelor de teorie
6.2 Subprograme 2
6.2.1 În cadrul orelor de teorie
-17-
se includ toate probleme de la orele de laborator + prezentarea de pe classroom
-18-
DECLARAŢIA PRIVIND ASUMAREA RĂSPUNDERII
Nume, Prenume:
-19-