SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Espai
grapa

Examen 2013/14-1

Assignatura

Codi



06.505 15 01 14 EX

Hora inici

06.505

Programació

Data
15/01/2014

18:30

Enganxeu en aquest espai una etiqueta identificativa
amb el vostre codi personal
Examen

Fitxa tècnica de l'examen
•

Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs
matriculat.

•

Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full.

•

No es poden adjuntar fulls addicionals.

•

No es pot realitzar la prova en llapis ni en retolador gruixut.

•

Temps total: 2 h.

•

En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins
materials poden consultar?
Cap

•

Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%]

•

En cas que hi hagi preguntes tipus test: Descompten les respostes errònies?

•

Indicacions específiques per a la realització d’aquest examen:

Enunciats

Pàgina 1 de 6

NO

Quant?
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

15/01/2014

18:30

Pregunta 1 [30%]
Un despatx d’advocats, de cara a la facturació de minutes, anota en la fitxa electrònica de cada
client la dedicació al seu expedient que hi dedica cada membre del despatx. La fitxa electrònica
genera una seqüència del tipus
{M1 t1 M2 t2 .... Mn tn -1} on
•

Mi és el codi de la persona que ha dedicat temps a l’expedient del client. Els codis es
distribueixen de la següent forma:
o Entre 1 al 10 corresponen als socis
o Entre 11 al 100 corresponen als advocats
o A partir del 101 corresponen a passants

•

ti és el temps, expressat en minuts, dedicat a l’expedient

•

-1 és el número -1 que indica la fi de la seqüència electrònica

El temps de cada membre del despatx té diferent valoració:
• Soci: 550 € / hora
• Advocat: 150 € / hora
• Passant: 50 €/hora

Es demana construir el mòdul computeBill (acció o funció) que llegeixi la seqüència electrònica
de l’entrada estàndard i retorni el total de la factura.
S’ha de justificar la tria del tipus de mòdul.
Es tracta d’una funció perquè retorna un únic valor.
funció computeBill(): real
const
minutePartner: real = 550.0/60.0;
minuteAttorney: real = 150.0/60.0;
minuteIntern: real = 50.0/60.0;
fconst
var
member, minutes: enter;
total, minuteValue: real;
fvar
total := 0.0;
member := readInteger();
Pàgina 2 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

15/01/2014

18:30

mentre (member > 0) fer
minutes := readInteger();
si (member>100) llavors
minuteValue := minuteIntern;
sino si (member >10) llavors
minuteValue := minuteAttorney;
sino
minuteValue := minutePartner;
fsi
fsi
total := total + integerToReal(minutes)*minuteValue;
member := readInteger();
fmentre
retornar total
faccio

Pàgina 3 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

15/01/2014

18:30

Pregunta 2 [30%]
Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula
de taules del tipus tauler que s’ha definit:
tipus
row : taula [8] de enter
chessboard: taula [8] de row;
ftipus
var
tauler: chessboard;
fvar
A cada posició de tauler es posa un número amb els següents significats:
• 0 → casella buida
• 1 → peó
• 2 → torre
• 3 → cavall
• 4 → alfil
• 5 → reina
• 6 → rey
Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però
negatius.
Es demana construir el mòdul fullChessboard que rebi una variable del tipus chessboard y ens
digui si sobre el Tauler hi ha el màxim de fitxes de cada bàndol.
S’ha de justificar la tria del tipus de mòdul:
Es tractarà d’una funció perquè retornarà un valor cert o fals
funció fullChessboard (t: chessboard): booleà
var
i, j, ocupat: enter;
fvar
ocupat := 0;
per i := 1 fins 8 fer
per j := 1 fins 8 fer
si t[i][j] ≠ 0 llavors
ocupat := ocupat + 1;
fsi
fper
fper
retornar (ocupat = 32);
ffuncio

Pàgina 4 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

15/01/2014

18:30

Pregunta 3 [40%]
Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual
tenen previst fer una enquesta a 10000 persones que assisteixen a casinos.
S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta
° Sexe de l’enquestat (‘M’ o ‘F’)
° Edat de l’enquestat
° Freqüència de joc (quants cops al mes van al casino)
° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Póquer, ‘B’ → Black Jack, ‘H’ →
Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto)
° La quantitat de diners aproximada que destinen al joc cada mes
•

Dissenyeu la dada estructurada candidate
tipus
candidate = tupla
sex : caracter;
age, freq : enter;
money : real;
favorite : taula [3] de caracter;
ftupla
ftipus

Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet
mantenir les dades de fins les 10000 enquestes.
surveySet = tupla
qtty : integer;
survey: taula [10000] de candidate;
ftupla
La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp
qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey.
També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les
dades de les enquestes ja realitzades.
•

Escriviu l'expressió que comprova si Jackpot és el joc més preferit del darrer jugador
incorporat a researchData
researchData.survey[researchData.qtty].favorite[1]='J'

Pàgina 5 de 6
Assignatura
Programació

•

Examen 2013/14-1

Codi

Data

Hora inici

06.505

15/01/2014

18:30

Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni la despesa
mensual mitjana dels jugadors incorporats a la dada estructurada. S'ha de justificar la tria de
tipus de mòdul realitzada

Funció perquè retorna un únic valor.
funció moneyAverage(data: surveySet): real
var
qtty, i: enter;
total: real;
fvar
total := 0;
qtty := data.qtty;
per i:=1 fins qtty fer
total := total + data.survey[i].money;
fper
retorna total/enterAReal(qtty);
ffuncio

