Ir ao conteúdo
  • Cadastre-se

VisualG Problemas algoritmo criar um questionário com matriz.


Posts recomendados

  • Membro VIP

Sobre:

12 horas atrás, Biscatão da Boate disse:

procedimento definequest()
inicio
aleatorio on

Remova ele aleatorio on e aleatorio off. Não tem utilidade no teu código.

 

Por sinal, acho essa estrutura do aleatorio fantástica... um dos grandes pontos positivos do Visualg. Ela funciona apenas em relação aos comandos leia(), ou seja,  "apenas" vai inserir dados "aleatórios" nesses leia() automaticamente... como se um usuário tivesse digitando. Mas emfim... apenas retire-o. Você vai usar o randi().

 

 

 

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

@Simon Viegas Até esqueci de tirar, eu apenas coloquei ela pra ver se ia dar resultado, mas como ja era de se esperar...

Bem o randi() até serviu, porém ele repete algumas questões, então eu teria que fazer um passo que o "devair1010" falou. Tenho um tempo para rever o código e mudar algumas coisas, provavelmente concertarei isso. Caso eu tiver alguma dúvida ou erro, estarei postando aqui.

adicionado 0 minutos depois

@Simon Viegas Por sinal, como deixo o algoritmo que colar aqui no formato certo visualg? Tipo, coloridinho e tal igual tu faz...

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

  • Membro VIP

1#

Sobre:

2 horas atrás, Biscatão da Boate disse:

@Simon Viegas Por sinal, como deixo o algoritmo que colar aqui no formato certo visualg? Tipo, coloridinho e tal igual tu faz...

 

Dê uma olhada nesse tópico:

 

 

 

2#

Sobre:

2 horas atrás, Biscatão da Boate disse:

Bem o randi() até serviu, porém ele repete algumas questões, então eu teria que fazer um passo que o "devair1010" falou. Tenho um tempo para rever o código e mudar algumas coisas, provavelmente concertarei isso.

 

Tem pelo menos duas formas:

1. Usando um vetor para armazenar os números já repetidos:

17 horas atrás, devair1010 disse:

[...] você pode controlar isso armazenado , em um vetor , as questões que já foram mostradas e verifica para ver se a escolhida já foi mostrada , se sim escolher outra . e se as dez já foi mostradas então passe para outras coisas a fazer  ou termine o programa

 

Tentar entender e implementar, se tiver dúvida sobre alguma parte, é só perguntar.

 

2. Utilizando um vetor contendo as posições já embaralhadas

Em vez de posicionar o vetor das perguntas utilizando uma variável, você utilizará um "vetor de posições".

Cada posição de vetPos[] conterá uma posição de 1 a 10, inicialmente ficando em ordem mesmo, ou seja, na posição 1 de vetPos[] conterá o valor 1, na posição 2, valor 2.

 

Algo como:

escreval(quest[vetPos[q],r])

Quando q=1, então será equivalente a vetPos[1]. Esse vai retornar o valor 1. Será equivalente a:

escreval(quest[1,r])

Certo?

Para q=2, vai retornar 2. Acessado a segunda pergunta... etc.

 

Qual a jogada? em vez usar essas posições em ordem, você vai "embaralha" esse vetor de posições. Logo, a posição 1 de vetPos[] não conterá mais necessariamente o valor 1, vai ter um valor aleatório! Na posição 2, outro valor aleatório. Por ai vai. Não vai se preocupar com repetidos, pois o vetor não está sendo gerado, mas sim EMBARALHADO, ou seja, será feito apenas trocas de posições aleatoriamente.

 

Tá, mas como embaralhar um vetor?

Vide por exemplo esse tópico abaixo... que usa um tal de "algoritmo Knuth Fisher-Yates" (sugiro pesquisar sobre depois que entender o código):

 

Tente extrair o que você precisa lá no tópico e utilizar no seu código.

 

RESUMINDO:

- criar um vetor de 10 posições, contendo os valores de 1 a 10.

