225XM03B2_EAC5_Enunciat_1314S1

8
Formació professional Nom i cognoms 2251 CFGS Administració de Sistemes Informàtics 2252 CFGS Desenvolupament d'Aplicacions Multiplataforma Mdul ! " #ro$ramació %àsica &F2 " Dissen modular EAC5 (Curs 2)1!"1* + 1r semestre, #resentació i resultats d'aprenentat$e  Aquest exercici d’avaluació continuada (EAC) es correspon amb els continguts treballats a la cinquena unitat U5 -.i%liote/ ues0 #roves0 ecursivitat Els resultats d'aprenentat $e que es plantegen són: Escriu i prova programes senills reconeixent i aplicant els !onaments de la programació modular" #odularita correctament els programes realitats" $ealita correctament les crides a !uncions i la seva parametritació" %& en compte l'mbit de les variables en les crides a les !uncions rova* depura* comenta i documenta els programes" +issen,a* prova i documenta programes simples recursius" Criteris d3avaluació %àsics -a puntuació i els criteris espec.!ics de l'EAC s'especi!iquen l'apartat puntuació" %ot i aix. cal que tingueu en compte tamb& els seg/ents criteris bsic a l'0ora de codi!icar la solució" er norma general* la solució cal que: 1aci el que es demana" 2'0agin corregit els errors de compilació i pugui executar3se" 2igui codi ordenat i clar: !er servir variables amb nom signi!icatiu" %ingui un comentari de cap4alera apropiat i prou descriptiu" El codi estigui correctament indentat" El codi estigui adequadament comentat -a descomposició del problema en mtodes sigui adequada" -'organitació del problema en classes sigui adequada -'organitació de les classes en paquets sigui adequada El lliurament es !aci en !ormat "ip o "6 (N7 s'admet el "rar) Forma i data de lliurament er resoldre l'exercici 0aureu de crear !itxers de codi 8A9A usant l'+E Netbeans" Codi: 6; Exercici d'avaluació cont.nua 5 gina ; de < 9ersió: => >>5?#=@>BEAC5 EnunciatB;@;2; -liurament: =<D;;D>=;@

Transcript of 225XM03B2_EAC5_Enunciat_1314S1

Page 1: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 1/8

Formació professionalNom i cognoms

2251 CFGS Administració de Sistemes Informàtics2252 CFGS Desenvolupament d'Aplicacions

Multiplataforma

Mdul ! " #ro$ramació %àsica&F2 " Dissen modular 

EAC5(Curs 2)1!"1* + 1r semestre,

#resentació i resultats d'aprenentat$e Aquest exercici d’avaluació continuada (EAC) es correspon amb els continguts treballats a la

cinquena unitat U5 -.i%liote/ues0 #roves0 ecursivitat

Els resultats d'aprenentat$e que es plantegen són:

• Escriu i prova programes senills reconeixent i aplicant els !onaments de la programaciómodular"

• #odularita correctament els programes realitats"• $ealita correctament les crides a !uncions i la seva parametritació"• %& en compte l'mbit de les variables en les crides a les !uncions• rova* depura* comenta i documenta els programes"• +issen,a* prova i documenta programes simples recursius"

Criteris d3avaluació %àsics

-a puntuació i els criteris espec.!ics de l'EAC s'especi!iquen l'apartat puntuació" %ot i aix. cal quetingueu en compte tamb& els seg/ents criteris bsic a l'0ora de codi!icar la solució" er normageneral* la solució cal que:

• 1aci el que es demana"• 2'0agin corregit els errors de compilació i pugui executar3se"• 2igui codi ordenat i clar: !er servir variables amb nom signi!icatiu"• %ingui un comentari de cap4alera apropiat i prou descriptiu"• El codi estigui correctament indentat"• El codi estigui adequadament comentat• -a descomposició del problema en mtodes sigui adequada"• -'organitació del problema en classes sigui adequada• -'organitació de les classes en paquets sigui adequada•

