Vetores 2
Download
1 / 23

Vetores (2) - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Vetores (2)' - kathie


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Vetores 2

Vetores (2)

Continuação


Caso 1 qual o menor valor
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


Ordenar vetor

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 !!!


Ordenar vetor1

aux

pos

Ordenar vetor ...

Usando o algoritmo do caso 1, descobriu-se que o menor valor é 1 !!! E está na posição 7...


Ordenar vetor2

aux

pos

Ordenar vetor ...

[7]


Ordenar vetor3

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.


Ordenar vetor4

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.


Ordenar vetor5

aux

pos

Ordenar vetor ...

[pos]

1

1

7

O valor da primeira posição do vetor é atribuído para a posição 7 !!!!


Ordenar vetor6

aux

pos

Ordenar vetor ...

99

1

7

O valor da primeira posição do vetor para para a posição 7 !!!!


Ordenar vetor7

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 ...


Ordenar vetor8

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 ).


Ordenar vetor9

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 ).


Ordenar vetor10

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 ).


Ordenar vetor11

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 ...


Ordenar vetor12

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 ...


Ordenar vetor13

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


Ordenar vetor14

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


Ordenar vetor15

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


Ordenar vetor16

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...


Sugest o de exerc cio
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


Sugest o de exerc cio1
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


Fortran

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


Fortran1

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


ad