Crie um algoritmo que leia uma matriz de ordem
de números inteiros e a seguir calcule e escreva (Utilizar a estrutura WHILE).:
a) a soma dos elementos pares da matriz;
b) a média de todos os elementos da matriz;
c) a quantidade de elementos ímpares da matriz.
a) a soma dos elementos pares da matriz;
b) a média de todos os elementos da matriz;
c) a quantidade de elementos ímpares da matriz.
Passo 1
O que o enunciado pede e o que nos é dado:
- Ler uma matriz de ordem
contendo números inteiros. - Calcular e escrever:
- (a) a soma dos elementos pares da matriz;
- (b) a média de todos os elementos da matriz;
- (c) a quantidade de elementos ímpares da matriz.
- Restrição: usar a estrutura de repetição WHILE para percorrer a matriz.
- Informação útil: uma matriz
tem elementos no total.
Passo 2
Definição das variáveis que vamos usar (com significado claro) e inicialização:
-
— matriz onde serão armazenados os inteiros lidos (opcional: podemos processar cada valor ao ler, sem armazenar). -
— índice da linha (vai de até ou de até , conforme convenção). Vou usar aqui a . -
— índice da coluna (vai de até ). -
— soma acumulada apenas dos elementos pares. Inicializar . -
— soma acumulada de todos os elementos. Inicializar . -
— contador de elementos ímpares. Inicializar . -
— número total de elementos, aqui . -
— variável temporária que guarda o elemento lido da matriz.
Inicializações que faremos no algoritmo:
-
, , , .
Passo 3
Explicar a lógica de percorrer a matriz com WHILE (aninhamento) e o que fazer em cada elemento:
- Usamos dois loops WHILE aninhados: o externo para as linhas (
) e o interno para as colunas ( ). Assim garantimos visitar todas as posições. - Em cada iteração do loop interno:
- Ler o valor inteiro e armazenar em
. - Atualizar a soma total:
. - Testar se
é par ou ímpar. Para isso usamos o operador resto (módulo): . - Se
, então é par → atualizar . - Caso contrário,
é ímpar → incrementar .
- Se
- Ler o valor inteiro e armazenar em
- Após terminar os dois loops, teremos
, e corretos.
Explicando o operador módulo de forma didática:
- O operador
dá o resto da divisão inteira de por . - Para verificar paridade: um inteiro
é par se e somente se . Caso contrário ( ou em algumas linguagens para negativos), é ímpar. Em implementações típicas em C/Java/Python, devolve ou para inteiros não-negativos; para negativos a condição continua correta para detectar pares.
Passo 4
Calcular a média e cuidados com tipo numérico:
- Fórmula da média aritmética de todos os elementos:
- Aqui
. Importante: converter para tipo que permita casas decimais (por exemplo ponto flutuante) se quiser a média com fração, caso a linguagem faça divisão inteira por padrão. Ou seja, em pseudocódigo use divisão real: . - Exemplo: se
, então . Se , então .
Passo 5
Exemplo prático pequeno para fixar (não é a saída final do algoritmo, apenas demonstração):
- Suponha que os 9 valores lidos, por linhas, sejam:
. - Soma total:
. - Elementos pares:
→ . - Elementos ímpares:
→ . - Média:
. - Esse exemplo confirma que a lógica dá os resultados esperados.
Passo 6
Dicas práticas para implementação em linguagens comuns:
- Em muitas linguagens o índice de arrays começa em
; se preferir começar em , adapte os limites dos WHILE para a . - Cuidado com a leitura de valores: pode-se processar cada valor imediatamente ao ler, sem necessidade de guardar a matriz inteira.
- Para garantir média com casas decimais, em linguagens com divisão inteira, faça conversão para float/double antes da divisão (ex.: em pseudocódigo use divisão real explicitamente).
Resposta
Algoritmo (pseudocódigo usando WHILE; lê
inteiros e ao final escreve a soma dos pares, a média e a quantidade de ímpares):
Início
\n Ler/Inicializar:
\n
\n
\n
\n
\n Enquanto faça
\n\quad
\n\quad Enquanto faça
\n\quad\quad Ler inteiro // entrada do elemento da matriz na posição
\n\quad\quad
\n\quad\quad Se então
\n\quad\quad\quad
\n\quad\quad Senão
\n\quad\quad\quad
\n\quad\quad FimSe
\n\quad\quad
\n\quad FimEnquanto
\n\quad
\n FimEnquanto
\n Calcular média:
\n // usar divisão real
\n Escrever "Soma dos elementos pares = ",
\n Escrever "Média de todos os elementos = ",
\n Escrever "Quantidade de elementos ímpares = ",
Fim.
\n Ler/Inicializar:
\n
\n
\n
\n
\n Enquanto
\n\quad
\n\quad Enquanto
\n\quad\quad Ler inteiro
\n\quad\quad
\n\quad\quad Se
\n\quad\quad\quad
\n\quad\quad Senão
\n\quad\quad\quad
\n\quad\quad FimSe
\n\quad\quad
\n\quad FimEnquanto
\n\quad
\n FimEnquanto
\n Calcular média:
\n
\n Escrever "Soma dos elementos pares = ",
\n Escrever "Média de todos os elementos = ",
\n Escrever "Quantidade de elementos ímpares = ",
Fim.