Examen Info 20240416

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Problema 1 (25%)

Definir un subprograma a C++ que rep dos temps en formal HHMMSS i torna la quantitat d'hores, minuts i segons
que els diferencia; en cas que siguin iguals tornara 0,0,0.

Notes: l) Els temps es poden introduir en qualsevol ordre. 2) El rang de valors d'hores és

[0,23], el de minuts i isegons és[0,59] 3) Podeu utilitzar funcions de llibreria cmath .

Exemples:

94530 130730 -7 Diferencia: 3 hrs, 22 min, 0 segs,

221209 180045 -7 Diferencia: 4 hrs, 11 min, 24 segs.

Problema 2 (45%)

Una cooperativa agrícola dedicada a les taronges ens ha demanat un programa per classificar els lots de taronges en
algun dels 3 tipus de productes que comercialitzen:

Melmelada de taronges. Tocades de l’ala

Taronges Modesta

Taronges Gala

Tota la informació dels lots de taronges esta disponible al fitxer "taronges.txt". El contingut inclou:

Identificador (enter): el valor de !'identificador sera sempre superior o igual a 100 i esta composat del codi del lot
seguit de dos dígits que indiquen si les taronges han sigut encerades i si tenen alguna imperfecció . L'últim dígit pot
contenir valors de 0 a 5 indicant que no tenen cap imperfecció si te el valor 0 iaugmentant de valor quan augmenten
les imperfeccions. El penúltim dígit tindra valor 1 o 0 indicant si les taronges han sigut encerades o no
respectivament.

.: Diametre en centímetres d'una taronja representativa del lot (real)

- Pes en grams d'una taronja representativa del lot (enter)

- Origen (cadena): població d'origen de les taronges

- Pes total del lot en quilos (real) Es demana fer:

1- Un subprograma que rebi l'identificador i retorni

o el codi del lot,

o la lletra S o N en funció de si han sigut encerades o no

o la lletra G, P o M indicant el grau d'imperfecció:

 si el valor es O retornara una G (Gens)

 si el valor és 1 o 2 retornara una P (Poc)

 si el valor esta entre 3 i 5 retornara una M (Molt)


2- Un subprograma que rebi les dades necessaries d'un lot per fer la classificacio i retorni el tipus de producte al
que es destinara el lot seguint les següents regles:

o Si el lot és molt imperfecte (M) es dedicara a melmelades.

o Si el lot esta encerat es dedicara a Taronges Modesta.

o Sí la taronja represen tativa del lot te un diametre entre 25cm i 30crn es dedicara a Taronges Gala.

o Si la taronja representativa del lot te un pes entre 175gr i 250grs es dedicara a Taronges Gala.

o En qualsevol altre cas el lot es dedicara a Tarongcs Modesta

3- Un programa que Jlcgcixi el li txer "taronges.txt" i cscrigui el codi i pes total, dels lots en el fitxer corresponent
en funció de l'ús al que es dedican\: "melmdada.txt , Modesta.txt" o "Gala.txt". També s'ha de visualitzar per
pantalla:

o Percentatge dels quilos de tarongcs que es dedicaran a melmelades.

o Número de lots que es dedicaran a T uongcs Modesta

o Número de lots que es dedicaran a Taronges Gala

Problema 3 (30%)
Aquest programa Uegeix una seqüenc ia indefinida de paraules que corresponen a tres tipus d'ordres: LEER,
COMPATIBLES i ESCRIBIR. LEER llegeix dues activítats cadascuna d'elles amb nom, hora d'inici i hora de
finalització en hores i minuts. COMPATIBLES determina si les activitats es solapen en el temps notificant-ho.
ESCRIBIR torna a escriure les activitats actuals. Els temps es donen en el format HH:MM (per exernple 16:45).
Lamentablement el codi esta incomplet. Hi ha unes marques #n# que indiquen la falta de codi ique necessiten ser
reemplas;ades per que funcioni correctam ent. Pot ser un símbol (per exemple, #>=#), una línia de codi (per
exemple, #float xx, pi=3.1416;#) o parts d'una instrucció (per exernple: else if #(a=0)#. Mai representen més d'una
instrucció. Escriu la llista d'etiquetes només amb el codi que falta.

#include <iostream> using


namespace std;

#1# compatibles(int a1in, int a1fin,int a2in, int a2fin);


#2# escribir_mins (int mins); int main(){
string command;
string act1_nom,act2_nom; char c;
int a1ih,a1im,a2ih,a2im,a1fh,a1fm,a2fh,a2fm; int
act1_ini, act1_fin, act2_ini, act2_fin;
while (#3#) {
if(command == "LEER") {
cin >> act1_nom >> a1ih >> e >> a1im >> a1fh >> c >> a1fm;
cin >> act2_nom >> a2ih >> c >> a2im >> a2fh >> c >> a2fm;
act1_ini = a1ih*60 + a1im;
act1_fin = a1fh*60 + a1fm;
act2_ini = a2ih*60 + a2im;
act2_fin = #4#
}
Else if (command == "COMPATIBLES") {
if (compatibles(act1_ini,act1_fin,#5#))
cout << "Actividades " << act1_nom << " y " << act2_nom << " son compatibles" << endl;
else
cout << "Actividades " << act1_nom << " y " << act2_nom << " son incompatibles" << endl;
}
Else iif (command == "ESCRIBIR") {
cout << "Actividades actuales:" << endl;
cout << act1 nom << ' ';
escribir_mins(act1_ini); escribir_mins(act1_fin);
cout << act2 nom << ' ';
escribir_min5{act2_ini); escribir_mins(act2_fin);
cout << endl;
}
}
}
#1# compatibles (int a1in,int a1fin,int a2in,int a2fin) {
if (#6# or #7#) return true;
else #8#;
}
#2# escribir_mins(int mins) {
#9#
#10#
cout « h/10 << h%10 << ":" << m/10 << m%10 << ' ';
}

You might also like