Pàgina 6 de 6
Espai
grapa

Examen 2013/14-1

Assignatura

Codi



06.505 18 01 14 EX

Hora inici

06.505

Programació

Data
18/01/2014

12:00

Enganxeu en aquest espai una etiqueta identificativa
amb el vostre codi personal
Examen

Fitxa tècnica de l'examen
•

Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs
matriculat.

•

Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full.

•

No es poden adjuntar fulls addicionals.

•

No es pot realitzar la prova en llapis ni en retolador gruixut.

•

Temps total: 2 h.

•

En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins
materials poden consultar?

•

Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%]

•

En cas que hi hagi preguntes tipus test: Descompten les respostes errònies?

•

Indicacions específiques per a la realització d’aquest examen:

Enunciats

Pàgina 1 de 6

NO

Quant?
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

18/01/2014

12:00

Pregunta 1 [30%]
T-Shirt & Company fabrica distribueix samarretes per Internet. El programa de venda genera
diàriament una seqüència amb les dades de les vendes del tipus
{M1 T1 Q1 M2 T2 Q3.... Mn Tn Qn -1} on
•

Mi és el codi del model, un número enter:

•

Ti és la talla ( que pot prendre valors L, M, S)

•

Qi és la quantitat de samarretes comprades d’aquet model i talla

•

-1 és el número -1 que indica la fi de la seqüència electrònica

Els preus que tenen les samarretes depenen del model:
o Codi entre 1 i 99 a 25 € la unitat
o Codi entre 100 i 500 a 18 € la unitat
o Codi major a 500 a 15 € la unitat
Es demana construir el mòdul dailyAmount (acció o funció) que llegeixi la seqüència electrònica
de l’entrada estàndard i retorni el valor total de les vendes diàries.
S’ha de justificar la tria del tipus de mòdul.
Es tracta d’una funció perquè retorna un únic valor.
funció dailyAmount (): enter
const
CHEAP: enter = 15;
MEAN: enter = 18;
EXPENSIVE: enter = 25;
fconst
var
code, qtty, actualPrice, total: enter;
size: character;
fvar
total := 0;
code := readInteger();
mentre (code > 0) fer
size := readCharacter();
qtty := readInteger();
si (codi>=500) llavors
Pàgina 2 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Pàgina 3 de 6

Hora inici

06.505

actualPrice := CHEAP;
sino si (codi>=100) llavors
actualPrice := MEAN;
sino
actualPrice := EXPENSIVE;
fsi
fsi
total := total + qtty * actualPrice;
code := readInteger();
fmentre
retornar total
faccio

Data
18/01/2014

12:00
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

18/01/2014

12:00

Pregunta 2 [30%]
Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula
de taules del tipus tauler que s’ha definit:
tipus
row : taula [8] de enter
chessboard: taula [8] de row;
ftipus
var
tauler: chessboard;
fvar
A cada posició de tauler es posa un número amb els següents significats:
• 0 → casella buida
• 1 → peó
• 2 → torre
• 3 → cavall
• 4 → alfil
• 5 → reina
• 6 → rey
Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però
negatius.
Es demana construir el mòdul putChessPawn que rebi una variable del tipus chessboard, la
retorni amb tots els peons, i només els peons, posats al lloc inicial del joc i la resta de les
posicions sense peces.
S’ha de justificar la tria del tipus de mòdul.
Es tractarà d’una acció perquè modifica la mateixa taula que rep
acció putChessPawn (entsor t: chessboard)
var
i, j enter;
fvar
per i := 1 fins 8 fer
per j := 1 fins 8 fer
si i≠2 i i≠7 llavors //aquests primer per estalviar comparacions
t[i][j] := 0;
sino si i = 7 llavors
t[i][j] := 1;
sino
t[i][j] := -1;
fsi
fsi
fper
fper
faccio
Pàgina 4 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

18/01/2014

12:00

Pregunta 3 [40%]
Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual
tenen previst fer una enquesta a 10000 persones que assisteixen a casinos.
S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta
° Sexe de l’enquestat (‘M’ o ‘F’)
° Edat de l’enquestat
° Freqüència de joc (quants cops al mes van al casino)
° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Póquer, ‘B’ → Black Jack, ‘H’ →
Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto)
° La quantitat de diners aproximada que destinen al joc cada mes
•

Dissenyeu la dada estructurada candidate
tipus
candidate = tupla
sex : caracter;
age, freq : enter;
money : real;
favorite : taula [3] de caracter;
ftupla
ftipus

Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet
mantenir les dades de fins les 10000 enquestes.
surveySet = tupla
qtty : integer;
survey: taula [10000] de candidate;
ftupla
La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp
qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey.
També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les
dades de les enquestes ja realitzades.
•

Escriviu l'expressió que comprova si el primer jugador incorporat a researchData té el
pòquer entre els seus jocs favorits
researchData.survey[1].favorite[1]='P' o
researchData.survey[1].favorite[3]='P'

researchData.survey[1].favorite[2]='P' o

Pàgina 5 de 6
Assignatura
Programació

•

Examen 2013/14-1

Codi

Data

Hora inici

06.505

18/01/2014

12:00

Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni la quantitat
de dones que juguen 3 més cops al mes
funció gamerWomen(data: surveySet): enter
var
total, qtty, i: enter;
fvar
total := 0;
qtty := data.qtty;
per i:=1 fins qtty fer
si (data.survey[i].sex='F') i (data.survey[i].freq>2) llavors
total := total + 1;
fper
retorna total;
ffuncio

Pàgina 6 de 6
Espai
grapa