El lliurament es !aci en !ormat "ip o "6 (N7 s'admet el "rar)

Forma i data de lliurament

er resoldre l'exercici 0aureu de crear !itxers de codi 8A9A usant l'+E Netbeans"

Codi: 6; Exercici d'avaluació cont.nua 5 gina ; de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

Page 2: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 2/8

Formació professionalNom i cognoms

Un cop !inalitat l’exercici d’avaluació continuada 0eu d’enviar els !itxers de codi (no cal enviar totel proecte* n'0i 0a prou enviant els !itxers de codi organitats en els mateixes carpetes que us0agi generat l'+E i comprimits en un Fnic !itxer de !ormat zip o 7z "Gaureu de lliurar el !itxer generat a l'apartat M)! 4liurament  AC5 de l'aula* dins del terminiestablert" %ingueu en compte que el sistema no permetr !er lliuraments despr&s de la data i 0oraindicades"

El nom del !itxer ser el seg/ent: 2256M)!.27AC57Co$nom17Inicial  del cognom>"  Elscognoms s’escriuran sense accents" er exemple* l’estudiant Joan García Santos  posaria elseg/ent nom al seu !itxer de l’EAC>: 2256M)!.27AC*7Garcia7S"

 Assegureu3vos que els !itxers de codi compilen i es troben lliures d'errors"

 A!egiu el vostre Nom i Cognoms a la cap4alera dels !itxers de codi"

El termini de lliurament !inalita a les 2!855 9 del dia ):+11+2)120  -a proposta de solució del’EAC es publicar el dia ;>D;;D>=;> i les quali!icacions el dia ;HD;;D>=;>"

nunciat

autes generals:

•  Apliqueu dissen, descendent estructurant el codi en di!erents Classe i mtodesindependents que responguin a tasquesDobectius concrets"

• -es classes 0aurien de respondre a un conunt de tasques relacionades i bende!inides de manera que sigui possible explicar de !orma genrica quina seria laresponsabilitat que s'atorga a cada classe o el concepte que representa"Exemple: si tingu&ssim la classe EbooI podr.em dir que representa un llibreelectrJnic* que &s capa4 d'emmagatemar el contingut d'un llibre classi!icat percap.tols i pargra!s" Kue el contingut es troba dividit per pgines de manera que

se li pot demanar el contingut textual d'una pgina """

• ntenteu sempre que sigui possible crear mtodes que sigui possible utilitar endi!erents situacions !ent servir si cal parmetres d'entrada i sortida 0 ecoredeude no a%usar de l';s de varia%les $lo%als0

• +escriviu per cada classe la responsabilitat atorgada i el concepte querepresenta"

• +escriviu abans de cada mtode la seva !uncionalitat" Es tracta d'una descripcióbreu perJ precisa de les dades que entren* el proc&s que realita* i el resultatobtingut" 2i cal podeu !er tamb& els comentaris que cregueu oportuns en el codi"

• 2epareu en di!erents pacIages les classes segons la seva !uncionalitat" 

• 1eu servir tipus compostos o arra,s de dades per a mantenir unida tota lain!ormació re!erent a cada oc"

Codi: 6; Exercici d'avaluació cont.nua 5 gina > de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

Page 3: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 3/8

Formació professionalNom i cognoms

•  Als mtodes* intenteu separar sempre que sigui possible l'entrada de dades* elsclculs o procediments i la sortida dels resultats"

• +e!iniu les dades com a constats* sempre que es tracti de dades que no variLn"

<ercici

$ealitar un programa que permeti ugar a una variant de l'Scrabble* el popular oc decreació de paraules a partir d'una conunt de lletres aga!ades a l'atar"

 Aquesta &s un versió per un Fnic ugador centrada nom&s en la temtica espec.!icad'instruments musicals" -a mquina va a!egint a cada torn una nova lletra aga!ada al'atar" El conunt de lletres a!egides es mostraran per pantalla en una matriu (o dipositde lletres) que anir omplint3se una a una" El ugador 0aur de trobar paraules de latemtica proposada i escriure3les per tal que l'aplicació pugui veri!icar la correctesa de laparaula* quant a la seva existncia en el diccionari (es tracta d'una paraula vlida) iquant a les lletres que la composin (totes les lletres utilitades en composar la paraulaes troben al dipJsit de lletres* en la mateixa quantitat)"

-a introducció de paraules correctes* dona tans punts com lletres tingui la paraula" Am&s* les lletres utilitades en la composició* desapareixeran del diposit de lletres !entdisminuir la seva ocupació"

2 l'usuari no detecta cap lletra podr passar de torn prement la tecla MEN%$A$" AixJa!egir una nova lletra al diposit i permetr a l'usuari introduir noves paraules i passar alseg/ent torn"

El oc continuar !ins que les lletres emmagatemades al diposit superin el seu mxim ob& !ins que s'arribi al nombre mxim de torns que el oc estableix" Obviament* al ugador l'interessar* per tal d'aconseguir el mxim de punts* esgotar sempre el nombre detorns" E- ugador podr abandonar voluntriament el oc introduint el carcter asterisc MPquan se li demani la introducció d'una paraula"

