Informática, perguntado por constantino2009, 11 meses atrás

A Sociedade Brasileira de Computação (SBC) promove, anualmente, a maratona de programação. Nesse evento, competidores de toda a América Latina competem em um desafio onde o raciocínio matemático e a capacidade de trabalhar sob pressão são avaliados a níveis extremos.
Em uma de suas edições, a SBC incluiu um exercício que faz referência ao jogo “Dois ou Um” (também conhecido como “Dois ou Um”, em algumas localidades do país). O jogo funciona como descrito a seguir.
“Cada jogador escolhe um valor entre dois ou um; ao som de um comando (geralmente um dos competidores anuncia em voz alta “Dois ou... Um! ”), todos os participantes mostram o valor escolhido, utilizando uma das mãos: se o valor escolhido foi um, o competidor mostra o dedo indicador estendido; se o valor escolhido foi dois, mostra a mão com exatos dois dedos estendidos. O ganhador é aquele que tiver escolhido um valor diferente de todos os outros; se não há um jogador com valor diferente de todos os outros (por exemplo todos os jogadores escolhem dois, ou um grupo de jogadores escolhe dois e outro grupo escolhe um), não há ganhador. ”
André, Carlos e Pietro são grandes amigos e jogam Dois ou Um a toda hora: para determinar quem será o motorista da rodada, quem vai pagar a conta, etc. Jogam tanto que resolveram fazer um aplicativo de celular para jogar. Como não sabem programar, dividiram as tarefas entre amigos que sabem, inclusive você. Dados os três valores escolhidos por André, Carlos e Pietro, cada valor dois ou um, escreva um algoritmo que determina se há um ganhador, e nesse caso determina quem é o ganhador.
O algoritmo deve receber como entrada, três valores inteiros que serão armazenados nas variáveis A, C e P indicando os valores escolhidos por André, Carlos e Pietro, respectivamente.
O algoritmo deverá produzir uma única saída, imprimindo apenas um caractere. Se o vencedor for André, deve-se imprimir a letra “A”, na tela; se o vencedor for Carlos, é preciso mostrar o caractere “C”, na tela; se Pietro for o ganhador, então deve-se imprimir “P”; por fim, se não houver vencedor, deve-se imprimir um asterisco, “X”, na tela.
Deve-se considerar que o usuário é leigo, e nem sempre irá digitar ou o número dois (2) ou o número um (1). É preciso que o algoritmo trate as entradas que não estiverem dentro do padrão de dois ou um, solicitando ao usuário que insira um novo valor, caso ele não insira um dado válido (número 2 ou número 1). Considere que o usuário tem acesso apenas ao teclado numérico, sendo impossível inserir caracteres alfabéticos, acentos ou qualquer outro dado diferente de números.
Somente após validados os dados informados pelo usuário, o algoritmo deve apresentar o resultado e, consequentemente, quem foi vitorioso, de acordo com a seguinte tabela de exemplos de entradas e saídas:

Caso
de
Teste Entradas Saída Correspondente
A
(André) C
(Carlos) P
(Pietro) Ganhador:
1º 1 1 1 “X”
2º 1 1 2 “P”
3º 1 2 1 “C”
4º 1 2 2 “A”
5º 2 1 1 “A”
6º 2 1 2 “C”
7º 2 2 1 “P”
8º 2 2 2 “X”


fqpl059: Ok. Vou refazer a questão :)
constantino2009: O algoritmo deve ser escrito em pseudocódigo (portugol) e submetido para correção em formato txt (documento de texto – notepad) ou doc (documento do Microsoft Word). Algoritmos sem indentação terão desconto em pontuação. Serão avaliadas a corretude semântica e sintática, bem como a eficiência do código.
constantino2009: Só a primeira parte q fala em pseudocódigo (portugol)
fqpl059: Ele não especificou qual era o Portugol que seria usado?
fqpl059: Qual o programa que vocês estão usando na sala de aula?
constantino2009: Não especificou Nada
constantino2009: Ele citou o portugol studeo e o visulag
felipevieiragessner: É QUE N
felipevieiragessner: Perdão, é que a unicesumar utiliza um pseudocódigo com modificações do portugol
nikytubi99: fui testar o código e esta dando um erro no primeiro ¨enquanto¨ pode me ajudar

Soluções para a tarefa

Respondido por guto683
6

Resposta:

PORTUGOL

Explicação:


constantino2009: Portugol
Respondido por fqpl059
40

O algoritmo em Portugol abaixo, desenvolvido com o programa PortugolIDE:

  • inicia três variáveis (a, c, p) com o valor 0;
  • recebe valores para as três variáveis;
  • valida os valores, caso não correspondam ao padrões exige um novo valor;
  • verifica que ganhou o jogo.

Espero ter ajudado :)

==*==*==*==*==*==*==*==*

inicio

   inteiro a <- 0

   inteiro c <- 0

   inteiro p <- 0

   

   // Valida a entrada de André

   enquanto nao (a = 1 ou a = 2) faz

       escrever "Pedro! Informe sua jogada: "

       ler a

   fimenquanto

   

   // Valida a entrada de Carlos

   enquanto nao (c = 1 ou c = 2) faz

       escrever "Carlos! Informe sua jogada: "

       ler c

   fimenquanto

   

   // Valida a entrada de Pietro

   enquanto nao (p = 1 ou p = 2) faz

       escrever "Pietro! Informe sua jogada: "

       ler p

   fimenquanto

   

   se (a = 2 e c = 1 e p = 1) ou (a = 1 e c = 2 e p = 2) entao

       escrever "A"

   senao

       se (a = 1 e c = 2 e p = 1) ou (a = 2 e c = 1 e p = 2) entao

           escrever "C"

       senao

           se (a = 1 e c = 1 e p = 2) ou (a = 2 e c = 2 e p = 1) entao

               escrever "P"

           senao

               escrever "X"

           fimse

       fimse

   fimse

fim


guylerguardiola: então, eu só preciso passar para o word e entregar o MAPA que já tá feito, ou preciso modificar alguma coisa aí ?
fqpl059: Recomendo que leia e tente entender, ou até modificar um pouco para ficar do jeito que você quer! Mas ele já está pronto para enviar! :)
fqpl059: Há, e utilize os que estão no Google Drive (links aqui nos comentários).
mgasistemasleoserra: estou um pouco confuso enquanto a questao sintatica pois devo utilizar a resposta em pseudocodigo (portugol), neste pego do drive ou da sua resposta
thiagosilvasistemas: Cara, muito obrigado, de verdade! Tirou bastante minhas duvidas!
lucasagnes: O link não esta funcionando oq aconteceu?
lucasagnes: preciso de ajuda
lucasagnes: Conseguem mandar de novo pfv?
lucasagnes: Obrigado desde ja
ryuuhei: drive.google.com/file/d/18Bfpta1s-X0cE0BAbifp6tpNpTSTFBzc/view
Perguntas interessantes