Sunteți pe pagina 1din 2

Programarea calculatoarelor ______________________________________________________________________ T3.

v2

Citiți cu atenție înainte de a începe rezolvarea problemei


1. Există un barem de notare. Nota se va stabili în conformitate cu baremul (se găsește după enunțul problemei)
2. Funcțiile scrise și neapelate nu sunt notate.
3. Existența erorilor (de orice fel: warning, fatale sau Segmentation fault sau alte erori echivalente) apărute la compilare, linkeditare sau
rularea programului conduce la notarea problemei cu nota 1 (unu).
4. Nu se vor folosi ciorne.
5. Rezolvările trebuie încărcate pe moodle înainte de expirarea timpului alocat pentru rezolvarea problemei. Rezolvările care nu se regăsesc
pe moodle nu se notează.

La stația meteorologică din Pădurea cu alune se măsoară temperatura de trei ori pe zi: dimineața, la ora 5, la amiază, la ora 13 și seara
la ora 21.
Datele se înregistrează în registrul stației meteorologice, iar apoi sunt prelucrate folosind un program scris în C.
Sunteți în situația de a scrie programul care prelucrează valorile temperaturilor consemnate pentru un anumit număr de zile. Numărul
de zile pentru care se fac prelucrările se citește de la tastatură și este notat în program cu n. Valorile temperaturilor consemnate în registru
sunt introduse în program de la tastatură și stocate într-un vector cu 3n elemente. Numărul maxim de zile pentru care se pot face prelucrările
este 31. La definirea vectorului cu temperaturi, se vor inițializa toate elementele vectorului cu valoarea 0 (pentru inițializare nu se vor folosi
instrucțiuni repetitive sau funcții de inițializare).
Temperaturile au fost înregistrate ca numere reale pentru care se definește tipul de dată sinonim TEMP.
După citirea și afișarea (cu două zecimale) a tuturor temperaturilor introduse în program (conform modelului), programul trebuie să
realizeze următoarele prelucrări:
1) Generarea unui vector cu n elemente care conține mediile aritmetice a temperaturilor din fiecare zi;
2) Generarea unui vector cu 3 elemente care conține mediile aritmetice ale temperaturilor măsurate în cele trei momente din zi pe
tot intervalul considerat;
3) Calculul mediei geometrice a mediilor aritmetice a temperaturilor din cele 5 zile (pentru calculul mediei geometrice se folosește
funcția pow cu prototipul în math.h: double pow(double x, double y);)

Barem de notare
A1a. Scrierea corectă și completă a fișierului header 0,25
A1b. Definirea tipului de dată TEMP 0,25
A2. O funcție de citire de la tastatură a unui vector – funcția primește ca parametri vectorul și numărul de zile 1,5: 0,0
A2.1. Scrierea funcției de citire 0,5
A2.2. Apelul corect al funcției din main 0,5
A2.3. Funcționarea corectă a funcției la apelul din main 0,5
A3. O funcție de afișare pe monitor a unui vector 1,5: 0,0
A3.1. Scrierea funcției de afișare 0,5
A3.2. Apelul corect al funcției din main (+ aceeași funcție apelată de mai multe ori) 0,5
A3.3. Funcționarea în conformitate cu modelul de afișare a funcției la apelul din main 0,5
A4. Folosirea (oriunde este cazul) a tipului TEMP și inițializarea conform specificațiilor a vectorului 0,5
A5. O funcție pentru generarea vectorului care conține mediile aritmetice ale temperaturilor din fiecare zi din intervalul 1,5:
0,0
prelucrat
A5.1. Scrierea funcției 0,5
A5.2. Apelul corect al funcției din main 0,5
A5.3. Funcționarea corectă a funcției la apelul din main 0,5
A6. O funcție pentru generarea unui vector cu 3 elemente care conține mediile temperaturilor din cele 3 momente ale 1,5:
0,0
unei zile
A6.1. Scrierea funcției 0,5
A6.2. Apelul corect al funcției din main 0,5
A6.3. Funcționarea corectă a funcției la apelul din main 0,5
A7. O funcție pentru calcularea mediei geometrice a mediei aritmetice a temperaturilor zilnice 1,5: 0,0
A7.1. Scrierea funcției 0,5
A7.2. Apelul corect al funcției din main 0,5
A7.3. Funcționarea corectă a funcției la apelul din main 0,5
A8. Afișarea rezultatelor (conform modelului) din main 0,5
A0. Din oficiu 1,0
TOTAL 10 p
ATENȚIE: scrierea neindentată a codului se penalizează cu 2 p -2
ATENȚIE: pentru orice funcție scrisă și neapelată va fi o penalizare de 1p/funcție -n
ATENȚIE: dacă există variabile folosite fără a fi inițializate/citite -2
Dacă afișarea unui rezultat se face din funcția în care a fost calculat/citit funcția respectivă nu va fi notată.

Pe pagina următoare găsiți date de test și model de afișare a datelor și rezultatelor.

1 din 2
Programarea calculatoarelor ______________________________________________________________________ T3.v2

Date de intrare (pentru testarea programului):

5 //Numărul de zile
9 // Temperaturile
24
19

10
25
19

11
24
20

9
20
15

8
22
17

Model pentru afișarea datelor și a rezultatelor

Vectorul temperaturilor este: (9.00, 24.00, 19.00, 10.00, 25.00, 19.00, 11.00, 24.00, 20.00, 9.00, 20.00, 15.00, 8.00, 22.00, 17.00)

Media aritmetica a temperaturilor din cele 5 zile: (17.33, 18.00, 18.33, 14.67, 15.66)

Media aritmetică a temperaturilor de la ora 5: 9.40


Media aritmetica a temperaturilor de la ora 13: 23.00
Media aritmetica a temperaturilor de la ora 21: 18.00

Media geometrica a mediilor aritmetice este: 16.71

2 din 2

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