Examen 2013/14-1

Assignatura

Codi



06.505 25 01 14 EX

Hora inici

06.505

Programació

Data
25/01/2014

15:30

Enganxeu en aquest espai una etiqueta identificativa
amb el vostre codi personal
Examen

Fitxa tècnica de l'examen
•

Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs
matriculat.

•

Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full.

•

No es poden adjuntar fulls addicionals.

•

No es pot realitzar la prova en llapis ni en retolador gruixut.

•

Temps total: 2 h.

•

En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins
materials poden consultar?
Cap

•

Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%]

•

En cas que hi hagi preguntes tipus test: Descompten les respostes errònies?

•

Indicacions específiques per a la realització d’aquest examen:

Enunciats

Pàgina 1 de 6

NO

Quant?
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

25/01/2014

15:30

Pregunta 1 [30%]
T-Shirt & Company fabrica distribueix samarretes per Internet. El programa de venda genera
diàriament una seqüència amb les dades de les vendes del tipus
{M1 T1 Q1 M2 T2 Q3.... Mn Tn Qn -1} on
•

Mi és el codi del model, un número enter:

•

Ti és la talla ( que pot prendre valors L, M, S)

•

Qi és la quantitat de samarretes comprades d’aquet model i talla

•

-1 és el número -1 que indica la fi de la seqüència electrònica

Els preus que tenen les samarretes depenen de la talla:
o L a 25 €
o M a 22 €
o S a 20 €
Es demana construir el mòdul dailyAmount (acció o funció) que llegeixi la seqüència electrònica
de l’entrada estàndard i retorni el valor total de les vendes diàries.
S’ha de justificar la tria del tipus de mòdul.
Es tracta d’una funció perquè retorna un únic valor.
funció dailyAmount (): enter
const
LITTLE: enter = 20;
MEDIUM: enter = 22;
LARGE: enter = 25;
fconst
var
code, qtty, actualPrice, total: enter;
size: character;
fvar
total := 0;
code := readInteger();
mentre (code > 0) fer
size := readCharacter();
qtty := readInteger();
si (size = ‘L’) llavors
Pàgina 2 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Pàgina 3 de 6

Hora inici

06.505

actualPrice := LARGE;
sino si (size = ‘M’) llavors
actualPrice := MEDIUM;
sino
actualPrice := SMALL;
fsi
fsi
total := total + qtty * actualPrice;
code := readInteger();
fmentre
retornar total
faccio

Data
25/01/2014

15:30
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

25/01/2014

15:30

Pregunta 2 [30%]
Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula
de taules del tipus tauler que s’ha definit:
tipus
row : taula [8] de enter
chessboard: taula [8] de row;
ftipus
var
tauler: chessboard;
fvar
A cada posició de tauler es posa un número amb els següents significats:
• 0 → casella buida
• 1 → peó
• 2 → torre
• 3 → cavall
• 4 → alfil
• 5 → reina
• 6 → rey
Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però
negatius.
Es demana construir el mòdul bishop que rebi una variable del tipus chessboard y retorni quants
alfils blancs i negres i ha.
Es tractarà d’una acció perquè retornarà dos valors.
acció bishop (ent t: chessboard, sor white:enter, sor black: enter)
var
i, j: enter;
fvar
white := 0;
black := 0;
per i := 1 fins 8 fer
per j := 1 fins 8 fer
si t[i][j] = 4 llavors
white := white + 1;
sino si t[i][j] = -4 llavors
black := black + 1;
fsi
fsi
fper
fper
ffuncio
Pàgina 4 de 6
Assignatura
Programació

Examen 2013/14-1

Codi

Data

Hora inici

06.505

25/01/2014

15:30

Pregunta 3 [40%]
Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual
tenen previst fer una enquesta a 10000 persones que assisteixen a casinos.
S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta
° Sexe de l’enquestat (‘M’ o ‘F’)
° Edat de l’enquestat
° Freqüència de joc (quants cops al mes van al casino)
° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Pòquer, ‘B’ → Black Jack, ‘H’ →
Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto)
° La quantitat de diners aproximada que destinen al joc cada mes
•

Dissenyeu la dada estructurada candidate
tipus
candidate = tupla
sex : caracter;
age, freq : enter;
money : real;
favorite : taula [3] de caracter;
ftupla
ftipus

Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet
mantenir les dades de fins les 10000 enquestes.
surveySet = tupla
qtty : integer;
survey: taula [10000] de candidate;
ftupla
La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp
qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey.
També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les
dades de les enquestes ja realitzades.
•

Escriviu l'expressió que calcula quants diners de mitjana gasta el primer jugador cada cop
que va al joc
researchData.survey[1].money/integerToReal(researchData.survey[1].freq)

Pàgina 5 de 6
Assignatura
Programació

•

Examen 2013/14-1

Codi

Data

Hora inici

06.505

25/01/2014

15:30

Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni l'edat
mitjana dels jugadors i l'edat mitjana de les jugadores
acció ageAverage(data: surveySet, sor man: real, sor woman: real): enter
var
nMan, nWoman, qtty, i: enter;
ageMan, ageWoman: real;
fvar
nMan := 0;
nWoman := 0;
ageMan := 0.0;
ageWoman := 0.0;
qtty := data.qtty;
per i:=1 fins qtty fer
si (data.survey[i].sex='F') llavors
nWoman := nWoman + 1;
ageWoman:=ageWoman+integerToReal(data.survey[i].age);
sino
nMan := nMan + 1;
ageMan:=ageMan + integerToReal(data.survey[i].age);
fsi
fper
man := ageMan / integerToReal(nMan);
woman := ageWoman / integerToReal(nWoman);
ffuncio

