pac1_pa

12
Estudis d’Informàtica, Multimèdia i Telecomunicació Programació PAC1 — Document d’exercicis Estudiant Cognoms: Escriu aquí els teus cognoms Nom: Escriu aquí el teu nom 1

Upload: tictools

Post on 07-Nov-2015

12 views

Category:

Documents


6 download

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