Construcao de Algoritmos - Aula 11
-
Upload
facema-faculdade-de-ciencias-e-tecnologia-do-maranhao -
Category
Education
-
view
73 -
download
1
Transcript of Construcao de Algoritmos - Aula 11
![Page 1: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/1.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/2.jpg)
2
Link Drive
bit.ly/ads-algoritmos
![Page 3: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/3.jpg)
3
Algoritmos
![Page 4: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/4.jpg)
4
Estruturas Homogêneas<Matrizes>
![Page 5: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/5.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/6.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/7.jpg)
7
• Algoritmos• Estruturas Homogêneas• Matrizes
Matriz 3 x 3
M =
Linhas
Colunas
![Page 8: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/8.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/9.jpg)
9
• Algoritmos• Estruturas Homogêneas• Matrizes
M[?,?]=?Linha (i)
Coluna (j)
![Page 10: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/10.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/11.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/12.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/13.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/14.jpg)
14
Matrizes (Atribuição de valores)
![Page 15: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/15.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/16.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/17.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/18.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/19.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/20.jpg)
20
Matrizes (Acessando valores)
![Page 21: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/21.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/22.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/23.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/24.jpg)
24
Exemplos Resolvidos
<Matrizes>
![Page 25: Construcao de Algoritmos - Aula 11](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/25.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/26.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/27.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/28.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/29.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/30.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/31.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/32.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/33.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/34.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/35.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/36.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/37.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/38.jpg)
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](https://reader036.fdocumentos.com/reader036/viewer/2022062522/58a53c621a28ab4f088b4939/html5/thumbnails/39.jpg)
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