[ Foro de Pascal ]

bolos americanos

27-Dec-2013 12:29
oscar gomez
2 Respuestas

cordial saludo profesor nacho  y compañeros.
queria preguntaros acerca de un ejercicio de examen de la facultad de informatica, del juego de bolos americanos, el enunciado es extenso y no lo he publicado por que entre otras cosas mi duda inicial esta dada en el primer parrafo de su enunciado:
un alinea consta de 10 turnos( entradas) por jugador. en cada entrada se pueden hacer un maximo de dos lanzamientos, excepto en la decima que pueden ser tres.

asuma que los jugadores son 15 y cada uno juega una linea.

bien aqui es donde esta mi pregunta por que yo intento hacer lo siguiente:


program examen_bolos;
uses crt;
 type
 matriz= array[1..15,1..10] of integer;

begin
  for i:=1 to 15 do { para el numero de jugadores }
   begin
    for j:=1 to 10 do { para las 10 entradas por cada jugador }
      begin 


como  controlo el hecho de que en la decima  entrada se puedan hacer maximo tres lanzamientos y en las 9 anteriores maximo dos lanzamientos?

agradezco cualquier idea o ayuda al respecto.


27-Dec-2013 12:55
Nacho Cabanes (+83)

Hay varias formas de conseguirlo.

Por ejemplo, una manera sencilla pero poco eficiente sería un simple "if":


if  entrada = 10 then maximo := 3 else maximo := 2;


Y otra un poco más elegante y más versátil sería tener un array con la cantidad de intentos para cada entrada. Esto sería recomendable si hubiera muchos máximos o si pudieran cambiar, pero no es necesario en este caso.


29-Dec-2013 15:59
oscar gomez

gracias profesor totalmente resuelto el programa, gracias por tu respuesta.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)