Professional Documents
Culture Documents
Lab07 1617
Lab07 1617
Lab07 1617
2 18 -1 14 0 12 7 19 5 23 ......
Variant 2: Per contra ens podem trobar amb problemes on s'hagi de tractar un conjunt
d'elements consecutius per avanant noms en un en cada iteraci. Un exemple d'enunciat
seria el de comptar quants valors enters d'una seqncia sn mltiples del seu predecessor.
En tot moment estem treballant amb dos valors, per el moviment d'avanar sobre la
seqncia implica llegir noms un nou valor (si no ho fssim aix, perdrem parelles de
valors que poden complir la propietat a controlar). Grficament les parelles a tractar en
l'exemple anterior serien:
2 18 3
9 27 1
15 ......
2 18 3
9 27 1
15 ......
2 18 3
9 27 1
15 ......
FONAMENTS DE PROGRAMACI
Per fer el lliurament al Moodle, introduu tots els fitxers en una carpeta, anomenada lab7, a
continuaci la comprimiu en un zip i lliureu la carpeta comprimida a la tasca corresponent en
el Moodle. Disposeu fins al dilluns.
Decidir primer quin dels dos tractaments explicats anteriorment cal aplicar.
Exercici 1
Per a posar les notes a una srie d'alumnes ens hem proposat dissenyar un petit
programa que permeti calcular la nota final de cada alumne.
Tenim les notes de diverses proves de cada alumne, en concret 3 proves, i hem
anat apuntant en una llista la nota de la primera prova, la nota de la segona prova i
la nota de la tercera nota de cada alumne. Aquesta llista s'introduir pel teclat i
acabar amb el valor -20. Si per exemple, agafem la nota de tres persones, la
seqncia d'entrada seria de la forma:
5,9 7,7 10 9,5 7,4 5,8 7,5 7,3 6,5 -20
Volem dissenyar un programa que permeti llegir una seqncia d'aquest estil i que
ens calculi i mostri per pantalla:
a) Quin s el nombre d'alumnes que han aprovat l'assignatura.
b) Quin s el % de persones que han susps.
La nota final es calcula tenint en compte que la primera prova t un pes d'un 20%,
la segona d'un 30% i la tercera d'un 50%. L'aprovat es considera quan la nota final
s major o igual que 5.
S'ha de tractar el cas en qu la seqncia d'entrada est buida, per si no est
buida, els elements llegits seran vlids i correctes i sempre hi haur grups de tres
elements.
Joc de proves:
FONAMENTS DE PROGRAMACI
Recordeu que el joc de proves tracta de reproduir totes les situacions que ens porten a
qu, en conjunt, s'hagin executat totes les instruccions del nostre programa.
Tamb hem de validar els resultats en les situacions lmit.
Casos
Situacions
Seqncia
Sortida esperada
Prova de fum
(un de cada)
5,9
No hi ha cap data
-20
Un nic grup de
dades complet
5,9
7,7
Tots aprovats
5,9
Tots suspensos
4,0
Aprovats: 1
% sus : 66,66%
Aprovats: 0
% sus : 0%
6,8 -20
Aprovats: 1
% sus : 0,00%
5,4 9,8 -20
Aprovats: 3
% sus : 0,00%
Aprovats: 0
% sus : 100,00%
FONAMENTS DE PROGRAMACI
Exercici 2
A partir d'un llistat amb dades enteres positius, que s'introdueixen pel teclat i que
acaba amb el valor -1, ens demanen que comprovem si al llistat les dades estan o
no ordenades.
La seqncia de dades pot estar buida. Si la seqncia no est buida, les dades
sn sempre vlides i correctes (nmeros enters i positius).
Joc de proves:
Hem de considerar els casos correctes i els possibles errors a l'hora d'introduir la
seqncia.
Casos
Situacions
Seqncia
Sortida esperada
Prova de fum
5 7 10 -1
Seqncia ordenada
No hi ha cap data
-1
Seqncia buida
Una dada
5 -1
Seqncia ordenada
Seqncia ordenada
5 9 10 -1
Seqncia ordenada
5 9 9 10 -1
Seqncia desordenada
4 5 3 6 -1
4 5 5 3 6 -1
4 3 5 6 -1
4 5 6 3 -1
10