Ir ao conteúdo
  • Cadastre-se

VisualG Simulacao de prova de conhecimento gerais


Ir à solução Resolvido por devair1010,

Posts recomendados

Bom dia, alguém poderia me ajudar a fazer um ranking do tipo mostra o primeiro lugar segundo lugar, em ordem crescente,tentei fazer mas não estou conseguindo 

 

 

 

 

var
acertos,erros:vetor[1..3] de inteiro  //Variaveis para armazenar o acerto e erros separados para cada pessoa em vetor
nome:vetor[1..3] de caractere  // variavel para armazenar o nome de cada pessoa separado q fizer a prova em vetor
i:inteiro  // contador
res:caractere // variavel para ler a resposta de cada questão
percentualacertos1:real
percentualacertos2:real      // variveis para calcular o percentual de acertos das questões
percentualacertos3:real
inicio
// Seção de Comandos
para i de 1 ate 3 passo 1 faca          //  laco de repetição para fazer a prova ate 3 vezes com diferentes pessoas
   escreval
   escreval("                                 ","[",i," ]","° Prova                                        ")
   escreval
   escreval("==================================================================================")
   escreval("                        PROVA DE CONHECIMENTO GERAIS!                             ")
   escreval("==================================================================================")
   escreval
   escreva("Nome: ")
   leia(nome[i])
   escreval
   escreval
   escreval("==================================================================================")
   escreval("                                 1° Questão                                       ")
   escreval("==================================================================================")    // inicio da prova com as questões
   escreval
   escreval("1- Quem foi a primeira pessoa a viajar no Espaço? ")
   escreval("A) Yuri Gagarin")
   escreval("B) A cadela Laika")
   escreval("C) Neil Armstrong")
   escreval("D) Buzz Aldrin ")
   escreval
   escreval("Resposta: ")
   leia(res)                                                // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="a") então          // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 2° Questão                                       ")
   escreval("==================================================================================")      //prova com as questões
   escreval
   escreval("1- Qual a montanha mais alta do mundo? ")
   escreval("A) Monte Chimborazo")
   escreval("B) Monte Everest")
   escreval("C) Pico da Neblina")
   escreval("D) Monte Chimborazo")
   escreval
   escreval("Resposta: ")
   leia(res)                       // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="b") então          // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 3° Questão                                       ")
   escreval("==================================================================================")     //prova com as questões
   escreval
   escreval("1- Onde se localiza Machu Picchu? ")
   escreval("A) Colômbia")
   escreval("B) Peru ")
   escreval("C) Bolívia")
   escreval("D) Argentina")
   escreval
   escreval("Resposta: ")
   leia(res)                  // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="b") então         // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 4° Questão                                       ")
   escreval("==================================================================================")    //prova com as questões
   escreval
   escreval("1- Quanto tempo a Terra demora para dar uma volta completa em torno dela mesma ")
   escreval("A) 30 dias ")
   escreval("B) 365 dias ")
   escreval("C) 24 horas ")
   escreval("D) 7 dias")
   escreval
   escreval("Resposta: ")
   leia(res)                   // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="c") então          // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 5° Questão                                       ")
   escreval("==================================================================================")     //prova com as questões
   escreval
   escreval("1- Qual a Temperatura de ebulição da água? ")
   escreval("A) 150° C")
   escreval("B) 90° C")
   escreval("C) 200° C ")
   escreval("D) 100° C ")
   escreval
   escreval("Resposta: ")
   leia(res)                     // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="d") então            // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 6° Questão                                       ")
   escreval("==================================================================================")      //prova com as questões
   escreval
   escreval("1- Qual o maior planeta do sistema solar? ")
   escreval("A) Terra ")
   escreval("B) Saturno ")
   escreval("C) Júpiter")
   escreval("D) Lua")
   escreval
   escreval("Resposta: ")
   leia(res)                    // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="c") então           // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 7° Questão                                       ")
   escreval("==================================================================================")     //prova com as questões
   escreval
   escreval("1- Qual o monumento famoso pela sua inclinação? ")
   escreval("A) Torre Eiffel")
   escreval("B) Torre de Pisa  ")
   escreval("C) Estatua da Liberdade ")
   escreval("D) Esfinge")
   escreval
   escreval("Resposta: ")
   leia(res)                     // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="b") então            // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 8° Questão                                       ")
   escreval("==================================================================================")   //prova com as questões
   escreval
   escreval("1- Qual a especialidade do otorrinolaringologista? ")
   escreval("A) Tratamento das doenças da pele")
   escreval("B) Tratamento das doenças dos olhos")
   escreval("C) Tratamento de estomago")
   escreval("D) Tratamento das doenças relacionadas a nariz, ouvido e garganta")
   escreval
   escreval("Resposta: ")
   leia(res)                      // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="d") então             // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 9° Questão                                       ")
   escreval("==================================================================================")     //prova com as questões
   escreval
   escreval("1- Que grande evento histórico aconteceu em 1822 no Brasil? ")
   escreval("A) Independencia do Brasil")
   escreval("B) Descobrimento do Brasil")
   escreval("C) Ditadura Militar")
   escreval("D) Construção de Brasilia")
   escreval
   escreval("Resposta: ")
   leia(res)                       // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="a") então              // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
   escreval
   escreval("==================================================================================")
   escreval("                                 10° Questão                                       ")
   escreval("==================================================================================")     //prova com as questões
   escreval
   escreval("1-  Qual a primeira mulher a ganhar um prêmio Nobel? ")
   escreval("A) Madre Teresa de Calcutá")
   escreval("B) Elizabeth Blackweel ")
   escreval("C) Valentina Tereshkova")
   escreval("D) Marie Curie")
   escreval
   escreval("Resposta: ")
   leia(res)                    // ler as respostas
   enquanto (res <> "a") e (res <> "b") e (res <> "c") e (res <> "d") faca    // não deixa o usuario digitar as alternativas que não sejam A,B,C,D
      escreval("Opção Invalida! Digite outra resposta")
      leia(res)
   fimenquanto
   se(res="d") então           // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
      acertos[i]:=acertos[i] + 1
   senao
      erros[i]:=erros[i] + 1
   fimse

   limpatela
