Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Estudis d’Informàtica, Multimèdia i Telecomunicació
Programació
PAC1 — Document d’enunciats
Estudiant
Cognoms: Baldoví Mar...
Exercici 1: Tipus i expressions [20%]
Tasca: Donades les següents definicions de tipus, constants i variables
const
CONSTA...
v) Expressió que ens digui si al menys una de les tres variables enteres és superior
al valor de CONSTAR.
(enterAReal ( i)...
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Prog_pac3
Prog_pac3
Wird geladen in …3
×

Hier ansehen

1 von 15 Anzeige

Prog_pac1

Herunterladen, um offline zu lesen

L'assignatura de programació tracta de l'aprenentatge al disseny bàsic d'algoritmes.
La resolució d'algoritmes per cada problema es basa a aplicar una sèrie d'instruccions i càlculs que depenent del problema aquest tindrà més instruccions o menys. Aquesta tasca és bàsica, per poder després entendre qualsevol llenguatge de programació és una assignatura que si no es té coneixements previs és molt abstracta.
A part de la confecció d'algoritmes amb pseudocodi també es practica la resolució d'algoritmes utilitzant el llenguatge de programació PHP.

L'assignatura de programació tracta de l'aprenentatge al disseny bàsic d'algoritmes.
La resolució d'algoritmes per cada problema es basa a aplicar una sèrie d'instruccions i càlculs que depenent del problema aquest tindrà més instruccions o menys. Aquesta tasca és bàsica, per poder després entendre qualsevol llenguatge de programació és una assignatura que si no es té coneixements previs és molt abstracta.
A part de la confecció d'algoritmes amb pseudocodi també es practica la resolució d'algoritmes utilitzant el llenguatge de programació PHP.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Weitere von Marcos Baldovi (20)

Anzeige

Prog_pac1

  1. 1. Estudis d’Informàtica, Multimèdia i Telecomunicació Programació PAC1 — Document d’enunciats Estudiant Cognoms: Baldoví Martínez Nom: Marcos 1
  2. 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. 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. 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. 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. 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. 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. 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. 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. 10
  11. 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. 12. Copieu aquí el codi de la vostra solució <?php ?> 12
  13. 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. 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. 15. Copieu aquí el codi de la vostra solució ?php ? 15

×