SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Estudis d’Informàtica, Multimèdia i Telecomunicació
Programació
PAC1 — Document d’enunciats
Estudiant
Cognoms: Baldoví Martínez
Nom: Marcos
1
Exercici 1: Tipus i expressions [20%]
Tasca: Donades les següents definicions de tipus, constants i variables
const
CONSTAI : enter = 10;
CONSTAR : real = 2.5;
CONSTAC : caràcter = 'y';
CONSTAS : cadena = "Hello";
fconst
var
i, j, k :enter;
x, y, z : real;
c, d: caràcter;
s, t: cadena;
b, v: booleà;
fvar
a) Avalueu les següents expressions amb potencials conflictes de tipus. Si l’expressió
és correcta digueu quin seria el tipus resultant d’avaluar-la. Si l’expressió és
incorrecta indiqueu l’error detectat. (recordeu que l'operador = és de relació):
i) CONSTAS ≠ realToString( x * i );
"Hello" ≠ realToString ("x" * i)
Incorrecta No es pot realitzar l'operacio de multiplicar ja que i es
un nombre enter
ii) codeToChar( j + i ) < d = v
Correcte perque compara un boolea amb un altre
iii) realToInteger ( x / CONSTAR ) > charToCode( c ) + j * k
Correcte ja que les expressions son
iv) CONSTAI div k * realToInteger ( CONSTAR div z )
10/k multiplicat per el resultar de la divisio entre el valor de la CONSTANTR entre z.
Com tots el valors de l'expressio son del tipus enter al fer la conversio de realToInterger,
es Correcta.
b) Creeu les següents expressions
2
v) Expressió que ens digui si al menys una de les tres variables enteres és superior
al valor de CONSTAR.
(enterAReal ( i) > CONSTAR) OR (enterAReal ( j) > CONSTAR) OR (enterAReal (k) >
CONSTAR)
vi) Expressió que digui si es compleix que la lletra inicial de la cadena t és anterior
alfabèticament al contingut de la variable d i, alhora, posterior al contingut de la
variable c.
(stringToChart (t) < d ) i ( stringToChart (t) > c )
3
Valoració
- Els apartats a) i b) valen 1 punt cadascun.
- Els subapartats i) a iv) 0.25 punts cadascun.
- Els subapartats v) i vi) 0.50 punts cadascun.
4
Exercici 2: Avaluació d’expressions [10%]
Tasca: Donades les definicions de tipus i variables de l’exercici 1 i suposant que les
variables tenen els valors següents:
i:=5, j:=2, k:=7, x:=0.3, y:=1.3, z:=-0.5, c:='d', d:='z',
s:="disc", t:="Keyboard", b:=cert, v:=fals
Calculeu el resultat de les expressions següents:
a) i mod j * realToInteger( x - y - z)
5mod2 * realToInteger (0.3 - 1.3 + 0.5)
1*(0)
0
b) CONSTAI < j ≠ b o k > i + j i s[1] ≤ c
10 < 2 ≠ cert o 7 > 5 i "disc" [1] ≤ 'd'
fals ≠ cert o cert i 'd' ≤ 'd'
cert o cert i cert
0
c) k mod i div realToInteger ( 3.0 * y + x )
7mod 5 div realToInteger ( 3.0 * 1.3+ 0.3 )
2 div realToInteger 10.2
2div10
0
d) no ( integerToReal ( i div j ) * y > CONSTAR ) ≠ ( - y * z < CONSTAR )
no ( integerToReal ( 2 ) * 1.3 > 2.5) ≠ ( - 1.3* -0.5< 2.5 )
no ( 2.6 > 2.5) ≠ ( 0.65< 2.5 )
no ( cert) ≠ ( cert )
fals≠ cert
cert
Valoració
- Cada apartat val 0.25 punts.
- Si només s’escriu el resultat final d’un apartat i és erroni, la seva puntuació serà 0.
5
Exercici 3: Declaració de variables i especificació [10%]
Tasca: Declareu les variables necessàries i doneu les especificacions d’un algorisme que
resolgui els problemes següents (en cap cas s'ha d'escriure instruccions de
l'algorisme):
En concret, es demana que definiu les variables necessàries per representar les dades
del problema (apartat var…fvar d’un algorisme) i que doneu la precondició i la
postcondició.
a) Que donades les qualificacions numèriques de les tres pràctiques d’una assignatura,
els valors de les quals és 25%, 35% i 40%, digui si l’estudiant ha aprovat
l’assignatura
Pre
{
0<=n1<=10;
0<=n2<=10;
0<=n3<=10;
}
var:
n1, n2, n3:reals;
resultat: boolean;
fvar;
post
{
resultat=cert si 0,25*n1+0,35*n2+0,4*n3>=5;
resultat=fals en cas contrari
}
b) Que donat un número corresponent a un any del segle XXI i un altre número
corresponent a un mes digui quants dies tindrà el mes de l’any en qüestió.
Pre{ 2000<=any<2100; 1<=mes=<12; }
var: any:enter; mes:enter; dies:enter; fvar
Pos{dies que te el mes «mes» de l'any «any» }
c) Que donada una cadena de text i una paraula digui quants de cops està continguda
la paraula en la cadena de text
Pre{paraula no buida }
var: text:cadena; paraula:cadena; cops:enter; fvar
Post{ cops= a nombre de vegades que apareix la paraula al text}
Valoració
- Cada apartat val 0.33 punts.
6
- De cada apartat la pre i postcondició valen 0.2 punts (0.1 punts cadascuna), la declaració de
variables, 0.1 punts i el nom, 0.03 punts.
7
Exercici 4: Comprensió i seguiment d’algorismes [20%]
Tasca: En una composició seqüencial, cada instrucció s’executa un cop i només un i en
l’ordre que estan escrites. La composició alternativa permet, en canvi, que una instrucció
s’executi o no segons el resultat d’avaluar una expressió. Per acabar, la composició
iterativa permet que una instrucció s’executi més d’un cop en funció, també, de
l’avaluació d’una expressió.
Donat el següent algorisme, Donat el següent algorisme,
algorisme rar
var
i, n, p, q, t : enter;
fvar
n := readInteger(); 9
q := readInteger(); 5
p := readInteger(); 3
i := 1;
t := 10;
mentre i < n fer → 8 execucions
t := t * p + q; → 9105
si t > 5000 llavors
p := p + 1; {instrucció a}
sino si t > 500 llavors
q := q + 5; {instrucció b}
sino
q := q + 10; {instrucció c}
fsi
fsi
writeInteger ( t )
i := i + 1;
fmentre
falgorisme
c, c, c, b, b, a, a, a
8
digueu quants cops s’executaran les instruccions a, b i c si les dades que s'entren són 9,
5, 3.
vegades que s’executa
instrucció a 3
instrucció b 2
instrucció c 3
Valoració
- Cada apartat val 0.66 punts.
- Si no s’explica cap procés d’un apartat i és erroni, la seva puntuació serà 0.
9
10
Exercici 5: Traducció d’un algorisme a PHP [20%]
Tasca: Detector de primers especials
Existeix tres tipus de nombres primeres especials, els primers besons, els primers cosins
i els primers sexis. Es diu que dos números primers són besons si els separa només un
número (p.e. el 5 i el 7, separats pel 6), són cosins si estan separats per tres números
(p.e. 7 i 11, separats per 8,9 i 10) i es diu que són primers sexis (del llatí six: sis) si la
diferencia entre ells és de sis unitats (p.e. 23 i 29) . L’ algorisme inferior permet calcular si
una parella de números són primers besons, cosins o sexis.
Cal que ompliu la plantilla pac1_exer5_plantilla.php amb la traducció de l’algorisme a
PHP i renomeneu el fitxer a pac1_exer5.php
Indicacions per a PHP
Les dues dades s’entraran pel mètode $_GET en dos paràmetres de nom n1 i n2. La
crida ha de ser del tipus:
pac1_exer5.php?n1=13&n2=17
Per a comprovar el funcionament podeu fer servir
http://prog.uoc.edu/pac1/pac1_exer5.php?n1=13&n2=17
Valoració
- Traducció correcta de les expressions 0.5 punts
- Traducció correcta de les composicions seqüencials 0.5 punts
- Traducció correcta de les composicions alternatives 0.5 punts
- Traducció correcta de les composicions iteratives 0.5 punts
11
Copieu aquí el codi de la vostra solució
<?php
?>
12
Exercici 6: Problema, algorisme i programa en PHP [20%]
Tasca: Mirar la xavalla de les butxaques
S’ha de simular que un grup de persones es miren la xavalla que porten a les
butxaques per veure qui porta més diners.
La quantitat de persones (people) i la quantitat màxima de monedes que duen en la
butxaca cadascú (max) es reben com arguments a la crida que ha de ser del tipus:
pac1_exer6.php?people=2&max=6
El programa s'escriurà a la plantilla pac1_exer6_plantilla.php que es canviarà de
nom a pac1_exer6.php pel lliurament
Indicacions preceptives:
 Per a cada persona es mostrarà :