Pàgina 6 de 6

Weitere ähnliche Inhalte

Andere mochten auch

Vídeo - Pac1 - Lídia Bria
Vídeo - Pac1 - Lídia BriaVídeo - Pac1 - Lídia Bria
Vídeo - Pac1 - Lídia Bria
Lidia Bria
 

Andere mochten auch (20)

Competència comunicativa per a professionals de les TIC - Pac3 - Lidia Bria
Competència comunicativa per a professionals de les TIC - Pac3 - Lidia BriaCompetència comunicativa per a professionals de les TIC - Pac3 - Lidia Bria
Competència comunicativa per a professionals de les TIC - Pac3 - Lidia Bria
 
Pac03 - Lidia Bria (A) - Gràfics 3D
Pac03 - Lidia Bria (A) - Gràfics 3DPac03 - Lidia Bria (A) - Gràfics 3D
Pac03 - Lidia Bria (A) - Gràfics 3D
 
Arquitectura de la Información - Pac02 - Lidia Bria
Arquitectura de la Información - Pac02 -  Lidia BriaArquitectura de la Información - Pac02 -  Lidia Bria
Arquitectura de la Información - Pac02 - Lidia Bria
 
Programació - Pràctica2 - Solució - Lídia Bria
Programació - Pràctica2 - Solució - Lídia BriaProgramació - Pràctica2 - Solució - Lídia Bria
Programació - Pràctica2 - Solució - Lídia Bria
 
Vídeo - Pac1 - Lídia Bria
Vídeo - Pac1 - Lídia BriaVídeo - Pac1 - Lídia Bria
Vídeo - Pac1 - Lídia Bria
 
Matemàtiques per Multimèdia I - Pac3 - Solució - Lidia Bria
Matemàtiques per Multimèdia I - Pac3 - Solució - Lidia BriaMatemàtiques per Multimèdia I - Pac3 - Solució - Lidia Bria
Matemàtiques per Multimèdia I - Pac3 - Solució - Lidia Bria
 
Programació - Pac3 - Solució - Lídia Bria
Programació - Pac3 - Solució - Lídia BriaProgramació - Pac3 - Solució - Lídia Bria
Programació - Pac3 - Solució - Lídia Bria
 
Programació - Pac3 - Lidia Bria
Programació - Pac3 - Lidia BriaProgramació - Pac3 - Lidia Bria
Programació - Pac3 - Lidia Bria
 
Fonaments i evolució de la Multimèdia - Pac1 - Lídia Bria
Fonaments i evolució de la Multimèdia - Pac1 - Lídia BriaFonaments i evolució de la Multimèdia - Pac1 - Lídia Bria
Fonaments i evolució de la Multimèdia - Pac1 - Lídia Bria
 
Fonaments i evolució de la Multimèdia - Pac2 - Lídia Bria
Fonaments i evolució de la Multimèdia - Pac2 - Lídia BriaFonaments i evolució de la Multimèdia - Pac2 - Lídia Bria
Fonaments i evolució de la Multimèdia - Pac2 - Lídia Bria
 
Administració i gestió d'organitzacions - Pac2 - Solució - Lidia Bria
Administració i gestió d'organitzacions - Pac2 - Solució - Lidia BriaAdministració i gestió d'organitzacions - Pac2 - Solució - Lidia Bria
Administració i gestió d'organitzacions - Pac2 - Solució - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac4 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac4 - Solució - Lidia BriaMatemàtiques per Multimèdia II - Pac4 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac4 - Solució - Lidia Bria
 
Programació - Pràctica 1 - Solució - Lidia Bria
Programació - Pràctica 1 - Solució - Lidia BriaProgramació - Pràctica 1 - Solució - Lidia Bria
Programació - Pràctica 1 - Solució - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac3 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac3 - Solució - Lidia BriaMatemàtiques per Multimèdia II - Pac3 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac3 - Solució - Lidia Bria
 
Narrativa interactiva - Pràctica - Lídia Bria
Narrativa interactiva - Pràctica - Lídia BriaNarrativa interactiva - Pràctica - Lídia Bria
Narrativa interactiva - Pràctica - Lídia Bria
 
Administració i gestió d'organitzacions - Pac3 - Solució - Lídia Bria
Administració i gestió d'organitzacions - Pac3 - Solució - Lídia BriaAdministració i gestió d'organitzacions - Pac3 - Solució - Lídia Bria
Administració i gestió d'organitzacions - Pac3 - Solució - Lídia Bria
 
Matemàtiques per Multimèdia I - Pac3 - Lidia Bria
Matemàtiques per Multimèdia I - Pac3 - Lidia BriaMatemàtiques per Multimèdia I - Pac3 - Lidia Bria
Matemàtiques per Multimèdia I - Pac3 - Lidia Bria
 
Narrativa interactiva - Pac1 - Solució - Lidia Bria
Narrativa interactiva - Pac1 - Solució - Lidia BriaNarrativa interactiva - Pac1 - Solució - Lidia Bria
Narrativa interactiva - Pac1 - Solució - Lidia Bria
 
Programació - Pac2 - Lidia Bria
Programació - Pac2 - Lidia BriaProgramació - Pac2 - Lidia Bria
Programació - Pac2 - Lidia Bria
 
