pac1_pa
DESCRIPTION
PAC 1 de l'assignatura de Programació Algorítmica [UOC - Grau en Multimèdia]TRANSCRIPT
Nom
Estudis dInformtica, Multimdia i Telecomunicaci Programaci
PAC1 Document dexercicisEstudiant
Cognoms: Escriu aqu els teus cognoms
Nom: Escriu aqu el teu nom
Exercici 1: Tipus i expressions [20%]
Tasca: Donades les segents definicions de tipus, constants i variables
const
CONSTA : enter = 36;
CONSTAR : real = 3.0;fconst
var
i, j, k :enter;
r : real;
c,d: carcter;
t, u: cadena;
b: boole;
fvara) Avalueu les segents expressions amb potencials conflictes de tipus. Si lexpressi s correcta digueu quin seria el tipus resultant davaluar-la. Si lexpressi s incorrecta indiqueu lerror detectat. (recordeu que l'operador = s de relaci):
i) b i > rii) integerToReal(r) div kiii) c > d i j * k * i < realToInteger (r / 22.0)iv) charToCode(d) mod realToInteger(r / 12.2)b) Creeu les segents expressionsv) Expressi que donades les dues variables enteres j i k, doni, amb decimals, el percentatge que la primera representa de la segona.
vi) Expressi que digui si es compleix, a lhora, que el carcter c s anterior alfabticament a di que el nmero r t un valor superior a i.
Exercici 2: Avaluaci dexpressions [10%]
Tasca: Donades les definicions de tipus i variables de lexercici 1 i suposant que les variables tenen els valors segents:i:=2, j:=4, k:=12, r:=2.33, c:=A, d:=Z, t:=Fe, u:=EF
Calculeu el resultat de les expressions segents: a) CONSTA * i + 5b) 134>i*67 o 'a' > c
c) 6 18 mod 7 i k = CONSTA mod 3d) 99.0 / integerToReal(CONSTA div j)e) no('a' < d) i r = 7.0 / CONSTAR i t > u certExercici 3: Declaraci de variables i especificaci [10%]
Tasca: Declareu les variables necessries i doneu les especificacions dun algorisme que resolgui els problemes segents (no s'ha d'escriure l'algorisme):
En concret, es demana que definiu les variables necessries per representar les dades del problema (apartat varfvar dun algorisme) i que doneu la precondici i la postcondici.a) Que donats el preu dun objecte, la quantitat sen compra, el descompte i lIVA aplicable ens digui el preu total de la compra.
b) Que donats dos nmeros digui si el segon es divisor del primer o no.
c) Que donada una cadena de text digui quantes vocals de cada tipus hi ha Exercici 4: Comprensi i seguiment dalgorismes [20%]
Tasca: Donat el segent algorisme,
algorisme rarvar
i, q : enter;
p, v, t : real;
fvar
per i:=1 fins 3 fer
q := readInteger();
p := readReal();
v := integerToReal (q) * p;
si q > 100 llavors
t := v * 0.8;
sino si q > 30 llavors
t := v * 0.9;
sino
t := v
fsi
fsi
writeReal ( t * 1.16)
fper
falgorismedigueu qu escriur si les dades que s'entren sn 12, 1000, 1000, 12, 31, 11Exercici 5: Traducci dun algorisme a PHP [20%]
Tasca: L algorisme.inferior permet calcular i escriure el valor corresponent a un nombre binari. (Per exemple, per una entrada 1001010 donaria com resultat 74)algorisme passaAValor
var
in, factor, value, last. lastValue : enter
fvar
in := readInteger();
bin := in;
factor := 1;
value := 0;
mentre bin > 0 fer
last := bin mod 10;
lastValue := last * factor;
value := value + lastValue;
factor := factor * 2;
bin := bin div 10;
fmentre
writeString ("La representaci ");
writeInteger ( in );
writeString (" en base 2 correspon al valor ");
writeInteger ( value );
falgorisme
Cal que ompliu la plantilla PLA1_exer5_plantilla.php amb la traducci de lalgorisme a PHP i renomeneu el fitxer a PLA1_exer5.phpIndicacions per a PHPLa dada sentrar pel mtode $_GET en un parmetre de nom in. La crida ha de ser del tipus: PAC1_exer5.php?in=1001010Per a comprovar el funcionament podeu fer servirhttp://phppract.comlu.com/pac1/PAC1_exer5.php?in=10010101Advertncia
La representaci dels nombres enters dins de lordinador est limitada. El programa funcionar correctament per a nmeros binaris de fins a 10 xifres, per a partir de 11 xifres el resultat pot no ser correcte.Copieu aqu el codi de la vostra soluci
Exercici 6: Problema, algorisme i programa en PHP [20%]
Tasca: Simular un tirador aleatori de daus o monedes.
El programa rep dues dades:
choice: un carcter que indica si s'ha de tirar monedes (c) o daus (d) qtty: un nmero enter positiu
en pantalla es mostraran daus o monedes en la quantitat indicada.
El programa s'escriur a la plantilla PAC1_exer6_plantilla.php que es renombrar a PAC1_exer6.php pel lliuramentIndicacions:
Es faciliten les imatges per mostrar daus i monedes
1.png2.png3.png4.png5.png6.pngcara.pngcreu.png
Per a l'execuci, totes les imatges se situaran a la mateixa carpeta de localhost que el fitxer php
L'entrada de dades s'haur de realitzar pel mtode $_GET de manera que funcioni amb una crida del tipus: PAC1_exer6.php?choice=X&qtty=N on X s un carcter (c o C per a monedes i d o D per a daus) Si el parmetre qtty t un valor superior a 6 es mostraran noms 6 daus o monedes
Per simular el sorteig es far servir la funci rand(min, max) que rep dos nombres enters (min i max) i retorna un nmero enter entre ells, ambds inclosos. Es pot comprovar el funcionament a http://phppract.comlu.com/pac1/PAC1_exer6.php?choice=X&qtty=N Copieu aqu el codi de la vostra soluci HYPERLINK "http://php.net/manual/es/function.rand.php" http://php.net/manual/es/function.rand.php
8