25
Algoritmos Escher

Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Embed Size (px)

Citation preview

Page 1: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Algoritmos

Escher

Page 2: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Agenda

• Estruturas Homogêneas;

• Matrizes;

• Exercícios.

Page 3: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Uma matriz é uma coleção homogênea bidimensional, cujos elementos são distribuídos em linhas (m) e colunas (n). Se A é uma matriz mn, então suas linhas são indexadas de 0 a m1 e suas colunas de 0 a n1.

0 1 2 ... n-1

1

2

...

m-1

Amxn =

Page 4: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Uma Matriz é um conjunto que contém um número fixo de elementos.

Todos elementos da matriz devem ser do mesmo tipo. Armazenam vários elementos (valores) de uma só vez.

– Significa dizer:• Em uma mesma estrutura de dados, é possível

ter diversas variáveis de tipos de dados simples do mesmo tipo agrupadas.

Page 5: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Para acessar um elemento particular de A, escrevemos Aij, sendo i o número da linha e j o número da coluna que o elemento ocupa.

A [i][j]

A[0][0]A[1][3]

linhacoluna

A3x4 =

NOMEÍNDICES

10 8 5 1

5 7 7 7

8 0 0 10

Matrizes

Page 6: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Sintaxe: tipo nomematriz [linhas] [colunas];

onde: deve ser especificado o tipo dos elementos do conjunto, ou seja, int, string, real, etc. O nomematriz é o nome da variável, em linhas deve ser especificado o número máximo de linhas do conjunto e em colunas deve ser especificado o número máximo de colunas do conjunto.

Page 7: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Exemplo:

int MAT [200][300];

Nome da Variável

Número máximo de linhas

do conjunto

Tipo dos elementosdo conjunto

Número máximo de colunas

do conjunto

Page 8: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Cada variável indexada é associada à uma posição de memória, como acontece com variáveis simples.

Exemplo: real A[2][2];

MP

A[0][0] A[0][1] A[1][0] A[1][1]

Page 9: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Atribuição:- Além do nome da variável deve-se fornecer os índices do componente onde será armazenado o valor da expressão.

Exemplos:NUMEROS[2][2] 10; strcopia (NOME[10][20], “Joao”);SALARIOS[3][5] 100.00;

Page 10: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Leitura utilizando uma Matriz:- Feita passo a passo, um componente por vez. Sempre informando o nome da variável e o índice da linha e coluna a ser lido.

Exemplo:int mat[10][5], i, j;para (i <- 0 ; i < 10; i ++ ) {

para (j <- 0 ; j < 5; j ++) {imprima “numero: ";leia mat[i][j]; } }

Page 11: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Escrita utilizando uma Matriz:- Semelhante a leitura, feita passo a passo, um componente por vez. Sempre informando o nome da variável e os índices para manipular o elemento.

Exemplo:int mat[10][5], i, j;para (i <- 0 ; i < 10; i ++) {

para (j<- 0 ; j < 5; j ++) {imprima "num: ", mat[i][j], "\n";

} }

Page 12: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Analogia:

Page 13: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Exemplo 1:

Ler uma matriz, TAB, de valores inteiros com 3 linhas e 3 colunas.

Page 14: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

14

prog matriz1 int I, J, TAB[4][3];

para (I <- 0; I < 4; I++) para (J <- 0; J < 3; J++)

leia TAB[I][J]; fimprog I J

0 0 leia TAB[0][0]; 1 leia TAB[0][1]; 2 leia TAB[0][2];1 0 leia TAB[1][0]; 1 leia TAB[1][1]; 2 leia TAB[1][2]; ... 3 0 leia TAB[3][0]; 1 leia TAB[3][1]; 2 leia TAB[3][2];

MATRIZ - Exemplo 1

Teste de mesa, em relação a I e J.

Page 15: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Exemplo 2:

Ler uma tabela de M linhas e N colunas, o M e N deverão ser informados pelo usuário, armazenando-as em uma matriz A. Calcular a soma de todos os elementos da matriz A

Page 16: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

prog matriz2 int S, I ,J, M, N, A[100][100]; imprima “Digite o nr de linhas e colunas:”; leia M; #recebe qtd linhas leia N; #recebe qtd colunas

para (I <- 0; I < M; I++) { para (J <- 0; J < N; J++) {

leia A[I][J]; } }

S <- 0; para (I <- 0; I < M; I++) { para (J <- 0; J < N; J++) {

S <- S + A[I][J]; } }

imprima “TOTAL: ”, S;fimprog

MATRIZ - Exemplo 2

Calculo da soma dos elementos

Leitura da Tabela

Número de máx. linhas

Número demáx. colunas

Impressão da soma dos elementos

Page 17: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Exemplo 3:

Ler uma matriz M3x4 e mostrar a soma da 2ª linha da matriz.

10 8 5 1 5 7 7 7 8 0 0 10

A3x4 = S = 26

Page 18: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

18

prog matriz3 int I,J,LINHA,COLUNA, M[100][100], S;

LINHA <- 3; COLUNA <- 4;

para(I <- 0; I < LINHA; I++) { para (J <- 0; J < COLUNA; J++) { imprima "FORNECA O ", I+1, " ", J+1, ": "; leia M[I][J]; imprima "\n"; } } imprima "\n";

S <- 0; para(J <- 0; J < COLUNA; J++) {

S <- S + M[1][J]; }

imprima "Soma da linha 2: ",S, "\n";

fimprog

Leitura da matriz

Declarações

Cálculo da soma da 2ª linha

Escrita da Soma

Page 19: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Referências

Lopes, A. & Garcia, G. – Introdução a Programação.

Schildt – C Completo e Total.

Page 20: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

ObrigaObrigadodo

Page 21: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

E Agora???

Exercícios!!!

Page 22: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Exercícios Propostos1 - Faça o programa para preencher os elementos de uma matriz (5 x 3) com o

valor 6. Imprimir a matriz.

2 - Faça um programa para ler uma matriz (3 x 4) e multiplique os elementos pares por 3 (três) e os elementos ímpares por 2 (dois). Imprimir a matriz resultado.

3 - Faça o programa para preencher os elementos de uma matriz quadrada (6 x 6) com o valor 0 quando o valor da linha é igual ao valor da coluna, e com 1 para os demais elementos. Imprimir a matriz.

Page 23: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

Matrizes

Estrutura Homogênea - Matriz:

Exercício 4:

Ler uma matriz M3x4 e gerar um vetor V cujos elementos são a soma de cada uma das linhas da matriz.Escrever o vetor V.

10 8 5 1 5 7 7 7 8 0 0 10

A3x4 = V = ( 24, 26, 18 )

Page 24: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

24

prog matriz4 int I,J,LINHA,COLUNA, M[100][100], V[100];

LINHA <- 3; COLUNA <- 4;

para(I <- 0; I < LINHA; I++) { para (J <- 0; J < COLUNA; J++) { imprima "FORNECA O ", I+1, " ", J+1, ": "; leia M[I][J]; imprima "\n"; } } imprima "\n";

para(I <- 0; I < LINHA; I++) { V[I] <- 0; para (J <-0; J < COLUNA; J++) { V[I] <- V[I] + M[I][J]; } }

imprima "Vetor Resultante\n”; para (I <- 0; I < LINHA; I++) { imprima "Vetor Soma[", I+1,"]: ", V[I], "\n";}

fimprog

Leitura da matriz

Declarações

MATRIZ - Exemplo 4

Cálculo do vetor soma das

linhas

Escrita do vetor

Page 25: Algoritmos Escher. Agenda Estruturas Homogêneas; Matrizes; Exercícios

FIFIMM