nicialment l'aplicació mostrar el t.tol del oc i un petit menF inicial amb opcions:Jugar * Configurar * Ajuda i Sortir " -a pantalla tindr una visió similar a:

Codi: 6; Exercici d'avaluació cont.nua 5 gina @ de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

***************************************** JOC DE L'ESCRABBLE *****************************************

J.- Jugar

C.- ConfiguracióA.- AjudaX.- Sortir

Seleciona una oció del !en" i re! #Entrar$

Page 4: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 4/8

Formació professionalNom i cognoms

 Aquest menF nom&s respondr a alguna de les opcions vlides" En cas que l'usuaripremi un opció incorrecta no es mostrar missatge d'error sinó que es romandr amb elmateix menF !ins que la tecla premuda sigui una j * una c * una a o una x "

Si l'usuari escull la opció j * es comen4ar una partida en aquesta versió limitada del'scrabble tal com s'0a explicat" +urant el desenvolupament del oc* la pantalla mostrada

tindr sempre la mateixa estructura" Una ona in!ormativa* el conunt o diposit de lletresque l'usuari pot !er servir i que la mquina anir incrementant a cada torn i la invitaciódemanat a l'usuari que trobi i escrigui una paraula vQlida amb les lletres que tingui a laseva disposició" -a ona d'in!ormació contindr el nombre de torns ugats !ins elmoment i el nombre mxim de torns adms" %amb& 0i trobarem el nombre de puntsaconseguits i el percentatge d'ocupació del diposit de lletres" $ecordeu que quant elpercentatge d'ocupació superi el ;==R la partida s'acabar" Una possible pantallapodria ser:

En aquest punt l'aplicació restar a l'espera de l'acció de l'usuari* el qual podr: escriureun paraula i pr&mer MEN%$A$* pr&mer directament MEN%$A$ (per passar al seg/ent

torn) o escriure el carcter MP i pr&mer entrar si desita cancelSlar la partida"2i l'usuari opta per escriure un paraula* aquesta es veri!icar amb un diccionari (llista deparaules vlides) intern que es carregar a l'inici de la partida" %amb& es comprovar siles lletres utilitades es troben totes al diposit de lletres i en cas a!irmatiu es passar a:

•  A!egir el nombre de punts corresponents a la mida de la paraula en el marcador del ugador"

• Eliminar les lletres utilitades del diposit de lletres"

 A m&s* es passar al seg/ent torn incrementant el diposit amb un lletra m&s aga!ada al'atar i mostrant de nou la in!ormació explicada (torn* punts* nivell d'ocupació* lletres autilitar i invitació a escriure una paraula)"

En cas que la paraula introduLda no !os correcta* es mostrar per pantalla un petitmissatge indicant30o i es passar tot seguit a canviar de torn* incrementant el nombrede lletres del dipJsit en una m&s"

En cas que la partida 0agi arribat al llindar del diposit* s'0agin esgotat el nombre detorns o l'usuari 0agi cancelSlat prement el s.mbol asterisc* es mostrar un missatge

Codi: 6; Exercici d'avaluació cont.nua 5 gina de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

%%%%%%%%%%%%%%%%%&orn ( de )+unt, acon,eguit,

i/ell d'ocuació del tauler 012%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Lletre, 3ue ot, utilit4ar561 C1 R1 D1 L1 R1 O1 &1 R1 E55R1 L1

7ntenta e,criure una araula a!8 le, lletre, 3ue ten, a la taula ore! 9Entrar: ,i no ;o acon,eguei<e,

Page 5: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 5/8

Formació professionalNom i cognoms

resum indicant el motiu de la !inalitació de la partida (cancelSlació* dipJsit ple oesgotament del nombre de torns) i el nombre de punts aconseguits"

 A m&s* la !inalitació ens dur al menF principal on l'usuari podr escollir* ugar de nou*con!igurar el oc* demanar auda o sortir"

 Abans d'entrar en la !uncionalitat de les altres opcions cal de!inir en detall la inicialitacióde cada partida del oc" -'aplicació contindr dos valors de con!iguració* la quantitatmxima de lletres suportada pel dipJsit i el nombre de torns mxim que tindr unapartida" Caldr mantenir aquestes dades unt amb els punts aconseguits i el nombre detorns ugats" er !er30o us aconsellem que useu una Fnica variable contenint totes lesdades indicades"

