construcao de algoritmos - aula 11

39
Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

Upload: facema-faculdade-de-ciencias-e-tecnologia-do-maranhao

Post on 16-Feb-2017

73 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Construcao de Algoritmos - Aula 11

Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges

Caxias – MA2016

ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO

Page 2: Construcao de Algoritmos - Aula 11

2

Link Drive

bit.ly/ads-algoritmos

Page 3: Construcao de Algoritmos - Aula 11

3

Algoritmos

Page 4: Construcao de Algoritmos - Aula 11

4

Estruturas Homogêneas<Matrizes>

Page 5: Construcao de Algoritmos - Aula 11

5

• Algoritmos• Estruturas Homogêneas• Matrizes• Os tipos de dados simples nem sempre

são suficientes para resolver certos problemas.

• Alguns problemas necessitam de estruturas que comportem-se como uma "lista" (vetores).

• Porém, os vetores são unidimensionais, e alguns problemas são resolvidos apenas com estruturas multidimensionais.

Page 6: Construcao de Algoritmos - Aula 11

6

Uma matriz é uma estrutura de dados homogênea de duas (ou mais) dimensões. Uma matriz utiliza

variáveis indexadas de mais de um índice.

Page 7: Construcao de Algoritmos - Aula 11

7

• Algoritmos• Estruturas Homogêneas• Matrizes

Matriz 3 x 3

M =

Linhas

Colunas

Page 8: Construcao de Algoritmos - Aula 11

8

• Algoritmos• Estruturas Homogêneas• Matrizes

Matriz 3 x 3

Matriz M Coluna 1 Coluna 2 Coluna 3

Linha 1 M[1,1] M[1,2] M[1,3]

Linha 2 M[2,1] M[2,2] M[2,3]

Linha 3 M[3,1] M[3,2] M[3,3]

Nome da Matriz

Índice da linha Índice da coluna

Page 9: Construcao de Algoritmos - Aula 11

9

• Algoritmos• Estruturas Homogêneas• Matrizes

M[?,?]=?Linha (i)

Coluna (j)

Page 10: Construcao de Algoritmos - Aula 11

10

• Algoritmos• Estruturas Homogêneas• Matrizes

Acessando os valores da matriz 3 x 3:M[1,1] = 1M[1,2] = ?M[1,3] = ?M[2,1] = ?M[2,2] = ?M[2,3] = ?M[3,1] = ?M[3,2] = ?M[3,3] = ?

M =

1 2 31

2

3

Page 11: Construcao de Algoritmos - Aula 11

11

• Algoritmos• Estruturas Homogêneas• Matrizes

Acessando os valores da matriz 3 x 3:M[1,1] = 1M[1,2] = 2M[1,3] = 3M[2,1] = 4M[2,2] = 5M[2,3] = 6M[3,1] = 7M[3,2] = 8M[3,3] = 9

M =

1 2 31

2

3

Page 12: Construcao de Algoritmos - Aula 11

12

• Algoritmos• Estruturas Homogêneas• Matrizes

Sintaxe:

• Tam1 e Tam2 <tamanho> = [Vi..Vf], Vi = valor inicial; e Vf = valor final.

<identificador>: vetor [tam1, tam2] de <tipo>

Page 13: Construcao de Algoritmos - Aula 11

13

• Algoritmos• Estruturas Homogêneas• Matrizes

Exemplo:

// 1..3 = 3 linhas// 1..2 = 2 colunas

nomes : vetor [1..3, 1..2] de literal

Números de colunas

Números de linhas

Page 14: Construcao de Algoritmos - Aula 11

14

Matrizes (Atribuição de valores)

Page 15: Construcao de Algoritmos - Aula 11

15

• Algoritmos• Estruturas Homogêneas• Matrizes → Atribuição de valores• Assim como com os vetores, os elementos

de uma matriz também podem ser inicializados.

• Sintaxe:<identificador>[pos1, pos2] ← <valor>

Linha

Coluna

Page 16: Construcao de Algoritmos - Aula 11

16

• Algoritmos• Estruturas Homogêneas• Matrizes → Atribuição de valores

Exemplo: {1}

algoritmo "ExMatrizes"var nomes: vetor [1..2, 1..2] de literalinicio nomes[1,1] ← "Pedro" nomes[1,2] ← "João" nomes[2,1] ← "Maria" nomes[2,2] ← "Francisca"fimalgoritmo

Page 17: Construcao de Algoritmos - Aula 11

17

• Algoritmos• Estruturas Homogêneas• Matrizes → Atribuição de valores

Exemplo: {1} // nomes[1,1] ← "Pedro" // nomes[1,2] ← "João" // nomes[2,1] ← "Maria" // nomes[2,2] ← "Francisca"

1

2

1 2

Pedro João

Maria Francisca

Page 18: Construcao de Algoritmos - Aula 11

18

• Algoritmos• Estruturas Homogêneas

para i de 1 ate 2 faca

para j de 1 ate 2 faca

1. Indica a partir de qual linha será iniciado o acesso.

2. Indica até qual linha será acessada.

3. Indica a partir de qual coluna será iniciado o acesso.

4. Indica até que coluna será acessada.

21

43

Page 19: Construcao de Algoritmos - Aula 11

19