o en una primera línia, el retol #n People (on n és l’ordinal de la persona)
o en una segona línea una quantitat aleatòria de monedes inferior o igual a
l’argument max rebut en la crida i la suma de valors de les monedes
mostrades. Els tipus de cadascuna de les monedes que es mostrin també
s’escollirà de manera aleatòria.
 En una darrera línia es dirà qui tenia més diners i la quantitat de diners que duïa.
 Es faciliten les imatges per mostrar el contingut de les butxaques
1c.png 2c.png 5c.png 10c.png 20c.png 50c.png 1e.png 2e.png
13
 Per a l'execució, totes les imatges se situaran a la mateixa carpeta de localhost que
el fitxer php
 Es pot comprovar el funcionament a
http://prog.uoc.edu/pac1/pac1_exer6.php?people=2&max=6 Si es desitja es pot
canviar els valors dels paràmetres
Consells
 Per tal d’obtenir nombres aleatoris es pot emprar la funció rand1
(a, b) que rep dos
números com paràmetre i retorna un valor aleatori dins de l’interval [a, b]. Una
manera d’aplicar això és extraure números aleatoris entre 1 i 8 i fer correspondre
cadascun dels números a cadascuna de les monedes.
 Recordeu que el resultat d'un programa php és un document en HTML. En aquest
