Exercícios Resolvidos de Funções que recebem arrays

Ver Teoria

Enunciado

Faça uma função que receba uma matriz 10 x 3 com as notas de 10 alunos em 3 provas. Em seguida, imprima na tela o número de alunos cuja pior nota foi na prova 1, o número de alunos cuja pior nota foi na prova 2, e o número de alunos cuja pior nota foi na prova 3.

Em caso de empate das piores notas de um aluno, o critério de desempate é arbitrário, mas o aluno deve ser contabilizado apenas uma vez.

Passo 1

Eai, tudo tranquilo?

Para essa questão, precisamos criar uma função que recebe uma matriz de tamanho bem definido. Nessa matriz, cada linha possui 3 elementos que representam as notas de um mesmo aluno em 3 provas. Dentro da função, nós vamos precisar comparar essas 3 notas para saber em qual o aluno tirou a menor nota e, por fim, contabilizar e imprimir na tela quantos alunos tiraram a menor nota na primeira prova, na segunda prova e na terceira prova.

Vamos iniciar essa questão declarando essa função. Como não é necessário retornar nenhum valor, vamos declará-la como v o i d . Como argumento, basta que ela receba uma matriz no formato [ 10 ] [ 3 ] .

Além disso, perceba que já incluímos a biblioteca i o s t r e a m , pois vamos precisar imprimir os valores na tela.

Passo 2

Agora, vamos trabalhar no corpo dessa nossa função.

Sabemos que que vamos precisar printar 3 valores. Para armazenar esses valores, vamos declarar 3 variáveis: p r o v a 1 ,   p r o v a 2 e p r o v a 3 que seriam, respectivamente, a quantidade de alunos que tiveram a menor nota na primeira prova, na segunda prova e na terceira prova .

Perceba que inicializamos elas com o valor 0, pois a usaremos como contadores, ou seja, é são variáveis que irão aumentando na medida que o código for lido, por isso, precisam de um valor inicial nulo.

Agora, para fazermos a análise das notas, vamos usar um laço de f o r que vai rodar por todas as 10 linhas da matriz. Ou seja, cada repetição desse laço será referente as 3 notas de um mesmo aluno. Dentro desse laço, devemos usar condicionais para analisarmos qual das 3 notas é a menor.

Vamos iniciar utilizando um i f para analisar se a primeira nota é a menor e, caso seja, o contador p r o v a 1 vai aumentar em uma unidade o seu valor. Em caso negativo, significa que será a segunda nota ou a terceira, com isso podemos usar um e l s e   i f para saber se é a segunda e, em caso positivo, a variável p r o v a 2 vai aumentar o seu valor em 1. Em caso negativo, sobra apenas uma opção: a terceira nota foi a mais baixa. Com isso, podemos usar um e l s e para incrementar em uma unidade a variável p r o v a 3 .

Passo 3

Por fim, basta printarmos os valores armazenados nas variáveis contadoras, que representam a quantidade de alunos que tiveram a menor nota em cada prova. Vamos acrescentar uma mensagem antes explicitando o que seria cada valor:

Resposta