You are on page 1of 10

Generalitat de Catalunya

Departament dEnsenyament
Institut Obert de Catalunya

Nom i cognoms

2251CFGS Administraci de Sistemes Informtics


2252 CFGS Desenvolupament d'Aplicacions Multiplataforma
Mdul 3 Programaci bsica
UF2 Disseny modular

EAC5
(Curs 201213 / 2n semestre)
Presentaci i resultats d'aprenentatge
Aquest exercici davaluaci continuada (EAC) es correspon amb els continguts treballats a la unitat 5Biblioteques. Proves. Recursivitat.
Els resultats d'aprenentatge que es plantegen sn:

Escriu i prova programes senzills reconeixent i aplicant els fonaments de la programaci modular.
Modularitza correctament els programes realitzats.
Realitza correctament les crides a funcions i la seva parametritzaci.
T en compte l'mbit de les variables en les crides a les funcions
Prova, depura, comenta i documenta els programes.
Dissenya, prova i documenta programes simples recursius.

Criteris davaluaci
La puntuaci mxima assignada a cada activitat sindica a lenunciat.
Els criteris que es tindran en compte per avaluar el treball de lalumnat sn els segents:

Que faci el que es demana.

Que la descomposici del problema en mtodes sigui adequada.

Que s'hagin corregit els errors de compilaci i funcioni.

Que sigui codi ordenat i clar: fer servir variables amb nom significatiu.

Tot codi ha de tenir una capalera apropiada.

Tot el codi ha d'estar correctament indentat (tabulaci adequada).