-a inicialitació implicar tamb& la crrega en memJria* de la llista de paraules vlides"En aquest exercici la llista estar escrita directament en el codi a que aqu. no es podrcanviar de temtica" #algrat tot cal que plani!iqueu les vostres dades pensant quepotser en un !utur pugui incorporar3se aquesta opció de manera que cada partida podriatenir di!erents temtiques i llistes de paraules vlides"

En el cas que ens ocupa* la llista cal que es correspongui amb el seg/ent codi:

+urant la inicialitació tamb& caldr generar un arra, contenint totes les lletres de lallista de paraules incloses les repetides" Aquest arra, actuar a mode de modelprobabil.stic quan calgui escollir una lletra a l'atar" 1ent servir aquest arra, queanomenarem modelProbailistic  assegurarem que les lletres generades es corresponensempre a la llista de paraules i s'obtenen amb una probabilitat similar a la !req/nciareal que cada carcter tingui en relació a la llista" 1eu servir aquest model durant lapartida* per anar omplint les lletres del diposit quan calgui d'acord amb la !req/ncia

esperada"

Comentar tamb& que a l'0ora de mostrar el diposit de lletres que l'usuari podr !er servir*s'estructur en !iles de ;= columnes cada una per !acilitar3ne la lectura"

Codi: 6; Exercici d'avaluació cont.nua 5 gina 5 de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

String9: araule,%=  >ACORD7O>1 >AR+A>1 >BALALA7CA>1 >BAJO>1 >BA&ER7A>1 >BED7R>1

>BO?BARDA>1 >BO?BO>1 >BO@OS>1 >B67RO>1 >CA?+AA>1 >CA?+AE&ES>1>CARRACA>1 >CARR7LO>1 >CASCAELLS>1 >CAS&AOLES>1 >C7&ARA>1

  >CLAR7E&>1 >CLA6S>1 >CLA7CE?BAL>1 >CLA7CORD7>1 >CO&RABA7X>1>COR>1 >CORE&A>1 >C67CA>1 >DARB6A>1 >DJE?BE>1 >DOLA7A>1>D6>1 >A@O&>1 >LAB7OL>1 >LA6&A>1 >LA6&7>1 >@A7&A>1>@67?BARDA>1 >@O@>1 >@RALLA>1 >@67&ARRA>1 >FAR?O7CA>1 >AL7?BA>1>LLA6&>1 >?ADOL7A>1 >?ARAG6ES>1 >?AR7?BA>1 >?A&RACA>1 >OBOE>1>OCAR7A>1 >OR@6E>1 >+ADERE&A>1 >+ADERO>1 >+7AO>1 >+7CACAA>1

  >+LA&ERE&S>1 >RABELL>1 >SAL&7R7>1 >SAXOO>1 >&ABAL>1 >&ABALE&>1

>&A?BOR>1 >&A?BOR7>1 >&ARO&A>1 >&EORA>1 >&7BLE>1 >&7?BAL>1>&7?BALES>1 >&R7A@LE>1 >&RO?BO>1 >&RO?+A>1 >&RO?+E&A>1 >&6BA>1>7OLA>1 >7OL7>1 >7OLOCEL>1 >X7LA>1 >X7LOO>1 >X7?BO?BA>

HI

Page 6: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 6/8

Formació professionalNom i cognoms

Si l'usuari escull la opció c * es possibilitar de con!igurar els > parmetres variablesde les partides: la mida del dipJsit i el nombre de torns mxim que caldr contemplar acada partida" En aquesta opció caldr controlar que l'usuari doni sempre una respostanumrica i no es passar de q/estió !ins que no succeeixi aix." Un cop respostescorrectament ambdues q/estions es demanar que polsi la tecla entrar per sortir de lacon!iguració i passar de nou al menF principal" Exemple:

Si l'usuari escull la opció a* es mostrar la pantalla d'auda i s'indicar a l'usuari quepremi la tecla MEN%$A$ per continuar" -a pantalla d'auda 0aur de tenir una aparen4asimilar a la seg/ent:

Si l'usuari escull la opció x * la opció Sortir del menF principal* es demanar a l'usuarique con!irmi si desita realment sortir i en cas a!irmatiu se sortir de l'aplicació" En casnegatiu es tornar de nou al menF principal"

#untuació8-'exercici es valorar de la seg/ent manera:

Codi: 6; Exercici d'avaluació cont.nua 5 gina H de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

