Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # versão 1.0
- # por Xerxes Lins (www.vivaolinux.com.br/~xerxeslins)
- # 11/06/2014
- # Veja a imagem:
- # http://www.mariowiki.com/images/thumb/b/bf/Toad_House_SMB3_NES.png/160px-Toad_House_SMB3_NES.png
- # Mario e Toad estão numa sala onde há três baús (baú 1, 2 e 3).
- # Toad diz que dentro de UM dos três baús tem um prêmio, e nada nos outros dois.
- # Toad diz que Mario deve escolher um baú. Depois disso, ele (Toad) irá mostrar um baú vazio
- # e perguntar se Mario quer trocar sua escolha ou não.
- # Mario escolheu o baú número 1. Toad abriu o baú 3 que estava vazio e perguntou
- # ao Mario se ele queria trocar de baú ou continuar com o baú 1. Era a última chance de Mario.
- # Qual é a melhor opção para Mario?
- # 1. trocar de baú, optando pelo baú 2.
- # 2. Não trocar. Permanecer com o baú 1.
- # 3. tanto faz.
- # Este script faz um teste das chances de Mario encontrar o prêmio, tanto escolhendo trocar
- # como não trocar o baú. Trata-se de um problema conhecido como Monty Hall.
- # Vamos lá!
- #quantas vezes Mario vai tentar
- num_vezes=31 #(31 para 30 vezes, sempre um a mais)
- vez_atual=1
- #numero de vezes que mario acharia o prêmio sem trocar de baú e trocando
- vezes_sem_trocar=0; vezes_trocando=0
- clear
- echo "Mario e as possibilidades... Testando $[$num_vezes-1] vezes."
- echo " "
- function mario_escolhe() {
- #define o baú escolhio por Mario e o baú com prêmio, aleatoriamente
- bau_com_premio=$[$RANDOM % 3 ]
- bau_escolhido=$[$RANDOM % 3 ]
- #Toad sempre abre um baú vazio e nunca o mesmo baú escolhido por Mario
- bau_de_toad=0
- while [ "$bau_de_toad" = "$bau_escolhido" ] || [ "$bau_de_toad" = "$bau_com_premio" ]; do
- bau_de_toad=$[$RANDOM % 3]
- done
- echo " "
- echo -n "$vez_atual - Mario escolheu primeiro o baú nº $[1+$bau_escolhido]. Toad abriu o baú nº $[1+$bau_de_toad]. "
- if [ "$bau_escolhido" = "$bau_com_premio" ]; then
- echo -n "Dessa vez, se Mario NÃO trocar o baú, ganhará o prêmio!"
- vezes_sem_trocar=$[$vezes_sem_trocar+1]
- else
- echo -n "Dessa vez, se Mario trocar o baú, ganhará o prêmio!"
- vezes_trocando=$[$vezes_trocando+1]
- fi
- }
- while [ "$num_vezes" -gt "$vez_atual" ]; do
- mario_escolhe
- vez_atual=$[$vez_atual+1]
- done
- echo ""
- echo ""
- echo "Resultado:"
- echo "Quantidade de sucessos se NÃO trocasse o baú: $vezes_sem_trocar"
- echo "Quantidade de sucessos se trocasse o baú: $vezes_trocando"
- echo " "
- echo "E então,trocar de baú aumenta ou não as chances de encontrar o prêmio? :]"
- echo "Mais informações em: http://pt.m.wikipedia.org/wiki/Problema_de_Monty_Hall"
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment