image

Acesse bootcamps ilimitados e +750 cursos pra sempre

70
%OFF

JS

Jéssica Sousa28/06/2026 11:47
Compartilhe

Algoritmo da Média de Vários Alunos feito usando Vetor x usando Matriz

    Olá pessoal.

    Sou Dev Jess e tenho um Canal no YouTube chamado Desenvolvendo e Aprendendo.

    Link: https://youtube.com/@Desenvolvendo_e_Aprendendo?si=-_Ro1v5lW0seC1ga

    Criei 2 Algoritmos que encontram a Média de vários Alunos, só que 1 eu utilizo Vetor e o outro eu utilizei Matriz para comparar os comandos e a estrutura de cada um.

    Se quiserem ver como eu faço o passo-a-passo do Algoritmo é só ir conferir o Canal:

    • Usando Vetor:
    Algoritmo "Exercicio_2_Media_Alunos_Vetor"
    
    // EXERCÍCIO 2 - VETOR
    
    // CRIAR UM ALGORITMO QUE REALIZE A MÉDIA DE VÁRIOS ALUNOS QUE
    // TERÃO 4 NOTAS (CADA UM)
    
    // A QUANTIDADE DE ALUNOS POR TURMA SERÃO NO MÁXIMO 30, CASO PASSAR
    // DESTE VALOR, SOLICITAR PARA QUE SEJA INFORMADO NOVAMENTE A
    // QUANTIDADE DE ALUNOS E NÃO PERMITIR REALIZAR NADA ATÉ SER
    // INFORMADO UM NÚMERO VÁLIDO
    
    // SE FOR DIGITADO A NOTA MENOR QUE 0 OU MAIOR QUE 10,
    // INFORMAR O USUÁRIO E SOLICITAR PARA QUE SEJA INFORMADO
    // A NOTA NOVAMENTE
    
    // SE OBTER 7,0 PONTOS OU MAIS - ESCREVER: "APROVADO!!! :-)"
    // SE OBTER 3,0 PONTOS OU MENOS - ESCREVER: "REPROVADO!!! :-("
    // SENÃO - ESCREVER: "EM EXAME!!! :-("
    
    // RESULTADO:
    
    // ESCREVER OS NOMES DOS(AS) ALUNOS(AS), COM AS SUAS NOTAS E
    // SE FORAM APROVADOS OU NÃO
    
    Var
    // Variáveis
     i, N          : Inteiro
    
    // Vetores
     Vet_Nota1     : Vetor [0..29] de Real
     Vet_Nota2     : Vetor [0..29] de Real
     Vet_Nota3     : Vetor [0..29] de Real
     Vet_Nota4     : Vetor [0..29] de Real
     Vet_Soma      : Vetor [0..29] de Real
     Vet_Media     : Vetor [0..29] de Real
     
     Vet_Nome_Aluno: Vetor [0..29] de Caractere
     Vet_Situacao  : Vetor [0..29] de Caractere
    
    Inicio
    // Seção de Comandos, procedimento, funções, operadores, etc...
     escreva("Informe a Quantidade de Alunos: ")
     leia(N)
     
     escreval
     
     enquanto ((N < 0) ou (N > 30)) faca
     escreval("Quantidade Inválida de Alunos!")
     escreva("Informe novamente a Quantidade de Alunos: ")
     leia(N)
     
     escreval
     fimenquanto
    
     para i de 0 ate N - 1 faca
     // NOME DO ALUNO
     escreva("Informe o Nome do(a) Aluno(a) ", i + 1, ": ")
     leia(Vet_Nome_Aluno[i])
    
     escreval
    
     // NOTA 1
     escreva("Informe a Nota 1: ")
     leia(Vet_Nota1[i])
     
     escreval
    
     enquanto ((Vet_Nota1[i] < 0) ou (Vet_Nota1[i] > 10)) faca
       escreval("Nota 1 Inválida!")
       escreva("Informe novamente a Nota 1: ")
       leia(Vet_Nota1[i])
    
       escreval
     fimenquanto
    
     // NOTA 2
     escreva("Informe a Nota 2: ")
     leia(Vet_Nota2[i])
     
     escreval
    
     enquanto ((Vet_Nota2[i] < 0) ou (Vet_Nota2[i] > 10)) faca
       escreval("Nota 2 Inválida!")
       escreva("Informe novamente a Nota 2: ")
       leia(Vet_Nota2[i])
    
       escreval
     fimenquanto
    
     // NOTA 3
     escreva("Informe a Nota 3: ")
     leia(Vet_Nota3[i])
     
     escreval
    
     enquanto ((Vet_Nota3[i] < 0) ou (Vet_Nota3[i] > 10)) faca
       escreval("Nota 3 Inválida!")
       escreva("Informe novamente a Nota 3: ")
       leia(Vet_Nota3[i])
    
       escreval
     fimenquanto
    
     // NOTA 4
     escreva("Informe a Nota 4: ")
     leia(Vet_Nota4[i])
     
     escreval
    
     enquanto ((Vet_Nota4[i] < 0) ou (Vet_Nota4[i] > 10)) faca
       escreval("Nota 4 Inválida!")
       escreva("Informe novamente a Nota 4: ")
       leia(Vet_Nota4[i])
    
       escreval
     fimenquanto
     fimpara
     
     para i de 0 ate N - 1 faca
     Vet_Soma[i]  <- Vet_Nota1[i] + Vet_Nota2[i] + Vet_Nota3[i] + Vet_Nota4[i]
     Vet_Media[i] <- Vet_Soma[i] / 4
     
     se (Vet_Media[i] >= 7) entao
       Vet_Situacao[i] <- "APROVADO!!! :-)"
     senao
       se (Vet_Media[i] <= 3) entao
         Vet_Situacao[i] <- "REPROVADO!!! :-("
       senao
         Vet_Situacao[i] <- "EM EXAME!!! :-("
       fimse
     fimse
     fimpara
     
     escreval
     escreval("RESULTADO FINAL")
     escreval
     
     para i de 0 ate N - 1 faca
     escreval("Aluno(a) ", i + 1, ": ", Vet_Nome_Aluno[i])
     escreval("Média      : ", Vet_Media[i]:2:1)
     escreval("Situação   : ", Vet_Situacao[i])
     escreval
     fimpara
    Fimalgoritmo
    
    
    
    • Usando Matriz:
    Algoritmo "Exercicio_2_Media_Alunos_Matriz"
    
    // EXERCÍCIO 2 - MATRIZ
    
    // CRIAR UM ALGORITMO QUE REALIZE A MÉDIA DE VÁRIOS ALUNOS QUE
    // TERÃO 4 NOTAS (CADA UM)
    
    // A QUANTIDADE DE ALUNOS POR TURMA SERÃO NO MÁXIMO 30, CASO PASSAR
    // DESTE VALOR, SOLICITAR PARA QUE SEJA INFORMADO NOVAMENTE A
    // QUANTIDADE DE ALUNOS E NÃO PERMITIR REALIZAR NADA ATÉ SER
    // INFORMADO UM NÚMERO VÁLIDO
    
    // SE FOR DIGITADO A NOTA MENOR QUE 0 OU MAIOR QUE 10,
    // INFORMAR O USUÁRIO E SOLICITAR PARA QUE SEJA INFORMADO
    // A NOTA NOVAMENTE
    
    // SE OBTER 7,0 PONTOS OU MAIS - ESCREVER: "APROVADO!!! :-)"
    // SE OBTER 3,0 PONTOS OU MENOS - ESCREVER: "REPROVADO!!! :-("
    // SENÃO - ESCREVER: "EM EXAME!!! :-("
    
    // RESULTADO:
    
    // ESCREVER OS NOMES DOS(AS) ALUNOS(AS), COM AS SUAS NOTAS E
    // SE FORAM APROVADOS OU NÃO
    
    Var
    // Variáveis
     i, j, N       : Inteiro
    
    // Matrizes
     Mat_Notas     : Vetor [0..29, 0..3] de Real
     
    // Vetores
     Vet_Soma      : Vetor [0..3]  de Real
     Vet_Media     : Vetor [0..29] de Real
     
     Vet_Nome_Aluno: Vetor [0..29] de Caractere
     Vet_Situacao  : Vetor [0..29] de Caractere
    
    Inicio
    // Seção de Comandos, procedimento, funções, operadores, etc...
     escreva("Informe a Quantidade de Alunos: ")
     leia(N)
     
     escreval
    
     enquanto ((N < 0) ou (N > 30)) faca
     escreval("Quantidade Inválida de Alunos!!!")
     escreva("Informe novamente a Quantidade de Alunos: ")
     leia(N)
     
     escreval
     fimenquanto
    
     para i de 0 ate N - 1 faca
     // NOME DO ALUNO
     escreva("Informe o Nome do(a) Aluno(a) ", i + 1, ": ")
     leia(Vet_Nome_Aluno[i])
    
     escreval
    
     para j de 0 ate 3 faca
       // MATRIZ DE NOTAS
        escreva("Informe a Nota  ", j + 1, ": ")
        leia(Mat_Notas[i, j])
        
        enquanto ((Mat_Notas[i, j] < 0) ou (Mat_Notas[i, j] > 10)) faca
          escreva("Nota Inválida! ")
          escreva("Informe novamente a Nota  ", j + 1, ": ")
          leia(Mat_Notas[i, j])
        fimenquanto
     fimpara
     fimpara
     
     para i de 0 ate N - 1 faca
     para j de 0 ate 3 faca
          Vet_Soma[i] <- Vet_Soma[i] + Mat_Nota[i, j]
     fimpara
      
     // MÉDIA
     Vet_Media[i] <- Vet_Soma[i] / 4
     
     se (Vet_Media[i] >= 7) entao
       Vet_Situacao[i] <- "APROVADO(A)!!! :-)"
     senao
       se (Vet_Media[i] <= 3) entao
         Vet_Situacao[i] <- "REPROVADO(A)!!! :-("
       senao
         Vet_Situacao[i] <- "EM EXAME!!! :-("
       fimse
     fimse
     fimpara
     
     escreval
     escreval("RESULTADO FINAL")
     escreval
     
     para i de 0 ate N - 1 faca
     escreval("Aluno(a) ", i + 1, ": ", Vet_Nome_Aluno[i])
     escreval("Média      : ", Vet_Media[i]:2:1)
     escreval("Situação   : ", Vet_Situacao[i])
     escreval
     fimpara
    Fimalgoritmo
    

    Link: https://youtube.com/@Desenvolvendo_e_Aprendendo?si=-_Ro1v5lW0seC1

    Se quiserem ter acesso a este Exercício e outros que fiz e estou fazendo é só conferir no GitHub do Canal:

    GitHub: https://www.github.com/Canal-Desenvolvendo-e-Aprendendo/Logica_de_Programacao_VisuAlg

    Não deixem de se inscrever e apertar o sino para receber as notificações!

    Excelente jornada a todos!

    Um abraço e até a próxima!

    Compartilhe
    Recomendados para você
    AWS - Agentes de IA em Campo
    Michael Page - Criando Seu Primeiro Agente de IA
    Sem Parar Corpay - Back-end do Zero a Prática
    Comentários (0)