A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmo e Estrutura de Dados I

Apresentações semelhantes


Apresentação em tema: "Algoritmo e Estrutura de Dados I"— Transcrição da apresentação:

1 Algoritmo e Estrutura de Dados I
Aulas 13 – Variáveis Compostas Multidimensionais Márcia Marra

2 Variáveis Compostas Multidimensionais
Conjunto de dados referenciado por um mesmo nome e que necessita de mais de um índice para ter os seus elementos individualizados. ESCANINHO 1 2 3 4

3 Variáveis Compostas Multidimensionais
O primeiro índice representa a linha e o segundo a coluna ESCANINHO [3,2] Terceira linha e segunda coluna. Quando a variável composta é tridimensional, o terceiro índice pode ser encarado como o número da variável que está sendo referenciado com os dois primeiros índices.

4 Declaração onde: declare lista_de_identificadores
[li1:ls1,...,lin:lsn] t onde: declare: palavra chave lista de identificadores: nomes associados às variáveis que se deseja declarar li1:ls1, ..., lin:lsn: são os limites dos intervalos de variação dos índices da variável, onde cada par de limites está associado a um índice. t: tipo dos componentes da variável (numérico, literal, lógico)

5 Exemplos de variáveis Exemplos: declare LIVRO [1:4,1:6] numérico
declare NOTAS [1:55, 1:10] numérico declare EXEMPLO [1:15, 1:15] numérico declare PARALELEPIPEDO[1:6, 1:4, 1:6] numérico declare MULTI[1:4, 1:7, 1:8] numérico

6 Exemplo 1 Na matemática é comum o uso de matrizes de números.
Dada uma matriz 4 x 4, escrever um algoritmo para ler a matriz e escreve-la após ter multiplicado os elementos da diagonal principal por uma constante k.

7 Exemplo 1 Algoritmo Fim Algoritmo Defina o tipo das variáveis
leia A[1,1] ... A[4,4] leia K Calcule o produto da diagonal principal por K escreva A[1,1] ... A[4,4] Fim Algoritmo

8 Refinamentos sucessivos do exemplo 1
Ref. Calcule o produto da diagonal principal por k I ← 1 repita se I > 4 então interrompa fim se A[I,I] ← A[I,I] x K I ← I + 1 fim repita Fim Ref. Ref. Defina o tipo das variáveis declare A[1:4,1:4] numérico declare I, K numérico Fim Ref

9 Exemplo 1 completo Algoritmo declare A[1:4,1:4] numérico
declare I, K numérico leia A[1,1] ... A[4,4] leia K I ← 1 repita se I > 4 então interrompa fim se A[I,I] ← A[I,I] x K I ← I + 1 fim repita escreva A[1,1] ... A[4,4] Fim Algoritmo

10 Exemplo 2 O produto de duas matrizes A e B só é possível se o número de colunas da matriz A for igual ao número de linhas da matriz B. Desta forma, se A é uma matriz m x n e B é uma matriz n x p, a multiplicação será possível e o produto será uma matriz C de tamanho m x p.

11 Exemplo 2 O produto matricial pode ser muito útil em várias aplicações. Uma certa fábrica produziu dois tipos de motores M1 e M2 nos meses janeiro a dezembro e o número de motores produzidos foi registrado na tabela abaixo: M1 M2 30 20 5 10 ... 18 25 Jan Fev ... Dez

12 Exemplo 2 O setor de controle de vendas tem uma tabela do custo e do lucro (em unidades monetárias) obtidos em cada motor. Custo Lucro 10 3 15 2 M1 M2

13 Exemplo 2 Para saber o custo e o lucro nos meses de janeiro a dezembro, basta que seja realizado o produto matricial das duas tabelas Custo Lucro M M2 30 X 10 + 20 X 15 5 X 10 + 10 X 15 Jan Fev ... Dez Jan Fev ... Dez 30 20 5 10 ... 18 25 Custo Lucro 10 3 15 2 M1 M2

14 Exemplo 2 Fazer um algoritmo que, a partir da produção mensal de motores M1 e M2 e seus respectivos custos e lucros, calcule o custo e o lucro em cada um dos meses e o custo e lucro anuais.

15 Exemplo 2 Algoritmo Declare as variáveis
leia PRODUCAO[1,1]...PRODUCAO[12,2] leia VALORES[1,1]...VALORES[2,2] Calcule o custo e lucro mensais Calcule o custo e o lucro anuais Escreva os resultados obtidos Fim Algoritmo

16 Refinamentos sucessivos
Ref. Calcule o custo e o lucro mensais I ← 1 repita se I > 12 então interrompa fim se J ← 1 se J > 2 CLM[I,J] ← 0 K ← 1 se K > 2 CLM[I,J] ← CLM[I,J] + PRODUCAO[I,K] x VALORES[K,J] K ← K + 1 fim repita J ← J + 1 I ← I + 1 Fim Ref

17 Refinamentos sucessivos
Ref. Calcule o custo e o lucro anuais J ← 1 repita se J > 2 então interrompa fim se CLA[J] ← 0 I ← 1 se I > 12 CLA[J] ← CLA[J] + CLM[I,J] I ← I + 1 fim repita J ← J + 1 Fim Ref

18 Refinamentos sucessivos
Ref. Escreva os resultados obtidos escreva CLM[1,1]...CLM[12,2] escreva CLA[1]...CLA[2] Fim Ref. Ref. Declare as variáveis declare PRODUCAO, {producao mensal de cada motor} CLM[1:12,1:2], {custo e lucro mensais dos motores} VALORES[1:2,1:2], {custo e lucro de cada motor} CLA[1:2] {custo e lucro anuais dos motores} numérico declare I, J, K numérico

19 Exemplo 2 completo Algoritmo
declare PRODUCAO, {producao mensal de cada motor} CLM[1,12:1,2], {custo e lucro mensais dos motores} VALORES[1:2,1:2], {custo e lucro de cada motor} CLA[1:2] {custo e lucro anuais dos motores} numérico declare I, J, K numérico

20 Exemplo 2 completo { Cálculo do custo e lucro mensais} I ← 1 repita
se I > 12 então interrompa fim se J ← 1 se J > 2 CLM[I,J] ← 0 K ← 1 se K > 2 CLM[I,J] ← CLM[I,J] + PRODUCAO[I,K] x VALORES[K,J] K ← K + 1 fim repita J ← J + 1 I ← I + 1

21 Exemplo 2 completo { Cálculo do custo e lucro anuais} J ← 1 repita
se J > 2 então interrompa fim se CLA[J] ← 0 I ← 1 se I > 12 CLA[J] ← CLA[J] + CLM[I,J] I ← I + 1 fim repita J ← J + 1 { Escrita dos resultados obtidos } escreva CLM[1,1]...CLM[12,2] escreva CLA[1]...CLA[2] Fim Algoritmo


Carregar ppt "Algoritmo e Estrutura de Dados I"

Apresentações semelhantes


Anúncios Google