Ir para conteúdo
Fórum Script Brasil

Barthô

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Barthô

  1. Olá pessoal, estou com grande dificuldade neste exercício. É no final, na hora de imprimir as informações recebidas. Gostaria de receber a ajuda de alguém.

    ENUNCIADO DO EXERCÍCIO:

    Suponha que uma Casa de Jogos queira "agitar" suas rodadas de jogos. Entre os frequentadores normais do lugar eles inserem (até 12) jogadores contratados para se misturarem aos frequentadores. Então sugere-se que esses jogadores, após declarados seus nomes, tenham uma "agenda" com horários (até 24 vezes por dia), porém só poderão jogar nas horas cheias. Ex: 9h,13h,22h, etc. Os jogadores terão um tipo a ser definido no ato do cadastro (FORTE, FRACO, MÉDIO, etc.) e um lema, também a ser definido no momento do cadastro ("DESISTIR JAMAIS","DEVAGAR E SEMPRE","SÓ JOGO POR ESPORTE",etc.). Cada jogador poderá jogar quantas vezes quiser (até 24 no dia). Todos os jogadores contratados receberão valores para jogar (em notas ou moedas). Caso sejam notas só poderão apostar 1 nota por vez, mas se forem moedas poderão optar pela quantidade a ser apostada. Ao final do cadastro imprimir as informações (que serão afixadas num quadro de avisos) contendo: NOME, TIPO, LEMA, VEZES e o(s) HORÁRIOS referentes à quantidade de vezes. Conforme abaixo:

    Escreva: "O jogador NOME que é do tipo TIPO, cujo lema é LEMA irá jogar VEZES ao dia nos seguintes HORÁRIO."

    Com a ajuda de um amigo consegui chegar no modelo abaixo que está todo comentado:

    var
    jogador: vetor [1..12] de literal //nome do jogador
    tipo: vetor [1..12] de literal //FORTE, FRACO ou MÉDIO
    lema: vetor [1..12] de literal//VENCER, JOGAR, BRINCAR
    vezes: vetor [1..12] de inteiro //quantidade de vezes ao dia
    moedas: vetor [1..12] de inteiro//valores recebidos pelo jogador
    notas: vetor [1..12] de inteiro//valores recebidos pelo jogador
    hora: vetor [1..24] de inteiro //armazena a posição do jogador na posição da hora
    horario: inteiro //usada no cadastro de horas
    i: inteiro //variável para cadastrar os jogadores
    k: inteiro //variável para usar nos comandos para
    quant,aux,aux1,aux2: inteiro
    coordenador,resposta:literal
    dia,dia1: real
    inicio
    // Seção de Comandos
    escreval ("------------------------------------------------------------------")
    escreval ("CADASTRAR ATÉ 12 JOGADORES, ONDE CADA UM PODERÁ JOGAR ATÉ 24 VEZES")
    escreval ("VEZES, SENDO UMA VEZ POR HORA, NO MÁXIMO.")
    escreval ("------------------------------------------------------------------")
    escreval ("--------------------------------------------------------------------")
    escreval ("TODOS OS JOGADORES RECEBERÃO VALORES PARA JOGAR. EM NOTAS OU MOEDAS.")
    escreval ("*DEVERÁ DECLARAR SE SÃO NOTAS OU MOEDAS. SÓ PODERÁ APOSTAR UMA NOTA*")
    escreval ("*POR VEZ. MAS, PODERÁ ESCOLHER A QUANTIDADE DE MOEDAS PARA APOSTAR.*")
    escreval ("--------------------------------------------------------------------")
    escreva ("Deseja iniciar um cadastramento de jogadores?: ")
    leia (resposta)
    se resposta <> "sim" então
    escreval ("Não recebemos o seu SIM e estamos encerrando o programa. Obrigado!")
    interrompa//Ok, interrupção funcionando!
    senao
    escreval ("--------------------")
    escreval ("INICIANDO O CADASTRO")
    escreval ("--------------------")
    escreva ("Coordenador(a), por favor, digite seu nome: ")
    leia (coordenador)
    escreval ("----------------------------------")
    escreval ("Seja bem-vindo(a) ",coordenador,".")
    escreval ("----------------------------------")
    escreval ("Você poderá cadastrar até 12 jogadores.")
    escreva ("Quantos jogadores pretende cadastrar?: ")
    leia (quant)
    escreval ("---------------------------------------------------")
    escreval ("Ok, entendi. Serão cadastrados ",quant," jogadores.")
    escreval ("---------------------------------------------------")
    para i de 1 ate quant faca
    escreval ("Digite os dados do ",i,"º jogador: ")
    escreval ("-----------------------------------")
    escreva ("NOME: ")
    leia (jogador[i])
    escreva ("TIPO: ")
    leia (tipo[i])
    escreva ("LEMA: ")
    leia (lema[i])
    escreva ("QUANTAS VEZES ",jogador[i]," JOGARÁ?: ")
    leia (vezes[i])
    escreval ("Ok, entendi. O jogador ",jogador[i]," jogará",vezes[i]," vezes.")
    escreval ("----------------------")
    escreval ("INFORMAÇÕES ADICIONAIS")
    escreval ("----------------------")
    escreva ("O jogador ",jogador[i]," está recebendo notas? ")
    leia(resposta)
    se resposta = "sim" então
    escreva ("QUANTAS NOTAS?: ")
    leia (notas[i])
    aux<-notas[i]
    escreval ("----------------------------------------")
    escreval ("Ok, o jogador ",jogador[i]," está recebendo ",aux," notas.")
    dia1<-aux/vezes[i]//dia1 recebe cálculo final referente a notas
    escreval ("Com base nas vezes, as notas do jogador ",jogador[i]," vão durar:",dia1," dias(s).")
    senao
    escreval ("---------------------------------------")
    escreval ("Ok, entendi. Não são notas, são moedas.")
    escreval ("---------------------------------------")
    escreva ("QUANTAS MOEDAS?: ")
    leia (moedas[i])
    aux1<-moedas[i]//aux1 para qtdade total de moedas
    escreval ("------------------------------------------")
    escreval ("Ok, o jogador ",jogador[i]," está recebendo ",aux1," moedas.")
    escreval ("------------------------------------------")
    escreva ("Qual a quantidade de moedas a ser(em) apostada(s) em cada jogada?: ")
    leia(aux2)//aux2 para qtdade de moedas em cada jogada
    dia<-aux1/(aux2*vezes[i])//dia recebe cálculo final referente a moedas
    escreval ("Com base nas vezes, as moedas do jogador ",jogador[i]," vão durar:",dia," dias(s).")
    fimse
    escreval ("---------------------")
    escreval ("CADASTRO DOS HORÁRIOS")
    escreval ("---------------------")
    escreval ("Digite os ",vezes[i]," horário(s) em que o jogador ",jogador[i]," jogará :")
    para k de 1 ate vezes[i] faca
    escreva("O ",k, "º horario é: ")
    leia (horario)//ler a hora desejada
    hora[horario] <- i //armazena a posição do jogador na "posição" da hora
    escreval ("Recebi ",horario," hora(s) para o jogador ",jogador[i]," que está na",i,"ª posição.")
    escreval ("Esta posição e este horário pertencem ao jogador, ",jogador[i],".")
    escreval ("----------------------------------------------------------")
    //Poderá haver vários jogadores jogando no mesmo horário. Portanto, o mais correto é que "cada jogador" tenha a sua disposição 24 horas
    fimpara
    fimpara
    fimse
    escreval ("-------------------------------------")
    escreval ("*IMPRESSÃO DAS INFORMAÇÕES RECEBIDAS*")
    escreval ("-------------------------------------")
    escreval ("OBS:  Quando zerado, é porque não há o que ser impresso.")
    escreval ("Você chegou ao fim das informações. Deseja imprimi-las ?")
    escreval ("--------------------------------------------------------")
    leia (resposta)
    se resposta <> "sim" então
    escreval ("------------------------------------------------------------------")
    escreval ("Não recebemos o seu SIM e estamos encerrando o programa. Obrigado!")
    escreval ("------------------------------------------------------------------")
    interrompa//Ok, interrupção funcionando!
    senao
    para i de 1 ate quant faca
    para k de 1 ate vezes[i] faca
    escreval ("------------------------------------------------------------------------------")
    escreval ("O jogador ",jogador[i]," cujo lema é ",lema[i],". É do tipo ",tipo[i],". Ele jogará às ",k," horas.")
    //PROBLEMAS NA IMPRESSÃO FINAL SOMENTE NA POSIÇÃO "HORAS". O RESTANTE ESTÁ CORRETO.
    //quando escrevemos "horário" ele imprime apenas a ultima informação recebida pela variável horário
    //quando escrevemos "hora[i]" ele imprime a posição do jogador, pois é isso que está cadastrado no vetor horas
    //quando escrevemos "hora[horario]" ele imprime a posição do último jogador cadastrado
    //quando escrevemos "k" ele imprime os índices solicitados na digitação dos horários de cada jogador
    //Daria para imprimir o índice da hora (posição do vetor horas) em vez da posição do jogador?
    fimpara
    fimpara
    fimse
    escreval ("------------------------------------------------")
    escreval ("CHEGAMOS AO FINAL DO CADASTRO ",coordenador," OBRIGADO.")
    escreval ("------------------------------------------------")
    fimalgoritmo

    Meu Email

    Obrigado e abraços.

×
×
  • Criar Novo...