Vetor
Exemplo:
Desta forma, será necessário somar todas as médias e dividi-las por 8. A tabela abaixo
apresenta o número de alunos, suas notas bimestrais e respectivas médias anuais. É da
média de cada aluno que será efetuado o cálculo da média da turma.
MD0 = 4.5
MD1 = 6.5
MD2 = 8.0
1
Lógica de Programação e Algoritmos - LPA
MD3 = 3.5
MD4 = 6.0
MD5 = 7.0
MD6 = 6.5
MD7 = 6.0
MD[0] = 4.5
MD[1] = 6.5
MD[2] = 8.0
MD[3] = 3.5
MD[4] = 6.0
MD[5] = 7.0
MD[6] = 6.5
MD[7] = 6.0
Note que somente uma variável foi criada, o que muda é a informação indicada dentro
dos colchetes. A esta informação dá-se o nome de índice, sendo este o endereço onde o
elemento está armazenado.
Importante:
Pseudocódigo
Programa Media_Turma_A
var
MD : conjunto[1..8] de real
soma, media : real
i : inteiro
início
soma ← 0
para i de 0 até 7 passo 1 faça
leia (MD[i])
soma ← soma + MD[i]
fim_para
media ← (soma / 8)
escreva (“A média da turma é:”, media)
fim
Diagrama de Bloco
2
Lógica de Programação e Algoritmos - LPA
Podemos notar que o programa ficou mais compacto. Além disso, se quisermos calcular
um número maior de alunos, basta redimensionar o vetor e mudar a instrução de
repetição (para).
Pseudocódigo
Programa Media_Turma_B
var
MD : conjunto[1..8] de real
soma, media : real
i : inteiro
início
soma ← 0
para i de 0 até 7 passo 1 faça
leia (MD[i])
soma ← soma + MD[i]
fim_para
media ← (soma / 8)
para i de 0 até 7 passo 1 faça
escreva (MD[i])
fim_para
3
Lógica de Programação e Algoritmos - LPA
Diagrama de Bloco
Descrição narrativa
Passo 1. Iniciar o contador de índice, variável “i” como 1 em um contador até 10;
Passo 2. Ler os 10 valores, um a um;
Passo 3. Verificar se o índice é par;
se sim, multiplicar por 5 e armazenar no vetor B
se não, somar 5 e armazenar no vetor B;
Passo 4. Apresentar o conteúdo dos dois vetores.
Pseudocódigo
Programa Verifica_Indice
var
A, B : conjunto[1..10] de real
i : inteiro
início
para i de 0 até 9 passo 1 faça
leia (A[i])
fim_para
para i de 0 até 9 passo 1 faça
4
Lógica de Programação e Algoritmos - LPA
r ← i mod 2
se (r = 0) então
B[i] ← A[i] * 5
senão
B[i] ← A[i] + 5
fim_se
fim_para
para i de 0 até 9 passo 1 faça
escreva (A[i], B[i])
fim_para
fim
Diagrama de Bloco
A matriz é um arranjo definido por duas ou mais dimensões, portanto, possui dois ou mais
índices.
5
Lógica de Programação e Algoritmos - LPA
Sintaxe:
Exemplo:
O número de loopings utilizado para o controle de uma matriz equivale à sua dimensão.
Portanto, para uma matriz com duas dimensões, efetuamos o seu controle com dois
loopings.
Pseudocódigo
Programa Leitura_Elementos
var
notas : conjunto[1..8, 1..4] de real
i,j : inteiro
início
para i de 0 até 7 passo 1 faça
para j de 0 até 3 passo 1 faça
leia (notas[i,j])
fim_para
fim_para
fim
6
Lógica de Programação e Algoritmos - LPA
Diagrama de Bloco
7
Lógica de Programação e Algoritmos - LPA
O processo para
escrever os
elementos da
matriz é
semelhante ao
processo de
leitura dos
elementos.
8
Lógica de Programação e Algoritmos - LPA
Exercícios Resolvidos:
Programa Um
var
A : conjunto[1..10] de real
i : inteiro
início
para i de 0 até 9 passo 1 faça
leia (A[i])
fim_para
para i de 0 até 9 passo 1 faça
escreva (A[i])
fim_para
fim
Programa Dois_A
var
A, B : conjunto[1..15] de inteiro
i, contador, fatorial : inteiro
início
para i de 0 até 14 passo 1 faça
leia (A[i])
fim_para
fatorial ← 1
para i de 0 até 14 passo 1 faça
para contador de 1 até A[i] faça
fatorial ← fatorial * contador
fim_para
B[i] ← fatorial
fim_para
para i de 0 até 14 passo 1 faça
escreva (B[i])
fim_para
fim
3 - Ler 20 elementos para uma matriz qualquer, considerando que esta matriz
tenha o tamanho de 4 linhas por 5 colunas. Apresentar os valores lidos.
Programa Um
var
mat : conjunto[1..4, 1..5] de inteiro
i,j : inteiro
início
9
Lógica de Programação e Algoritmos - LPA
4 - Ler duas matrizes A5x3 e B5x3. Construir uma matriz C de mesma dimensão, onde C é
formada pela soma dos elementos da matriz A com os elementos da matriz B.
Apresentar a matriz C.
Programa Dois
var
A, B, C : conjunto[1..5, 1..3] de inteiro
i,j : inteiro
início
para i de 0 até 4 passo 1 faça
para j de 0 até 2 passo 1 faça
leia (A[i,j])
leia (B[i,j])
C[i,j] ← A[i,j] + B[i,j]
fim_para
fim_para
para i de 0 até 4 passo 1 faça
para j de 0 até 2 passo 1 faça
escreva (C[i,j])
fim_para
fim_para
fim
10