1 / 23

Vetores (2)

Vetores (2). Continuação. 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

kathie
Download Presentation

Vetores (2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 FIM PARA Escreve ( ‘menor valor: ‘, min, ‘ na posicao : ‘ , pos); FIM

  3. aux Ordenar vetor 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. aux pos Ordenar vetor ... Usando o algoritmo do caso 1, descobriu-se que o menor valor é 1 !!! E está na posição 7...

  5. aux pos Ordenar vetor ... [7]

  6. aux pos Ordenar vetor ... 1 1 ???? 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. aux pos Ordenar vetor ... 1 1 !!!! 7 Vai ser trocado o valor que está na primeira posição para que o menor valor do vetor esteja em primeiro.

  8. aux pos Ordenar vetor ... [pos] 1 1 7 O valor da primeira posição do vetor é atribuído para a posição 7 !!!!

  9. aux pos Ordenar vetor ... 99 1 7 O valor da primeira posição do vetor para para a posição 7 !!!!

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

  11. aux pos Ordenar vetor ... 99 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. aux pos Ordenar vetor ... 99 [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 ).

  13. aux pos Ordenar vetor ... 99 [4] 3 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. aux pos Ordenar vetor ... 99 ???? 3 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. aux pos Ordenar vetor ... [pos] 99 3 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. aux pos Ordenar vetor ... [pos] 99 3 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

  17. aux pos Ordenar vetor ... [pos] 99 3 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

  18. aux pos Ordenar vetor ... [pos] 99 3 4 Agora, falta apenas transferir o SEGUNDO menor valor ( em aux) para a SEGUNDA posição do vetor

  19. aux pos Ordenar vetor ... 99 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 • Escreva todos os elementos ímpares do vetor • Escreva todos os elementos de índice/posição ímpar

  22. program testeVetor; real vmedia(6) integer i do i=1,6,1 vmedia(i) = i print*, i, vmedia(i) end do end Fortran • Vetores = Arrays ( conjuntos ) inicio 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

  23. program testeVetor; real vmedia Dimension vmedia(1:6); do i=1,6,1 vmedia(i) = i print*, i, vmedia(i) end do end Fortran • Dimension inicio 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

More Related