Examen 17 de mayo de 2022

Ejercicio 1

Escriba un programa que convierta una cantidad de kilogramos (con decimales) a las antiguas unidades de peso de Rusia, Finlandia, Bielorrusia y Ucrania.

Se recuerda que un lot son 12,7974 gramos, un funt son 32 lots, un pud son 40 funts y un berkovet son 10 puds.

CONVERTIDOR DE KILOGRAMOS EN LOTS, FUNTS, PUDS y BERKOVETS
Escriba una cantidad de kilogramos: -20
Por favor, escriba un número positivo.
CONVERTIDOR DE KILOGRAMOS EN LOTS, FUNTS, PUDS y BERKOVETS
Escriba una cantidad de kilogramos: 1000
1000.0 kg son 6 berkovets, 1 puds, 1 funts y 28.9 lots.
CONVERTIDOR DE KILOGRAMOS EN LOTS, FUNTS, PUDS y BERKOVETS
Escriba una cantidad de kilogramos: 100
100.0 kg son 0 berkovets, 6 puds, 4 funts y 6.1 lots.
CONVERTIDOR DE KILOGRAMOS EN LOTS, FUNTS, PUDS y BERKOVETS
Escriba una cantidad de kilogramos: 10
10.0 kg son 0 berkovets, 0 puds, 24 funts y 13.4 lots.
CONVERTIDOR DE KILOGRAMOS EN LOTS, FUNTS, PUDS y BERKOVETS
Escriba una cantidad de kilogramos: 0.1
0.1 kg son 0 berkovets, 0 puds, 0 funts y 7.8 lots.

Ejercicio 2

Marcus Cubitus y Julius Humerus son dos legionarios muy aficionados a los juegos de dados y que aparecen a menudo en estos exámenes. Esta vez juegan a un juego en el que primero se decide cuántos turnos se van a jugar. En cada turno, cada jugador tira un dado. Si un jugador saca un valor mayor que el otro, gana los puntos de ambos dados. Si los dos jugadores sacan el mismo valor, los puntos de ambos dados se acumulan para el siguiente turno. Si en el último turno hay un empate, esos puntos se pierden, porque la partida termina.

Escriba un programa que muestre una partida de este juego, detallando quién gana la partida, quién gana cada turno y la puntuación acumulada por cada jugador tras cada turno.

JUEGO DE DADOS: TODO PARA EL GANADOR
¿Cuántos turnos se van a jugar? 0
¡No se puede jugar menos de un turno!
JUEGO DE DADOS: TODO PARA EL GANADOR
¿Cuántos turnos se van a jugar? 3

Tirada de Cubitus: 3
Tirada de Humerus: 6
Humerus ha ganado el turno.
Cubitus tiene 0 punto(s) y Humerus tiene 9 punto(s).

Tirada de Cubitus: 1
Tirada de Humerus: 4
Humerus ha ganado el turno.
Cubitus tiene 0 punto(s) y Humerus tiene 14 punto(s).

Tirada de Cubitus: 4
Tirada de Humerus: 1
Cubitus ha ganado el turno.
Cubitus tiene 5 punto(s) y Humerus tiene 14 punto(s).

Humerus ha ganado la partida 14 a 5.
JUEGO DE DADOS: TODO PARA EL GANADOR
¿Cuántos turnos se van a jugar? 3

Tirada de Cubitus: 4
Tirada de Humerus: 1
Cubitus ha ganado el turno.
Cubitus tiene 5 punto(s) y Humerus tiene 0 punto(s).

Tirada de Cubitus: 3
Tirada de Humerus: 1
Cubitus ha ganado el turno.
Cubitus tiene 9 punto(s) y Humerus tiene 0 punto(s).

Tirada de Cubitus: 5
Tirada de Humerus: 5
Se acumulan 10 puntos para el próximo turno.
Cubitus tiene 9 punto(s) y Humerus tiene 0 punto(s).

Cubitus ha ganado la partida 9 a 0.
JUEGO DE DADOS: TODO PARA EL GANADOR
¿Cuántos turnos se van a jugar? 3

Tirada de Cubitus: 3
Tirada de Humerus: 5
Humerus ha ganado el turno.
Cubitus tiene 0 punto(s) y Humerus tiene 8 punto(s).

Tirada de Cubitus: 1
Tirada de Humerus: 1
Se acumulan 2 puntos para el próximo turno.
Cubitus tiene 0 punto(s) y Humerus tiene 8 punto(s).

Tirada de Cubitus: 4
Tirada de Humerus: 2
Cubitus ha ganado el turno
Cubitus tiene 8 punto(s) y Humerus tiene 8 punto(s).

Han empatado.
JUEGO DE DADOS: TODO PARA EL GANADOR
¿Cuántos turnos se van a jugar? 3

Tirada de Cubitus: 2
Tirada de Humerus: 2
Se acumulan 4 puntos para el próximo turno.
Cubitus tiene 0 punto(s) y Humerus tiene 0 punto(s).

Tirada de Cubitus: 3
Tirada de Humerus: 3
Se acumulan 10 puntos para el próximo turno.
Cubitus tiene 0 punto(s) y Humerus tiene 0 punto(s).

Tirada de Cubitus: 6
Tirada de Humerus: 3
Cubitus ha ganado el turno
Cubitus tiene 19 punto(s) y Humerus tiene 0 punto(s).

Cubitus ha ganado la partida 19 a 0.

Ejercicio 3

Escriba un programa que simule una partida del siguiente juego de dados de cuatro caras. Antes de empezar se decide cuántos puntos se tienen que obtener para ganar. En cada turno, cada jugador tira un dado. Si sacan valores distintos, el primer jugador obtiene el valor más pequeño de los dos dados. Si sacan el mismo valor, el segundo jugador obtiene la suma de los dos dados. Se juegan turnos hasta que un jugador consigue los puntos necesarios.

Nota: El juego no es "justo" en el sentido de que el primer jugador tiene siempre una ligera ventaja, pero esa ventaja se reduce cuánto mayor es el número de puntos necesarios para ganar.

El programa pedirá el nombre de cada jugador (que no puede ser un nombre vacío ni repetirse) y el número de puntos para ganar la partida (que no será inferior a 10).

JUEGO DE DADOS: IGUALES O DISTINTOS
¿Cómo se llama el primer jugador? Alba
¿Cómo se llama el segundo jugador? Bernardo
¿Cuántos puntos se necesitan para ganar la partida (como mínimo, 10)? 10

Dado Alba: 4 - Dado Bernardo: 3
3 punto(s) para Alba
Puntos acumulados. Alba: 3 - Bernardo: 0

Dado Alba: 2 - Dado Bernardo: 1
1 punto(s) para Alba
Puntos acumulados. Alba: 4 - Bernardo: 0

Dado Alba: 4 - Dado Bernardo: 2
2 punto(s) para Alba
Puntos acumulados. Alba: 6 - Bernardo: 0

Dado Alba: 1 - Dado Bernardo: 1
2 puntos para Bernardo
Puntos acumulados. Alba: 6 - Bernardo: 2

Dado Alba: 3 - Dado Bernardo: 2
2 punto(s) para Alba
Puntos acumulados. Alba: 8 - Bernardo: 2

Dado Alba: 1 - Dado Bernardo: 3
1 punto(s) para Alba
Puntos acumulados. Alba: 9 - Bernardo: 2

Dado Alba: 4 - Dado Bernardo: 2
2 punto(s) para Alba
Puntos acumulados. Alba: 11 - Bernardo: 2

Ha ganado Alba.
JUEGO DE DADOS: IGUALES O DISTINTOS
¿Cómo se llama el primer jugador?
¡No ha escrito ningún nombre!
¿Cómo se llama el primer jugador? Alba
¿Cómo se llama el segundo jugador? Alba
¡Los jugadores no se pueden llamar igual!
¿Cómo se llama el segundo jugador?
¡No ha escrito ningún nombre!
¿Cómo se llama el segundo jugador? Bernardo
¿Cuántos puntos se necesitan para ganar la partida (como mínimo, 10)? 6
¡El valor mínimo es 10!
¿Cuántos puntos se necesitan para ganar la partida (como mínimo, 10)? 10

Dado Alba: 2 - Dado Bernardo: 2
4 puntos para Bernardo
Puntos acumulados. Alba: 0 - Bernardo: 4

Dado Alba: 4 - Dado Bernardo: 4
8 puntos para Bernardo
Puntos acumulados. Alba: 0 - Bernardo: 12

Ha ganado Bernardo.

Ejercicio 4

Escriba dos programas que generen las siguientes imágenes a partir de las plantillas siguientes:

Ejercicio 4-1
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <title>Ejercicio 4-1. SVG. Examen. Python</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
    width="320" height="320" viewBox="-160 -160 320 320"
    style="border: black 1px solid">
  </svg>
</body>
</html>

Los colores empleados en esta imagen son: OrangeRed     , MediumSeaGreen     , SteelBlue     

Ejercicio 4-2
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <title>Ejercicio 4-2. SVG. Examen. Python</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
    width="320" height="320" viewBox="-10 -10 320 320"
    style="border: black 1px solid">
  </svg>
</body>
</html>

Los colores empleados en esta imagen son: DarkOrange     

Ejercicio 5

Escriba dos programas que generen las siguientes imágenes a partir de las plantillas siguientes utilizando bucles:

Ejercicio 5-1
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <title>Ejercicio 5-1. SVG. Examen. Python</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
    width="320" height="320" viewBox="-160 -160 320 320"
    style="border: black 1px solid">
  </svg>
</body>
</html>

Los colores empleados en esta imagen son: gold     , black     

Ejercicio 5-2
<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <title>Ejercicio 5-2. SVG. Examen. Python</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>
  <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
    width="320" height="320" viewBox="-10 -10 320 320"
    style="border: black 1px solid">
  </svg>
</body>
</html>

Los colores empleados en esta imagen son: hsl(0 70% 40%)     , hsl(0 70% 45%)     , hsl(0 70% 50%)     , hsl(0 70% 55%)     , hsl(0 70% 60%)     , hsl(0 70% 65%)     , hsl(0 70% 70%)     , hsl(0 70% 75%)     , hsl(0 70% 80%)     , hsl(0 70% 85%)