Competència comunicativa per a professionals de les TIC - PS - Lidia Bria
Competència comunicativa per a professionals de les TIC - PS - Lidia BriaCompetència comunicativa per a professionals de les TIC - PS - Lidia Bria
Competència comunicativa per a professionals de les TIC - PS - Lidia Bria
 

Mehr von Lidia Bria

Gràfics 3D - Pac1 Primera entrega - Lidia Bria
Gràfics 3D - Pac1 Primera entrega - Lidia BriaGràfics 3D - Pac1 Primera entrega - Lidia Bria
Gràfics 3D - Pac1 Primera entrega - Lidia Bria
Lidia Bria
 

Mehr von Lidia Bria (18)

Gràfics 3D - Pràctica - Lidia Bria
Gràfics 3D - Pràctica - Lidia BriaGràfics 3D - Pràctica - Lidia Bria
Gràfics 3D - Pràctica - Lidia Bria
 
Pac02 - Lidia Bria (B) - Gràfics 3DB
Pac02 - Lidia Bria (B) - Gràfics 3DBPac02 - Lidia Bria (B) - Gràfics 3DB
Pac02 - Lidia Bria (B) - Gràfics 3DB
 
Gràfics 3D - Pac1 Primera entrega - Lidia Bria
Gràfics 3D - Pac1 Primera entrega - Lidia BriaGràfics 3D - Pac1 Primera entrega - Lidia Bria
Gràfics 3D - Pac1 Primera entrega - Lidia Bria
 
Arquitectura de la Información - PS Altres anys - Lidia Bria
Arquitectura de la Información - PS Altres anys -  Lidia BriaArquitectura de la Información - PS Altres anys -  Lidia Bria
Arquitectura de la Información - PS Altres anys - Lidia Bria
 
Arquitectura de la Información - Pac03 - Lidia Bria
Arquitectura de la Información - Pac03 -  Lidia BriaArquitectura de la Información - Pac03 -  Lidia Bria
Arquitectura de la Información - Pac03 - Lidia Bria
 
Arquitectura de la Información - Pac01 - Lidia Bria
Arquitectura de la Información - Pac01 -  Lidia BriaArquitectura de la Información - Pac01 -  Lidia Bria
Arquitectura de la Información - Pac01 - Lidia Bria
 
Vídeo - Ps - Lídia Bria
Vídeo - Ps - Lídia BriaVídeo - Ps - Lídia Bria
Vídeo - Ps - Lídia Bria
 
Programació - Exàmen - Lidia Bria
Programació - Exàmen - Lidia BriaProgramació - Exàmen - Lidia Bria
Programació - Exàmen - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac4 - Lidia Bria
Matemàtiques per Multimèdia II - Pac4 - Lidia BriaMatemàtiques per Multimèdia II - Pac4 - Lidia Bria
Matemàtiques per Multimèdia II - Pac4 - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac3 - Lidia Bria
Matemàtiques per Multimèdia II - Pac3 - Lidia BriaMatemàtiques per Multimèdia II - Pac3 - Lidia Bria
Matemàtiques per Multimèdia II - Pac3 - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac2 - Lidia Bria
Matemàtiques per Multimèdia II - Pac2 - Lidia BriaMatemàtiques per Multimèdia II - Pac2 - Lidia Bria
Matemàtiques per Multimèdia II - Pac2 - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac2 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac2 - Solució - Lidia BriaMatemàtiques per Multimèdia II - Pac2 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac2 - Solució - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac1 - Lidia Bria
Matemàtiques per Multimèdia II - Pac1 - Lidia BriaMatemàtiques per Multimèdia II - Pac1 - Lidia Bria
Matemàtiques per Multimèdia II - Pac1 - Lidia Bria
 
Matemàtiques per Multimèdia II - Pac1 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac1 - Solució - Lidia BriaMatemàtiques per Multimèdia II - Pac1 - Solució - Lidia Bria
Matemàtiques per Multimèdia II - Pac1 - Solució - Lidia Bria
 
Matemàtiques per Multimèdia II - Pràctica - Lidia Bria
Matemàtiques per Multimèdia II - Pràctica - Lidia BriaMatemàtiques per Multimèdia II - Pràctica - Lidia Bria
Matemàtiques per Multimèdia II - Pràctica - Lidia Bria
 
Matemàtiques per Multimèdia I - PS - Lidia Bria
Matemàtiques per Multimèdia I - PS - Lidia BriaMatemàtiques per Multimèdia I - PS - Lidia Bria
Matemàtiques per Multimèdia I - PS - Lidia Bria
 
Imatge i llenguatge visual - PS - Lidia Bria
Imatge i llenguatge visual - PS - Lidia BriaImatge i llenguatge visual - PS - Lidia Bria
Imatge i llenguatge visual - PS - Lidia Bria
 
Vídeo - Practica2 - Lídia Bria
Vídeo - Practica2 - Lídia BriaVídeo - Practica2 - Lídia Bria
Vídeo - Practica2 - Lídia Bria
 