sentit es pot aprofitar la impressió de variables per anar construint el nom d'una
imatge. per exemple, les següents instruccions
$coin = '1e'; print "<img src='$coin.png'>";
donen com a resultat l'escriptura en la pàgina web de <img src='1e.png'>, és a dir,
el tag per posar una moneda d’un euro.
Valoració
- Si no es fan servir cap composició iterativa ni cap composició alternativa, la puntuació de
l’exercici serà 0.
1
http://php.net/manual/es/function.rand.php
14
Copieu aquí el codi de la vostra solució
?php
?
15

Weitere ähnliche Inhalte

Was ist angesagt?

| programacion | PRACTICA 2 - Madel Ortiz
| programacion | PRACTICA 2 - Madel Ortiz| programacion | PRACTICA 2 - Madel Ortiz
| programacion | PRACTICA 2 - Madel Ortiz
Ardillita Trepadora
 
Repàs Funcions Matemàtiques 4t ESO
Repàs Funcions Matemàtiques 4t ESORepàs Funcions Matemàtiques 4t ESO
Repàs Funcions Matemàtiques 4t ESO
rbnterrassa
 

Was ist angesagt? (20)

Programació - PAC 2 - Multimedia (UOC) - Paquita Ribas
Programació - PAC 2 - Multimedia (UOC) - Paquita RibasProgramació - PAC 2 - Multimedia (UOC) - Paquita Ribas
Programació - PAC 2 - Multimedia (UOC) - Paquita Ribas
 
Programació - PAC 1 - Multimedia (UOC) - Paquita Ribas
Programació - PAC 1 - Multimedia (UOC) - Paquita RibasProgramació - PAC 1 - Multimedia (UOC) - Paquita Ribas
Programació - PAC 1 - Multimedia (UOC) - Paquita Ribas
 
Programació - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasProgramació - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
 
Programació - PAC 1 correcció - Multimèdia (UOC) - Paquita Ribas
Programació - PAC 1 correcció - Multimèdia (UOC) - Paquita RibasProgramació - PAC 1 correcció - Multimèdia (UOC) - Paquita Ribas
Programació - PAC 1 correcció - Multimèdia (UOC) - Paquita Ribas
 
Programació - Pac1 - Solució - Lídia Bria
Programació - Pac1 - Solució - Lídia BriaProgramació - Pac1 - Solució - Lídia Bria
Programació - Pac1 - Solució - Lídia Bria
 
Programació - Pac1 - Lidia Bria
Programació - Pac1 - Lidia BriaProgramació - Pac1 - Lidia Bria
Programació - Pac1 - Lidia Bria
 
Programació - Pràctica1 - Lidia Bria
Programació - Pràctica1 - Lidia BriaProgramació - Pràctica1 - Lidia Bria
Programació - Pràctica1 - Lidia Bria
 
| PROGRAMACIO | Pract2 solucio
| PROGRAMACIO | Pract2 solucio | PROGRAMACIO | Pract2 solucio
| PROGRAMACIO | Pract2 solucio
 
Programació - Pac3 - Lidia Bria
Programació - Pac3 - Lidia BriaProgramació - Pac3 - Lidia Bria
Programació - Pac3 - 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
 
| programacion | PRACTICA 2 - Madel Ortiz
| programacion | PRACTICA 2 - Madel Ortiz| programacion | PRACTICA 2 - Madel Ortiz
| programacion | PRACTICA 2 - Madel Ortiz
 
