Você está na página 1de 31

ALGORITMOS DE PROGRAMAO

Mdulo II Vetores e Matrizes

Profa. MSC Pedriana Castro

OBJETIVOS
Aprender o uso da estrutura de dados
conhecida como vetores e matrizes,
declarao, atribuio de valores e
acesso ao contedo.

CONTEDOS
Conceito de vetores e matrizes
Manipulao de vetores e matrizes.

Conceito de Vetor

Um VETOR, tambm conhecido como varivel


homognea unidimensional, um conjunto de
variveis do mesmo tipo, que possuem o mesmo
identificador e so alocadas sequencialmente na
memria.
Podemos entender um vetor como uma varivel dividida em
vrios pedaos, onde cada pedao identificado atravs
de um nmero, chamado de ndice.
O ndice representa a posio que um dado ocupa no vetor.

Conceito de Vetor

Podemos Imaginar que na memria do computador um


vetor seja mais ou menos da seguinte forma.
Nome do Vetor

Nomes

Contedo
(Elementos)

ndices (Posies)

Joo

Maria

Paulo

Carla

Perceba que cada posio do vetor corresponde a uma


varivel simples.
Para representar o elemento 3, escrevemos Nomes [3].
O valor de Nomes[2] Maria

Declarao de Vetor

Para declarar um vetor procedemos como indicado a seguir:


<identificador> : vetor[tamanho] de <tipo>
VISUAL G

LINGUAGEM C

Manipulao de Vetores

escreva (Nomes[3])
- Esta instruo escreve na tela o contedo da posio 3 do
vetor. Ou seja, mostra a palavra Paulo.
Sempre que estivermos nos referindo a um vetor,
devemos colocar o Nome do Vetor e o ndice
correspondente entre colchetes.

nomes[5] Andr
- Esta instruo armazena na posio 5 do vetor Nomes a palavra
Andr.

Manipulao de Vetores

escreva (Nomes[X])
- possvel utilizar variveis para representar o ndice de um
vetor.
- Neste caso, a posio a ser acessada depende do valor que
estar armazenado na varivel no momento da execuo.
- Por exemplo:
- se antes da instruo Escreva (Nomes[X]) tivssemos a
instruo X 4, ento seria mostrado o contedo da posio 4
do vetor.

Manipulao de Vetores

leia (Nomes[X 1])


- Tambm possvel utilizar expresses para indicar uma posio do vetor.
- O comando Leia tambm pode guardar valores numa posio de um
vetor.
- Exemplo:
- Considere a sequncia de instrues:
X 6
leia (Nomes[X 1])
- Neste caso, o valor lido do teclado ser guardado na posio 5 do vetor
Nomes.

Preenchendo um Vetor

Para preencher um vetor com dados necessria


uma estrutura de repetio, pois um vetor possui
vrias posies e temos que preencher uma a uma.
Exemplo: declarao e preenchimento de um vetor com 4
Declarao do vetor com 4
posies.
posies
algoritmo PreencheVetor
var
numeros: vetor[1..4] de inteiro
i: inteiro
inicio
para i de 1 at 4 faca
escreva (Digite um valor)
leia (numeros[i])
fimpara
fimalgoritmo

A varivel i far o controle da


repetio, e assumir todos os
valores possveis para o ndice
do vetor.

Preenchendo um Vetor

Simulao da Execuo
Memria
numeros
i=1

Tela

23
1

Digite um Valor
23

Preenchendo um Vetor

Simulao da Execuo
Memria
numeros
i=1
numeros
i=2

Tela

23
1

23

12

Digite um Valor
23
Digite um Valor
12

Preenchendo um Vetor

Simulao da Execuo
Memria
numeros
i=1
numeros
i=2
numeros
i=3

Tela

23
1

23

12

23

12

-9

Digite um Valor
23
Digite um Valor
12
Digite um Valor
-9

Preenchendo um Vetor

Simulao da Execuo
Memria
numeros
i=1
numeros
i=2
numeros
i=3
numeros
i=4

Tela

23
1

23

12

23

12

-9

23

12

-9

10

Digite um Valor
23
Digite um Valor
12
Digite um Valor
-9
Digite um Valor
10

Como Mostrar os Elementos de um Vetor

Mostrar os valores contidos em um vetor tambm implica a


utilizao de uma estrutura de repetio
algoritmo MostraVetor
var
numeros: vetor[1..4] de inteiro
i: inteiro
inicio
para i de 1 at 4 faa
escreva (numeros[i])
fimpara
fimalgoritmo

A varivel i far o controle da


repetio, e assumir todos
os valores possveis para o
ndice do vetor.

Um Exemplo

Criar um algoritmo que preenche um vetor com 8


nmeros inteiros, calcular e mostrar quantos
elementos do vetor so nmeros pares.

Analisando o Algoritmo

Imaginemos que aps o preenchimento o vetor seja:


vet

12

26

17

19

- Para verificar quantos nmero pares h neste vetor, devemos


percorr-lo e analisar o contedo de cada posio. Para isso
utilizamos uma estrutura de repetio.
para i de 1 at 8 faca
se vet[i]%2 = 0 entao
pares pares + 1
fimse
fimpara

