27
Algoritmos Escher

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

Embed Size (px)

Citation preview

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

Algoritmos

Escher

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

Agenda

• Estruturas Homogêneas;

• Vetores;

• Exercícios.

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

Conceitos Iniciais

Estrutura Homogênea:

Representa um conjunto de valores do mesmo tipo (estrutura homogênea), referenciáveis pelo mesmo nome e individualizados entre si através de sua posição dentro desse conjunto (variáveis indexadas)

O termo indexada provém da maneira como é feita a individualização dos elementos do conjunto de dados: por meio de índices.

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

Conceitos Iniciais

Estrutura Homogênea:

Uma variável indexada pode ser definida como tendo um ou mais índices.

vetor, um único índice (unidimensionais)matriz, dois índices (bidimensionais)

Sinônimos: variáveis indexadas, variáveis compostas, variáveis subscritas, arranjos, matrizes (unidimensionais), tabelas em memória ou arrays.

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

Vetores

Estrutura Homogênea - Vetor:

Conceituando VETOR através de um exemplo.

Suponhamos o seguinte problema:

Calcular a média aritmética das notas de 3 alunos.

Exibir a média e as notas que estão abaixo da média

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

Vetores

Estrutura Homogênea - Vetor:

Ler as três notas e armazenar na memória do computador, dando um nome diferente para cada nota.

1a Solução (RUIM)

Calcular a média aritmética das notas de 3 alunos.

Exibir a média e as notas que estão abaixo da média

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

prog Media3Notasreal NOTA1, NOTA2, NOTA3, MEDIA;

imprima "Digite 3 notas: ";leia NOTA1; leia NOTA2; leia NOTA3; MEDIA <- (NOTA1 + NOTA2 + NOTA3) / 3;imprima "Media: ", formatar (MEDIA,2);imprima "\n\n";se (NOTA1 < MEDIA)

{ imprima NOTA1, " Abaixo da media\n"; }se (NOTA2 < MEDIA)

{ imprima NOTA2, " Abaixo da media\n"; }se (NOTA3 < MEDIA)

{ imprima NOTA3, " Abaixo da media\n"; }

fimprog

Programa funciona para três notas

E se fossem 1000 notas?Associarmos um nome para cada

nota?

IMPRATICÁVEL!IMPRATICÁVEL!

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

Vetores

Estrutura Homogênea - Vetor:

Associar o nome NOTA a um CONJUNTO seqüencial de notas, ou seja um variável homogênea:

2a Solução (Utilizando Vetores)

Calcular a média aritmética das notas de 3 alunos.

Exibir a média e as notas que estão abaixo da média

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

Vetores

Estrutura Homogênea - Vetor:

Como faremos ?

Para referenciar ou selecionar uma nota específica usamos um índice.

Então:- a 1a nota é indicada por NOTA[0]- a 1000a nota é indicada por NOTA[999]- uma ka nota é indicada por NOTA[k]

Junta-se o nome dado ao conjunto seqüencial com um índice.

Chamada VARIÁVEL INDEXADA – Vetor VARIÁVEL INDEXADA – Vetor

NOTA = {8.0, 7.5, ... 10.0}índice 0 1 999

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

Vetores

Estrutura Homogênea - Vetor:

Um VETOR é um conjunto ordenado que contém um número fixo de elementos.

Todos os elementos do vetor devem ser do mesmo tipo Armazenam diversos itens de uma só vez

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

ter diversas variáveis de tipos de dados simples agrupadas.

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

Vetores

Estrutura Homogênea - Vetor:

Sintaxe: tipo nomevetor [dimensão];

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

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

Vetores

Estrutura Homogênea - Vetor:

Exemplo:

real VETOR[200];

Nome da Variável

Número máximo de elementos do conjunto

Tipo dos elementosdo conjunto

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

Vetores

Estrutura Homogênea - Vetor:

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

Exemplo: real NOTA[3];

MP

NOTA[0] NOTA[1] NOTA[2]

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

Vetores

Estrutura Homogênea - Vetor:

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

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

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

Vetores

Estrutura Homogênea - Vetor:

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

Exemplo:int numero[10], i;para (i <- 0 ; i < 10; i <- i + 1) { imprima “numero: ";

leia numero[i];}

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

Vetores

Estrutura Homogênea - Vetor:

Escrita utilizando um Vetor:- Semelhante a leitura, feita passo a passo, um componente por vez. Sempre informando o nome da variável e o índice a ser manipulado.

Exemplo:para (i <- 0 ; i < 10; i <- i + 1) { imprima "num: ", numero[i], "\n";}

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

Vetores

Estrutura Homogênea - Vetor:

Analogia:

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

Vetores - Strings

Estrutura Homogênea - Vetor:

Sintaxe: char nomevetor [numdestrings][comprdasstrings] ;

onde: deve ser especificado o tipo char para elementos do conjunto. O nomevetor é o nome da variável, em numdestrings deve ser especificado o número máximo de elementos do conjunto e comprdasstrings tamanho de cada string.

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

Vetores

Estrutura Homogênea - Vetor:

Voltando ao nosso problema:

Ler um conjunto de 1000 notas armazenando-as no vetor denominado NOTAS. Calcular a média, verificar e exibir as notas abaixo da média.

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

prog Media1000Notas real NOTAS[1000], MEDIA, SOMA; int I;

para (I <- 0; I <1000; I++) {

leia NOTAS[I];}

SOMA <- 0.0; para (I <- 0; I <1000; I++) {

SOMA <- SOMA + NOTAS[I];}

MEDIA <- SOMA / 1000;

para (I <- 0; I <1000; I++) { se (NOTAS[I] < MEDIA)

{ imprima NOTAS[I], "\n"; }}

fimprog

VETOR - Exemplo 1

Leitura das notas

Cálculo da Média

Escrita das notas abaixo da média

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

Vetores

Estrutura Homogênea - Vetor:

Exemplo 2:

Ler um conjunto de N números inteiros (N é lido e é menor que 100). Encontrar e exibir o maior deles.

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

prog MaiordeNvalores

int N,I, J,MAIOR, NRO[100]; leia N;

para (J <- 0; J < N; J++) { leia NRO[J]; }

MAIOR <- NRO[0];

para (I <- 1; I < N; I++) {

se (NRO[I] > MAIOR){ MAIOR <- NRO[I]; }

}

imprima MAIOR, " eh o maior valor.";

fimprog

Exemplo 2

Lê a quantidade de elementos

Lê os números

Compara o elemento assumido

como maior com todos os outros, colocando em MAIOR aquele elemento

que realmente for o maior de todos

Assume que o primeiro elemento do conjunto

é o maior de todos

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

Referências

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

Schildt – C Completo e Total.

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

ObrigaObrigadodo

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

E Agora???

Exercícios!!!

Page 26: Algoritmos Escher. Agenda Estruturas Homogêneas; Vetores; Exercícios

Exercícios Propostos1. Inicializar um vetor de 5 inteiros com o valor zero.2. Inicializar um vetor com os valores 1,2,3,4,5,6,7,8,9,10 e depois imprimir.3. Ler 5 inteiros do teclado e armazenar num vetor. Depois percorrer este vetor

mostrando os números ímpares. 4. Inicializar um vetor com valores 2, 4, 6, 8, 10. Calcular e imprimir a soma

dos valores.5. Ler e armazenar num vetor 5 números reais fornecidos pelo usuário e

calcular a média dos valores.6. Dado os vetores A=[10, 11, 12, 13, 14, 15, 16,17] e B=[1, 2, 3, 4, 5, 6, 7, 8],

fazer um programa para somar os dois vetores e armazenar o resultado em um vetor C ( C[i]=A[i]+B[i] ).

7. Escrever um programa que leia 5 números reais e imprima-os em ordem inversa.

Page 27: Algoritmos Escher. Agenda Estruturas Homogêneas; Vetores; Exercícios

FIFIMM