A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Lógica de Programação Módulo II

Apresentações semelhantes


Apresentação em tema: "Lógica de Programação Módulo II"— Transcrição da apresentação:

1 Lógica de Programação Módulo II
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ – SANTA CATARINA Lógica de Programação Módulo II Prof. Tiago Semprebom

2 Lógica de Programação Variáveis multidimensionais
Variáveis que representam vetores e matrizes Guardam múltiplos valores de um mesmo tipo Qualquer tipo é possível O acesso a um valor se faz indexando a variável Índices iniciam em 0 Inteiro v[10]; // vetor com 10 inteiros inteiro i; // usada como índice INICIO Para i ← 0 até 9 faça v[i] ← 0; Fim para FIM

3 Lógica de Programação Variáveis multidimensionais
Uso de variáveis multidimensionais: Cálculos com matrizes Processamento de imagem Guardar registros em memória Representar sequências de caracteres alfanuméricos Na verdade, variáveis alfanuméricas são implementadas como vetores de caracteres Essas variáveis são conhecidas como strings

4 Lógica de Programação Variáveis multidimensionais
Cada posição da variável funciona como uma variável independente Pode ser acessada, modificada, e usada em expressões aritméticas e lógicas. Inteiro v[10]; // vetor com 10 inteiros inteiro i; // usada como índice real m; INICIO m ← 0; // inicializa v (omitido) Para i ← 0 até 9 faça m ← m + v[i]; Fim para; Escreva('média=', m/10); FIM

5 Lógica de Programação Variáveis multidimensionais
Exercício: faça um algoritmo para ler dez números do teclado e mostrar somente os que estiverem abaixo da média. Inteiro v[10]; // vetor com 10 inteiros inteiro i; // usada como índice real m; INICIO m ← 0; Para i ← 0 até 9 faça Leia(v[i]); m ← m + v[i]; Fim para; m ← m / 10; Se (v[i] < m) então Escreva(v[i]); Fim se FIM

6 Lógica de Programação Variáveis multidimensionais
Variável pode ter mais de duas ou mais dimensões Exemplo de uma matriz de inteiros: Inteiro m[10][10]; // matriz de inteiros bidimensional 10x10 inteiro i, j; // usadas como índice INICIO Para i ← 0 até 9 faça Para j ← 0 até 9 faça m[i][j] ← 0; Fim para FIM

7 Lógica de Programação Variáveis multidimensionais
Exercício: faça um algoritmo para multiplicar duas matrizes bidimensionais 3x3, cujos valores serão fornecidos por teclado. Inteiro A[3][3], B[3][3], C[3][3]; inteiro i,j,k; // usada como índice INICIO Para i ← 0 até 2 faça Para j ← 0 até 2 Faça Leia(A[i][j]); Leia(B[i][j]); Fim para; Fim Para Para j ← 0 até 2 faça C[i][j] ← 0; Para k ← 0 até 2 faça C[i][j] += A[i][k] * B[k][j]; FIM

8 Lógica de Programação Exercício:
Modifique o algoritmo anterior para que as dimensões das matrizes sejam também lidas via teclado. Obs: as matrizes não são necessariamente quadradas, e cada linha ou coluna nunca tem mais que 10 elementos.

9 Lógica de Programação Inteiro A[10][10], B[10][10], C[10][10];
inteiro i,j,k; // usadas como índice inteiro a1, a2, b1, b2; //dimensões INICIO Leia(a1); Leia(a2); Leia(b1); Leia(b2); Se ((a1 > 10) ou (a2 > 10) ou (b1 > 10) ou (b2 > 10) ou (a2 != b1)) então Escreva ('Erro !!!'); Termina; Fim Se Para i ← 0 até a1 faça Para j ← 0 até a2 Faça Leia(A[i][j]); Fim para; Fim Para Para i ← 0 até b1 faça Para j ← 0 até b2 Faça Leia(B[i][j]); Fim para; Fim Para Para i ← 0 até a1 faça Para j ← 0 até b2 faça C[i][j] ← 0; Para k ← 0 até a2 faça C[i][j] += A[i][k] * B[k][j]; FIM

10 Lógica de Programação Variáveis multidimensionais
O tamanho de uma variável multidimensional é predefinido Não pode ser modificado Os valores usados para indexar essas variáveis não são verificados Pode-se tentar indexar uma posição fora da variável, o que gera um erro de acesso à memória. Portanto, cuidado ao indexá-las!

11 Lógica de Programação Variáveis multidimensionais
Variável do tipo string: Vetores de caracteres Cada posição da variável guarda um caractere Caractere vazio representa o final da string Caractere s[10]; // variável string para guardar até 10 caracteres inteiro i; // usada como índice INICIO Leia(s); Para i ← 0 até 9 faça Escreva('Posição ', i, '=', s[i]); Fim para FIM

12 Lógica de Programação Variáveis multidimensionais
Exercício: faça um algoritmo para comparar duas strings inteiro i; // usada como índice Booleano ok; INICIO Leia(s1); Leia(s2); ok ← Verdadeiro; i ← 0; Enquanto ((i < 10) and (s1[i] != 0) and (s2[i] != 0)) faça ok ← ok and (s1[i] == s2[i]); i ← i + 1; Fim para Escreva('Comparação: ', ok); FIM

13 Lógica de Programação Exercícios:
1) Faça um algoritmo para inverter a ordem dos caracteres em uma string 2) Faça um algoritmo para procurar a primeira localização onde se encontra uma palavra dentro de uma variável string. 3) Escreva um algoritmo que preencha a diagonal principal de uma matriz 5 x 5 com zeros. E o restante com valores um. 4) Escreva um algoritmo que leio os elementos de uma matriz inteira 10 x 10 e imprima a soma dos elementos que estão acima da diagonal principal.


Carregar ppt "Lógica de Programação Módulo II"

Apresentações semelhantes


Anúncios Google