Ir ao conteúdo
  • Cadastre-se

VisualG Como imprimo os resultados calculados no VisualG?


Posts recomendados

Como imprimo os resultados calculados no VisualG?

 

Segue o código:

 

algoritmo "Vestibular-PROCEDIMENTO"
// Problema: Considere que o último concurso vestibular
//      apresentou três provas: Português, Matemática e
//      Física.
//      Considerando que para cada candidato tem-se
//      um registro contendo o seu nome e as notas obtidas
//      em cada uma das provas, construa um algoritmo que
//      forneça:
//      a) o nome do candidato e suas notas em cada prova
//      b) a média do candidato
//      c) Mostrar se o candidato foi aprovado
//      ou não. Considere que um candidato é aprovado se sua
//      média for igual ou maior que 7.0 e se não apresentou
//      nenhuma nota abaixo de 5.0
//  OBS:O ALGORÍTMO DEVERÁ ACEITAR QUALQUER NÚMERO DE CANDI-
//      DATOS E ENCERRAR AO ENTRAR COM O NOME "0"(ZERO) E
//      EXIBIR CADA CANDIDATO, SUA MÉDIA E SEU
//      RESULTADO (APROVADO ou REPROVADO)



// Autor(a)    : DAVI MATOS
// Data atual  : 21/08/2021



procedimento cabecalho
// ---- IMPRIME O CABECALHO DO ALGORITMO ----
inicio
   escreval("----------------------------------")
   escreval("CALCULO DA SITUAÇÃO DOS CANDIDATOS")
   escreval("----------------------------------")
   escreval("OBS:  Para exibir o o resultado, digite 0 em nome de 'Candidato'")
   escreval("================================================")
fimprocedimento

Var
   // Seção de Declarações das variáveis
   Candidato: vetor[1..1000] de caractere
   NotaPort, NotaMat, NotaFis, Media: vetor [1..1000] de real
   NotaAprov : real
   i,cont,ultimo: inteiro
   continua: logico

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...

   continua <- verdadeiro

   // LEITURA DOS NOMES E NOTAS DOS CANDIDATOS
   cont <- 1
   enquanto continua faca
      limpatela
      cabecalho
      escreva("Informe o nome do ",cont,"º canditato (0 para finalizar): ")
      leia(candidato[cont])
      se (candidato[cont] = "0") entao
         continua <- falso
         ultimo <- cont - 1
      senao
         limpatela
         cabecalho
         escreval("Candidato.....: ",maiusc(candidato[cont]))
         escreva("Nota de Português: ")
         leia(NotaPort[cont])

         se (NotaPort[cont] < 5) ou (NotaPort[cont] > 10) entao
            escreval("Atenção!  entre 5 e 10")
            fimalgoritmo
         fimse

         escreva("Nota de Matemática: ")
         leia(NotaMat[cont])

         se (NotaMat[cont] < 5) ou (NotaMat[cont] > 10)  entao
            escreval("Atenção!   entre 5 e 10")
            fimalgoritmo
         fimse

         escreva("Nota de Física: ")
         leia(NotaFis[cont])

         se (NotaFis[cont] < 5) ou (NotaFis[cont] > 10) entao
            escreval ("Atenção!  entre 5 e 10")
            fimalgoritmo
         fimse

         media[cont] <- (NotaPort[cont]+NotaMat[cont]+NotaFis[cont])/3
         cont <- cont + 1
      fimse
      limpatela
   fimenquanto

   //-------------
   NotaAprov <- 7,0

   // IMPRESSÃO DOS RESULTADOS (NOME, NOTAS, MEDIAS E SITUAÇÃO)

   escreval("*************************************")
   escreval
   escrevaL("Candidato:",maiusc (candidato[cont]))
   escreval("A média do candidato foi:" , Media:7:0)
   se (Media => NotaAprov) entao
      escreval
      escreval("o Candidato", maiusc(candidato[cont]), "foi aprovado")
   senao
      escreval("o Candidato", maiusc (candidato[cont]), "foi reprovado)
   fimse
fimalgoritmo

 

 

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

  • Membro VIP

Sobre:

21 horas atrás, Davi Matos disse:
         se (NotaPort[cont] < 5) ou (NotaPort[cont] > 10) entao
            escreval("Atenção!  entre 5 e 10")
            fimalgoritmo
         fimse

 

O comando fimAlgoritmo não pode ficar no meio do código. Essa estrutura acima não é uma sintaxe válida para o VisualG. (O programa não dar erro devido a bugs no programa do VisualG.)

 

Necessário que reformule essa lógica... até porque sequer faz sentido "forçar uma finalização do programa" apenas porque o usuário digitou uma nota inválida.

 

Obs.: lembrando, mesmo que faça sentido, NÃO pode utilizar fimAlgoritmo do meio do código. Só deve existe um dele.. que é "no fim do algoritmo" mesmo...

 

 

 

Sobre:

21 horas atrás, Davi Matos disse:

Como imprimo os resultados calculados no VisualG?

 

O que você quer imprimir? Após saber o que quer, vai lá e imprime...

 

Como os dados estão em vetores... assim como você fez um laço de repetição para preencher, precisaria de um outro laço para imprimir.

 

Algo como:

   // IMPRESSÃO DOS RESULTADOS (NOME, NOTAS, MEDIAS E SITUAÇÃO)

   para i de 1 ate cont faca
      escrevaL("*************************************")
      escrevaL()
      escrevaL("Candidato:", Maiusc(candidato[i]))
      escrevaL("Média    :", media[i]:1:2)

      se (media[i] >= notaAprov) entao
         escrevaL()
         escrevaL("O candidato ", Maiusc(candidato[i]), " foi aprovado")
      senao
         escrevaL("O candidato ", Maiusc(candidato[i]), " foi reprovado")
      fimSe
   fimPara

 

 

 

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