Existe um tipo de jogo chamado QUIZ que representa uma sequência de perguntas onde as respostas corretas valem pontos a serem somados. Ao final das perguntas, o objetivo é conseguir o maior número de pontos possíveis no jogo.
As perguntas são distribuídas em 5 questões de múltipla escolha e cada acerto vale 10 pontos (na 1º tentativa) e 5 pontos (na 2º alternativa). A pontuação vai sendo incrementada e o total dos pontos é exibido no final para o usuário.
Todas as questões são baseadas em assuntos da disciplina.
A solução deve exibir uma interface baseada em caracteres que exiba as perguntas em uma janela feita com caracteres comuns do teclado como no exemplo a seguir:
+-----------------------------------------------------------------------+
| QUIZ DE PERGUNTAS E RESPOSTAS |
+-----------------------------------------------------------------------+
| JOGO COM 5 PERGUNTAS SOBRE A DISCIPLINA |
| CADA ACERTO VALE 10 OU 5 PONTOS |
| 10 PONTOS NA PRIMEIRA TENTATIVA |
| 5 PONTOS NA SEGUNDA TENTATIVA |
| 0 PONTOS SE ERRAR AS DUAS TENTATIVAS |
| AO FINAL, EXIBIR A PONTUAÇÃO TOTAL |
| EXIBIR MENSAGEM JUNTO A PONTUAÇÃO |
| EXCELENTE SE ATINGIR 50 PONTOS |
| ÓTIMO SE FIZER ENTRE 35 E 49 PONTOS |
| BOM SE FIZER ENTRE 20 E 34 PONTOS |
| REGULAR SE FIZER ENTRE 5 E 19 PONTOS |
| PÉSSIMO SE FIZER MENOS DE 5 PONTOS |
| APÓS, PODEM SER EXIBIDOS ERROS E ACERTOS |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| QUAL O COMANDO PARA EXIBIR MENSAGENS? |
+-----------------------------------------------------------------------+
| LEIA |
| ESCREVA |
| PARA |
| SE |
| VAR |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| QUAL O COMANDO PARA DESVIO DE FLUXO NA |
| EXECUÇÃO DE PROGRAMAS? |
+-----------------------------------------------------------------------+
| LEIA |
| ESCREVA |
| PARA |
| SE |
| VAR |
+-----------------------------------------------------------------------+
+-------------------------------------------------------------------------+
| QUAL O COMANDO PARA RECEBER DADOS PELO |
| TECLADO? |
+-------------------------------------------------------------------------+
| LEIA |
| ESCREVA |
| PARA |
| SE |
| VAR |
+-----------------------------------------------------------------------+
+-------------------------------------------------------------------------+
| QUAL O COMANDO PARA INICIAR A DECLARAÇÃO |
| DE VARIÁVEIS? |
+-------------------------------------------------------------------------+
| LEIA |
| ESCREVA |
| PARA |
| SE |
| VAR |
+-------------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| QUAL O COMANDO PARA CRIAR LAÇOS DE |
| REPETIÇÃO CONTADOS? |
+-----------------------------------------------------------------------+
| LEIA |
| ESCREVA |
| PARA |
| SE |
| VAR |
+-----------------------------------------------------------------------+
Soluções para a tarefa
Resposta:
alguém com a estrutura pronta?
Explicação:
Resposta:
Algoritmo "QUIZ-PAD"
// ALGORITIMO
// PEDRO ANDRADE
// Descrição : Quiz de perguntas e respostas
// Data atual : 04/06/2021
Var
perguntas : vetor [1..5] de caracter
respostas : vetor [1..5] de caracter
pontos, contador1, contador2 : inteiro
resposta, msg: caracter
Inicio
perguntas[1] := "QUAL O COMANDO PARA EXIBIR MENSAGENS?"
perguntas[2] := "QUAL O COMANDO PARA DESVIO DE FLUXO NA EXECUÇÃO DE PROGRAMAS?"
perguntas[3] := "QUAL O COMANDO PARA RECEBER DADOS PELO TECLADO?"
perguntas[4] := "QUAL O COMANDO PARA INICIAR A DECLARAÇÃO DE VARIÁVEIS?"
perguntas[5] := "QUAL O COMANDO PARA CRIAR LAÇOS ED REPETIÇÃO CONTADOS"
respostas[1] := "ESCREVA"
respostas[2] := "SE"
respostas[3] := "LEIA"
respostas[4] := "VAR"
respostas[5] := "PARA"
para contador1 de 1 até 5 faca
limpatela
escreval(perguntas[contador1])
escreva("RESPOSTA: ")
leia( resposta )
se resposta = respostas[contador1] então
pontos <- pontos + 10
contador1 <- contador1 + 1
senão
limpatela
escreval(perguntas[contador1])
escreval("SEGUNDA TENTATIVA!")
escreva("RESPOSTA: ")
leia( resposta )
se resposta = respostas[contador1] então
pontos <- pontos + 5
senão
pontos <- pontos + 0
fimse
fimse
fimpara
escolha pontos
caso 50
msg <- "EXELENTE"
caso 35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
msg <- "ÓTIMO"
caso 34,33,32,31,30,29,28,27,26,25,24,23,22,21,20
msg <- "BOM"
caso 19,18,17,16,15,14,13,12,11,10,9,8,7,6,5
msg <- "REGULAR"
caso 1,2,3,4
msg <- "PESSIMO"
outrocaso
msg <- "INACREDITÁVEL"
fimescolha
escrevaL ( "VOCÊ FOI ", msg )
ESCREVAL ( "VOCÊ FEZ", pontos, " PONTOS!")
Fimalgoritmo
Explicação: