Sei sulla pagina 1di 19

Algoritmos

Prof. Leonardo Minelli


Matrizes e Vetores
• Matrizes
– Uma matriz com mais de uma dimensão permite
armazenar ou agrupar um maior número de
informações em uma mesma variável.
– Um aspecto importante a ser considerado é que
na manipulação de um vetor ou matriz
unidimensional, utiliza-se uma única instrução de
looping (enquanto, para ou repita).

Algoritmos (Prof. Leonardo Minelli) 2


Matrizes e Vetores
• Matrizes
– No caso de matrizes com mais de uma dimensões,
o número de loopings utilizados está relacionado
à quantidade de dimensões da matriz.
Duas dimensões = Dois loops

Algoritmos (Prof. Leonardo Minelli) 3


Matrizes e Vetores
• Matrizes com mais de uma dimensão
– Outra característica importante das matrizes com
mais de uma dimensão se refere à manipulação
de seus elementos: os elementos são manipulados
de forma individual, sendo a referência a cada um
feita sempre através de dois ou mais índices.

ai,j = a[i,j]
Algoritmos (Prof. Leonardo Minelli) 4
Matrizes e Vetores
• Matrizes com mais de uma dimensão
– Para o exemplo da tabela, mostrado abaixo, o
primeiro índice indica a linha e o segundo a
coluna.
• Por exemplo a TABELA[2,3] faz referência ao elemento
armazenado na linha 2, coluna 3.

Algoritmos (Prof. Leonardo Minelli) 5


Matrizes e Vetores
• Exemplo 1
– Caso fosse necessário ler as quatros notas de oito
alunos, a tabela correspondente teria que
armazenar 32 valores (i.e. 8 linhas x 4colunas).

Algoritmos (Prof. Leonardo Minelli) 6


Matrizes e Vetores
• Exemplo 1 - Resolução
Inicio

I1,8,1

J1,4,1

Notas[I,J]

Fim

Algoritmos (Prof. Leonardo Minelli) 7


Matrizes e Vetores
• Exemplo 1
– Como imprimir em tela a matriz criada???

Algoritmos (Prof. Leonardo Minelli) 8


Matrizes e Vetores
• Exemplo 2
– Desenvolva um programa que efetue a leitura dos nomes
de 8 alunos e também suas 4 notas bimestrais. Ao final, o
programa deverá apresentar o nome de cada aluno
classificado em ordem alfabética, bem como suas médias e
a média geral da turma.
Dica
Neste exemplo, deve-se atentar
para a troca de posição das
notas e/ou médias quando da
ordenação alfabética dos
nomes.

Algoritmos (Prof. Leonardo Minelli) 9


Matrizes e Vetores
• Diagrama de Blocos
Exemplo 2

Algoritmos (Prof. Leonardo Minelli) 10


Matrizes e Vetores
• Pseudocódigo
Exemplo 2

Algoritmos (Prof. Leonardo Minelli) 11


Matrizes e Vetores
• Exemplo 2
– Altere o código para contemplar a ordenação por
média!

Algoritmos (Prof. Leonardo Minelli) 12


Matrizes e Vetores
• Pesquisa em Matrizes
– A utilização de matrizes pode gerar grandes
tabelas. Nestes casos, é difícil o processo de
localização de um determinado elemento de
forma rápida
– Imagina-se um vetor com 4000 elementos. Seria
possível localizar rapidamente um elemento de
forma manual?

Algoritmos (Prof. Leonardo Minelli) 13


Matrizes e Vetores
• Pesquisa em Matrizes
– Para solucionar esse tipo de situação, podem ser
realizadas pesquisas em matrizes
– Será abordada a pesquisa sequencial

Algoritmos (Prof. Leonardo Minelli) 14


Pesquisa em Matrizes
• Exemplo 3
– Considere um vetor com 10 nomes, onde é
desejado saber em qual posição do vetor está
determinado nome
A sequencia do algoritmo será:
1. Iniciar um contador e realizar a leitura de 10 nomes;
2. Solicitar a informação a ser pesquisada, devendo esta ser comparada com o
primeiro elemento, sendo igual a este, mostra-o, caso contrário avança para o
próximo elemento;
3. Se não existir o elemento pesquisado em todo o vetor, informar que o elemento
não existe na lista;

Algoritmos (Prof. Leonardo Minelli) 15


Pesquisa em Matrizes
• Pseudocódigo
Exemplo 3

Algoritmos (Prof. Leonardo Minelli) 16


Pesquisa em Matrizes
• Exemplo 3
– Altere o código para contemplar uma nova
pesquisa!

Algoritmos (Prof. Leonardo Minelli) 17


Matrizes e Vetores
• Exercícios
– Ler duas matrizes A e B, cada uma de duas dimensões
com 5 linhas e 3 colunas. Construir uma matriz C de
mesma dimensão, onde C é formada pela soma dos
elementos da matriz A com os elementos da matriz B
de mesmo índice. Apresentar a matriz C.
– Ler duas matrizes A e B, cada uma com uma dimensão
para 7 elementos (i.e., vetor). Construir uma matriz C
de duas dimensões, onde a primeira coluna deverá ser
formada pelos elementos da matriz A e a segunda
coluna deverá ser formada pelos elementos da matriz
B. Apresentar a matriz C.

Algoritmos (Prof. Leonardo Minelli) 18


Matrizes e Vetores
• Exercícios
– Considerar a lista de chegada de uma corrida de
15 carros, onde é desejado saber qual é a posição
de chegada de determinado piloto. Possibilitar
realizar a pesquisa quantas vezes o usuário
desejar.
– Fazer a leitura de uma matriz de 20 elemento
(4x5) e realizar a pesquisa do maior e menor valor
armazenado na matriz. Apresentar o resultado da
pesquisa.

Algoritmos (Prof. Leonardo Minelli) 19

Potrebbero piacerti anche