Programació - Pràctica 2 - Lidia Bria
Programació - Pràctica 2 - Lidia BriaProgramació - Pràctica 2 - Lidia Bria
Programació - Pràctica 2 - Lidia Bria
 
Matemàtiques per a la Multimèdia II - PAC 1 - Multimedia (UOC) - Paquita Ribas
Matemàtiques per a la Multimèdia II - PAC 1 - Multimedia (UOC) - Paquita RibasMatemàtiques per a la Multimèdia II - PAC 1 - Multimedia (UOC) - Paquita Ribas
Matemàtiques per a la Multimèdia II - PAC 1 - Multimedia (UOC) - Paquita Ribas
 
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
 
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
 
Funcions
Funcions Funcions
Funcions
 
Repàs Funcions Matemàtiques 4t ESO
Repàs Funcions Matemàtiques 4t ESORepàs Funcions Matemàtiques 4t ESO
Repàs Funcions Matemàtiques 4t ESO
 
Funciones
FuncionesFunciones
Funciones
 
Funcions, límits i les seves aplicacions - Mònica Orpí i Mañé
Funcions, límits i les seves aplicacions - Mònica Orpí i MañéFuncions, límits i les seves aplicacions - Mònica Orpí i Mañé
Funcions, límits i les seves aplicacions - Mònica Orpí i Mañé
 
Anàlisi 1
Anàlisi 1Anàlisi 1
Anàlisi 1
 

Andere mochten auch

The-GREAT-way-to-grow1
The-GREAT-way-to-grow1The-GREAT-way-to-grow1
The-GREAT-way-to-grow1
Graham Penson
 

Andere mochten auch (20)

Riforma della partecipazione popolare
Riforma della partecipazione popolareRiforma della partecipazione popolare
Riforma della partecipazione popolare
 
Technologies used question 4 redone
Technologies used   question 4 redoneTechnologies used   question 4 redone
Technologies used question 4 redone
 
Aplicacions Interactives multiplataforma_pac2
Aplicacions Interactives multiplataforma_pac2Aplicacions Interactives multiplataforma_pac2
Aplicacions Interactives multiplataforma_pac2
 
animació_Practica1
animació_Practica1 animació_Practica1
animació_Practica1
 
The-GREAT-way-to-grow1
The-GREAT-way-to-grow1The-GREAT-way-to-grow1
The-GREAT-way-to-grow1
 
AK Roy
AK RoyAK Roy
AK Roy
 
Digipak analysis
Digipak analysisDigipak analysis
Digipak analysis
 
Technologies used question 4 redone
Technologies used   question 4 redoneTechnologies used   question 4 redone
Technologies used question 4 redone
 
CT-3215
CT-3215CT-3215
CT-3215
 
Riforma della Partecipazione Popolare - Modifica dello Statuto di Pontecorvo ...
Riforma della Partecipazione Popolare - Modifica dello Statuto di Pontecorvo ...Riforma della Partecipazione Popolare - Modifica dello Statuto di Pontecorvo ...
Riforma della Partecipazione Popolare - Modifica dello Statuto di Pontecorvo ...
 
Audience feedback final draft
Audience feedback final draftAudience feedback final draft
Audience feedback final draft
 
Disseny Gràfic_Pac2
Disseny Gràfic_Pac2Disseny Gràfic_Pac2
Disseny Gràfic_Pac2
 
DBBDD_pac1
DBBDD_pac1DBBDD_pac1
DBBDD_pac1
 
gestpro_pac1
gestpro_pac1gestpro_pac1
gestpro_pac1
 
Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01
 
Disseny Gràfic_Pac3
Disseny Gràfic_Pac3Disseny Gràfic_Pac3
Disseny Gràfic_Pac3
 
Changes to our horror opening
Changes to our horror openingChanges to our horror opening
Changes to our horror opening
 
OPN-ECCH-02-000017
OPN-ECCH-02-000017OPN-ECCH-02-000017
OPN-ECCH-02-000017
 
Tractament i publicació d'imatge i vídeo practica2
Tractament i publicació d'imatge i vídeo practica2Tractament i publicació d'imatge i vídeo practica2
Tractament i publicació d'imatge i vídeo practica2
 
Crisis communication
Crisis communicationCrisis communication
Crisis communication
 

Ähnlich wie Prog_pac1

Àlgebra i Equacions de 1r Grau 2n ESO
Àlgebra i Equacions de 1r Grau 2n ESOÀlgebra i Equacions de 1r Grau 2n ESO
Àlgebra i Equacions de 1r Grau 2n ESO
Albert Sola
 
Dossier Refredament Substancies
Dossier Refredament SubstanciesDossier Refredament Substancies
Dossier Refredament Substancies
Agustí Estévez
 
