Вы находитесь на странице: 1из 15

MATLAB/OCTAVE Estruturas de Dados

Estruturas de Dados
 As Estruturas de dados consistem em variáveis com um
único nome e mais de um valor associado a ele, o que
configura vetores e matrizes.
 Todas as variáveis no MATLAB são arranjos. Um escalar é
um arranjo com um elemento, um vetor é um arranjo com uma
linha ou uma coluna de elementos, e uma matriz é um arranjo
de linhas e colunas de elementos.
 O tipo de variável é definido na entrada, quando a variável é
criada (tipagem dinâmica).
 O elemento (escalar) ou os elementos (vetor, matriz) de uma
variável pode(m) conter números (reais, complexos) ou
expressões.
Para que servem as estruturas de dados?
b) Quais notas são maiores que a
Exemplo 01:
média?
a) Cálcular a média aritmética de
10 notas. A1 = input(‘Nota 1: ’);
A2 = input(‘Nota 2: ’);
soma = 0; A3 = input(‘Nota 3: ’);
...
for i = 1:10
A10 = input(‘Nota 10: ’);
x = input(‘Entre com a nota: ’);
soma = soma + x; media = (A1 + A2 + ... + A10) / 10;
end
if( A1 > media )
disp( A1 );
media = soma / 10 end

if( A2 > media )


Evitar a perda de informação disp( A2 );
end
Evitar ter que criar n nomes para
variáveis de conteúdo similar
Estrutura de Dados
Classificação:

1. Variáveis Compostas Homogêneas;


Unidimensionais (Vetores);
Multidimensionais (Matrizes).
2. Variáveis Compostas Heterogêneas
Registros
VARIÁVEIS COMPOSTAS HOMOGÊNEAS
• São estruturas de dados compostas de variáveis do mesmo tipo de
informação.

3 Numérico caracteres
8
7
C A R R O
5

• A variável é o conjunto. Cada termo da variável é chamado de


elemento. Em ambos os exemplos, cada elemento tem o mesmo tipo de
informação (números e caracteres). Daí a denominação Homogêneo.
• É comum em computação utilizar o termo String para um vetor de
caracteres.

5
VARIÁVEIS COMPOSTAS HOMOGÊNEAS

• Os exemplos abaixo ilustram tipos de variável composta homogênea.

1) 1.34 2.5 3.23 1 0


2) C A S A

• O exemplo abaixo ilustra o exemplo de uma variável composta que


não é classificada como homogênea.

C 3 5 1 L

6
COMO CRIAR UM VETOR NO MATLAB?
VETORES: São estruturas de dados compostas de elementos do mesmo
tipo de informação e armazenados em matrizes linha ou coluna.
Exemplo 02:

A = (1:1:5) clc
K = (1:2:11) for i = 1:1:10
B = ones(1,10) A(i) = 2*i – 1;
C = zeros(1,5) end
n = [10 4 6 7 3 8 5 2] A

7
VARIÁVEIS COMPOSTAS HOMOGÊNEAS
• Acesso ao elemento de um vetor linha
valor = n(6)  Elemento da 6ª posição
• Acesso ao elemento de um vetor coluna
valor = n(6,1)  Elemento da 6ª posição
• Imprime o segundo elemento do vetor. 2 é o índice do vetor.
• disp(n(2))
• Alterando o terceiro elemento do vetor
• n(3) = 10

8
NOTA MAIOR QUE A MÉDIA USANDO VETORES

soma = 0; conta=0;
n=input(“Quantas notas? “);
for i = 1:n
nota(i) = input(‘Entre c/ a nota: ’);
soma = soma + nota(i);
conta=conta+1;
end
media = soma / conta
for i = 1:n
if( nota(i) > media )
disp(nota(i));
end
end
9
EXEMPLO:
SEJA O VETOR V = [2, 6, 8, 3, 10, 9, 1, 21, 33, 14].
SEJA TAMBÉM x = 2 E y = 4.
V(x+1) V(3) = 8

V(x+2) V(4) = 3

V(x*4) V(8) = 21

V(V(x+y)) V(V(6)) = V(9) = 33

V(x+y) V(6) = 9

V(V(1)*V(4)) V(2*3) = V(6) = 9

10
PROGRAMA PARA LER E IMPRIR O RESULTADO DA
SOMA ENTRE DOIS VETORES DE 10 POSIÇÕES.

n=input("Quantos valores? ");


for i=1:n
fprintf("Vetor A, posicao %i\n”,i);
A(i)=input("Valor de A: ");
end
for i=1:n
fprintf("Vetor B, posicao %i\n”,i);
B(i)=input("Valor de A: ");
end
fprintf("imprimindo a soma dos vetores");
for i=1:n
C(i)=A(i)+B(i)
end
C 11
PROGRAMA PARA PRENCHER UM VETOR DE 100
ELEMENTOS COLOCANDO 1 (UM) NA POSIÇÃO
CORRESPONDENTE A UM NÚMERO PAR E 0 (ZERO)
A UM NÚMERO ÍMPAR.
for i = 1:100
if( mod(i,2) == 0 )
a(i) = 1;
else
a(i) = 0;
end
end
disp(a);

12
FAÇA UM PROGRAMA QUE LEIA UM VETOR DE 10 POSIÇÕES
E COLOQUE-O EM ORDEM CRESCENTE, UTILIZANDO A
SEGUINTE ESTRATÉGIA:

Selecione o elemento do vetor que apresenta o menor valor;


Troque este elemento pelo primeiro;
Repita essas operações envolvendo agora apenas os 9 elementos
restantes, e siga repetindo, com oito, sete, até restar um único
elemento.

13
for i = 1:4
a(i) = input(‘A: ’);
end

for j = 1:4
menor = a(j); % inicializacao
A variável posição armazena
posicao = j; a posição do menor valor.

for i = j:4
if( a(i) < menor ) % selecionando o menor
menor = a(i);
posicao = i;
end
end
aux = a(j); % troca
Uso de uma variável auxiliar aux
a(j) = menor; para fazer a troca de 2 números.
a(posicao) = aux;
End
a 14
Slides baseados nas
Notas de aula do Prof. Christopher Freire Souza, CTEC/UFAL

Вам также может понравиться