Ejercicio: 3Eva_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