fimpara

percentualacertos1:=(acertos[1]/10)*100
percentualacertos2:=(acertos[2]/10)*100    //atribuição para o calculo de percentual de acertos
percentualacertos3:=(acertos[3]/10)*100
escreval
escreval("====================================================================================")
escreval("                               RESULTADO DAS PROVAS!                                ")
escreval("====================================================================================")
escreval
escreval("Resultado prova 1! Nome: ",nome[1]," Acertos: ",acertos[1]," Percentual de: ",percentualacertos1:6:2,"% Erros: ",erros[1])
escreval("Resultado prova 2! Nome: ",nome[2]," Acertos: ",acertos[2]," Percentual de: ",percentualacertos2:6:2,"% Erros: ",erros[2])   // saida com o resultado da prova com o nome, acertos, percentual de acertos e erros
escreval("Resultado prova 3! Nome: ",nome[3]," Acertos: ",acertos[3]," Percentual de: ",percentualacertos3:6:2,"% Erros: ",erros[3])



fimalgoritmo

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@Resende inacio      essa lógica não está muito boa , não , pois você está contando os acertos e erros ,  e não precisa usar vetor para isso ,  melhor seria usar os vetores para armazenar as questões e respostas  e após terminar todas as questões ,  faz a contagem dos acertos e erros , e não precisa repetir a mesma parte do código várias vezes ,  se usar um laço de repetição que vai pegando as Questões armazenadas previamente em um vetor de caracteres antes do início do programa ,   e assim você poderia usar um método de ordenação de vetores , como o bubbleSort ou o AncoraSort  e teria a classificção dos melhores pontuados  decrescendo para os que tenham menos quantidade de pontos .

Link para o comentário
Compartilhar em outros sites

3 horas atrás, devair1010 disse:

@Resende inacio      essa lógica não está muito boa , não , pois você está contando os acertos e erros ,  e não precisa usar vetor para isso ,  melhor seria usar os vetores para armazenar as questões e respostas  e após terminar todas as questões ,  faz a contagem dos acertos e erros , e não precisa repetir a mesma parte do código várias vezes ,  se usar um laço de repetição que vai pegando as Questões armazenadas previamente em um vetor de caracteres antes do início do programa ,   e assim você poderia usar um método de ordenação de vetores , como o bubbleSort ou o AncoraSort  e teria a classificção dos melhores pontuados  decrescendo para os que tenham menos quantidade de pontos .

e como ficaria esse codigo melhorado?

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Resende inacio    creio que poderia ser assim :

Algoritmo "Ordem CescenTe"
var
  acertos,erros      : vetor[ 1..3      ] de inteiro    //Variaveis para armazenar o acerto e erros separados para cada pessoa em vetor
  questoes,respostas : vetor[ 1..10,1..5] de caractere
  nome               : vetor[ 1..3      ] de caractere  // variavel para armazenar o nome de cada pessoa separado q fizer a prova em vetor
  res , aux          :                       caractere  // variavel para ler a resposta de cada questão
  i , j ,q ,auxiliar :                       inteiro    // contador    
  percentualacertos1 :                       real
  percentualacertos2 :                       real       // variveis para calcular o percentual de acertos das questões
  percentualacertos3 :                       real

