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

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

Vetores (2) Continuação.

Apresentações semelhantes


Apresentação em tema: "Vetores (2) Continuação."— Transcrição da apresentação:

1 Vetores (2) Continuação

2 Caso 1: Qual o menor valor ?
Início TIPO vcu = vetor [1..10] de inteiros; //variável composta uniforme vcu : vetor; Inteiro: min, i, n, pos; Ler (n); PARA i DE 1 ATÉ n PASSO 1 FAÇA Ler ( vetor[i] ) ; FIM PARA Min = vetor[1]; PARA i DE 2 ATÉ n PASSO 1 FAÇA SE min < vetor[i] ENTAO inicio min  vetor[i]; pos  i ; // a posição que se encontra fim FIM SE Escreve ( ‘menor valor: ‘, min, ‘ na posicao : ‘ , pos); FIM

3 Ordenar vetor Estratégia
aux 99 6 8 3 10 9 1 21 33 14 Estratégia Usar uma variável simples como “recipiente” de troca : inteiro aux Descobrir o menor valor do vetor e sua posição Armazenar esse “primeiro” menor em aux Trocar : valor do vetor[1] vai para posição do menor Copiar valor de Aux para vetor[1] ... O menor valor está na posição 1 !!!

4 Ordenar vetor ... aux pos 99 6 8 3 10 9 1 21 33 14 Usando o algoritmo do caso 1, descobriu-se que o menor valor é 1 !!! E está na posição 7...

5 Ordenar vetor ... 99 6 8 3 10 9 1 21 33 14 [7] aux pos

6 Ordenar vetor ... 99 6 8 3 10 9 21 33 14 1 aux 1 pos ???? 7 Falta colocar o menor valor na primeira posição ( ou índice ) do vetor. Mas será trocado o valor que lá está , pois não se quer perdê-lo.

7 Ordenar vetor ... 99 6 8 3 10 9 21 33 14 1 aux 1 pos !!!! 7 Vai ser trocado o valor que está na primeira posição para que o menor valor do vetor esteja em primeiro.

8 Ordenar vetor ... [pos] 99 6 8 3 10 9 21 33 14 1 aux 1 pos 7 O valor da primeira posição do vetor é atribuído para a posição 7 !!!!

9 Ordenar vetor ... 99 6 8 3 10 9 21 33 14 99 aux 1 pos 7 O valor da primeira posição do vetor para para a posição 7 !!!!

10 Ordenar vetor ... 1 6 8 3 10 9 21 33 14 99 aux 1 pos 7 Agora, o menor valor vai para o seu lugar ( a primeira posição do vetor ). Próximo passo ... Ordenar os demais ...

11 Ordenar vetor ... 1 6 8 3 10 9 21 33 14 99 aux pos Usar o algoritmo de encontrar o menor novamente, mas ignorar a primeira posição ( já é o menor ) Agora, o menor valor vai para o seu lugar ( a primeira posição do vetor ).

12 Ordenar vetor ... 1 6 8 3 10 9 21 33 14 99 [4] aux pos Usar o algoritmo de encontrar o menor novamente, mas ignorar a primeira posição ( já é o menor ) Agora, o menor valor vai para o seu lugar ( a primeira posição do vetor ).

13 Ordenar vetor ... 1 6 8 3 10 9 21 33 14 99 [4] aux 3 pos 4 Usar o algoritmo de encontrar o menor novamente, mas ignorar a primeira posição ( já é o menor ) Agora, o menor valor vai para o seu lugar ( a primeira posição do vetor ).

14 Ordenar vetor ... 1 6 8 3 10 9 21 33 14 99 aux ???? 3 pos 4 Usar o algoritmo de encontrar o menor novamente, mas ignorar a primeira posição ( já é o menor ) Agora, o SEGUNDO menor valor vai para o seu lugar ( a SEGUNDA posição do vetor ). Antes deve-se mover o conteúdo da segunda posição para ONDE pos indicar ...

15 Ordenar vetor ... [pos] 1 6 8 3 10 9 21 33 14 99 aux 3 pos 4 Usar o algoritmo de encontrar o menor novamente, mas ignorar a primeira posição ( já é o menor ) Agora, o SEGUNDO menor valor vai para o seu lugar ( a SEGUNDA posição do vetor ). Antes deve-se mover o conteúdo da segunda posição para ONDE pos indicar ...

16 Ordenar vetor ... [pos] 1 6 8 10 9 21 33 14 99 aux 3 pos 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

17 Ordenar vetor ... [pos] 1 6 8 10 9 21 33 14 99 aux 3 pos 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

18 Ordenar vetor ... [pos] 1 3 8 6 10 9 21 33 14 99 aux 3 pos 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

19 Ordenar vetor ... 1 3 8 6 10 9 21 33 14 99 aux pos Agora, repetir o processo com os demais elementos ... E começar a partir da terceira posição, já que se ordenou o primeiro e segundo menor elemento ... E assim sucessivamente, até o penúltimo elemento ser processado...

20 Sugestão de exercício Faça o procedimento para encontrar o maior elemento. Use esse procedimento para ordenar o vetor ( encontrar o maior , trocar , colocar o maior elemento na última posição do vetor ) ... Crie 2 vetores de mesmo tamanho e com mesmo tipo. Atribua valores diferentes entre esses vetores. Realize com eles: Soma Subtração Multiplicação Divisão Tome um dos vetores do exercício 3 e, para cada elemento, com seja K lido pelo usuário, faça Somar o valor k Subtrair o valor k Multiplicar por k Dividir por k

21 Sugestão de exercício 5. Dado o vetor
2 1 8 6 10 9 99 21 33 14 Escreva todos os elementos ímpares do vetor Escreva todos os elementos de índice/posição ímpar

22 Fortran Vetores = Arrays ( conjuntos ) inicio program testeVetor;
TIPO vreal = vetor[1..6] de real; vreal : vmedia; Inteiro: i ; Para i DE 1 ATÉ 6 PASSO 1 Faça vmedia[i] i escrever( i, vmedia[i] ); FIM PARA FIM program testeVetor; real vmedia(6) integer i do i=1,6,1 vmedia(i) = i print*, i, vmedia(i) end do end

23 Fortran Dimension inicio program testeVetor; vreal : vmedia;
TIPO vreal = vetor[1..6] de real; vreal : vmedia; Inteiro: i ; Para i DE 1 ATÉ 6 PASSO 1 Faça vmedia[i] i escrever( i, vmedia[i] ); FIM PARA FIM program testeVetor; real vmedia Dimension vmedia(1:6); do i=1,6,1 vmedia(i) = i print*, i, vmedia(i) end do end


Carregar ppt "Vetores (2) Continuação."

Apresentações semelhantes


Anúncios Google