- embaralha o vetor utilizar o algoritmo de embaralhamento

- utilizar o vetor embaralhado para posicionar as perguntas.

 

obs.: ah! porque não embaralhar o próprio vetor de perguntas? poderia fazer isso, mas perceba que é muito mais custoso... tem muito dados para reposicionar. Já utilizando o "vetor de índices", apenas precisa embaralhar os índices. Terá o mesmo resultado, mas com menos "trabalho computacional".

 

***

 

Escolha qualquer uma das duas formas (ou uma terceira) e tente implementar. Qualquer dúvida é só perguntar.

 

No aguardo.

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

@Simon Viegas Quebrei a cabeça pra caramba e não entendi, eu fiz o sistema de embaralhamento, poŕem n ta funcionando por algum erro que eu n consegui encontrar, se puder por favor me ajudar. Quero aprender esse método e gravar na cabeça mesmo porque é útil p crlh (se é que tenha algo inútil em programação).

Algoritmo "Avaliação História 3.0"

Var
vet                     :vetor[1..10] de inteiro
i,n                   :inteiro
quest                   :vetor[1..10,1..6] de caractere
resp                    :caractere
r,q                     :inteiro
tela                    :caractere
certos                  :inteiro
erros                   :inteiro
cont                    :inteiro
op,op2                  :inteiro
confirm                 :caractere
aux                     :inteiro
cont2                   :inteiro


procedimento q()

inicio

limpatela

cont <- cont + 1

escreval(cont,"° QUESTÃO:")

fimprocedimento

procedimento separa()

inicio

escreval("-------------")

fimprocedimento

procedimento limpa()

inicio
escreval("Pressione ENTER...")
leia(confirm)
limpatela
fimprocedimento

procedimento definequest()
inicio

quest[1,1] <- "Quem foi Adolf Hitler?"
quest[1,2] <- "A)Um Camponês Alemão"
quest[1,3] <- "B)Líder da Alemanha Nazista no período da Segunda Guerra"
quest[1,4] <- "C)Líder do Brasil no período da Segunda Guerra"
quest[1,5] <- "D)Empresário Alemão"
quest[1,6] <- "B"//Resposta Certa

quest[2,1] <- "Quem foi Benito Mussolini?"
quest[2,2] <- "A)Um ditador Italiano do PNF(Partido Nacional Fascista)"
quest[2,3] <- "B)Um líder de movimentos comunistas"
quest[2,4] <- "C)Fundador do Satanismo no mundo"
quest[2,5] <- "D)Um traficante de escravos"
quest[2,6] <- "A"//Resposta Certa

quest[3,1] <- "Quando Foi a Segunda Guerra Mundial?"
quest[3,2] <- "A)1909 - 1910"
quest[3,3] <- "B)1920 - 1930"
quest[3,4] <- "C)1939 - 1945"
quest[3,5] <- "D)1800 - 1850"
quest[3,6] <- "C"//Resposta Certa

quest[4,1] <- "Quem foi Júlio César?"
quest[4,2] <- "A)Foi um político e futuramente Imperador Romano"
quest[4,3] <- "B)Foi um matemático"
quest[4,4] <- "C)Foi um religioso"
quest[4,5] <- "D)Foi um programador"
quest[4,6] <- "A"//Resposta Certa

quest[5,1] <- "Quando foi a Primeira Guerra Mundial?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1914 - 1918"
quest[5,4] <- "C)1956 - 1978"
quest[5,5] <- "D)1900 - 1920"
quest[5,6] <- "B"//Resposta Certa

quest[5,1] <- "Quando foi o Regime Militar no Brasil?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1916 - 1918"
quest[5,4] <- "C)1912 - 1918"
quest[5,5] <- "D)1910 - 1920"
quest[5,6] <- "A"//Resposta Certa