inicio
  questoes[1,1] := " Quem foi a primeira pessoa a viajar no Espaço? "
  questoes[1,2] := "A) Yuri Gagarin"
  questoes[1,3] := "B) A cadela Laika"
  questoes[1,4] := "C) Neil Armstrong"
  questoes[1,5] := "D) Buzz Aldrin"
  
  questoes[2,1] := " Qual a montanha mais alta do mundo? "
  questoes[2,2] := "A) Monte Everest"
  questoes[2,3] := "B) Monte Chimborazo"
  questoes[2,4] := "C) Pico da Neblina"
  questoes[2,5] := "D) Monte Chimborazo"
  
  questoes[3,1] := " Onde se localiza Machu Picchu? ")
  questoes[3,2] := "A) Peru "
  questoes[3,3] := "B) Colômbia"
  questoes[3,4] := "C) Bolívia"
  questoes[3,5] := "D) Argentina"
  
  questoes[4,1] := " Quanto tempo a Terra demora para dar uma volta completa em torno dela mesma ")
  questoes[4,2] := "A) 365 dias "
  questoes[4,3] := "B) 30 dias "
  questoes[4,4] := "C) 24 horas "
  questoes[4,5] := "D) 7 dias "
  
  questoes[5,1] := " Qual a Temperatura de ebulição da água? ")
  questoes[5,2] := "A) 100° C "
  questoes[5,3] := "B) 90° C"
  questoes[5,4] := "C) 200° C "
  questoes[5,5] := "D) 150° C"
  
  questoes[6,1] := " Qual o maior planeta do sistema solar? ")
  questoes[6,2] := "A) Júpiter"
  questoes[6,3] := "B) Saturno "
  questoes[6,4] := "C) Terra "
  questoes[6,5] := "D) Lua"
  
  questoes[7,1] := " Qual o monumento famoso pela sua inclinação? ")
  questoes[7,2] := "A) Torre de Pisa  "
  questoes[7,3] := "B) Torre Eiffel"
  questoes[7,4] := "C) Estatua da Liberdade "
  questoes[7,5] := "D) Esfinge"

  questoes[8,1] := " Qual a especialidade do otorrinolaringologista? ")
  questoes[8,2] := "A) Tratamento das doenças relacionadas a nariz, ouvido e garganta"
  questoes[8,3] := "B) Tratamento das doenças dos olhos"
  questoes[8,4] := "C) Tratamento de estomago"
  questoes[8,5] := "D) Tratamento das doenças da pele"
  
  questoes[9,1] := " Que grande evento histórico aconteceu em 1822 no Brasil? ")
  questoes[9,2] := "A) Independencia do Brasil"
  questoes[9,3] := "B) Descobrimento do Brasil"
  questoes[9,4] := "C) Ditadura Militar"
  questoes[9,5] := "D) Construção de Brasilia"
  
  questoes[10,1] := "  Qual a primeira mulher a ganhar um prêmio Nobel? ")
  questoes[10,2] := "A) Madre Teresa de Calcutá"
  questoes[10,3] := "B) Elizabeth Blackweel "
  questoes[10,4] := "C) Valentina Tereshkova"
  questoes[10,5] := "D) Marie Curie"
  para i de 1 ate 3 passo 1 faca               //  laco de repetiCAo para fazer a prova para 3 Alunos diferentes
    escreval
    escreval("                                 ","[",i," ]","° Aluno                                        ")
    escreval
    escreval("==================================================================================")
    escreval("                        PROVA DE CONHECIMENTO GERAIS!                             ")
    escreval("==================================================================================")
    escreval
    escreva("Nome: ")
    leia(nome[i])
    para j de 1 ate 10 faca
      escreval
      escreval
      escreval("==================================================================================")
      escreval("                                 ",j," ° Questão                                       ")
      escreval("==================================================================================")    // inicio da prova com as questões
      escreval
      para q de 1 ate 5 faca
        escreval(questoes[ j , q ] )
      fimpara
      escreval
      escreval("Resposta: ")
      leia( res )                                 // ler as respostas
      enquanto ( res < "a" ) ou ( res > "d" ) faca
        escreval("Opção Invalida! Digite outra resposta")
        leia( res )
      fimenquanto
      se res = "a"  então          // comando se vai comparar se a resposta foi correta ou não e vai contabilizar os acertos e erros
        acertos[i] := acertos[i] + 1
      senao
        erros[i] := erros[i] + 1
      fimse
      limpatela
    fimpara
  fimpara
  percentualacertos1:=(acertos[1]/10)*100
  percentualacertos2:=(acertos[2]/10)*100    //atribuição para o calculo de percentual de acertos
  percentualacertos3:=(acertos[3]/10)*100
  para i de 1 ate 3 faca
    para j de 1 ate 3 faca
      se acertos[i]  <  acertos[j] então
        auxiliar    := acertos[i]
        acertos[i]  := acertos[j]
        acertos[j]  := auxiliar    // organiza os acertos
        
        auxiliar    := erros[i]
        erros[i]    := erros[j]
        erros[j]    := auxiliar    // organiza os erros

        aux         := nome[i]     // organiza os nomes
        nome[i]     := nome[j]
        nome[j]     := aux
      fimse
    fimpara
  fimpara
  escreval
  escreval("====================================================================================")
  escreval("                               RESULTADO DAS PROVAS!                                ")
  escreval("====================================================================================")
  para i de 1 ate 3 faca
    escreval
    escreval("Resultado prova ",i," ! Nome: ",nome[i]," Acertos: ",acertos[i]," Percentual de: ",percentualacertos1:6:2,"% Erros: ",erros[i])
  fimpara
fimalgoritmo

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!