Potencies i arrels 2 n
Potencies i arrels 2 nPotencies i arrels 2 n
Potencies i arrels 2 n
cpnapenyal
 
Lesequacionsdeprimergrau annamaria
Lesequacionsdeprimergrau annamariaLesequacionsdeprimergrau annamaria
Lesequacionsdeprimergrau annamaria
annamariamorillo
 
Les equacions de primer grau
Les equacions de primer grauLes equacions de primer grau
Les equacions de primer grau
mcarbo58
 
Les equacions de primer grau
Les equacions de primer grauLes equacions de primer grau
Les equacions de primer grau
mcarbo58
 

Ähnlich wie Prog_pac1 (16)

PW_pac1
PW_pac1PW_pac1
PW_pac1
 
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ó - Pac2 - Solució - Lídia Bria
Programació - Pac2 - Solució - Lídia BriaProgramació - Pac2 - Solució - Lídia Bria
Programació - Pac2 - Solució - Lídia Bria
 
formules-rstudio.pdf
formules-rstudio.pdfformules-rstudio.pdf
formules-rstudio.pdf
 
formules-rstudio.pdf
formules-rstudio.pdfformules-rstudio.pdf
formules-rstudio.pdf
 
Àlgebra i Equacions de 1r Grau 2n ESO
Àlgebra i Equacions de 1r Grau 2n ESOÀlgebra i Equacions de 1r Grau 2n ESO
Àlgebra i Equacions de 1r Grau 2n ESO
 
Matemàtiques 3r i 4t eso
Matemàtiques 3r i 4t esoMatemàtiques 3r i 4t eso
Matemàtiques 3r i 4t eso
 
Dossier Refredament Substancies
Dossier Refredament SubstanciesDossier Refredament Substancies
Dossier Refredament Substancies
 
Operacions combinades
Operacions combinadesOperacions combinades
Operacions combinades
 
Derivades 2n de Batxillerat CCSS
Derivades 2n de Batxillerat CCSSDerivades 2n de Batxillerat CCSS
Derivades 2n de Batxillerat CCSS
 
Potencies i arrels 2 n
Potencies i arrels 2 nPotencies i arrels 2 n
Potencies i arrels 2 n
 
Programació - Pac2 - Lidia Bria
Programació - Pac2 - Lidia BriaProgramació - Pac2 - Lidia Bria
Programació - Pac2 - Lidia Bria
 
Lesequacionsdeprimergrau annamaria
Lesequacionsdeprimergrau annamariaLesequacionsdeprimergrau annamaria
Lesequacionsdeprimergrau annamaria
 
Tema 2 Representació de la informació
Tema 2   Representació de la informacióTema 2   Representació de la informació
Tema 2 Representació de la informació
 
Les equacions de primer grau
Les equacions de primer grauLes equacions de primer grau
Les equacions de primer grau
 
Les equacions de primer grau
Les equacions de primer grauLes equacions de primer grau
Les equacions de primer grau
 

Mehr von Marcos Baldovi

Mehr von Marcos Baldovi (20)

Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018
Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018
Comportament d'Usuaris Marcos baldovi Prova Sintesis 2018
 
Comportament d'Usuaris Marcos baldovi Resum Researching UX
Comportament d'Usuaris Marcos baldovi Resum Researching UXComportament d'Usuaris Marcos baldovi Resum Researching UX
Comportament d'Usuaris Marcos baldovi Resum Researching UX
 
Comportament d'Usuaris Marcos baldovi Practica 1
Comportament d'Usuaris Marcos baldovi Practica 1Comportament d'Usuaris Marcos baldovi Practica 1
Comportament d'Usuaris Marcos baldovi Practica 1
 
Comportament d'Usuaris Marcos baldovi PAC2
Comportament d'Usuaris Marcos baldovi PAC2Comportament d'Usuaris Marcos baldovi PAC2
Comportament d'Usuaris Marcos baldovi PAC2
 
Comportament d'Usuaris Marcos baldovi PAC1
Comportament d'Usuaris Marcos baldovi PAC1Comportament d'Usuaris Marcos baldovi PAC1
Comportament d'Usuaris Marcos baldovi PAC1
 
Fotografia Digital Marcos baldovi Prova Sintesis
Fotografia Digital Marcos baldovi Prova SintesisFotografia Digital Marcos baldovi Prova Sintesis
Fotografia Digital Marcos baldovi Prova Sintesis
 
Fotografia Digital Marcos baldovi practica 2
Fotografia Digital Marcos baldovi practica 2Fotografia Digital Marcos baldovi practica 2
Fotografia Digital Marcos baldovi practica 2
 