quest[6,1] <- "Quando foi descoberta a América?"
quest[6,2] <- "A)1492"
quest[6,3] <- "B)1500"
quest[6,4] <- "C)1450"
quest[6,5] <- "D)1600"
quest[6,6] <- "A"//Resposta Certa

quest[7,1] <- "Quando foi descoberto o Brasil?"
quest[7,2] <- "A)1480"
quest[7,3] <- "B)1500"
quest[7,4] <- "C)1450"
quest[7,5] <- "D)1600"
quest[7,6] <- "B"//Resposta Certa

quest[8,1] <- "Quem descobriu o Brasil?"
quest[8,2] <- "A)Pedro Álvares Cabral"
quest[8,3] <- "B)Getúlio Vargas"
quest[8,4] <- "C)Dom Pedro I"
quest[8,5] <- "D)Dom Pedro II"
quest[8,6] <- "A"//Resposta Certa


quest[9,1] <- "Quando foi proclamado a República?"
quest[9,2] <- "A)1889"
quest[9,3] <- "B)1420"
quest[9,4] <- "C)1450"
quest[9,5] <- "D)1700"
quest[9,6] <- "A"//Resposta Certa


quest[10,1] <- "Quando foi o período das Cruzadas?"
quest[10,2] <- "A)1095 - 1291"
quest[10,3] <- "B)900  - 1000"
quest[10,4] <- "C)1000 - 1100"
quest[10,5] <- "D)1100 - 1200"
quest[10,6] <- "A"//Resposta Certa
fimprocedimento

