Ir ao conteúdo

Posts recomendados

Postado
 

Var
   notas: vetor[1..5] de real
   media, maior, menor: real
   i: inteiro
   cont_nota, cont_dis : inteiro
   cont_mat, cont_por, cont_geo, cont_fil, cont_his, cont_qui : inteiro
   opc_dis, opc_rep, opc_nota : inteiro
   log_nota : logico
   nota1, nota2, N1, N2: real
   nota, maiornota, menornota : caractere


Inicio
   cont_nota := 0
   log_nota := verdadeiro


   enquanto log_nota faca
      cont_nota := cont_nota + 1
      escreva ("Informe o nome do aluno: ")
      leia (nota)


      repita
         cont_dis := cont_dis + 1
         escreval ("--------------------")
         escreval ("1-matemática")
         escreval ("2-portugues")
         escreval ("3-geografia")
         escreval ("4-Filosofia")
         escreval ("5-historia")
         escreval ("6-quimica")
         escreval ("--------------------")
         escreva  ("Informe qual a disciplina: ")
         leia (opc_dis)

         escolha opc_dis
         caso 1
            cont_mat := cont_mat
         caso 2
            cont_por := cont_por
         caso 3
            cont_geo := cont_geo
         caso 4
            cont_fil := cont_fil
         caso 5
            cont_his := cont_his
         caso 6
            cont_qui := cont_qui
         fimescolha
         ESCREVAL("SISTEMA DE MÉDIAS")
         ESCREVA("DIGITE A PRIMEIRA NOTA: ")
         LEIA(N1)
         ESCREVA("DIGITE A SEGUNDA NOTA: ")
         LEIA(N2)
         MEDIA <- (N1 + N2 ) / 2
         SE MEDIA >= 7 ENTAO
            ESCREVAL("ALUNO APROVADO!")
         SENAO
            SE MEDIA <= 3 ENTAO
               ESCREVAL("ALUNO REPROVADO!")
            SENAO
              SE MEDIA <=5 ENTAO
                  ESCREVAL("ALUNO EM RECUPERAÇÃO...")
               FIMSE
            FIMSE


            se N1 > N2 entao
               maior:= N1
            senao
               se N1 < N2 entao
                  menor:= N1

                  se N2 > N1 entao
                     maior:= N2
                  senao
                     se N2 < N1 entao
                        menor:=N2
                     fimse
                  fimse

                  escreval("")
                  escreval("A média do(a) aluno(a) é:", media)
                  escreval("A maior nota do(a) aluno(a) é:", maior)
                  escreval("A menor nota do(a) aluno(a) é:", menor)


                  escreva ("Deseja informar outra disciplina? (1-Sim ou 2-Não): ")
                  leia (opc_rep)


                  //RESUMO DA MEDIA
                  escreval ("====================================")
                  escreval (nota)
                  escreval ("====================================")
                  escreval ("A média de matemática: ", media)
                  escreval ("A média de português: ",media)
                  escreval ("A média de geografia: ",media)
                  escreval ("A média de filosofia: ",media)
                  escreval ("A média de história: ",media)
                  escreval ("A média de química: ",media)
                  escreval ("====================================")
                  escreval ("A nota total: ",cont_nota," nota: ",cont_dis)
                  escreval ("")
                  escreval ("")


                  escreva ("Deseja informar outro aluno? (1-Sim ou 2-Não)")
                  leia (opc_nota)
                  se opc_nota = 2 entao
                     log_nota := falso
                  fimse


Fimalgoritmo
 

imagem_2022-04-12_192028986.png

  • Curtir 1
Postado

@lauro viana cada se tem um fimse, e você se esqueceu de alguns

 

// 3 se e só 2 fimse
se media >= 7 entao
            escreval("aluno aprovado!")
         senao
            se media <= 3 entao
               escreval("aluno reprovado!")
            senao
              se media <=5 entao
                  escreval("aluno em recuperação...")
               fimse
            fimse
  //fimse

 

// 4 se e só 2 fimse
se n1 > n2 entao
               maior:= n1
            senao
               se n1 < n2 entao
                  menor:= n1

                  se n2 > n1 entao
                     maior:= n2
                  senao
                     se n2 < n1 entao
                        menor:=n2
                     fimse
                  fimse
               //fimse
           //fimse
  • Obrigado 2
Postado

