Algoritmos Escher. Agenda Estruturas Homogêneas; Vetores; Exercícios.
Transcript of Algoritmos Escher. Agenda Estruturas Homogêneas; Vetores; Exercícios.
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.
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.
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
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
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!
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
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
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.
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.
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
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]
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;
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];}
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";}
Vetores
Estrutura Homogênea - Vetor:
Analogia:
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.
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.
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
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.
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
Referências
Lopes, A. & Garcia, G. – Introdução a Programação.
Schildt – C Completo e Total.
ObrigaObrigadodo
E Agora???
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.
FIFIMM