procedimento menu()
inicio
cont2 <- cont2 + 1
escreval("********************************************************")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                AVALIAÇÃO DE HISTÓRIA                 *")
escreval("*                                                      *")
escreval("*                1 - REALIZAR PROVA                    *")
escreval("*                2 - RELATÓRIOS                        *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escrevaL("********************************************************")
leia (op)
fimprocedimento

procedimento verif()
inicio
para q de 1 ate 10 faca
   vet[q] <- q
fimpara

para q de 10 ate 2 passo 1 faca
   n <- randi(q+1)
   m <- vet[q]
   (vet[q]) <- (vet[n])
   (vet[n]) <- m
fimpara
fimprocedimento
Inicio

definequest()
verif()
menu()

se op = 1 entao
   para q de 1 ate 10 faca
      q()
      separa()
      escreval(quest[vet[q],1])
      escreval
      para r de 2 ate 5 faca
         escreval(quest[vet[q],r])
      fimpara
      escreval()
      escreva("A alternativa CORRETA é:")
      leia(resp)
      se (resp = quest[q,6]) entao
         certos <- certos + 1
      senao
         erros <- erros + 1
      fimse
   fimpara
   limpatela
   menu()
fimse
//-----------------
se cont2 = 2 entao
   repita
      limpa()
      se op = 2 entao
         repita
            escreval("********************************************************")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escreval("*                AVALIAÇÃO DE HISTÓRIA                 *")
            escreval("*                                                      *")
            escreval("*                1 - VERIFICAR ACERTOS                 *")
            escreval("*                2 - VERIFICAR ERROS                   *")
            escreval("*                3 - CONFERIR GABARITO                 *")
            escreval("*                4 - FECHAR AVALIAÇÃO                  *")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escrevaL("********************************************************")
            leia(op2)
            se op2 = 1  entao
               escreval("O número de ACERTOS são:",certos)
               escreval()
               limpa()
            fimse

            se op2 = 2 entao
               escreval("O número de ERROS são:",erros)
               escreval()
               limpa()
            fimse

            se op2 = 3 entao
               para q de 1 ate 10 faca
                  para r de 6 ate 6 faca
                     escreva(q, "°")
                     escreval (quest[q,r])
                  fimpara
               fimpara
               escreval()
               limpa()
            fimse


            se op2 = 4 entao
            fimse
         ate op2 = 4
      fimse
   senao
      se cont2 = 1 entao
         escreval("VOCÊ AINDA NÃO REALIZOU A PROVA!")
      fimse
   fimse

Fimalgoritmo

 

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

  • Membro VIP
13 horas atrás, Biscatão da Boate disse:

@Simon Viegas Quebrei a cabeça pra caramba e não entendi, eu fiz o sistema de embaralhamento, poŕem n ta funcionando por algum erro que eu n consegui encontrar, se puder por favor me ajudar. Quero aprender esse método e gravar na cabeça mesmo porque é útil p crlh (se é que tenha algo inútil em programação).

 

O quê não está funcionando? o que está acontecendo diferente do que deveria acontecer? ("não está funcionando" fica muito genérico)

 

 

No aguardo

 

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

Em 14/11/2018 às 19:18, Simon Viegas disse:
Em 14/11/2018 às 01:19, devair1010 disse:

você pode controlar isso armazenado , em um vetor , as questões que já foram mostradas e verifica para ver se a escolhida já foi mostrada , se sim escolher outra . e se as dez já foi mostradas então passe para outras coisas a fazer  ou termine o programa

 

Como posso estar fazendo isso? Não entendi muito bem a explicação...@Simon Viegas

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

  • Membro VIP

1#

Sobre:

2 horas atrás, Biscatão da Boate disse:

Como posso estar fazendo isso? Não entendi muito bem a explicação...@Simon Viegas

 

Sua dúvida foi sobre a sugestão 1?

Em 14/11/2018 às 19:18, Simon Viegas disse:

Tem pelo menos duas formas:

1. Usando um vetor para armazenar os números já repetidos:

Em 14/11/2018 às 01:19, devair1010 disse:

[...] você pode controlar isso armazenado , em um vetor , as questões que já foram mostradas e verifica para ver se a escolhida já foi mostrada , se sim escolher outra . e se as dez já foi mostradas então passe para outras coisas a fazer  ou termine o programa

 

Tentar entender e implementar, se tiver dúvida sobre alguma parte, é só perguntar.

 

Essa sugestão foi passada por @devair1010. Eu citei o comentário dele. Poderia ser mais ou menos assim:

 

Cria um vetor de "perguntas já feitas". Ela começa vazia. Você sorteia um número de pergunta. Enquanto o número sorteado existir no vetor de "perguntas já feitas", vai sortear um novo número. Quando achar um número que não existe nesse vetor, adiciona essa pergunta no vetor de "perguntas feitas" e usa a pergunta.

 

Quando for sortear a próxima pergunta, mais uma pergunta já estará no "vetor de perguntas". Se por acaso sortear essa pergunta já usada, o programa vai sortear um novo até q.

 

Obs.: você vai armazenar a posição da pergunta.

 

Se a dúvida foi essa, e tem ainda alguma dúvida, é só perguntar.

Se não foi essa, explica melhor qual é.

 

 

 

2#

Sobre:

Em 15/11/2018 às 11:43, Simon Viegas disse:

O quê não está funcionando? o que está acontecendo diferente do que deveria acontecer? ("não está funcionando" fica muito genérico)

 

Você apenas disse que "não está funcionado". Faltou dizer "o quê está acontecendo". Por exemplo: "implementei o embaralhamento, mas a ordem das perguntas não estão mudando", ou lá o que tinha acontecido. ;)

 

 

Compare o código original:

    //Preenche o vetor com todos os numeros de 0 a 9
    para i de 0 ate 9 faca
       vet[i] <- i
    fimpara
    //Embaralha os numeros no vetor usando o algoritmo Knuth Fisher-Yates
    para i de 9 ate 1 passo -1 faca
       n <- randi(i+1)
       m <- vet[i]
       vet[i] <- vet[n]
       vet[n] <- m
    fimpara

 

Com seu código:

Em 14/11/2018 às 22:28, Biscatão da Boate disse:

para q de 1 ate 10 faca
   vet[q] <- q
fimpara

para q de 10 ate 2 passo 1 faca
   n <- randi(q+1)
   m <- vet[q]
   (vet[q]) <- (vet[n])
   (vet[n]) <- m