Programació - Exàmens - Solució - Lídia Bria

  • 1. Espai grapa Examen 2013/14-1 Assignatura Codi   06.505 15 01 14 EX Hora inici 06.505 Programació Data 15/01/2014 18:30 Enganxeu en aquest espai una etiqueta identificativa amb el vostre codi personal Examen Fitxa tècnica de l'examen • Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs matriculat. • Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full. • No es poden adjuntar fulls addicionals. • No es pot realitzar la prova en llapis ni en retolador gruixut. • Temps total: 2 h. • En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins materials poden consultar? Cap • Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%] • En cas que hi hagi preguntes tipus test: Descompten les respostes errònies? • Indicacions específiques per a la realització d’aquest examen: Enunciats Pàgina 1 de 6 NO Quant?
  • 2. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 15/01/2014 18:30 Pregunta 1 [30%] Un despatx d’advocats, de cara a la facturació de minutes, anota en la fitxa electrònica de cada client la dedicació al seu expedient que hi dedica cada membre del despatx. La fitxa electrònica genera una seqüència del tipus {M1 t1 M2 t2 .... Mn tn -1} on • Mi és el codi de la persona que ha dedicat temps a l’expedient del client. Els codis es distribueixen de la següent forma: o Entre 1 al 10 corresponen als socis o Entre 11 al 100 corresponen als advocats o A partir del 101 corresponen a passants • ti és el temps, expressat en minuts, dedicat a l’expedient • -1 és el número -1 que indica la fi de la seqüència electrònica El temps de cada membre del despatx té diferent valoració: • Soci: 550 € / hora • Advocat: 150 € / hora • Passant: 50 €/hora Es demana construir el mòdul computeBill (acció o funció) que llegeixi la seqüència electrònica de l’entrada estàndard i retorni el total de la factura. S’ha de justificar la tria del tipus de mòdul. Es tracta d’una funció perquè retorna un únic valor. funció computeBill(): real const minutePartner: real = 550.0/60.0; minuteAttorney: real = 150.0/60.0; minuteIntern: real = 50.0/60.0; fconst var member, minutes: enter; total, minuteValue: real; fvar total := 0.0; member := readInteger(); Pàgina 2 de 6
  • 3. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 15/01/2014 18:30 mentre (member > 0) fer minutes := readInteger(); si (member>100) llavors minuteValue := minuteIntern; sino si (member >10) llavors minuteValue := minuteAttorney; sino minuteValue := minutePartner; fsi fsi total := total + integerToReal(minutes)*minuteValue; member := readInteger(); fmentre retornar total faccio Pàgina 3 de 6
  • 4. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 15/01/2014 18:30 Pregunta 2 [30%] Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula de taules del tipus tauler que s’ha definit: tipus row : taula [8] de enter chessboard: taula [8] de row; ftipus var tauler: chessboard; fvar A cada posició de tauler es posa un número amb els següents significats: • 0 → casella buida • 1 → peó • 2 → torre • 3 → cavall • 4 → alfil • 5 → reina • 6 → rey Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però negatius. Es demana construir el mòdul fullChessboard que rebi una variable del tipus chessboard y ens digui si sobre el Tauler hi ha el màxim de fitxes de cada bàndol. S’ha de justificar la tria del tipus de mòdul: Es tractarà d’una funció perquè retornarà un valor cert o fals funció fullChessboard (t: chessboard): booleà var i, j, ocupat: enter; fvar ocupat := 0; per i := 1 fins 8 fer per j := 1 fins 8 fer si t[i][j] ≠ 0 llavors ocupat := ocupat + 1; fsi fper fper retornar (ocupat = 32); ffuncio Pàgina 4 de 6
  • 5. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 15/01/2014 18:30 Pregunta 3 [40%] Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual tenen previst fer una enquesta a 10000 persones que assisteixen a casinos. S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta ° Sexe de l’enquestat (‘M’ o ‘F’) ° Edat de l’enquestat ° Freqüència de joc (quants cops al mes van al casino) ° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Póquer, ‘B’ → Black Jack, ‘H’ → Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto) ° La quantitat de diners aproximada que destinen al joc cada mes • Dissenyeu la dada estructurada candidate tipus candidate = tupla sex : caracter; age, freq : enter; money : real; favorite : taula [3] de caracter; ftupla ftipus Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet mantenir les dades de fins les 10000 enquestes. surveySet = tupla qtty : integer; survey: taula [10000] de candidate; ftupla La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey. També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les dades de les enquestes ja realitzades. • Escriviu l'expressió que comprova si Jackpot és el joc més preferit del darrer jugador incorporat a researchData researchData.survey[researchData.qtty].favorite[1]='J' Pàgina 5 de 6
  • 6. Assignatura Programació • Examen 2013/14-1 Codi Data Hora inici 06.505 15/01/2014 18:30 Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni la despesa mensual mitjana dels jugadors incorporats a la dada estructurada. S'ha de justificar la tria de tipus de mòdul realitzada Funció perquè retorna un únic valor. funció moneyAverage(data: surveySet): real var qtty, i: enter; total: real; fvar total := 0; qtty := data.qtty; per i:=1 fins qtty fer total := total + data.survey[i].money; fper retorna total/enterAReal(qtty); ffuncio Pàgina 6 de 6
  • 7. Espai grapa Examen 2013/14-1 Assignatura Codi   06.505 18 01 14 EX Hora inici 06.505 Programació Data 18/01/2014 12:00 Enganxeu en aquest espai una etiqueta identificativa amb el vostre codi personal Examen Fitxa tècnica de l'examen • Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs matriculat. • Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full. • No es poden adjuntar fulls addicionals. • No es pot realitzar la prova en llapis ni en retolador gruixut. • Temps total: 2 h. • En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins materials poden consultar? • Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%] • En cas que hi hagi preguntes tipus test: Descompten les respostes errònies? • Indicacions específiques per a la realització d’aquest examen: Enunciats Pàgina 1 de 6 NO Quant?
  • 8. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 18/01/2014 12:00 Pregunta 1 [30%] T-Shirt & Company fabrica distribueix samarretes per Internet. El programa de venda genera diàriament una seqüència amb les dades de les vendes del tipus {M1 T1 Q1 M2 T2 Q3.... Mn Tn Qn -1} on • Mi és el codi del model, un número enter: • Ti és la talla ( que pot prendre valors L, M, S) • Qi és la quantitat de samarretes comprades d’aquet model i talla • -1 és el número -1 que indica la fi de la seqüència electrònica Els preus que tenen les samarretes depenen del model: o Codi entre 1 i 99 a 25 € la unitat o Codi entre 100 i 500 a 18 € la unitat o Codi major a 500 a 15 € la unitat Es demana construir el mòdul dailyAmount (acció o funció) que llegeixi la seqüència electrònica de l’entrada estàndard i retorni el valor total de les vendes diàries. S’ha de justificar la tria del tipus de mòdul. Es tracta d’una funció perquè retorna un únic valor. funció dailyAmount (): enter const CHEAP: enter = 15; MEAN: enter = 18; EXPENSIVE: enter = 25; fconst var code, qtty, actualPrice, total: enter; size: character; fvar total := 0; code := readInteger(); mentre (code > 0) fer size := readCharacter(); qtty := readInteger(); si (codi>=500) llavors Pàgina 2 de 6
  • 9. Assignatura Programació Examen 2013/14-1 Codi Pàgina 3 de 6 Hora inici 06.505 actualPrice := CHEAP; sino si (codi>=100) llavors actualPrice := MEAN; sino actualPrice := EXPENSIVE; fsi fsi total := total + qtty * actualPrice; code := readInteger(); fmentre retornar total faccio Data 18/01/2014 12:00
  • 10. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 18/01/2014 12:00 Pregunta 2 [30%] Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula de taules del tipus tauler que s’ha definit: tipus row : taula [8] de enter chessboard: taula [8] de row; ftipus var tauler: chessboard; fvar A cada posició de tauler es posa un número amb els següents significats: • 0 → casella buida • 1 → peó • 2 → torre • 3 → cavall • 4 → alfil • 5 → reina • 6 → rey Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però negatius. Es demana construir el mòdul putChessPawn que rebi una variable del tipus chessboard, la retorni amb tots els peons, i només els peons, posats al lloc inicial del joc i la resta de les posicions sense peces. S’ha de justificar la tria del tipus de mòdul. Es tractarà d’una acció perquè modifica la mateixa taula que rep acció putChessPawn (entsor t: chessboard) var i, j enter; fvar per i := 1 fins 8 fer per j := 1 fins 8 fer si i≠2 i i≠7 llavors //aquests primer per estalviar comparacions t[i][j] := 0; sino si i = 7 llavors t[i][j] := 1; sino t[i][j] := -1; fsi fsi fper fper faccio Pàgina 4 de 6
  • 11. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 18/01/2014 12:00 Pregunta 3 [40%] Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual tenen previst fer una enquesta a 10000 persones que assisteixen a casinos. S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta ° Sexe de l’enquestat (‘M’ o ‘F’) ° Edat de l’enquestat ° Freqüència de joc (quants cops al mes van al casino) ° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Póquer, ‘B’ → Black Jack, ‘H’ → Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto) ° La quantitat de diners aproximada que destinen al joc cada mes • Dissenyeu la dada estructurada candidate tipus candidate = tupla sex : caracter; age, freq : enter; money : real; favorite : taula [3] de caracter; ftupla ftipus Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet mantenir les dades de fins les 10000 enquestes. surveySet = tupla qtty : integer; survey: taula [10000] de candidate; ftupla La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey. També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les dades de les enquestes ja realitzades. • Escriviu l'expressió que comprova si el primer jugador incorporat a researchData té el pòquer entre els seus jocs favorits researchData.survey[1].favorite[1]='P' o researchData.survey[1].favorite[3]='P' researchData.survey[1].favorite[2]='P' o Pàgina 5 de 6
  • 12. Assignatura Programació • Examen 2013/14-1 Codi Data Hora inici 06.505 18/01/2014 12:00 Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni la quantitat de dones que juguen 3 més cops al mes funció gamerWomen(data: surveySet): enter var total, qtty, i: enter; fvar total := 0; qtty := data.qtty; per i:=1 fins qtty fer si (data.survey[i].sex='F') i (data.survey[i].freq>2) llavors total := total + 1; fper retorna total; ffuncio Pàgina 6 de 6
  • 13. Espai grapa Examen 2013/14-1 Assignatura Codi   06.505 25 01 14 EX Hora inici 06.505 Programació Data 25/01/2014 15:30 Enganxeu en aquest espai una etiqueta identificativa amb el vostre codi personal Examen Fitxa tècnica de l'examen • Comprova que el codi i el nom de l’assignatura corresponen a l’assignatura en la qual estàs matriculat. • Només has d’enganxar una etiqueta d’estudiant a l’espai corresponent d’aquest full. • No es poden adjuntar fulls addicionals. • No es pot realitzar la prova en llapis ni en retolador gruixut. • Temps total: 2 h. • En cas que els estudiants puguin consultar algun material durant l’examen, quin o quins materials poden consultar? Cap • Valor de cada pregunta: Pregunta 1 [30%], Pregunta 2 [30%] i Pregunta 3 [40%] • En cas que hi hagi preguntes tipus test: Descompten les respostes errònies? • Indicacions específiques per a la realització d’aquest examen: Enunciats Pàgina 1 de 6 NO Quant?
  • 14. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 25/01/2014 15:30 Pregunta 1 [30%] T-Shirt & Company fabrica distribueix samarretes per Internet. El programa de venda genera diàriament una seqüència amb les dades de les vendes del tipus {M1 T1 Q1 M2 T2 Q3.... Mn Tn Qn -1} on • Mi és el codi del model, un número enter: • Ti és la talla ( que pot prendre valors L, M, S) • Qi és la quantitat de samarretes comprades d’aquet model i talla • -1 és el número -1 que indica la fi de la seqüència electrònica Els preus que tenen les samarretes depenen de la talla: o L a 25 € o M a 22 € o S a 20 € Es demana construir el mòdul dailyAmount (acció o funció) que llegeixi la seqüència electrònica de l’entrada estàndard i retorni el valor total de les vendes diàries. S’ha de justificar la tria del tipus de mòdul. Es tracta d’una funció perquè retorna un únic valor. funció dailyAmount (): enter const LITTLE: enter = 20; MEDIUM: enter = 22; LARGE: enter = 25; fconst var code, qtty, actualPrice, total: enter; size: character; fvar total := 0; code := readInteger(); mentre (code > 0) fer size := readCharacter(); qtty := readInteger(); si (size = ‘L’) llavors Pàgina 2 de 6
  • 15. Assignatura Programació Examen 2013/14-1 Codi Pàgina 3 de 6 Hora inici 06.505 actualPrice := LARGE; sino si (size = ‘M’) llavors actualPrice := MEDIUM; sino actualPrice := SMALL; fsi fsi total := total + qtty * actualPrice; code := readInteger(); fmentre retornar total faccio Data 25/01/2014 15:30
  • 16. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 25/01/2014 15:30 Pregunta 2 [30%] Per dissenyar un joc d’escacs per ordinador s’opta per representar el tauler mitjançant una taula de taules del tipus tauler que s’ha definit: tipus row : taula [8] de enter chessboard: taula [8] de row; ftipus var tauler: chessboard; fvar A cada posició de tauler es posa un número amb els següents significats: • 0 → casella buida • 1 → peó • 2 → torre • 3 → cavall • 4 → alfil • 5 → reina • 6 → rey Les peces blanques tenen valors positius mentre que les negres tenen els mateixos valors però negatius. Es demana construir el mòdul bishop que rebi una variable del tipus chessboard y retorni quants alfils blancs i negres i ha. Es tractarà d’una acció perquè retornarà dos valors. acció bishop (ent t: chessboard, sor white:enter, sor black: enter) var i, j: enter; fvar white := 0; black := 0; per i := 1 fins 8 fer per j := 1 fins 8 fer si t[i][j] = 4 llavors white := white + 1; sino si t[i][j] = -4 llavors black := black + 1; fsi fsi fper fper ffuncio Pàgina 4 de 6
  • 17. Assignatura Programació Examen 2013/14-1 Codi Data Hora inici 06.505 25/01/2014 15:30 Pregunta 3 [40%] Un laboratori de recerca psicològica esta fent un estudi de les ludopaties, amb motiu del qual tenen previst fer una enquesta a 10000 persones que assisteixen a casinos. S’ha de crear una data estructurada candidate capaç d’emmagatzemar les dades d’una enquesta ° Sexe de l’enquestat (‘M’ o ‘F’) ° Edat de l’enquestat ° Freqüència de joc (quants cops al mes van al casino) ° Els tres jocs preferits posats per ordre (‘R’ → ruleta, ‘P’ → Pòquer, ‘B’ → Black Jack, ‘H’ → Hazzard, 'J' -> Jackpot, ‘M’ -> màquines escurabutxaques, 'L'-> Loto) ° La quantitat de diners aproximada que destinen al joc cada mes • Dissenyeu la dada estructurada candidate tipus candidate = tupla sex : caracter; age, freq : enter; money : real; favorite : taula [3] de caracter; ftupla ftipus Per emmagatzemar la totalitat de fitxes s'ha creat una nova dada estructurada que permet mantenir les dades de fins les 10000 enquestes. surveySet = tupla qtty : integer; survey: taula [10000] de candidate; ftupla La quantitat d'enquestes que en cada moment estaran emmagatzemades, ve indicada pel camp qtty, i les dades de les enquestes ocupen sempre les primeres qtty posicions de la taula survey. També s'ha creat la variable researchData del tipus surveySet que és on s'han carregat les dades de les enquestes ja realitzades. • Escriviu l'expressió que calcula quants diners de mitjana gasta el primer jugador cada cop que va al joc researchData.survey[1].money/integerToReal(researchData.survey[1].freq) Pàgina 5 de 6
  • 18. Assignatura Programació • Examen 2013/14-1 Codi Data Hora inici 06.505 25/01/2014 15:30 Creeu el mòdul (acció o funció, el més adequat) que rebi researchData i retorni l'edat mitjana dels jugadors i l'edat mitjana de les jugadores acció ageAverage(data: surveySet, sor man: real, sor woman: real): enter var nMan, nWoman, qtty, i: enter; ageMan, ageWoman: real; fvar nMan := 0; nWoman := 0; ageMan := 0.0; ageWoman := 0.0; qtty := data.qtty; per i:=1 fins qtty fer si (data.survey[i].sex='F') llavors nWoman := nWoman + 1; ageWoman:=ageWoman+integerToReal(data.survey[i].age); sino nMan := nMan + 1; ageMan:=ageMan + integerToReal(data.survey[i].age); fsi fper man := ageMan / integerToReal(nMan); woman := ageWoman / integerToReal(nWoman); ffuncio Pàgina 6 de 6