• Like
Aula 5   aed - vetores
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Aula 5 aed - vetores

  • 3,446 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,446
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
88
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Algoritmos eEstruturas de DadosAula 5 e Aula 604 e 11/09/2012Profª Ms. Engª Elaine Cecília GattoUnidade 5: Variáveis CompostasCurso de Bacharelado em Engenharia de ComputaçãoUniversidade do Sagrado Coração – USCBauru/SP
  • 2. Vetores• Variáveis compostas homogêneas: é um conjunto de dados do mesmo tipo.• Variáveis compostas homogêneas unidimensionais: são variáveis compostas que necessitam de apenas um índice para individualizar um elemento do conjunto. Essas variáveis são chamadas de vetores.• Declaração: nome_do_vetor: vetor[1..dimensao] de tipo_de_dados;• Em que 1 .. Dimensao é a quantidade de elementos do vetor;• Exemplo: nota: vetor[1..50] de reais;
  • 3. Vetores• Exemplo:• Media: vetor[1..5] de reais; Posição do elemento no vetor Conteúdo do vetor media[1] 3.2 media[2] 5.7 media[3] 9.5 media[4] 10 media[5] 1.3
  • 4. Vetores algoritmo exemplo; inicio inteiro: i; n: vetor[1..4] de reais; para i de 1 até 4 passo 1 faça inicio escreva(‘digite um número’); leia(n[i]); fim para; escreva(‘posição valor’); para i de 1 até 4 passo 1 faça inicio escreva(i, n[i]); fim para; fim.
  • 5. Vetores• Declaração de vetores em pascal: nome ... vetor: array[1 ... dimensao] of tipo ... dados;• Em que 1 ... Dimensao é o tamanho do vetor.• Exemplo:var v: array[1..6] of integer;• Atribuindo valores avulsos ao vetor:• V[5]  28; (posição 5 recebe o valor 28)
  • 6. Vetoresprogram vetor1;var n,i,maior:integer; nro:array[1..100] of integer;begin write(forneca a quantidade de numeros: ); readln(n); writeln; for i:=1 to n do begin write(forneca o ,i,o. numero: ); readln(nro[i]); end; writeln; maior:=nro[1]; for i:=2 to n do begin if (nro[i] > maior)then maior:=nro[i]; end; writeln(maior numero: ,maior); readln;end.
  • 7. VetoresNão é possível:Não se pode ler todo um vetor diretamente com um comando read.Não se pode escrever: read(v);É necessário ler elemento por elemento, diretamente, ou com um laçode repetição como for.Não se pode escrever todos os elementos de um vetor com um únicocomando write. Não é permitido escrever: write(v). Também nessecaso cada elemento deve ser tratado como uma variávelindependente, por exemplo: for i:= 1 to 6 do write(v[i]:3);
  • 8. VetoresNão é possível copiar os valores dos elementos de um vetor para outrocom um único comando de atribuição. Ou seja, dados dois vetores v ew, ambos do mesmo tamanho e do mesmo tipo, não é permitido fazer:w:= v; . Também aqui é necessário trabalhar elemento a elemento, e ocomando for mais uma vez é indicado: for i:= 1 to 6 do w[i]:= v[i];Não existe comandos ou funções que dão o tamanho (número deelementos) de um vetor.Não é permitido tentar acessar uma posição fora do intervalo deposições definido para o vetor. A tentativa causará um erro em tempode execução e o programa abortará. No caso do vetor v acima, porexemplo, não é permitido escrever: v[8]:= 20, read(v[8]) ou write(v[8]) porque a faixa de valores das posições vai de 1 a 6 apenas.
  • 9. VetoresA faixa de valores das posições não precisa começar em 1. Qualquerintervalo de valores pode ser usado na definição de um vetor. Porexemplo, podemos definir um vetor assim:var v:array[15..20] of real;Nesse caso o vetor v terá apenas os elementos: v[15], v[16], v[17],v[18], v[19] e v[20]As posições não precisam ser necessariamente números inteiros.Podem ser qualquer tipo ordinal, ou seja, que possa ser definido poruma seqüência ordenada de valores.Por exemplo, os caracteres em Pascal formam uma seqüênciaordenada na tabela de caracteres, e podem portanto seremmarcadores de posição em um vetor.
  • 10. VetoresPodemos definir um vetor assim: var letras: array[a..z] of integer;Nesse caso os elementos do vetor são: letras[a], letras[b], …..,letras[z]Um uso possível para esse vetor poderia ser que cada posiçãopoderia guardar a quantidade de vezes que a letra dessa posiçãoaparece em uma determinada frase.
  • 11. Exercícios: Faça primeiro em pseudocódigo e depois passe para pascal.1. Faça um algoritmo para ler dez números e armazená-los em um vetor. Em seguida, calcule e imprima a soma e a média destes números. Imprima também o vetor.2. Modifique o exercício anterior para calcular a média dos números negativos e a porcentagem de números positivos.3. Faça um algoritmo para ler cinco número inteiros quaisquer e armazene-os em um vetor A. Em seguida, crie um novo vetor B cujos elementos são os elemmentos do vetor A com sinal trocado. Imprima os dois vetores. Exemplo: Vetor A: 5 -3 6 67 -10 Vetor B: -5 3 -6 -67 10
  • 12. Exercícios4. Faça um algoritmo para ler cinco números inteiros quaisquer e armazene-os em um vetor. Em seguida, imprima o vetor e quantos elementos do vetor são positivos, quantos são negativos, e quantos são nulos.5. Faça um algoritmo para ler dez números quaisquer e armaze-os em um vetor. Em seguida, imprimir o vetor, o maior e o menor valores armazenados no vetor.6. Faça um algoritmo para ler a nota de prova e de trabalho de dez alunos. Armazenar as notas em dois vetores diferentes. Em seguida, calcular a média de cada aluno, armazenando- os em um outro vetor. Imprimir a maior e a menor média, quantos alunos obtiveram média igual ou superior à 7,0, e os três vetores.