Advertisement
r_russo

Tiro al blanco

Sep 14th, 2021
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.98 KB | None | 0 0
  1. {
  2.     a) Escribir un programa que permita simular un juego de tiro al blanco. Se ingresa por teclado
  3.     la cantidad de rondas que se van a jugar. Para determinar al ganador de cada ronda, se toma
  4.     el lanzamiento que cayó más cerca del centro. Informar cada lanzamiento y cuál es el ganador
  5.     de cada ronda. Finalmente informar el ganador. Los lanzamientos de generan de forma aleatoria.
  6.    
  7.     b) Ahora cada ronda debe contener una cantidad de lanzamientos que también se ingresan por
  8.     teclado. El ganador de cada ronda es el que obtuvo en promedio el lanzamiento más cercano
  9.     al centro.
  10. }
  11.  
  12. program tiro_al_blanco;
  13.    
  14. var
  15.     rondas, i, lanzamientos, j, puntaje1, puntaje2: Byte;
  16.     d1, d2, prom1, prom2: Real;
  17.    
  18. begin
  19.     randomize();
  20.     write('Ingrese la cantidad de rondas: ');
  21.     readln(rondas);
  22.    
  23.     puntaje1 := 0;
  24.     puntaje2 := 0;
  25.    
  26. {   // inciso a)
  27.     for i := 1 to rondas do
  28.     begin
  29.         d1 := random();   // valor 0 - 1 (real)
  30.         d2 := random();
  31.        
  32.         writeln('El lanzamiento del jugador 1 cayó en ', d1:0:3);
  33.         writeln('El lanzamiento del jugador 2 cayó en ', d2:0:3);
  34.        
  35.         if (d1 < d2) then
  36.         begin
  37.             puntaje1 := puntaje1 + 1;
  38.             writeln('Ganó la ronda ', i, ' jugador 1');
  39.         end
  40.         else if (d2 < d1) then
  41.         begin
  42.             puntaje2 := puntaje2 + 1;
  43.             writeln('Ganó la ronda ', i, ' jugador 2');
  44.         end
  45.         else
  46.             writeln('Empataron');
  47.     end;
  48. }
  49.    
  50.     // inciso b)
  51.     write('Ingrese la cantidad de lanzamientos por ronda: ');
  52.     readln(lanzamientos);
  53.    
  54.     for i := 1 to rondas do
  55.     begin
  56.         prom1 := 0;
  57.         prom2 := 0;
  58.        
  59.         for j := 1 to lanzamientos do
  60.         begin
  61.             d1 := random();   // valor 0 - 1 (real)
  62.             d2 := random();
  63.            
  64.             prom1 := prom1 + d1;
  65.             prom2 := prom2 + d2;
  66.        
  67.             writeln('El lanzamiento ', j, ' del jugador 1 cayó en ', d1:0:3);
  68.             writeln('El lanzamiento ', j, ' del jugador 2 cayó en ', d2:0:3);
  69.         end;
  70.        
  71.         prom1 := prom1/lanzamientos;
  72.         prom2 := prom2/lanzamientos;
  73.        
  74.         writeln('El promedio de los lanzamientos del jugador 1 cayó en ', prom1:0:3);
  75.         writeln('El promedio de los lanzamientos del jugador 2 cayó en ', prom2:0:3);
  76.        
  77.         if (prom1 < prom2) then
  78.         begin
  79.             puntaje1 := puntaje1 + 1;
  80.             writeln('Ganó la ronda ', i, ' jugador 1');
  81.         end
  82.         else if (prom2 < prom1) then
  83.         begin
  84.             puntaje2 := puntaje2 + 1;
  85.             writeln('Ganó la ronda ', i, ' jugador 2');
  86.         end
  87.         else
  88.             writeln('Empataron');
  89.     end;
  90.    
  91.     writeln();
  92.    
  93.     if (puntaje1 > puntaje2) then
  94.         writeln('Ganó jugador 1')
  95.     else if (puntaje2 > puntaje1) then
  96.         writeln('Ganó jugador 2')
  97.     else
  98.         writeln('Empate')
  99. end.
  100.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement