s3Eva_IT2007_T1 Máquina tragamonedas

Ejercicio3Eva_IT2007_T1 Máquina tragamonedas

Propuesta de solución en Python: py_pdf,
también incluye versión en matlab: m_pdf

Considere el siguiente algoritmo de introducción al tema, Simplificando el ingreso del número por teclado:

# 3ra Evaluación I Término 2007
# Tema 1. Juego con maquina tragamonedas

# INGRESO
numero = int(input('numero abc:'))

# PROCEDIMIENTO
c = numero%10
numero = numero//10
b = numero%10
numero = numero//10
a = numero

premio = 0
if ((a==b) and (b==c) and(a==c)):
    premio = 20
if ((a==b)and (a!=c)) or ((a==c) and (a!=b)) or ((b==c) and (b!=a)):
    premio = 10

# SALIDA
print(premio)

Luego de revisar el algoritmo: ¿se comprende mejor la necesidad de usar cocientes y residuos? ¿considera viable el uso e este segundo algoritmo?


Algoritmo usando aleatorios sin Cocientes y Residuos

Instrucciones en Python

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3Eva_IT2007_T1 Máquina tragamonedas
# Propuesta: edelros@espol.edu.ec

import random as rnd

# INGRESO
monedas = int(input(" Cuantas monedas tiene?: "))

# PROCEDIMIENTO
caja = 15
trio = 0
par  = 0

turno = 0 
while (monedas>=5 and caja>=15):
    turno = turno + 1
    monedas = monedas - 5
    caja = caja + 5

    # sorteo de números
    # entero(aleatorio*posibles) + inicio
    a = int(rnd.random()*10) + 0
    b = int(rnd.random()*10) + 0
    c = int(rnd.random()*10) + 0
    
    if (a==b and b==c and c==a):
        caja = caja - 20
        monedas = monedas+20
        trio = trio + 1
    else:
        if (a==b or b==c or c==a):
            caja = caja - 10
            monedas = monedas+10
            par  = par + 1

# SALIDA
print(" Turnos jugados: ", turno)
print(" Trios: ", trio)
print(" Pares: ", par)
print(" monedas jugador: ", monedas)

Ejemplo:

>>> 
 Cuantas monedas tiene?: 25
 Turnos jugados:  1
 Trios:  0
 Pares:  1
 monedas jugador:  30
>>> 
 Cuantas monedas tiene?: 30
 Turnos jugados:  5
 Trios:  0
 Pares:  3
 monedas jugador:  35
>>> 

Presentadas las dos formas de algoritmos, ¿podría presentar una versión mejorada que integre lo mejor de las dos soluciones?


Diagrama de Flujo