Documente Academic
Documente Profesional
Documente Cultură
U
la unitatea de curs
Programarea Procedurală
Elaborat: Verificat:
Elevul/a grupei AAW-231 Burca Eugenia,
Nume Prenume master in informatica,
Ticu Victor profesor de informatica.
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
1. Programarea-pasiunea mea.
Cînd eram mic eram pasionat de tehnică,
tehnologii, diferite mașinării si cod.
Acum cînd am crescut am aflat ce este
programarea și cu adevărat am rămas uimit de ceea
ce poti face cu ajutorul unui laptop si cunostinte in
programare.
În concluzie pot spune că programarea si
cunostintele in tehnologiile moderne ne va ajuta sa
progresăm semnificativ și foarte rapid, creînd
viitorul generatiei.
2. Tipul de date fișier. Operații de specifice tipului de date
fișier
Problema 1.
Conditie:
Fişierul date.in conţine 3 valori separate printr-un
singur spaţiu, care
reprezintă vârsta, înălţimea şi genul unei persoane.
Să se scrie un program care
determină greutatea ideală a unei persoane
cunoscând înălţimea, vârsta şi genul
persoanei (f sau m). Formulele de calcul sunt:
Gmasculin = 50 + 0.75 * (inaltime - 150) + (varsta -
20) / 4,
Gfeminin = Gmasculin – 10,
unde înălţimea este exprimată în cm şi vârsta în ani..
La ecran se va afişa greutatea
ideală. Toate datele despre persoană (vârsta,
înălţimea, genul, greutatea ideală) se vor
scrie în fişierul date.out.
Implimentare in C++
Rezultatul executiei
#include <iostream>
int main() {
int varsta, inaltime;
char gen;
double greutateIdeal;
return 0;
}
Rezultatul execuției
Problema 2.
Conditie:
Fişierul date.in conţine 3 numere
întregi separate printr-un singur
spaţiu. Să
se elaboreze un program care va afişa
aceste numere unul sub altul, afișând
în dreptul
fiecăruia unul dintre cuvintele PAR
sau IMPAR. Rezultatul va fi afişat la
ecran cât şi în
fişierul date.out
Implimentare in C++
Rezultatul executiei
#include <iostream>
int main() {
int numar1, numar2, numar3;
return 0;
}
Rezultatul execuției
Problema 3.
Cerinte:
Fişierul date.in conţine 3 numere întregi distincte
separate printr-un singur
spaţiu. Să se elaboreze un program care va specifica
care dintre numere are valoare
maximală, minimală şi care nu este nici minim nici
maxim. Rezultatul va fi afişat la
ecran cât şi în fişierul date.out.
Implimentare in C++
Rezultatul executiei
#include <iostream>
#include <fstream>
int main() {
int numar1, numar2, numar3;
return 0;
}
Rezultatul execuției
Problema 4.
Cerinte:
Fişierul date.in conţine 12 numere întregi separate
printr-un singur spaţiu
care reprezintă temperaturile medii ale lunilor unui
an, ca numere întregi. Să se afişeze
cu două zecimale media anuală a temperaturilor
pozitive şi a celor negative. Rezultatul
va fi afişat la ecran cât şi în fişierul date.out.
Implimentare in C++
Rezultatul executiei
#include <iostream>
#include <fstream>
#include <iomanip>
int main() {
// Deschide fișierul de intrare
std::ifstream infile("date.in");
if (temperatura > 0) {
temperaturiPozitive += temperatura;
} else {
temperaturiNegative += temperatura;
}
}
// Calculul mediilor
double mediaPozitive = static_cast<double>(temperaturiPozitive) / numarLuni;
double mediaNegative = static_cast<double>(temperaturiNegative) / numarLuni;
// Închide fișierele
infile.close();
outfile.close();
return 0;
}
Rezultatul execuției
Problema 5.
Cerinte:
Fişierul date.in conţine n numere întregi separate printr-un
singur spaţiu.
Primul număr reprezintă numărul de numere din fişier. Datele
din fişier reprezintă
mediile a n elevi, ca numere reale. Să se afişeze cea mai mare şi
cea mai mică medie. Să
se verifice dacă sunt corigenţi. Rezultatul va fi afişat la ecran cât
şi în fişierul date.out
Exemplu : Date de intrare 4 9.50 4.25 9.66 6.33 Date de ieşire
max=9.66 min=4.25
1 corigent.
Implimentare in C++
Rezultatul executiei
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
int main() {
std::ifstream infile("date.in");
if (!infile.is_open()) {
return 1;
int numarElevi;
if (numarElevi <= 0) {
return 1;
double medie;
int corigenti = 0;
for (int i = 0; i < numarElevi; ++i) {
maxMedie = medie;
minMedie = medie;
// Verificare corigenți
corigenti++;
std::ofstream outfile("date.out");
if (!outfile.is_open()) {
return 1;
// Închide fișierele
infile.close();
outfile.close();
return 0;
Rezultatul execuției
Problema 6.
Cerinte:
Fişierul date.in conţine n numere întregi separate
printr-un singur spaţiu.
Primul număr reprezintă numărul de numere din
fişier. Să se afişeze numărul minimal,
maximal, numărul de elemente pare, impare şi
media numerelor cu două zecimale.
Rezultatul va fi afişat la ecran cât şi în fişierul
date.out
Implimentare in C++
Rezultatul executiei
#include <iostream>
#include <fstream>
#include <iomanip>
int main() {
std::ifstream infile("date.in");
std::ofstream outfile("date.out");
if (!infile.is_open() || !outfile.is_open()) {
std::cerr << "Eroare la deschiderea fisierelor." << std::endl;
return 1;
}
if (numar % 2 == 0) {
numarPare++;
} else {
numarImpare++;
}
infile.close();
outfile.close();
return 0;
}
Problema 7.
Cerinte:
Fişierul date.in conţine elementele unei matrice. În
prima linie sunt scrise
numărul de lini şi de coloane separate printr-un
spaţiu. Pe următoarele linii sunt scrise
elementele matricei. Elaboraţi un program care va
afişa la ecran şi va scrie în fişierul
date.out elementele matricei şi poziţiile pe care se
află valoarea maximală.
Implimentare in C++
#include <iostream>
#include <fstream>
int main() {
std::ifstream infile("date.in");
std::ofstream outfile("date.out");
if (!infile.is_open() || !outfile.is_open()) {
std::cerr << "Eroare la deschiderea fisierelor." << std::endl;
return 1;
}
// Declararea matricei
int matrice[numarLinii][numarColoane];
// Închiderea fișierelor
infile.close();
outfile.close();
return 0;
}
Rezultatul executiei
Problema 8.
Fişierul date.in conţine elementele unei matrice. În prima linie
sunt scrise
numărul de lini şi de coloane separate printr-un
spaţiu. Pe următoarele linii sunt scrise
elementele matricei. Elaboraţi un program care va
afişa la ecran si va scrie în fişierul
date.out elementele matricei şi suma de pe fiecare
linie.
Implimentare in C++
#include <iostream>
#include <fstream>
int main() {
std::ifstream infile("date.in");
std::ofstream outfile("date.out");
if (!infile.is_open() || !outfile.is_open()) {
std::cerr << "Eroare la deschiderea fisierelor." << std::endl;
return 1;
}
// Închiderea fișierelor
infile.close();
outfile.close();
return 0;
}
Rezultatul executiei
Problema 9.
Cerinte:
Fişierul date.in conţine elementele unei matrice. În prima linie
sunt scrise
numărul de lini şi de coloane separate printr-un spaţiu. Pe
următoarele linii sunt scrise
elementele matricei. Elaboraţi un program care va afişa la ecran
si va scrie în fişierul
date.out elementele matricei şi minimul de pe fiecare coloană.
Implimentare in C++
#include <iostream>
#include <fstream>
#include <limits>
int main() {
std::ifstream infile("date.in");
std::ofstream outfile("date.out");
if (!infile.is_open() || !outfile.is_open()) {
return 1;
int matrice[numarLinii][numarColoane];
// Citirea elementelor matricei
std::cout << "Minim coloana " << j + 1 << ": " << minimColoana << std::endl;
outfile << "Minim coloana " << j + 1 << ": " << minimColoana << std::endl;
// Închiderea fișierelor
infile.close();
outfile.close();
return 0;
Rezultatul executiei
Problema 10.
Cerinte:
Fişierul date.in conţine un şir de caractere. Elaboraţi
un program care va
determina numărul de majuscule din şir. Rezultatul
va fi afişat la ecran cât şi în fişierul
date.out
Implimentare in C++
#include <iostream>
#include <fstream>
#include <cctype> // pentru std::isupper
int main() {
std::ifstream infile("date.in");
std::ofstream outfile("date.out");
if (!infile.is_open() || !outfile.is_open()) {
std::cerr << "Eroare la deschiderea fisierelor." << std::endl;
return 1;
}
std::string sirCaractere;
// Închiderea fișierelor
infile.close();
outfile.close();
return 0;
}
Rezultatul executiei
DECLARAŢIA PRIVIND ASUMAREA RĂSPUNDERII