fimpara

 

Veja, o que muda do original para o seu é a faixa do vetor. Lá é de 0 a 9. No seu é de 1 a 10.

 

A linha do segundo para está errado (onde achou esse "passo 1"?), e o randi() também (você continua sorteando de 0 a 9, mas tem que sortear de 1 a 10).

 

 

 

No aguardo.

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

@Simon Viegas Ahhhhhh... Entendi onde tava errando, desculpe não explicar direito, mas eu não estava entendendo praticamente nada :v

Eu estava informando o vetor errado, fui muito desatento. Obrigado por tudo cara...

 

Segue o link do algoritmo:


 

Var
vet                     :vetor[1..10] de inteiro
m,n                     :inteiro
quest                   :vetor[1..10,1..6] de caractere
resp                    :caractere
r,q                     :inteiro
tela                    :caractere
certos                  :inteiro
erros                   :inteiro
cont                    :inteiro
op,op2                  :inteiro
confirm                 :caractere
aux                     :inteiro
cont2                   :inteiro
cont3                   :inteiro


procedimento q()

inicio

limpatela

cont <- cont + 1

escreval(cont,"° QUESTÃO:")

fimprocedimento

procedimento separa()

inicio

escreval("-------------")

fimprocedimento

procedimento limpa()

inicio
escreval("Pressione ENTER...")
leia(confirm)
limpatela
fimprocedimento

procedimento definequest()
inicio

quest[1,1] <- "Quem foi Adolf Hitler?"
quest[1,2] <- "A)Um Camponês Alemão"
quest[1,3] <- "B)Líder da Alemanha Nazista no período da Segunda Guerra"
quest[1,4] <- "C)Líder do Brasil no período da Segunda Guerra"
quest[1,5] <- "D)Empresário Alemão"
quest[1,6] <- "B"//Resposta Certa

quest[2,1] <- "Quem foi Benito Mussolini?"
quest[2,2] <- "A)Um ditador Italiano do PNF(Partido Nacional Fascista)"
quest[2,3] <- "B)Um líder de movimentos comunistas"
quest[2,4] <- "C)Fundador do Satanismo no mundo"
quest[2,5] <- "D)Um traficante de escravos"
quest[2,6] <- "A"//Resposta Certa

quest[3,1] <- "Quando Foi a Segunda Guerra Mundial?"
quest[3,2] <- "A)1909 - 1910"
quest[3,3] <- "B)1920 - 1930"
quest[3,4] <- "C)1939 - 1945"
quest[3,5] <- "D)1800 - 1850"
quest[3,6] <- "C"//Resposta Certa

quest[4,1] <- "Quem foi Júlio César?"
quest[4,2] <- "A)Foi um político e futuramente Imperador Romano"
quest[4,3] <- "B)Foi um matemático"
quest[4,4] <- "C)Foi um religioso"
quest[4,5] <- "D)Foi um programador"
quest[4,6] <- "A"//Resposta Certa

quest[5,1] <- "Quando foi a Primeira Guerra Mundial?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1914 - 1918"
quest[5,4] <- "C)1956 - 1978"
quest[5,5] <- "D)1900 - 1920"
quest[5,6] <- "B"//Resposta Certa

quest[5,1] <- "Quando foi o Regime Militar no Brasil?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1916 - 1918"
quest[5,4] <- "C)1912 - 1918"
quest[5,5] <- "D)1910 - 1920"
quest[5,6] <- "A"//Resposta Certa

quest[6,1] <- "Quando foi descoberta a América?"
quest[6,2] <- "A)1492"
quest[6,3] <- "B)1500"
quest[6,4] <- "C)1450"
quest[6,5] <- "D)1600"
quest[6,6] <- "A"//Resposta Certa

quest[7,1] <- "Quando foi descoberto o Brasil?"
quest[7,2] <- "A)1480"
quest[7,3] <- "B)1500"
quest[7,4] <- "C)1450"
quest[7,5] <- "D)1600"
quest[7,6] <- "B"//Resposta Certa

