Sei sulla pagina 1di 3

Matrizes (Cap.6 - Arrays) Matrizes (Cap.

6)
DEFINIÇÃO
SUMÁRIO Conjunto de variáveis que compartilham um
nome comum. Índices são associados aos diversos
•Matrizes/Vetores elementos, permitindo assim a referência individual.
•Declaração, Inicialização e Referência Array - Grupo de locais da memória relacionados
•Uso com funções pelo fato que todos têm o mesmo nome e o mesmo
•Matrizes Multidimensionais tipo.
•Algorítmos
EXEMPLO
c = {-45 , 60 , 25 , 56 , 96} -> Tamanho 6

c[0], c[1], c[2], c[3].......


c[1], c[2], c[3], c[4]....

Matrizes (Cap.6) Matrizes (Cap.6)


INICIALIZAÇÃO
INDEXAÇÃO :
Depende da Linguagem
Inicialização não é automática (conteúdo inicial → lixo)
C → começa em zero
Pascal → começa em um
double v[3] = {1.0, 2.5, -14.65} Caractere
nulo
int x[ ] = {2, 4, 6}
float z[10] = {0.0}
DECLARAÇÃO
char título[ ] = {`p’, `r`, `i`, `m`, `e`, `i`, `r`, `o`, `\0`}
int c[12]
char título [ ] = “primeiro” (\0 associado)
float v[10]
double x[760] Referência
Nome [índice] :
c[10] = 5
Número de Calcula o Vetores/número
Elementos de elementos a = v[cont];

Matrizes (Cap.6) Matrizes (Cap.6)


MATRIZES MULTIDIMENSIONAIS
-ANSI → 12 dimensões (pelo menos) ALGORÍTMOS
-Bidimensional: Para diferenciar variáveis simples de matrizes,
utiliza-se a palavra chave DIM:
⎡4 3 36 ⎤ dim < lista de especificações>
dim a[5], m[6,8], x(3,150)
V = ⎢⎢− 2 − 12 29 ⎥⎥
V(1,3)
V[0][2]
V(2,3)
⎣⎢0 6 − 75⎦⎥ V[1][2]
Leitura de um Vetor de 6 Posições
Inicialização
int b[2] [2] = {{1,2}, {3,4}} ⎧ PARA I = 1 ATÉ 6

⎨ LER V ( I )
b[0][0] = 1 b[1][0] = 3 ⎪ FIM I
b[0][1] = 2 b[1][1] = 4 ⎩

1
Matrizes (Cap.6) Matrizes (Cap.6)
PROBLEMA
Ler as notas de 80 alunos, calcular a média geral e apresentar
Leitura de uma Matriz M(5,4) o número de alunos abaixo da média da prova.
⎧ PARA I = 1 ATÉ 5 n(80)
⎪ s = 0
⎪ PARA J = 1 ATÉ 4
⎪ para i=0 até 79
⎨ LER M(I,J) ler n(i)
⎪ FIM J s = s + n(i)
⎪ fim i
⎪⎩ FIM I média = s/80
Soma os Elementos de um Vetor N(100) c = 0
para j = 0 até 79
⎧ ACC = 0 se n(j) < média então c=c+1
⎪ fim j
⎪ PARA I = 1 ATÉ 100
⎨ escrever “média geral =”, média
⎪ S = S + N(I) escrever “abaixo da média”, c
⎪⎩ FIM I escrever “aprovados”, 80-c
parar

Matrizes (Cap.6) Matrizes (Cap.6)


PROBLEMA
V= {15 7 1 4 17 10} → Passar várias vezes o algoritmo sobre a
Ler um vetor de 6 posições, escrevê-lo, ordenar de forma crescente e
seqüência de elementos
apresentá-lo novamente.

num = 6 Para i = 0 até num-2


dim v(num) Se v(i)≥ v(i+1)então
para i = 0 até num-1 x = v(i)
ler v(i) v(i) = v(i+1)
fim i v(i+1) = x
para i = 0 até num-1 fim se
escrever v(i) fim i
fim i para i=0 até num-1
escrever v(i)
fim i
parar

Matrizes (Cap.6) Matrizes (Cap.6) – pg 185


ALGORITMO COMPLETO: Ordenação por bolhas

num = 6
⎧ faça
⎪ fim = 1
Dim = v(num) ⎪
⎧ para i = 0 até num - 1 ⎪ ⎧ para i = 0 até num − 1
⎪ ⎪⎪
⎪ ler v(i) ⎪ ⎪ ⎧ se v ( i ) ≥ v ( i + 1 ) então
⎨ ⎪⎪⎪ x = v (i )
⎪ escrever v(i) ⎪
⎪⎪ ⎪
⎪⎩ fim i ⎨ ⎪ ⎪⎪ v ( i ) = v ( i + 1)
⎪ ⎨ ⎨ v ( i + 1) = x
⎪ ⎪ ⎪
⎪⎪⎪ fim = 0
Para i=0 até num-1 ⎪ ⎪ ⎪⎪
OUTRASEscrever
POSSIBILIDADES: ⎪ ⎪ ⎩ fim se
v(i)
Fim i Ache o maior elemento⎪ ⎪⎩ efim
troque
i de posição com o
último,
Parar ache o maior entre os⎪ N-1 e troque de posição com o
⎪⎩ enquanto fim = 0
penúltimo,...

2
Matrizes (Cap.6) Matrizes (Cap.6)
PROBLEMA
Ler uma tabela T(10, 20) e a seguir uma seqüência de 15 valores. A cada PROBLEMA
leitura, verificar se o mesmo pertence a tabela e alertar o usuário. 1)Ler os elementos de uma matriz quadrada e efetuar as seguintes somas:

Dim t(10,20) a) soma dos elementos da linha 3


Para i=0 até 19 b) soma dos elementos da coluna 5
Para j=0 até 9 c) soma dos elementos da diagonal principal
Ler t(i,j) d) soma dos elementos da diagonal secundária
Fim j
e) soma de todos os elementos
Fim i
Para n=0 até 14
Ler a 2) Ler duas matrizes e realizar a multiplicação entre ambas.
Para i=0 até 9
Para j=0 até 19
Se a=t(i,j) então 3) Faça um programa que leia um conjunto de valores e calcule: (a)
Escrever “está na tabela” média, (b) mediana(valor do meio ou média dos valores do meio e
Fim j (c) moda (maior contagem (histograma)).
Fim i
Fim n
Parar

Matrizes (Cap.6) Matrizes (Cap.6)

Potrebbero piacerti anche