O+C7 DE CO7@6RAC7 DEL JOC%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Guant, torn, /ol, ferK)Guin no!8re !<i! de lletre, /ol, tenir ,o8re la taulaK(re! 'Entrar' er a continuar

+A&ALLA D'AJ6DA%%%%%%%%%%%%%%%%A3ue,t M, una joc er arendre /oca8ulari.A la antalla aniran aarei<ent lletre, a l'at4ar.7ntenta e,criure no!, d'in,tru!ent, co!8inant le, lletre,.Cada co 3ue e,crigui, un no! correcte acon,eguir,unt, ieli!inar, de la antalla le, lletre, u,ade,.Si ,uere, el no!8re !<i! de lletre, a la antalla el jocfinalit4ar.El joc finalit4ar ta!8M de,rM, d';a/er tirat el no!8re !<i! de/egade,.7ntenta acon,eguir el !<i! de unt, e,cri/int tant, no!, co! et

,igui o,,i8le.Si de,itge, aca8ar el joc /oluntria!ent ;aur, de clicar la tecla9*: i re!er 9E&RAR:1 3uan et de!ani la introducció d'una araula.SOR&N

re! 'Entrar' er a continuar

Page 7: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 7/8

Formació professionalNom i cognoms

 ; Estructuració del codi que respongui a un raonament lJgic* !ruit de l'aplicació d'unadissen, descendent de manera que audi a estructurar i entendre el codi del'aplicació" (>=R)

 > #odularitació del codi en paquets i classes de manera que segueixin criteris lJgics(>=R):

 >"; -es classes 0aurien de respondre a un conunt de tasques relacionades iben de!inides de manera que sigui possible explicar de !orma genrica quinaseria la responsabilitat que s'atorga a cada classe o el concepte que representa"Exemple: si tingu&ssim la classe EbooI podr.em dir que representa un llibreelectrJnic* que &s capa4 d'emmagatemar el contingut d'un llibre classi!icat percap.tols i pargra!s" Kue el contingut es troba dividit per pgines de manera quese li pot demanar el contingut textual d'una pgina """

>"> El paquets agrupen diverses classes relacionades entre elles per algunacaracter.stica" er exemple que con!ormin un !uncionalitat complexa" maginemque seguint amb l'exemple anterior tingu&ssim a m&s de la classe EbooI* dediverses classes per llegir els diversos !ormats de llibres electrJnicsemmagatemats en !itxers" %otes les classes con!ormarien una unitat !uncional iper tant podrien situar3se en una mateix paquet" Un altre criteri podria seragrupar les classes segons si es tractessin de inter!.cies d'usuari o b& de classesper a realitar clculs o tractaments de dades necessaris per a l'aplicació perJsense intervenció de l'usuari"

 @ +ocumentació i descripció adequada de classes i mtodes (;=R)

 @"; +escriviu per cada classe la responsabilitat atorgada i el concepte querepresenta"

 @"> +escriviu abans de cada mtode la seva !uncionalitat" Es tracta d'unadescripció breu perJ precisa de les dades que entren* el proc&s que realita* i elresultat obtingut" 2i cal podeu !er tamb& els comentaris que cregueu oportuns enel codi"

  Ts de la !uncionalitat de les classes espec.!iques de 8A9A com ara 2tring* #at0*$andom* etc" (;5R)

 5 1acilitar la reutilitació del codi en di!erents situacions(;5R)

 5"; ntenteu sempre que sigui possible crear mtodes que sigui possible

utilitar en di!erents situacions !ent servir si cal parmetres d'entrada i sortida"

 5"> Als mtodes* intenteu separar sempre que sigui possible l'entrada dedades* els clculs o procediments i la sortida dels resultats"

 H Ts de tcniques que !acilitin la lectura i comprensió del codi (>=R)

Codi: 6; Exercici d'avaluació cont.nua 5 gina 6 de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@

Page 8: 225XM03B2_EAC5_Enunciat_1314S1

7/23/2019 225XM03B2_EAC5_Enunciat_1314S1

http://slidepdf.com/reader/full/225xm03b2eac5enunciat1314s1 8/8

Formació professionalNom i cognoms

 H"; Ts de constats

 H"> Ts de la notació camelCase o UpperCamelCase segons el cas"

 H"@ ncorporació de comentaris clari!icadors del codi

 H" Noms descriptius de variables* classes i mtodes"

 H"5 Agrupació de les dades en tipus que permetin mantenir unida tota lain!ormació que constitueixi una certa unitat dins l'aplicació"

Codi: 6; Exercici d'avaluació cont.nua 5 gina < de <

9ersió: =>>>5?#=@>BEAC5BEnunciatB;@;2; -liurament:

=<D;;D>=;@