Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Estruturada Prof.ª: Priscilla Abreu pbraz@unicarioca.edu.br Disciplina – Programação estruturada Roteiro de aula: • Objetivo da aula • Matrizes – Conceito – Manipulação – Exercícios 2 Programação Estruturada REVISANDO Programação Estruturada Strings Uma cadeia de caracteres, mais conhecida como string, é uma sequência de letras e símbolos, onde os símbolos podem ser espaços em branco, dígitos e vários outros, tais como pontos de exclamação e interrogação, símbolos matemáticos, etc. Programação Estruturada Strings Programação Estruturada Formas de definir uma string: • Como array: char a[5] = {‘A’, ‘U’, ‘L’, ‘A’, ‘\0’} ou char a[] = “AULA” • Como ponteiro: char *a = “AULA”; Strings Exemplo: #include <stdio.h> int main (){ char string[100]; printf ("Digite o seu nome: "); gets (string); printf ("\n Ola %s",string); } Programação Estruturada E se ao invés de armazenar o nome de uma pessoa, eu tivesse que armazenar o nome de 20 pessoas? Programação Estruturada USO DE MATRIZES! 8 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais ̶ Veja como ficaria a matriz de nomes: 9 Algoritmos II A N A \0 J O Ã O \0 C A R L A \0 A L I N E \0 P E D R O \0 Ana João Carla Aline Pedro Tipos Estruturados Homogêneos 10 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais ̶ As matrizes são, comumente referenciadas através de suas dimensões (quantidade de linhas e colunas). ̶ A notação comum é: MxN, onde ̶ M é a dimensão vertical (quantidade de linhas) ̶ N é dimensão horizontal (quantidade de colunas) ̶ Exemplo: 11 Algoritmos II Tipos Estruturados Homogêneos Multidimensionais ̶ Estrutura de dados com mais de um índice ̶ Sintaxe: tipo_dado matriz[tam1][tam2]...[tamn]; ̶ Exemplo: int mat [10][10]; float mat2[2][5][5]; 12 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais ̶ Como acessar um elemento da matriz? ̶ mat[0][2]; ̶ scanf(“%d”, &mat[2][3]); ̶ printf(“%d ”, mat[2][3]); 13 Algoritmos II Tipos Estruturados Homogêneos Multidimensionais ̶ Exemplo: Matriz bidimensional de nomes: 14 Programação Estruturada Ana João Carla Aline Pedro Índices da coluna Índices da linha 0 1 2 3 4 5 0 A N A \0 1 J O Ã O \0 2 C A R L A \0 3 A L I N E \0 4 P E D R O \0 COMO PREENCHER UMA MATRIZ? Programação Estruturada Disciplina – Programação estruturada Controle da posição das matrizes: – Necessário mais de um contador; – Matrizes de duas dimensões: controle de linha e coluna. – Acessamos as linhas e para cada linha acessamos todas as colunas. – Uso de dois contadores. 16 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais ̶ Exemplo: int mat [3][3]; int lin, col; for (lin=0; lin<=2; lin++) for (col=0; col<=2; col++) scanf(“%d”,&mat[lin][col]); 17 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais - exemplo #include <stdio.h> #define max 2 int main(){ int mat[max][max]; int lin,col; for (lin=0;lin<max;lin++){ for (col=0;col<max;col++){ printf("Digite um número: "); scanf("%d",&mat[lin][col]); } } 18 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais - exemplo for (lin=0;lin<max;lin++){ for (col=0;col<max;col++){ printf("%d ",mat[lin][col]); } printf("\n"); } } 19 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais Exemplo: Faça um programa que preencha duas matrizes 3x3 com valores inteiros e gere uma terceira matriz, que representa soma das duas anteriores. Imprima a terceira matriz. 20 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais #include <stdio.h> #define max 3 int main(){ int m1[max][max],m2[max][max],m3[max][max]; int i,j; printf("\nMatriz 1\n"); for (i=0; i<max;i++){ for (j=0; j<max;j++){ printf("Informe um valor:"); scanf("%d",&m1[i][j]); } } 21 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais printf("\nMatriz 2\n"); for (i=0; i<max;i++){ for (j=0; j<max;j++){ printf("Informe um valor:"); scanf("%d",&m2[i][j]); m3[i][j]= m1[i][j] + m2[i][j]; } } 22 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais printf("\nMatriz soma\n"); for (i=0; i<max;i++){ for (j=0; j<max;j++){ printf("%d ",m3[i][j]); } printf("\n"); } } 23 Programação Estruturada Tipos Estruturados Homogêneos Multidimensionais ̶ Vantagem e importância da utilização de constantes: ̶ Se houver necessidade de alterar a dimensão da matriz, basta alterar o valor da constante max. 24 Algoritmos II Tipos Estruturados Homogêneos Multidimensionais #include <stdio.h> #define max 3 int main(){ int mat[max][max]; int lin,col; for (lin=0;lin<max;lin++){ for (col=0;col<max;col++){ printf("Digite um número: "); scanf("%d",&mat[lin][col]); mat[lin][col]=mat[lin][col]*2; } } 25 Programação Estruturada for (lin=0;lin<max;lin++){ for (col=0;col<max;col++){ printf("%d ",mat[lin][col]); } printf("\n"); } return 0; } Tipos Estruturados Homogêneos Multidimensionais – algumas considerações ̶ Matriz quadrada ̶ Diagonal principal Elementos: [0][0] [1][1] [2][2] [3][3] [4][4] Linha == coluna 26 Programação Estruturada 0 1 2 3 4 0 10.0 7.5 4.3 1.5 9.2 1 9.5 8.0 3.6 8.7 4.6 2 6.5 4.9 5.7 9.8 6.5 3 3.5 1.0 5.0 10.0 7.6 4 10.0 9.0 9.5 9.1 8.6 Tipos Estruturados Homogêneos Multidimensionais – algumas considerações ̶ Matriz quadrada ̶ Triângulo Superior (Diagonal principal) Elementos: [0][1], [0][2], [0][3], [0][4] [1][2], [1][3], [1][4] [2][3], [2][4] [3][4] Linha < coluna 28 Programação Estruturada 0 1 2 3 4 0 10.0 7.5 4.3 1.5 9.2 1 9.5 8.0 3.6 8.7 4.6 2 6.5 4.9 5.7 9.8 6.5 3 3.5 1.0 5.0 10.0 7.6 4 10.0 9.0 9.5 9.1 8.6 Tipos Estruturados Homogêneos Multidimensionais – algumas considerações ̶ Matriz quadrada ̶ Triângulo Inferior (Diagonal principal) 29 Programação Estruturada 0 1 2 3 4 0 10.0 7.5 4.3 1.5 9.2 1 9.5 8.0 3.6 8.7 4.6 2 6.5 4.9 5.7 9.8 6.5 3 3.5 1.0 5.0 10.0 7.6 4 10.0 9.0 9.5 9.1 8.6 Tipos Estruturados Homogêneos Multidimensionais – algumas considerações ̶ Matriz quadrada ̶ Triângulo Inferior (Diagonal principal) Elementos: [1][0] [2][0], [2][1] [3][0], [3][1], [3][2] [4][0], [4][1], [4][2], [4][3] Linha > coluna 30 Programação Estruturada 0 1 2 3 4 0 10.0 7.5 4.3 1.5 9.2 1 9.5 8.0 3.6 8.7 4.6 2 6.5 4.9 5.7 9.8 6.5 3 3.5 1.0 5.0 10.0 7.6 4 10.0 9.0 9.5 9.1 8.6 Tipos Estruturados Homogêneos Multidimensionais – algumas considerações ̶ Matriz quadrada ̶ Diagonal secundária Elementos: [0][4] [1][3] [2][2] [3][1] [4][0] 31 Programação Estruturada 0 1 2 3 4 0 10.0 7.5 4.3 1.5 9.2 1 9.5 8.0 3.6 8.7 4.6 2 6.5 4.9 5.7 9.8 6.5 3 3.5 1.0 5.0 10.0 7.6 4 10.0 9.0 9.5 9.1 8.6 Tipos Estruturados Homogêneos Multidimensionais ̶ Nesta aula vimos estruturas de dados homogêneas que permitem armazenar e manipular um conjunto de dados do mesmo tipo por meio de uma mesma variável. ̶ Matrizes são estruturas de dados com duas ou mais dimensões (dois ou mais índices). Seu acesso está associado ao uso de estruturas de repetição, de acordo com sua dimensão. 32 Programação EstruturadaDÚVIDAS ? Programação Estruturada
Compartilhar