• Algoritmos• Estruturas Homogêneas• Matrizes → Atribuição de valores

Exemplo: {2}

algoritmo "ExMatrizes"var nomes: vetor [1..2, 1..2] de literal i, j: inteiroinicio para i de 1 ate 2 faca para j de 1 ate 2 faca escreva("Digite um nome: ") leia(nomes[i,j]) fimpara fimparafimalgoritmo

LinhasColunas

Page 20: Construcao de Algoritmos - Aula 11

20

Matrizes (Acessando valores)

Page 21: Construcao de Algoritmos - Aula 11

21

• Algoritmos• Estruturas Homogêneas

Matriz 3 x 3

M =

// Para resolver os próximos problemas parta do principio que essa matriz está preenchida.

Page 22: Construcao de Algoritmos - Aula 11

22

• Algoritmos• Estruturas Homogêneas

Exemplo: {1}algoritmo "ExMatrizes"var M: vetor [1..3, 1..3] de inteiroinicio escreval("M{1,1}: ", M[1,1]) escreval("M{1,2}: ", M[1,2]) escreval("M{1,3}: ", M[1,3]) escreval("M{2,1}: ", M[2,1]) escreval("M{2,2}: ", M[2,2]) escreval("M{2,3}: ", M[2,3]) escreval("M{3,1}: ", M[3,1]) escreval("M{3,2}: ", M[3,2]) escreval("M{3,3}: ", M[3,3])fimalgoritmo

Page 23: Construcao de Algoritmos - Aula 11

23

• Algoritmos• Estruturas Homogêneas

Exemplo: {2}

algoritmo "ExMatrizes"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 1 ate 3 faca para j de 1 ate 3 faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo

Page 24: Construcao de Algoritmos - Aula 11

24

Exemplos Resolvidos

<Matrizes>

Page 25: Construcao de Algoritmos - Aula 11

25

Faça um algoritmo que leia os elementos de uma "matriz inteira 3 x 3" e imprima os

elementos da diagonal principal e abaixo.

Problema I

Page 26: Construcao de Algoritmos - Aula 11

26

M =

1 2 31

2

3

M[1,1] = 1M[2,1] = 4

M[2,2] = 5M[3,1] = 7M[3,2] = 8

M[3,3] = 9

Problema IAnalisando o

Page 27: Construcao de Algoritmos - Aula 11

27

• Algoritmos• Estruturas Homogêneas

Problema I

algoritmo "Problema 01"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 1 ate 3 faca para j de 1 ate i faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo

Page 28: Construcao de Algoritmos - Aula 11

28

Problema IFaça um algoritmo que leia os elementos de

uma "matriz inteira 3 x 3" e imprima os elementos abaixo da diagonal principal.

Problema II

Page 29: Construcao de Algoritmos - Aula 11

29

M =

1 2 31

2

3

M[2,1] = 4M[3,1] = 7

M[3,2] = 8

Problema IIAnalisando o

Page 30: Construcao de Algoritmos - Aula 11

30

• Algoritmos• Estruturas Homogêneas

Problema II

algoritmo "Problema 02"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 2 ate 3 faca para j de 1 ate (i – 1) faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo

Page 31: Construcao de Algoritmos - Aula 11

31

Problema IFaça um algoritmo que leia os elementos de

uma "matriz inteira 3 x 3" e imprima os elementos da diagonal principal e acima.

Problema III

Page 32: Construcao de Algoritmos - Aula 11

32

M =

M[1,1] = 1M[1,2] = 2

M[1,3] = 3M[2,2] = 5M[2,3] = 6

M[3,3] = 9

1 2 31

2

3

Problema IIIAnalisando o

Page 33: Construcao de Algoritmos - Aula 11

33

• Algoritmos• Estruturas Homogêneas

Problema III

algoritmo "Problema 03"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 2 ate 3 faca para j de i ate 3 faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo

Page 34: Construcao de Algoritmos - Aula 11

34

Problema ICriar um algoritmo que leia os elementos de

uma "matriz inteira 3 x 3" e imprima os elementos acima da diagonal principal.

Problema IV

Page 35: Construcao de Algoritmos - Aula 11

35

M = M[1,2] = 2M[1,3] = 3

M[2,3] = 6

1 2 31

2

3

Problema IVAnalisando o

Page 36: Construcao de Algoritmos - Aula 11

36

• Algoritmos• Estruturas Homogêneas

Problema IV

algoritmo "Problema 04"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 1 ate 2 faca para j de (i + 1) ate 3 faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo

Page 37: Construcao de Algoritmos - Aula 11

37

IFaça um algoritmo que leia os elementos de

uma "matriz inteira 3 x 3" e imprima os elementos da diagonal principal.

Problema V

Page 38: Construcao de Algoritmos - Aula 11

38

Problema VAnalisando o

M =

1 2 31

2

3

M[1,1] = 1M[2,2] = 5

M[3,3] = 9

Page 39: Construcao de Algoritmos - Aula 11

39

• Algoritmos• Estruturas Homogêneas

Problema V

algoritmo "Problema 05"var M: vetor [1..3, 1..3] de inteiro i, j: inteiroinicio para i de 1 ate 3 faca para j de i ate i faca escreva(M[i,j]) fimpara escreval() fimparafimalgoritmo