Problemas para comprender un enunciado
Publicado por Nicolás (1 intervención) el 13/07/2011 12:05:49
Buenas colegas, soy Nicolás y soy un graduado de los cursos Control F, a pesar de haber puesto mucho empeño en querer aprender este lenguaje y tener una trayectoria de 10 años en la informatica todavia me cuesta comprender la sintaxis operacional del lenguaje, es por eso que voy a estar molestando con consultas para poder aprender y enseñar a los novatos venideros, en fin... este es el enunciado de mi problema:
Juego de Rol
La federacion argentina de waterpolo nos ha pedido desarrollar un sistema para administrar su campeonato nacional de waterpolo, en el cual participan equipos de hasta 3 jugadores, del mismo participan equipos de todo el pais.
De cada club se mantiene un nombre, su direccion y los datos de su presidente. Tambien todos los jugadores y cuerpo tecnico que conforman su plantel profesional. ADemas de los datos personales, del entrenador y preparador fisiso se manteiene su antiguedad en el cargo, mientras que para los jugadores se mantiene su posicion dentro del campo de juego (arquero, defensor y delantero). Se debe poder agregar nuevos jugadores al club, asi como tambien cambiar su tecnico, preparador fisico o su presidente.
Este es un ejemplo del ultimo partido:
Una vez jugados todos los partidos e ingresados al sistema se deben considerar las siguientes consultas:
1-fue sancionado (jugador partido). Dado un jugador y un partido, ver si ese jugador resulto sancionado en el mismo. Por ejemplo esta funcion devuelve verdadero si preguntamos por clara y el partido del recuadro 1. En cambio, para daniel y el mismo partido devuelve Falso.
2-Dado un jugador, devolver la cantidad de partidos donde fue sancionado. sie le partido del recuadro 1 fuera el unico partido del campeonato, esta funcion retornaria 1 para pablo y 0 para el resto. (puede utilizar la funcion definida en el punto anterior para la resolucion de este punto).
3- Dado un club devolver el jugador mas sancionado. nuevamente puede utilizar la funcion definida del punto 2 para esta resolucion.
4-Dado un club y un partido devolver verdadero si el club participo en ese encuentro y falso en caso contrario.
5-Dado un club y un partido, obtener los puntos que obtuvo en ese partido. los puntos son obtenidos de la siguiente manera:
. 4 puntos al ganador
.2 puntos al empate
.0 puntos al perdedor
.Ademas, los clubes que ganen por 3 goles o mas reciben 1 punto extra. En caso del partido del ejemplo desamparados recibe 4 puntos y defensores de almagro 0 si el resultado hubiera sideo de 5 a 2 por ejemplo desamparados recibiria en total 5 puntos, al obtener el punto extra de ganar por 3 goles o mas de diferencia
6-Dado un club, obtener los puntos que obtuvo durante todo el campeonato.
7- Finalmente se pido obtener el campeon del torneo, se puede utilizar la funcion definida en el punto 6.
Este es mi progreso hasta el momento:
No pretendo que me den la solucion servida en bandeja, prefiero una explicacion que me permita poder aplicar los conceptos aprendidos a la sintaxis del codigo, de otra forma solo estarian perjudicando mi aprendizaje asi que desde ya muchisimas gracias por el espacio y la posibilidad de poder ampliar mi conocimiento.
Saludos =D
Juego de Rol
La federacion argentina de waterpolo nos ha pedido desarrollar un sistema para administrar su campeonato nacional de waterpolo, en el cual participan equipos de hasta 3 jugadores, del mismo participan equipos de todo el pais.
De cada club se mantiene un nombre, su direccion y los datos de su presidente. Tambien todos los jugadores y cuerpo tecnico que conforman su plantel profesional. ADemas de los datos personales, del entrenador y preparador fisiso se manteiene su antiguedad en el cargo, mientras que para los jugadores se mantiene su posicion dentro del campo de juego (arquero, defensor y delantero). Se debe poder agregar nuevos jugadores al club, asi como tambien cambiar su tecnico, preparador fisico o su presidente.
Este es un ejemplo del ultimo partido:
1
2
3
4
5
6
7
8
Partido n°: 1
Fecha: 16 de junio
Desamparados del Norte (local) vs. Defensores de almagro
Formaciones:
Desamparados: juan, pedro, pepe
Defensores: emilia. daniel, pablo
Sancionados: pablo
Resultado: Desamparados 3 - defensores 2
Una vez jugados todos los partidos e ingresados al sistema se deben considerar las siguientes consultas:
1-fue sancionado (jugador partido). Dado un jugador y un partido, ver si ese jugador resulto sancionado en el mismo. Por ejemplo esta funcion devuelve verdadero si preguntamos por clara y el partido del recuadro 1. En cambio, para daniel y el mismo partido devuelve Falso.
2-Dado un jugador, devolver la cantidad de partidos donde fue sancionado. sie le partido del recuadro 1 fuera el unico partido del campeonato, esta funcion retornaria 1 para pablo y 0 para el resto. (puede utilizar la funcion definida en el punto anterior para la resolucion de este punto).
3- Dado un club devolver el jugador mas sancionado. nuevamente puede utilizar la funcion definida del punto 2 para esta resolucion.
4-Dado un club y un partido devolver verdadero si el club participo en ese encuentro y falso en caso contrario.
5-Dado un club y un partido, obtener los puntos que obtuvo en ese partido. los puntos son obtenidos de la siguiente manera:
. 4 puntos al ganador
.2 puntos al empate
.0 puntos al perdedor
.Ademas, los clubes que ganen por 3 goles o mas reciben 1 punto extra. En caso del partido del ejemplo desamparados recibe 4 puntos y defensores de almagro 0 si el resultado hubiera sideo de 5 a 2 por ejemplo desamparados recibiria en total 5 puntos, al obtener el punto extra de ganar por 3 goles o mas de diferencia
6-Dado un club, obtener los puntos que obtuvo durante todo el campeonato.
7- Finalmente se pido obtener el campeon del torneo, se puede utilizar la funcion definida en el punto 6.
Este es mi progreso hasta el momento:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package codigo;
import java.util.ArrayList;
import codigo.Partido;
public class CampeonatoNacional {
private ArrayList <String> tablaPosiciones;
private ArrayList <Partido> partidosJugados;
private ArrayList <Club> Club;
public CampeonatoNacional (){
this.tablaPosiciones= new ArrayList<String>();
this.Club = new ArrayList<Club>();
this.partidosJugados= new ArrayList<Partido>();}
public void addTablaPosiciones(String tP){
this.tablaPosiciones.add(tP);}
public String getTablaPosiciones(int i){
return this.tablaPosiciones.get(i);}
public void addClub (Club club){
this.Club.add(club);}
public Club getClub(int i){
return this.Club.get(i);}
public void addPartidosJugados (Partido pJ){
this.partidosJugados.add(pJ);}
public Partido getPartidosJugados (int i){
return this.partidosJugados.get(i);}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package codigo;
public class Empleado {
private String nombre;
private String apellido;
private String direccion;
private Integer edad;
public Empleado (String nom, String ape, String dire, Integer edad){
this.nombre=nom;
this.apellido=ape;
this.direccion=dire;
this.edad=edad;}
public void setNombre(String nom){
this.nombre=nom;}
public String getNombre(){
return this.nombre;}
public void setApellido(String ape){
this.apellido=ape;}
public String getApellido(){
return this.apellido;}
public void setDireccion (String dire){
this.direccion=dire;}
public String getDireccion(){
return this.direccion;}
public void setEdad (Integer edad){
this.edad=edad;}
public int getEdad(){
return this.edad;}
public void addEntrenador(Empleado entrenador) {}
public void addPreparadorF(Empleado preparadorF) {}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package codigo;
import codigo.Partido;
public class Jugador extends Empleado {
public Jugador(String nom, String ape, String dire, int edad) {
super(nom, ape, dire, edad);}
private String posicion;
private Partido partido;
public void setPosicion(String p) {
this.posicion=p;}
public String getPosicion() {
return posicion;}
public void addPartido(Partido p){
this.partido=p;}
public Partido getPartido (){
return this.partido;}
public void addJugador(Jugador j) {}
public void addEquipo(Equipo e) {}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package codigo;
import codigo.Jugador;
import codigo.Equipo;
public class Club {
private String nombreClub;
private String ubicacionClub;
private Empleado presidenteClub;
private Equipo equipo;
private Jugador jugador;
public Club (String nomC, String ubiC, Empleado presiC, Equipo e){
this.nombreClub=nomC;
this.ubicacionClub=ubiC;
this.presidenteClub=presiC;
this.equipo=e;}
public void setNombreClub (String nomC){
this.nombreClub=nomC;}
public String getNombreClub (){
return this.nombreClub;}
public void setUbicacionClub(String ubiC){
this.nombreClub=ubiC;}
public String getUbicacionClub(){
return this.ubicacionClub;}
public void setPresidenteClub(Empleado presiC){
this.presidenteClub=presiC;}
public Empleado getPresidenteClub(){
return this.presidenteClub;}
public void addJugador(){
this.equipo.addJugador(jugador);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package codigo;
import java.util.ArrayList;
import codigo.Empleado;
import codigo.Jugador;
public class Equipo {
private Empleado entrenador;
private Empleado preparadorF;
private ArrayList <Jugador> jugador;
public Equipo (Partido p){
this.jugador = new ArrayList<Jugador>();}
public Empleado getEntrenador() {
return this.entrenador;}
public void setEntrenador(Empleado entrenador) {
this.entrenador = entrenador;}
public void addEntrenador(Empleado entrenador){
this.entrenador.addEntrenador(entrenador);}
public Empleado getPreparadorFisico() {
return this.preparadorF;}
public void setPreparadorFisico(Empleado preparadorFisico) {
this.preparadorF = preparadorFisico;}
public void addPreparadorF(Empleado preparadorF){
this.preparadorF.addPreparadorF(preparadorF);}
public void addJugador(Jugador jugador){
this.jugador.add(jugador);}
public Jugador getJugador(int i){
return this.jugador.get(i);}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package codigo;
import java.util.Date;
import codigo.Equipo;
import codigo.Jugador;
import java.util.ArrayList;
public class Partido {
private Integer numPartido=0;
private Date fecha;
private Equipo clubLocal;
private Equipo clubVisitante;
private Integer resultadoPartido;
private ArrayList <Jugador> jugador;
private CampeonatoNacional campeonatoNacional;
public Partido ( Date fecha, Equipo cluL, Equipo cluV, Integer resP, CampeonatoNacional c){
this.numPartido=numP;
this.fecha= new Date();
this.clubLocal=cluL;
this.clubVisitante=cluV;
this.resultadoPartido=resP;
this.jugador = new ArrayList <Jugador>();
this.campeonatoNacional = c;}
public CampeonatoNacional getCampeonatoNacional(){
return this.campeonatoNacional;
}
public Integer getNumPartido() {
return this.numPartido;}
public Date getFecha() {
return this.fecha;}
public Equipo getClubLocal() {
return this.clubLocal;}
public Equipo getClubVisitante() {
return this.clubVisitante;}
public int getResultadoPartido() {
return this.resultadoPartido;}
public void setResultadoPartido(Integer resultadoPartido) {
this.resultadoPartido = resultadoPartido;}
public void addJugador (Jugador j){
this.jugador.add(j);}
}
No pretendo que me den la solucion servida en bandeja, prefiero una explicacion que me permita poder aplicar los conceptos aprendidos a la sintaxis del codigo, de otra forma solo estarian perjudicando mi aprendizaje asi que desde ya muchisimas gracias por el espacio y la posibilidad de poder ampliar mi conocimiento.
Saludos =D
Valora esta pregunta
0