Fotografia Digital Marcos baldovi practica 1
Fotografia Digital Marcos baldovi practica 1Fotografia Digital Marcos baldovi practica 1
Fotografia Digital Marcos baldovi practica 1
 
Fotografia Digital Marcos baldovi pac3
Fotografia Digital Marcos baldovi pac3Fotografia Digital Marcos baldovi pac3
Fotografia Digital Marcos baldovi pac3
 
Fotografia Digital Marcos baldovi pac2
Fotografia Digital Marcos baldovi pac2Fotografia Digital Marcos baldovi pac2
Fotografia Digital Marcos baldovi pac2
 
Fotografia Digital Marcos baldovi pac1
Fotografia Digital Marcos baldovi pac1Fotografia Digital Marcos baldovi pac1
Fotografia Digital Marcos baldovi pac1
 
Mercat i Legislació Marcos baldovi PAC4
Mercat i Legislació Marcos baldovi PAC4Mercat i Legislació Marcos baldovi PAC4
Mercat i Legislació Marcos baldovi PAC4
 
Mercat i Legislació Marcos baldovi PAC3
Mercat i Legislació Marcos baldovi PAC3Mercat i Legislació Marcos baldovi PAC3
Mercat i Legislació Marcos baldovi PAC3
 
Mercat i Legislació Marcos baldovi PAC2
Mercat i Legislació Marcos baldovi PAC2Mercat i Legislació Marcos baldovi PAC2
Mercat i Legislació Marcos baldovi PAC2
 
Marcos Baldoví Disseny D'interacció Practica FInal
Marcos Baldoví Disseny D'interacció Practica FInalMarcos Baldoví Disseny D'interacció Practica FInal
Marcos Baldoví Disseny D'interacció Practica FInal
 
Marcos Baldoví Disseny D'interacció PAC2
Marcos Baldoví Disseny D'interacció PAC2Marcos Baldoví Disseny D'interacció PAC2
Marcos Baldoví Disseny D'interacció PAC2
 
Marcos Baldoví Disseny D'interacció PAC1
Marcos Baldoví Disseny D'interacció PAC1Marcos Baldoví Disseny D'interacció PAC1
Marcos Baldoví Disseny D'interacció PAC1
 
Metodología i Desenvolupament de Projectes en Xarxa PRACTICA
Metodología i Desenvolupament de Projectes en Xarxa PRACTICAMetodología i Desenvolupament de Projectes en Xarxa PRACTICA
Metodología i Desenvolupament de Projectes en Xarxa PRACTICA
 
Metodología i Desenvolupament de Projectes en Xarxa PAC3
Metodología i Desenvolupament de Projectes en Xarxa PAC3Metodología i Desenvolupament de Projectes en Xarxa PAC3
Metodología i Desenvolupament de Projectes en Xarxa PAC3
 
Metodología i Desenvolupament de Projectes en Xarxa PAC 2
Metodología i Desenvolupament de Projectes en Xarxa PAC 2Metodología i Desenvolupament de Projectes en Xarxa PAC 2
Metodología i Desenvolupament de Projectes en Xarxa PAC 2
 