Fer el lliurament en format .zip o .7z (NO s'admet el .rar)

Forma i data de lliurament


Per respondre les qestions heu dutilitzar aquest mateix fitxer.

Codi: I71
Versi: 02

Exercici d'avaluaci contnua

Pgina 1 de 10

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/04/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms
Un cop finalitzat lexercici davaluaci continuada heu denviar el document des de l'apartat M03 Lliurament
EAC5 de l'aula, dins del termini establert. Tingueu en compte que el sistema no permetr fer lliuraments
desprs de la data i hora indicades.
El nom del fitxer ser el segent: 225XM03B2_EAC5_Cognom1_Inicial. Els cognoms sescriuran sense
accents. Per exemple, lestudiant Joan Garca Santos posaria el segent nom al seu fitxer de lEAC5:
225XM03B2_EAC5_Garcia_S.
Substituu Nom i cognoms de la capalera per les vostres dades personals.
El termini de lliurament finalitza a les 23:55 h del dia 12/04/2013 La proposta de soluci de lEAC es
publicar el dia 15/04/2013 i les qualificacions el dia 22/04/2013

Enunciat
Per publicar la soluci heu dutilitzar aquest mateix model, eliminant els apartats Presentaci i resultats
d'aprenentatge, Criteris davaluaci i Forma i data de lliurament i substituint Enunciat i Nom i cognoms per
Soluci.

Pautes generals a seguir en tots els exercicis:

Apliqueu disseny descendent estructurant el codi en diferents Classe i mtodes


independents que responguin a tasques/objectius concrets.

Les classes haurien de respondre a un conjunt de tasques relacionades i ben definides de


manera que sigui possible explicar de forma genrica quina seria la responsabilitat que
s'atorga a cada classe o el concepte que representa. Exemple: si tingussim la classe
Ebook podrem dir que representa un llibre electrnic, que s capa d'emmagatzemar el
contingut d'un llibre classificat per captols i pargrafs. Que el contingut es troba dividit per
pgines de manera que se li pot demanar el contingut textual d'una pgina ...

Intenteu sempre que sigui possible crear mtodes que sigui possible utilitzar en diferents
situacions fent servir si cal parmetres d'entrada i sortida . Recordeu de no abusar de l's
de variables globals.

Descriviu per cada classe la responsabilitat atorgada i el concepte que representa.

Descriviu abans de cada mtode la seva funcionalitat. Es tracta d'una descripci breu per
precisa de les dades que entren, el procs que realitza, i el resultat obtingut. Si cal podeu
fer tamb els comentaris que cregueu oportuns en el codi.

Separeu en diferents packages les classes segons la seva funcionalitat.

Feu servir tipus compostos o arrays de dades per a mantenir unida tota la informaci
referent a cada joc.

Als mtodes, intenteu separar sempre que sigui possible l'entrada de dades, els clculs o
procediments i la sortida dels resultats.

Definiu les dades com a constats, sempre que es tracti de dades que no varin.

Codi: I71

Exercici d'avaluaci contnua

Pgina 2 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms

Pregunta 1 (7 punts) Gesti d'una matriculaci d'un centre


Feu un programa que permeti la matriculaci i gesti de les notes d'un centre.
El programa ens ha de permetre escollir si volem fer una matricula d'un alumne, la gesti de les notes, i informe de
resultats de cada mdul.
Si escollim la matriculaci dels alumnes hem de poder matricular els alumnes mitjanant el DNI. En el cas que no
vulguem inserir cap altre alumne farem servir la marca de -1.
Com a mxim de cada mdul noms podem matricular 10 alumnes.
Exemple:
MENU:
1230-

Matriculaci
Entrada de notes
Informe de resultats
Sortir

Opci 1 Matriculaci (40%)


En la matriculaci es demanar primer de cop el DNI de l'alumne, Nom i cognoms. Ser necessari comprovar que
l'alumne no estigui repetit a la hora d'inserir-lo. (Noms es pot fer la matriculaci d'un sol cop)
--- Matriculacio --DNI: 40404040G
Nom: Pep
Cognom : Guardiola
Modul (M1,M2,M3,M4): M1 M2
Matriculaci correcta.
DNI: 40404041V
Nom: Tito
Cognom : Vilanova
Modul (M1,M2,M3,M4): M3 M4 M2 M1
Error. L'Alumne no pot estar matriculat en ms de tres mduls
Modul (M1,M2,M3,M4): M3 M4 M2
Matriculaci correcta.
DNI: 40404041V
Error. Alumne ja existent.
DNI: -1
--- FI Matriculaci --Observacions:

Un alumne no pot estar repetit, ho hem de controlar pel seu DNI


Un alumne no pot estar matriculat a ms de tres mduls.
Codi: I71

Exercici d'avaluaci contnua

Pgina 3 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms

Un alumne no pot estar matriculat ms d'una vegada al mateix mdul.

Opci 2 (30%)
Aquesta opci es divideix en dos apartats, una entra les notes d'un alumne concret per tots els mduls que fa, i altre
entrar les notes de tots els alumnes d'un determinat mdul.
Per cada mdul hem d'emmagatzemar totes les notes de cada UF per cada alumne matriculat. Per tant, necessitem un
array bidimensional.
Informaci d'unitats formatives per mdul:
M1 = 3 UF
M2 = 4 UF
M3 = 2 UF
M4 = 3 UF
Per exemple:
El M1 t 3 Unitats Formatives (UF) i t 5 alumnes matriculats. S'haur de crear una taula que emmagatzemi la
informaci de cada alumne matrculat i la seva nota per UF.
Entrada de notes d'alumnes(15%)
La entrada de notes d'alumnes ser a travs del DNI de l'alumne , on podrem entrar la nota del mdul escollit. La nota
de cada UF consistir en la mitjana de dues notes: practiques i teoria. La ponderaci de les dues notes ser de40% de
prctiques i 60% l'exmen de teric.
Exemple:
-- inici avaluacio moduls -DNI Alumne:
40404040G
Avaluacio Moduls (M1,M2,M3,M4)
M3
Aquest alumne no est matriculat en el mdul M3
Avaluacio Moduls (M1,M2,M3,M4)
M1
-- Avaluacio Modul 1-Quina UF vols avaluar? (UF1,UF2,UF3)
UF4
Error. UF no existent.
Quina UF vols avaluar? (UF1,UF2,UF3)
UF1
Nota teoria:
6
Nota prctiques:
7
La nota final del M1-UF1 s : 6,4
Quina UF vols avaluar? (UF1,UF2,UF3)
-1
-- FI avaluacio Modul 1 -Avaluacio Moduls (M1,M2,M3,M4)
-1

Codi: I71

Exercici d'avaluaci contnua

Pgina 4 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms
-- Fi avaluacio alumne -A partir d'aqu ja sabrem la nota de la UF que haur d'estar guardada en la nota del mdul. No cal guardar de manera
independent la nota de teoria i la nota de prctiques.
Observacions:

Hem de controlar i tornar un error si intentem avaluar un modul del qual l'alumne no est matriculat.
Un alumne noms es pot avaluar de les UF que t cada mdul
Cal controlar qualsevol error d'entrada que pugui ocrrer.
Per sortir de l'avaluaci, cal fer servir el valor -1.

Entrada de notes per mdul (15%)


Tamb hi ha la opci d'entrar les notes directament per tot un mdul iterant per cada alumne que estigui matriculat. En
aquest cas, es un procs que s'ha de fer tot de cop.
Exemple:
-- inici avaluacio moduls -Quin mdul vols avaluar? (M1,M2,M3,M4,M5)
M1
-- Avaluacio M1 -Alumne: 40404040G
-- UF1 -Teoria:
7
Practica:
7
-- UF2 -Teoria:
7
Practica:
7
-- UF3 -Teoria:
9
Practica:
9
TOTAL: 7,6
Alumne: 40404041V
-- UF1 -Teoria:
5
Practica:
5
-- UF2 -Teoria:
6
Practica:
6
-- UF3 -Teoria:
Codi: I71

Exercici d'avaluaci contnua

Pgina 5 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms
7
Practica:
7
TOTAL: 6
[...]
En aquest cas, al final de cada alumne, s'ha de dir la nota total calculada que t l'alumne d'aquell mdul.
Observacions:

Es un proces que s'ha de fer tot de cop, per tots els alumnes del modul.
Es important que es controlin les notes que s'entren (entre un rang [0,10])
Els alumnes sortiran sols directament dels alumnes matriculats, no cal que es posin a m.

Opci 3 (30%)
Informe de resultats:
Per ltim necessitem treure els resultats dels nostres alumnes des de diferents vistes. Aquest men tindr les opcions:
1 Visi per Alumne (15%)
En la visi per alumne ens interessa saber les notes que ha tret cada alumne per mdul i per assignatura segons la
ponderaci adjunta de cada UF associada a cada mdul.
La taula resultant hauria de ser com:

40404040

UF1

UF2

UF3

M1

M2

M3

UF4

Total
7.6

8
5.5

2 Visi per mdul (15%)

M1

UF1

UF2

UF3

Total

40404040G

7.6

40404041V

40404050X

40404080B

Nota
Mitjana

6.25

6.75

7.75

6.9

La nota mitjana ser una fila calculada que no caldr que estigui emmagatzemada en cap taula, per si que haur de
sortir a l'inform del mdul.

Codi: I71

Exercici d'avaluaci contnua

Pgina 6 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms
Copieu el vostre codi java:
S'ADJUNTA LA SOL.LUCI EN CODI

Copieu una captura de pantalla del programa d'execuci amb cada men:

Codi: I71

Exercici d'avaluaci contnua

Pgina 7 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms

Copieu una captura de pantalla del programa d'execuci amb cada men

Pregunta 2 (3 punts) Descomposici potncies


Feu un programa que ens des composi en base 2 les potncies d'un nmero entrat per teclat. El programa ens ha de
demanar un nmero positiu enter i ens ha de desglossar per potncies utilitzant la recursivitat.
Tant la base com l'exponent han de ser positius.
Exemples:
Entra un nmero: 33
El resultat es: 25+20
Entra un nmero: 15
El resultat es: 23+22+21+20
Entra un nmero: 67
El resultat es: 26+21+20
Copieu el vostre codi java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.util.Scanner;
/**
*
* @author IMMA
*/
public class ex2{
public static String resultat = "";
/*funcio recursiva */
static void convert(int num,int pas)
{
if (num>0) {
convert(num/2,pas+1);
if (num%2 == 1)
resultat = resultat + ("2^"+pas+"+");
}
}

Codi: I71

Exercici d'avaluaci contnua

Pgina 8 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms

/*funcio per llegir i comprovar nmero positiu */


static int entrar_numero()
{
boolean correcte=false;
int n=0;
Scanner lector = new Scanner(System.in);
while (!correcte)
{
System.out.println("Entra un numero: ");
n=lector.nextInt();
if (n>0) correcte=true;
}
return n;
}
public static void main(String[] args)
{
double x = 0;
int pas = 0;
int n=entrar_numero();
//crido a la funci recursiva
convert(n,pas);
//escric el resultat per pantalla
System.out.println("El resultat es: " + resultat.substring(0, resultat.length() - 1));
}
}
Copieu una captura de pantalla del programa d'execuci amb cada men:

Consells per un bon disseny:


1 Estructuraci del codi que respongui a un raonament lgic, fruit de l'aplicaci d'una disseny
descendent de manera que ajudi a estructurar i entendre el codi de l'aplicaci.
2 Modularitzaci del codi en paquets i classes de manera que segueixin criteris lgics
2.1
Les classes haurien de respondre a un conjunt de tasques relacionades i ben
definides de manera que sigui possible explicar de forma genrica quina seria la
responsabilitat que s'atorga a cada classe o el concepte que representa.
2.2
El paquets agrupen diverses classes relacionades entre elles per alguna
caracterstica. Per exemple que conformin un funcionalitat complexa.

Codi: I71

Exercici d'avaluaci contnua

Pgina 9 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.

Formaci professional
Nom i cognoms
3 Documentaci i descripci adequada de classes i mtodes
3.1

Descriviu per cada classe la responsabilitat atorgada i el concepte que representa.

3.2
Descriviu abans de cada mtode la seva funcionalitat. Es tracta d'una descripci
breu per precisa de les dades que entren, el procs que realitza, i el resultat obtingut. Si
cal podeu fer tamb els comentaris que cregueu oportuns en el codi.
4 Facilitar la reutilitzaci del codi en diferents situacions
4.1
Intenteu sempre que sigui possible crear mtodes que sigui possible utilitzar en
diferents situacions fent servir si cal parmetres d'entrada i sortida.
4.2
Als mtodes, intenteu separar sempre que sigui possible l'entrada de dades, els
clculs o procediments i la sortida dels resultats.
5 s de tcniques que facilitin la lectura i comprensi del codi
5.1

s de constats

5.2

s de la notaci camelCase o UpperCamelCase segons el cas.

5.3

Incorporaci de comentaris clarificadors del codi

5.4

Noms descriptius de variables, classes i mtodes.

5.5
Agrupaci de les dades en tipus que permetin mantenir unida tota la informaci que
constitueixi una certa unitat dins l'aplicaci.

Codi: I71

Exercici d'avaluaci contnua

Pgina 10 de 10

Versi: 02

225XM043B3_EAC5_Enunciat_1213S2

Lliurament:
12/05/2013

Assegureu-vos que aquest document s vigent. Consulteu el web.