@Lauro Viana      esses erros são por que você não colocou alguns fimse , como já bem disse @Lucca Rodrigues   ,   e o visualG não informa exatamente o erro e nem sempre a linha onde existe um erro ,  mas ele diz que tem um erro e você é que precisa descobrir qual é ,  e seu código corrigido apenas para compilar poderia ser assim  :

Algoritmo "notas Alunos"
var
  notas                      : vetor[1..5] de real
  media     , maior , menor  : real
  nota1     , nota2 , n1, n2 : real
  cont_nota , cont_dis       : inteiro
  cont_mat  , cont_por       : inteiro
  cont_geo  , cont_fil       : inteiro
  cont_his  , cont_qui       : inteiro
  opc_dis   , opc_rep        : inteiro
  opc_nota  , i              : inteiro
  nota, maiornota, menornota : caractere
  log_nota                   : logico
inicio
  cont_nota := 0
  log_nota := verdadeiro
  enquanto log_nota faca
    cont_nota := cont_nota + 1
    escreva("Informe o nome do aluno: ")
    leia(nota)
    repita
      cont_dis := cont_dis + 1
      escreval("--------------------")
      escreval(" 1 - matemática     ")
      escreval(" 2 - portugues      ")
      escreval(" 3 - geografia      ")
      escreval(" 4 - Filosofia      ")
      escreval(" 5 - historia       ")
      escreval(" 6 - quimica        ")
      escreval("--------------------")
      escreva ("Informe qual a disciplina: ")
      leia (opc_dis)
      escolha opc_dis
      caso 1
        cont_mat := cont_mat // aqui não faz nada
      caso 2
        cont_por := cont_por // só perde tempo
      caso 3
        cont_geo := cont_geo // não precisa pois já eh igual
      caso 4
        cont_fil := cont_fil
      caso 5
        cont_his := cont_his
      caso 6
        cont_qui := cont_qui
      outrocaso
        escreval("Opção InváLida . . . !")
      fimescolha
      escreval("SISTEMA DE MÉDIAS")
      escreval("DIGITE A PRIMEIRA NOTA: ")
      leia(n1)
      escreval("DIGITE A SEGUNDA NOTA: ")
      leia(n2)
      media <- (n1 + n2 ) / 2
      se media >= 7 entao
        escreval("ALUNO APROVADO!")
      senao
        se media <= 3 entao
          escreval("ALUNO REPROVADO!")
        senao
          se media <= 5 entao
            escreval("ALUNO EM RECUPERAÇÃO...")
          fimse
        fimse
        se n1 > n2 entao
          maior := n1
        senao
          se n1 < n2 entao
            menor := n1
            se n2 > n1 entao
              maior := n2
            senao
              se n2 < n1 entao
                menor := n2
              fimse
            fimse
            escreval
            escreval("A média do(a) aluno(a) é ------: ", media)
            escreval("A maior nota do(a) aluno(a) é -: ", maior)
            escreval("A menor nota do(a) aluno(a) é -: ", menor)
            escreva ("Deseja informar outra disciplina? (1-Sim ou 2-Não): ")
            leia    (opc_rep)
            //RESUMO DA MEDIA
            escreval("====================================")
            escreval(nota)
            escreval("====================================")
            escreval("A média de matemática -: " ,    media)
            escreval("A média de português --: " ,    media)
            escreval("A média de geografia --: " ,    media)
            escreval("A média de filosofia --: " ,    media)
            escreval("A média de história ---: " ,    media)
            escreval("A média de química ----: " ,    media)
            escreval("====================================")
            escreval("A nota total: ",cont_nota," nota: ",cont_dis)
            escreval
            escreval
            escreva ("Deseja informar outro aluno? (1-Sim ou 2-Não)")
            leia (opc_nota)
            se opc_nota = 2 entao
              log_nota := falso
            fimse
          fimse
        fimse
      fimse
    ate opc_nota = 2
  fimenquanto
fimalgoritmo

mas seu código ficou muito longo , pois você está usando apenas variáveis simples , que só podem armazenar um dado nela , e então se você puder / quiser / souber , use vetores ou matrizes , que são um tipo de variáveis que podem armazenar muitos dados nela ,  e também use procedimento e funções , que fazem aquela parte do código que se repete muitas vezes , tornando assim o código bem mais reduzido .

  • Curtir 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!