Prog_pac1

  • 1. Estudis d’Informàtica, Multimèdia i Telecomunicació Programació PAC1 — Document d’enunciats Estudiant Cognoms: Baldoví Martínez Nom: Marcos 1
  • 2. Exercici 1: Tipus i expressions [20%] Tasca: Donades les següents definicions de tipus, constants i variables const CONSTAI : enter = 10; CONSTAR : real = 2.5; CONSTAC : caràcter = 'y'; CONSTAS : cadena = "Hello"; fconst var i, j, k :enter; x, y, z : real; c, d: caràcter; s, t: cadena; b, v: booleà; fvar a) Avalueu les següents expressions amb potencials conflictes de tipus. Si l’expressió és correcta digueu quin seria el tipus resultant d’avaluar-la. Si l’expressió és incorrecta indiqueu l’error detectat. (recordeu que l'operador = és de relació): i) CONSTAS ≠ realToString( x * i ); "Hello" ≠ realToString ("x" * i) Incorrecta No es pot realitzar l'operacio de multiplicar ja que i es un nombre enter ii) codeToChar( j + i ) < d = v Correcte perque compara un boolea amb un altre iii) realToInteger ( x / CONSTAR ) > charToCode( c ) + j * k Correcte ja que les expressions son iv) CONSTAI div k * realToInteger ( CONSTAR div z ) 10/k multiplicat per el resultar de la divisio entre el valor de la CONSTANTR entre z. Com tots el valors de l'expressio son del tipus enter al fer la conversio de realToInterger, es Correcta. b) Creeu les següents expressions 2
  • 3. v) Expressió que ens digui si al menys una de les tres variables enteres és superior al valor de CONSTAR. (enterAReal ( i) > CONSTAR) OR (enterAReal ( j) > CONSTAR) OR (enterAReal (k) > CONSTAR) vi) Expressió que digui si es compleix que la lletra inicial de la cadena t és anterior alfabèticament al contingut de la variable d i, alhora, posterior al contingut de la variable c. (stringToChart (t) < d ) i ( stringToChart (t) > c ) 3
  • 4. Valoració - Els apartats a) i b) valen 1 punt cadascun. - Els subapartats i) a iv) 0.25 punts cadascun. - Els subapartats v) i vi) 0.50 punts cadascun. 4
  • 5. Exercici 2: Avaluació d’expressions [10%] Tasca: Donades les definicions de tipus i variables de l’exercici 1 i suposant que les variables tenen els valors següents: i:=5, j:=2, k:=7, x:=0.3, y:=1.3, z:=-0.5, c:='d', d:='z', s:="disc", t:="Keyboard", b:=cert, v:=fals Calculeu el resultat de les expressions següents: a) i mod j * realToInteger( x - y - z) 5mod2 * realToInteger (0.3 - 1.3 + 0.5) 1*(0) 0 b) CONSTAI < j ≠ b o k > i + j i s[1] ≤ c 10 < 2 ≠ cert o 7 > 5 i "disc" [1] ≤ 'd' fals ≠ cert o cert i 'd' ≤ 'd' cert o cert i cert 0 c) k mod i div realToInteger ( 3.0 * y + x ) 7mod 5 div realToInteger ( 3.0 * 1.3+ 0.3 ) 2 div realToInteger 10.2 2div10 0 d) no ( integerToReal ( i div j ) * y > CONSTAR ) ≠ ( - y * z < CONSTAR ) no ( integerToReal ( 2 ) * 1.3 > 2.5) ≠ ( - 1.3* -0.5< 2.5 ) no ( 2.6 > 2.5) ≠ ( 0.65< 2.5 ) no ( cert) ≠ ( cert ) fals≠ cert cert Valoració - Cada apartat val 0.25 punts. - Si només s’escriu el resultat final d’un apartat i és erroni, la seva puntuació serà 0. 5
  • 6. Exercici 3: Declaració de variables i especificació [10%] Tasca: Declareu les variables necessàries i doneu les especificacions d’un algorisme que resolgui els problemes següents (en cap cas s'ha d'escriure instruccions de l'algorisme): En concret, es demana que definiu les variables necessàries per representar les dades del problema (apartat var…fvar d’un algorisme) i que doneu la precondició i la postcondició. a) Que donades les qualificacions numèriques de les tres pràctiques d’una assignatura, els valors de les quals és 25%, 35% i 40%, digui si l’estudiant ha aprovat l’assignatura Pre { 0<=n1<=10; 0<=n2<=10; 0<=n3<=10; } var: n1, n2, n3:reals; resultat: boolean; fvar; post { resultat=cert si 0,25*n1+0,35*n2+0,4*n3>=5; resultat=fals en cas contrari } b) Que donat un número corresponent a un any del segle XXI i un altre número corresponent a un mes digui quants dies tindrà el mes de l’any en qüestió. Pre{ 2000<=any<2100; 1<=mes=<12; } var: any:enter; mes:enter; dies:enter; fvar Pos{dies que te el mes «mes» de l'any «any» } c) Que donada una cadena de text i una paraula digui quants de cops està continguda la paraula en la cadena de text Pre{paraula no buida } var: text:cadena; paraula:cadena; cops:enter; fvar Post{ cops= a nombre de vegades que apareix la paraula al text} Valoració - Cada apartat val 0.33 punts. 6
  • 7. - De cada apartat la pre i postcondició valen 0.2 punts (0.1 punts cadascuna), la declaració de variables, 0.1 punts i el nom, 0.03 punts. 7
  • 8. Exercici 4: Comprensió i seguiment d’algorismes [20%] Tasca: En una composició seqüencial, cada instrucció s’executa un cop i només un i en l’ordre que estan escrites. La composició alternativa permet, en canvi, que una instrucció s’executi o no segons el resultat d’avaluar una expressió. Per acabar, la composició iterativa permet que una instrucció s’executi més d’un cop en funció, també, de l’avaluació d’una expressió. Donat el següent algorisme, Donat el següent algorisme, algorisme rar var i, n, p, q, t : enter; fvar n := readInteger(); 9 q := readInteger(); 5 p := readInteger(); 3 i := 1; t := 10; mentre i < n fer → 8 execucions t := t * p + q; → 9105 si t > 5000 llavors p := p + 1; {instrucció a} sino si t > 500 llavors q := q + 5; {instrucció b} sino q := q + 10; {instrucció c} fsi fsi writeInteger ( t ) i := i + 1; fmentre falgorisme c, c, c, b, b, a, a, a 8
  • 9. digueu quants cops s’executaran les instruccions a, b i c si les dades que s'entren són 9, 5, 3. vegades que s’executa instrucció a 3 instrucció b 2 instrucció c 3 Valoració - Cada apartat val 0.66 punts. - Si no s’explica cap procés d’un apartat i és erroni, la seva puntuació serà 0. 9
  • 10. 10
  • 11. Exercici 5: Traducció d’un algorisme a PHP [20%] Tasca: Detector de primers especials Existeix tres tipus de nombres primeres especials, els primers besons, els primers cosins i els primers sexis. Es diu que dos números primers són besons si els separa només un número (p.e. el 5 i el 7, separats pel 6), són cosins si estan separats per tres números (p.e. 7 i 11, separats per 8,9 i 10) i es diu que són primers sexis (del llatí six: sis) si la diferencia entre ells és de sis unitats (p.e. 23 i 29) . L’ algorisme inferior permet calcular si una parella de números són primers besons, cosins o sexis. Cal que ompliu la plantilla pac1_exer5_plantilla.php amb la traducció de l’algorisme a PHP i renomeneu el fitxer a pac1_exer5.php Indicacions per a PHP Les dues dades s’entraran pel mètode $_GET en dos paràmetres de nom n1 i n2. La crida ha de ser del tipus: pac1_exer5.php?n1=13&n2=17 Per a comprovar el funcionament podeu fer servir http://prog.uoc.edu/pac1/pac1_exer5.php?n1=13&n2=17 Valoració - Traducció correcta de les expressions 0.5 punts - Traducció correcta de les composicions seqüencials 0.5 punts - Traducció correcta de les composicions alternatives 0.5 punts - Traducció correcta de les composicions iteratives 0.5 punts 11
  • 12. Copieu aquí el codi de la vostra solució <?php ?> 12
  • 13. Exercici 6: Problema, algorisme i programa en PHP [20%] Tasca: Mirar la xavalla de les butxaques S’ha de simular que un grup de persones es miren la xavalla que porten a les butxaques per veure qui porta més diners. La quantitat de persones (people) i la quantitat màxima de monedes que duen en la butxaca cadascú (max) es reben com arguments a la crida que ha de ser del tipus: pac1_exer6.php?people=2&max=6 El programa s'escriurà a la plantilla pac1_exer6_plantilla.php que es canviarà de nom a pac1_exer6.php pel lliurament Indicacions preceptives:  Per a cada persona es mostrarà : o en una primera línia, el retol #n People (on n és l’ordinal de la persona) o en una segona línea una quantitat aleatòria de monedes inferior o igual a l’argument max rebut en la crida i la suma de valors de les monedes mostrades. Els tipus de cadascuna de les monedes que es mostrin també s’escollirà de manera aleatòria.  En una darrera línia es dirà qui tenia més diners i la quantitat de diners que duïa.  Es faciliten les imatges per mostrar el contingut de les butxaques 1c.png 2c.png 5c.png 10c.png 20c.png 50c.png 1e.png 2e.png 13
  • 14.  Per a l'execució, totes les imatges se situaran a la mateixa carpeta de localhost que el fitxer php  Es pot comprovar el funcionament a http://prog.uoc.edu/pac1/pac1_exer6.php?people=2&max=6 Si es desitja es pot canviar els valors dels paràmetres Consells  Per tal d’obtenir nombres aleatoris es pot emprar la funció rand1 (a, b) que rep dos números com paràmetre i retorna un valor aleatori dins de l’interval [a, b]. Una manera d’aplicar això és extraure números aleatoris entre 1 i 8 i fer correspondre cadascun dels números a cadascuna de les monedes.  Recordeu que el resultat d'un programa php és un document en HTML. En aquest sentit es pot aprofitar la impressió de variables per anar construint el nom d'una imatge. per exemple, les següents instruccions $coin = '1e'; print "<img src='$coin.png'>"; donen com a resultat l'escriptura en la pàgina web de <img src='1e.png'>, és a dir, el tag per posar una moneda d’un euro. Valoració - Si no es fan servir cap composició iterativa ni cap composició alternativa, la puntuació de l’exercici serà 0. 1 http://php.net/manual/es/function.rand.php 14
  • 15. Copieu aquí el codi de la vostra solució ?php ? 15