Buscar

08_Vetores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 1
MATA49
Programação de Software Básico
Leandro Andrade
leandrojsa<at>dcc.ufba.br
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 2
Vetores
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 3
Vetores
● É uma lista em um bloco de memória 
contínuo
● Cada elemento tem o mesmo tipo e o mesmo 
número de bytes
● Essas características permitem um acesso 
eficiente aos elementos do vetor
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 4
Vetores
● O acesso aos elementos do vetor pode ser 
computado a partir de três fatos:
– O endereço da primeira posição do vetor
– O número de bytes de cada elemento
– O índice do elemento
● Assim com em C, o índice da primeira 
posição do vetor é convencionada como 0.
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 5
Vetores: Definição
● Os vetores podem ser definidos com seus 
valores inicializados ou não-incializados
● Deve declarar os valores de cada elemento 
(inicializados) ou o número de posições (não 
inicializados)
– Informando qual o tipo (byte, word, double 
word...)
● Podem ser declarados nos segmentos .data 
e .bss
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 6
Vetores: Definição
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 7
Vetores: Acesso
● Acesso não é feito como na maioria das 
linguagens de alto nível (array1[2], array2[4])
● Acesso:
elemeto_array = [<variavel> + <numero_bytes>]
● Não restringe acesso além do final do vetor
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 8
Vetores: Acesso
● Considere os vetores abaixo:
array1 db 5, 4, 3, 2, 1 ;array de bytes
array2 dw 5, 4, 3, 2, 1 ; array de words
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 9
Vetores Multidimensionais
● São armazenados na memória como vetores 
unidimensionais
● Duas dimensões:
– Em C faríamos: int a [3][2]
● 2 x 3 = 6 elementos
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 10
Vetores Multidimensionais
● Duas dimensões:
– Modos de mapear:
● Rowwise
– Cada linha é contínua na memória
a[i][j] = N x i + j 
N = número de colunas
i = índice da linha ; j = índice da coluna
● Columnwise
– Cada coluna é contínua na memória
a[i][j] = i + N x j
N = número de linhas
i = índice da linha ; j = índice da coluna
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 11
Vetores Multidimensionais
● Duas dimensões:
– Exercício:
Implementando no mapeando rowwise crie o 
programa inicializa uma matriz 4x3 
preenchendo cada posição por uma 
entrada do teclado (pode usar o “call 
read_int”)
CIÊNCIA DA COMPUTAÇÃO - UFBA
PROF. LEANDRO ANDRADE 12
Vetores Multidimensionais
● Mais de duas dimensões:
– Mesmo raciocínio:
– Para 3 dimensões:
● Seja a[L][M][N]:
● Então a[i][j][k] = M × N × i + N × j + k
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12

Outros materiais