quest[8,1] <- "Quem descobriu o Brasil?"
quest[8,2] <- "A)Pedro Álvares Cabral"
quest[8,3] <- "B)Getúlio Vargas"
quest[8,4] <- "C)Dom Pedro I"
quest[8,5] <- "D)Dom Pedro II"
quest[8,6] <- "A"//Resposta Certa


quest[9,1] <- "Quando foi proclamado a República?"
quest[9,2] <- "A)1889"
quest[9,3] <- "B)1420"
quest[9,4] <- "C)1450"
quest[9,5] <- "D)1700"
quest[9,6] <- "A"//Resposta Certa


quest[10,1] <- "Quando foi o período das Cruzadas?"
quest[10,2] <- "A)1095 - 1291"
quest[10,3] <- "B)900  - 1000"
quest[10,4] <- "C)1000 - 1100"
quest[10,5] <- "D)1100 - 1200"
quest[10,6] <- "A"//Resposta Certa
fimprocedimento

procedimento f()
inicio
para q de 1 ate 10 faca
   vet[q] <- q
fimpara

para q de 10 ate 2 passo -1 faca
   n <- randi(q)+1
   m       <- vet[q]
   vet[q] <- vet[n]
   vet[n] <- m
fimpara
fimprocedimento

procedimento menu()
inicio
cont2 <- cont2 + 1
escreval("********************************************************")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                AVALIAÇÃO DE HISTÓRIA                 *")
escreval("*                                                      *")
escreval("*                1 - REALIZAR PROVA                    *")
escreval("*                2 - RELATÓRIOS                        *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escreval("*                                                      *")
escrevaL("********************************************************")
leia (op)
fimprocedimento


Inicio

definequest()

menu()

f()

se op = 1 entao
   para q de 1 ate 10 faca
      q()
      separa()
      escreval(quest[vet[q],1])
      escreval
      para r de 2 ate 5 faca
         escreval(quest[vet[q],r])
      fimpara
      escreval()
      escreva("A alternativa CORRETA é:")
      leia(resp)
      se (resp = quest[vet[q],6]) entao
         certos <- certos + 1
      senao
         erros <- erros + 1
      fimse
   fimpara
   limpatela
   menu()
fimse
//-----------------
se cont2 = 2 entao
   repita
      limpa()
      se op = 1 entao
      escreval("VOCÊ JÁ REALIZOU A PROVA! PRESSIONE 2 PARA CONFERIR OS RELATÓRIOS...")
      leia (op)
      fimse
      se op = 2 entao
         repita
            escreval("********************************************************")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escreval("*                AVALIAÇÃO DE HISTÓRIA                 *")
            escreval("*                                                      *")
            escreval("*                1 - VERIFICAR ACERTOS                 *")
            escreval("*                2 - VERIFICAR ERROS                   *")
            escreval("*                3 - CONFERIR GABARITO                 *")
            escreval("*                4 - FECHAR AVALIAÇÃO                  *")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escreval("*                                                      *")
            escrevaL("********************************************************")
            leia(op2)
            se op2 = 1  entao
               escreval("O número de ACERTOS são:",certos)
               escreval()
               limpa()
            fimse

            se op2 = 2 entao
               escreval("O número de ERROS são:",erros)
               escreval()
               limpa()
            fimse

            se op2 = 3 entao
               para q de 1 ate 10 faca
                  para r de 6 ate 6 faca
                     escreva(q, "°")
                     escreval (quest[vet[q],6])
                  fimpara
               fimpara
               escreval()
               limpa()
            fimse


            se op2 = 4 entao
            fimse
         ate op2 = 4
      fimse
   senao
      se cont2 = 1 entao
         escreval()
         escreval("VOCÊ AINDA NÃO REALIZOU A PROVA!")
      fimse
   fimse

Fimalgoritmo

GRACIAS...

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

@Biscatão da Boate


Algoritmo "AVALIAÇÃO HISTÓRIA FINAL"

//AUTORES: VALDECI JUNIOR RODRIGUES
//         LUCAS PONTES MARIANO BARBOSA
//         VICTOR HUGO SANCHES DE OLIVEIRA
//         ITALO JOSÉ MEDEIROS

Var
vet                     :vetor[1..10] de inteiro
m,n                     :inteiro
quest                   :vetor[1..10,1..6] de caractere
resp                    :caractere
r,q                     :inteiro
tela                    :caractere
certos                  :inteiro
erros                   :inteiro
cont                    :inteiro
op,op2                  :inteiro
confirm                 :caractere
aux                     :inteiro
cont2                   :inteiro
cont3                   :inteiro


procedimento q()

inicio

limpatela

cont <- cont + 1

escreval(cont,"° QUESTÃO:")

fimprocedimento

procedimento separa()

inicio

escreval("-------------")

fimprocedimento

procedimento limpa()

inicio
escreval("Pressione ENTER...")
leia(confirm)
limpatela
fimprocedimento

procedimento definequest()
inicio

quest[1,1] <- "Quem foi Adolf Hitler?"
quest[1,2] <- "A)Um Camponês Alemão"
quest[1,3] <- "B)Líder da Alemanha Nazista no período da Segunda Guerra"
quest[1,4] <- "C)Líder do Brasil no período da Segunda Guerra"
quest[1,5] <- "D)Empresário Alemão"
quest[1,6] <- "B"//Resposta Certa

quest[2,1] <- "Quem foi Benito Mussolini?"
quest[2,2] <- "A)Um ditador Italiano do PNF(Partido Nacional Fascista)"
quest[2,3] <- "B)Um líder de movimentos comunistas"
quest[2,4] <- "C)Fundador do Satanismo no mundo"
quest[2,5] <- "D)Um traficante de escravos"
quest[2,6] <- "A"//Resposta Certa

quest[3,1] <- "Quando Foi a Segunda Guerra Mundial?"
quest[3,2] <- "A)1909 - 1910"
quest[3,3] <- "B)1920 - 1930"
quest[3,4] <- "C)1939 - 1945"
quest[3,5] <- "D)1800 - 1850"
quest[3,6] <- "C"//Resposta Certa

quest[4,1] <- "Quem foi Júlio César?"
quest[4,2] <- "A)Foi um político e futuramente Imperador Romano"
quest[4,3] <- "B)Foi um matemático"
quest[4,4] <- "C)Foi um religioso"
quest[4,5] <- "D)Foi um programador"
quest[4,6] <- "A"//Resposta Certa

quest[5,1] <- "Quando foi a Primeira Guerra Mundial?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1914 - 1918"
quest[5,4] <- "C)1956 - 1978"
quest[5,5] <- "D)1900 - 1920"
quest[5,6] <- "B"//Resposta Certa

quest[5,1] <- "Quando foi o Regime Militar no Brasil?"
quest[5,2] <- "A)1964 - 1985"
quest[5,3] <- "B)1916 - 1918"
quest[5,4] <- "C)1912 - 1918"
quest[5,5] <- "D)1910 - 1920"
quest[5,6] <- "A"//Resposta Certa

quest[6,1] <- "Quando foi descoberta a América?"
quest[6,2] <- "A)1492"
quest[6,3] <- "B)1500"
quest[6,4] <- "C)1450"
quest[6,5] <- "D)1600"
quest[6,6] <- "A"//Resposta Certa

quest[7,1] <- "Quando foi descoberto o Brasil?"
quest[7,2] <- "A)1480"
quest[7,3] <- "B)1500"
quest[7,4] <- "C)1450"
quest[7,5] <- "D)1600"
quest[7,6] <- "B"//Resposta Certa

quest[8,1] <- "Quem descobriu o Brasil?"
quest[8,2] <- "A)Pedro Álvares Cabral"
quest[8,3] <- "B)Getúlio Vargas"
quest[8,4] <- "C)Dom Pedro I"
quest[8,5] <- "D)Dom Pedro II"
quest[8,6] <- "A"//Resposta Certa


quest[9,1] <- "Quando foi proclamado a República?"
quest[9,2] <- "A)1889"
quest[9,3] <- "B)1420"
quest[9,4] <- "C)1450"
quest[9,5] <- "D)1700"
quest[9,6] <- "A"//Resposta Certa


quest[10,1] <- "Quando foi o período das Cruzadas?"
quest[10,2] <- "A)1095 - 1291"
quest[10,3] <- "B)900  - 1000"
quest[10,4] <- "C)1000 - 1100"
quest[10,5] <- "D)1100 - 1200"
quest[10,6] <- "A"//Resposta Certa
fimprocedimento

procedimento f()
inicio
para q de 1 ate 10 faca
   vet[q] <- q
fimpara

para q de 10 ate 2 passo -1 faca
   n <- randi(q)+1
   m       <- vet[q]
   vet[q] <- vet[n]
   vet[n] <- m
fimpara
fimprocedimento

procedimento menu()
inicio

cont2 <- cont2 + 1
escreval()
escreval("           ####  ####  ####  #   #   #### ")
escreval("           #  #  #  #  #  #  #   #   #  # ")
escreval("           ####  ###   #  #  #   #   #### ")
escreval("           #     #  #  #  #  #   #   #  # ")
escreval("           #     #  #  ####    #     #  # ")
escreval()
escreval()
escreval("               1 - REALIZAR PROVA")
escreval("                 2 - RELATÓRIOS")
leia (op)
fimprocedimento


Inicio

definequest()

menu()

f()

se op = 1 entao
   para q de 1 ate 10 faca
      q()
      separa()
      escreval(quest[vet[q],1])
      escreval
      para r de 2 ate 5 faca
         escreval(quest[vet[q],r])
      fimpara
      escreval()
      escreva("A alternativa CORRETA é:")
      leia(resp)
      se (resp = quest[vet[q],6]) entao
         certos <- certos + 1
      senao
         erros <- erros + 1
      fimse
   fimpara
   limpatela
   menu()
fimse
//-----------------
se cont2 = 2 entao
   repita
      limpa()
      se op = 1 entao
         escreval("VOCÊ JÁ REALIZOU A PROVA! PRESSIONE 2 PARA CONFERIR OS RELATÓRIOS...")
         leia (op)
      fimse
      se op = 2 entao
         repita
            escreval()
            escreval("           ####  ####  ####  #   #   ####  ")
            escreval("           #  #  #  #  #  #  #   #   #  #  ")
            escreval("           ####  ###   #  #  #   #   ####  ")
            escreval("           #     #  #  #  #  #   #   #  #  ")
            escreval("           #     #  #  ####    #     #  #  ")
            escreval()
            escreval("                1 - VER ACERTOS")
            escreval("                 2 - VER ERROS")
            escreval("                  3 - VER GABARITO")
            escreval("                   4 - FECHAR SISTEMA")
            leia(op2)
            se op2 = 1  entao
               escreval("O número de ACERTOS são:",certos)
               escreval()
               limpa()
            fimse

            se op2 = 2 entao
               escreval("O número de ERROS são:",erros)
               escreval()
               limpa()
            fimse

            se op2 = 3 entao
               para q de 1 ate 10 faca
                  para r de 6 ate 6 faca
                     escreva(q, "°")
                     escreval (quest[vet[q],6])
                  fimpara
               fimpara
               escreval()
               limpa()
            fimse


            se op2 = 4 entao
            fimse
         ate op2 = 4
      fimse
   senao
      se cont2 = 1 entao
         escreval()
         escreval("VOCÊ AINDA NÃO REALIZOU A PROVA!")
      fimse
   fimse

Fimalgoritmo

A VERSÃO FINAL FICOU ASSIM, valeu...

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...