Sunteți pe pagina 1din 6

Ministerul Educației și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

FCIM
Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator nr. 1
la Programarea Calculatoarelor

A efectuat:
st. gr. TI-237 Țapu
Valentin

A verificat:
Asist. Uni. Țoncu Vitalie

Chişinău -2023
Lucrarea de laborator nr. 1

Tema: Utilizarea instrucţiunilor de control şi ciclice în limbajul C++

Scopul lucrării: Studierea tehnicilor şi metodelor de utilizare a instrucţiunilor de control a condiţiei


şi a instrucțiunilor ciclice în limbajul C++ pentru tabularea funcţiei.

Sarcina (conform variantelor): Să se calculeze şi să se afişeze la ecran valorile argumentului x şi


valorile funcţiei F, definită prin 3 expresii date, pentru intervalul x1 ≤ x ≤ x2 şi pasul px de
incrementare a argumentului x. Valorile x1, x2, px și parametrii a, b, c sunt date de intrare de tip real.

Varianta 23:
Formulele de calcul:
F = (x * b - c );
F = (a * x + c*c+b);
F = (b+ sin(a) + 3 )

x1 = 4
x2 = 8
px= 0.4
a=5
b=6
c=7
Mersul lucrării:

Noţiuni din teorie şi metodele folosite:


În Programarea calculatoarelor algoritmul este un set finit de operatiuni (actiuni) pentru a
rezolva problema dată la calculator. Există mai multe forme de reprezentare a algoritmilor [2]:
- forma naturală;
- forma grafică;
- pseudocodul;
- programul (scris intr-un limbaj de programare).

Algoritm cu structură liniară este caracterizat prin absenţa operaţiunilor de decizie [2].

Structura generală a unui program in limbajul C++ [2 - 4]:


- directivele preprocesorului (după necisitate);
- declarațiile variabelelor globale și a funcțiilor programului (după necesitate);
- cudul functiei principale main( );
- codurile altor funcții programului (după necesitate).

Structura funcției în limbajul C++ [2 - 4] :


1. Antetul funcției, sau prima linie a codului funcției, care constă din 3 elemente: a) tipul
funcției; b) denumirea funcției; c) lista tipurilor și denumirilor a parametrilor funcției (scrisă
între parantezele rotunde).
2. Corpul funcției (scris între acolade).
Descrierea variabilelor:
a) date de intrare (input data) x1, x2, px,a,b,c -variabile simple de tip real (float);
b) date de ieşire (output data)
x, F -variabile simple de tip real (float), rezultatele de calcul;
n - variabila simplă de tip întreg (int), numărul de ordine al rezultatelor de calcul;
c) date de lucru (working data), fiind în același timp și date de ieşire
x, F -variabile simple de tip real (float), rezultatele de calcul;
n - variabila simplă de tip intreg (int), numărul de ordine al rezultatelor de calcul
1
Schema logică a algoritmului:

Start

“Inroduceti datele initiale x1,x2,px,a,b,c: “

x1,x2,px,a,b,c

X=x1
N=0

x+b<0
a != 0

da

n=n+1

nu nu
x+b<0 x+b>0 F = (b+ sin(a) + 3 )
a != 0 a != 0

da da

F = (x * b - c ) F = (a * x + c*c + b)

Stop
2
Codul (textul) programului în limbajul C++:

#include <iostream>
#include <cmath>
#include <iomanip>
using std::setprecision;
int main() {
float x1, x2, px, a, b, c;
float x, F;
int n;

std::cout << "Input x1: ";


std::cin >> x1;
std::cout << "Input x2: ";
std::cin >> x2;
std::cout << "Input px: ";
std::cin >> px;
std::cout << "Input a: ";
std::cin >> a;
std::cout << "Input b: ";
std::cin >> b;
std::cout << "Input c: ";
std::cin >> c;

x = x1;
n = 0;
std::cout << "\n\tResults: \n";

while (x < x2) {


n = n + 1;
if ((x + b < 0) && (a != 0)) {
F = (x * b - c );
} else if ((x + b > 0) && (a != 0)) {
F = (a * x + c*c+b);
} else {
F = (b+ sin(a) + 3 ) ;
}
std::cout << n << ": x " << std::fixed <<setprecision(3) <<
x << "\t F " << F << std::endl;

x = x + px;
}

return 0;
}

3
Rezultatele testării și funcţionării programului (screenshot-uri):

Verificarea rezultatelor:
Pentru verificarea rezultatelor este utilizată aplicația online WolframAlpha [5]:

Analiza rezultatelor și concluzii:


1. S-au dezvoltat abilități în elaborarea, compilarea, rularea și testarea unui program simplu în
limbajul de programare C++.
2. Validarea rezultatelor obținute confirmă corectitudinea funcționării programului creat.
3. Calculul expresiilor matematice poate fi realizat cu succes folosind algoritmi liniari.
4. Simplitatea implementării algoritmului liniar reprezintă unul dintre principalele avantaje ale
programului elaborat.
5. Un dezavantaj notabil al algoritmului este faptul că acesta nu efectuează verificări asupra datelor
de intrare.
6. În perspectivă, programul elaborat poate fi extins prin includerea funcțiilor de verificare a datelor
de intrare.
7. Competențe semnificative în gestionarea erorilor și în depanarea programului au fost dobândite pe
parcursul elaborării acestuia în limbajul C++.
8. Rezultatele testelor au demonstrat eficiența și precizia algoritmului liniar utilizat în programul
dezvoltat.
9. S-a constatat că algoritmii liniari pot contribui la creșterea performanței și la simplificarea codului

4
Bibliografie:

1. Carcea L., Vlas S., Bobicev V. Informatica: Sarcini pentru lucrări de laborator. Chișinău: UTM,
2005. - 19 p.
2. Conspectul prelegerilor on-line al cursului Programarea Calculatoarelor (lector: dr., conf. univ.
M. Kulev). Chișinău, UTM, FCIM, 2020.
3. Tutorial in C language. http://devcentral.iftech.com/learning/tutorials/c-cpp/c/
4. http://andrei.clubcisco.ro/cursuri/anul-1/semestrul-1/programarea-calculatoarelor.html
5. https://www.wolframalpha.com/
6. Chat GPT
7. https://cplusplus.com
8. https://www.onlinegdb.com/

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