Created
February 10, 2023 18:25
-
-
Save jeffersonchaves/466e35c3f39493f41176837484e0c5c0 to your computer and use it in GitHub Desktop.
loteria.port
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
programa | |
{ | |
inclua biblioteca Util | |
inteiro listaSorteados[50] //maior numero de dezenas possível | |
funcao inicio() | |
{ | |
mega() | |
} | |
funcao mega(){ | |
const real PRECOS[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.50, 17.0} //tem outros valores | |
const inteiro MENOR = 1 | |
const inteiro MAIOR = 60 | |
const inteiro MIN = 6 | |
const inteiro MAX = 20 | |
inteiro qntdDezenas | |
inteiro qntdJogos | |
real custoDaJogatina | |
escreva("Quantas dezenas deseja?") | |
leia (qntdDezenas) | |
enquanto(qntdDezenas < 6 ou qntdDezenas > 20){ | |
escreva("Quantidade inválida. Quantas dezenas deseja?") | |
leia (qntdDezenas) | |
} | |
escreva("Quantos jogos?") | |
leia (qntdJogos) | |
para(inteiro i=0; i < qntdJogos; i++){ | |
escreva("\n\nSorteio: ", i+1) | |
sorteiaDezenas(qntdDezenas, MENOR, MAIOR) | |
ordenarLista(qntdDezenas) | |
mostraSorteados(qntdDezenas) | |
} | |
custoDaJogatina = qntdJogos * PRECOS[qntdDezenas] | |
escreva("\n\nSuas apostas custaram: R$", custoDaJogatina) | |
} | |
funcao quina(){ | |
const real PRECOS[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.50, 17.0} //tem outros valores | |
const inteiro MENOR = 1 | |
const inteiro MAIOR = 80 | |
const inteiro MIN = 5 | |
const inteiro MAX = 20 | |
inteiro qntdDezenas | |
inteiro qntdJogos | |
real custoDaJogatina | |
escreva("Quantas dezenas deseja?") | |
leia (qntdDezenas) | |
enquanto(qntdDezenas < 6 ou qntdDezenas > 20){ | |
escreva("Quantidade inválida. Quantas dezenas deseja?") | |
leia (qntdDezenas) | |
} | |
escreva("Quantos jogos?") | |
leia (qntdJogos) | |
para(inteiro i=0; i < qntdJogos; i++){ | |
escreva("\n\nSorteio: ", i+1) | |
sorteiaDezenas(qntdDezenas, MENOR, MAIOR) | |
ordenarLista(qntdDezenas) | |
mostraSorteados(qntdDezenas) | |
} | |
custoDaJogatina = qntdJogos * PRECOS[qntdDezenas] | |
escreva("\n\nSuas apostas custaram: R$", custoDaJogatina) | |
} | |
funcao sorteiaDezenas(inteiro dezenas, inteiro min, inteiro max){ | |
//PARA SER FEITO: garantir que não existam valores repetidos | |
inteiro sorteado = 0 | |
logico estaRepetido = falso | |
para(inteiro i=0; i < dezenas; i++){ | |
estaRepetido = falso | |
sorteado = sorteia(min, max) | |
//ESTE PONTO É APENAS PARA VERIFICAR SE O NUMERO | |
//NÃO ESTÁ REPETIDO | |
para(inteiro j=0; j < dezenas; j++){ | |
se(listaSorteados[j] == sorteado){ | |
estaRepetido = verdadeiro | |
pare | |
} | |
} | |
se(nao estaRepetido){ | |
listaSorteados[i] = sorteado | |
} senao { | |
i-- | |
} | |
}//fim do bloco para | |
escreva("\n") | |
} | |
funcao ordenarLista(inteiro qntdDezenas){ | |
inteiro aux | |
para(inteiro j=0; j < qntdDezenas - 1; j++){ | |
para(inteiro i=0; i < qntdDezenas - 1 - j; i++){ | |
se(listaSorteados[i] > listaSorteados[i+1]){ | |
aux = listaSorteados[i] | |
listaSorteados[i] = listaSorteados[i+1] | |
listaSorteados[i+1] = aux | |
} | |
} | |
} | |
} | |
funcao mostraSorteados(inteiro dezenasNaLista){ | |
para(inteiro i=0; i < dezenasNaLista; i++){ | |
escreva(listaSorteados[i], " - ") | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment