Algoritmos
-
Upload
honorato-valenzuela -
Category
Documents
-
view
20 -
download
0
description
Transcript of Algoritmos
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 =
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.
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
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.
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
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]
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;
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]; } }
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";
} }
Matrizes
Estrutura Homogênea - Matriz:
Analogia:
Matrizes
Estrutura Homogênea - Matriz:
Exemplo 1:
Ler uma matriz, TAB, de valores inteiros com 3 linhas e 3 colunas.
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.
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
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
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
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
Referências
Lopes, A. & Garcia, G. – Introdução a Programação.
Schildt – C Completo e Total.
ObrigaObrigadodo
E Agora???
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.
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 )
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
FIFIMM