Analisando o Algoritmo

- Inicialmente o valor de i 1. O que indica que vet[i] est


representando a primeira posio do vetor.
vet

12

26

17

19

- Ento, feito o teste e verificado que vet[i]% 2 verdadeiro. Com isso, o


valor da varivel pares incrementado em 1.

Analisando o Algoritmo

- Na prxima repetio, o valor de i 2. Assim, vet[i] representa a


segunda posio do vetor.

vet

12

26

17

19

- Ento, feito o teste e verificado que vet[i]%2 falso.

Analisando o Algoritmo

- Na prxima repetio, o valor de i 3. Assim, vet[i] representa


a terceira posio do vetor

vet

12

26

17

19

- Em Resumo: em cada repetio, acessamos uma posio diferente


do vetor. Garantindo, com isso, que no final da repetio tenhamos
percorrido todas as posies e realizado todos os testes
necessrios.

Um Exemplo VISUAL G

Um algoritmo que preenche um vetor com 8 nmeros inteiros, calcula


e mostra quantos elementos do vetor so nmeros pares.
algoritmo ContaPares
var
vet: vetor[1..8] de inteiro
i, pares: inteiro
inicio
para i de 1 at 8 faca
escreva (Digite um valor)
leia (vet[i])
fimpara
pares 0
para i de 1 at 8 faca
se vet[i]%2 = 0 entao
pares pares +1
fimse
fimpara
escreva (pares)
fimalgoritmo

Neste trecho feito o


preenchimento do vetor.

A varivel pares inicializada


com 0, pois ser nosso
contador.
Neste
trecho, o vetor percorrido,
sendo checado para cada
posio se o valor ali
armazenado par. Se for par a
varivel pares incrementada
em uma unidade.

Conceito de Matriz

Uma matriz, tambm conhecido como varivel homognea


multidimensional, um conjunto de variveis do mesmo tipo, que
possuem o mesmo identificador e so alocadas sequencialmente
na memria.

Podemos entender um vetor como uma varivel dividida em


vrios pedaos, onde cada pedao identificado atravs de
um nmero, chamado de ndice.
Para representar um elemento de uma matriz, precisamos
de um ndice para cada dimenso.

Conceito de Matriz

Podemos Imaginar que uma matriz seja mais ou menos da


seguinte forma.
ndices das
Colunas

Nome da Matriz

1
1
mat

2
3

25
12

10
3

ndices das Linhas


Esta uma matriz bidimensional. Indicamos este
elemento como mat[1,1]

Conceito de Matriz

Declarao de Matrizes
Para declarar um vetor procedemos como indicado a seguir:

<identificador> : vetor[tamanho1, tamanho2] de <tipo>


Exemplo:
Vendas: vetor[1..10, 1..12] de real
Uma matriz chamada Vendas com 10 linhas e 12 colunas, para armazenar
nmeros reais.

Manipulao de Matrizes

escreva (mat[3, 2])


- Esta instruo escreve na tela o contedo da posio 3, 2 da
matriz (linha 3, coluna 2). Ou seja, mostra o valor 12.

mat[2, 5] 43
- Esta instruo armazena na posio 2, 5 (linha 2, coluna 5) o
valor 43.

Manipulao de Matrizes

escreva (mat[X, Y])


- possvel utilizar variveis para representar os ndices de
uma matriz.
- Esta instruo exibe o contedo da posio X, Y da matriz
mat.
- Neste caso, a posio a ser acessada depende do valor que
estar armazenado na varivel no momento da execuo.

Preenchendo uma Matriz

Para preencher uma matriz com dados so necessrias duas


estruturas de repetio aninhadas, uma para controlar as
linhas e outra para controlar as colunas.
Exemplo: declarao e preenchimento de uma matriz.
algoritmo PreencheMatriz
var
mat: vetor[1..2, 1..3] de inteiro
i, j: inteiro
inicio
para i de 1 at 2 faca
para j de 1 at 3 faca
escreva (Digite um valor)
leia mat[i, j]
fimpara
fimpara
fimpara

Declarao da matriz com 2


linhas e 3 colunas
A varivel i far o controle das
linhas.
A varivel j far o controle das
colunas.

Preenchendo uma Matriz

Simulao da Execuo
Memria
i = 1

i = 2

Tela

j = 1

Digite um Valor
12

j = 2

Digite um Valor
4

j = 3

Digite um Valor
-2

j = 1

Digite um Valor
10

j = 2

Digite um Valor
5

j = 3

Digite um Valor
3

12

-2

12

-2

10

1
2

Como Mostrar os Elementos de uma Matriz

Mostrar os valores contidos em uma matriz tambm implica a utilizao


de uma estrutura de repetio aninhada
algoritmo MostraMatriz
var
mat: vetor[1..2, 1..3] de inteiro
i, j: inteiro
inicio
para i de 1 ate 2 faca
para j de 1 ate 3 faca
escreva mat[i, j]
fimpara
fimpara
fmalgoritmo

A varivel i far o controle das


linhas.
A varivel j far o controle das
colunas.

Observao

Podemos afirmar que um vetor uma matriz que possui


apenas uma linha, sendo chamado de matriz linha.

DVIDAS

Você também pode gostar