Download - Aula - Vetoresilaim/Vetores e Matrizes.pdf · Construa um programa em pascal que faça a leitura e armazene 100 valores ... Vetores em Pascal. Vetores em Pascal. Matrizes. Matrizes.

Transcript
  • Programao de Computadores IV

    Aula - Vetores

    Professor Ilaim Costa Junior

    www.ic.uff.br/~ilaim

  • Vetores

    Estruturas de dados compostaPermitem a uma varivel armazenar mltiplos valores de um mesmo tipo primitivoPor exemplo, ao invs de declarar 40 variveis assim:real: Nota1, Nota2, Nota3, ..., Nota40

    podemos declarar uma nica varivel assim:real: Nota(40)

    e acessar o i-simo valor por indexao,para 1 i 40:Nota(i) 3.14

    2

  • Organizao dos Dados na Memria

    Pensem em variveis convencionais e emvetores desta forma

    real: Valor

    real: Valor(5)

    real: Valor(10)

    3

    1 2 3 4 5

    1 2 3 4 5 6 7 8 9 10

  • O que significa alterar o i-simo valor

    4

    4.7

    1 2 3 4 5

    4.7

    1 2 3 4 5 6 7 8 9 10

    real: Valor(5)

    real: Valor(10)

    Valor(3) 4.7

  • Quando usar?

    Calcule a mdia danota de 5 alunos everifique quantosconseguiram notaacima da mdia

    6

    variveis inteiro: i, qtd real: nota, soma, mediaincio soma 0.0 para i 1 at 5 repetir Ler nota soma soma + nota fim para media soma / 5

    qtd 0 ... Exibir qtdfim

    Como verificar se a nota de cada aluno maior que a mdia?

  • TCC-03.063 Programao de Computadores III (2011.1)

    variveis inteiro: qtd real: n1, n2, n3, n4, n5, mediaincio Ler n1, n2, n3, n4, n5 media (n1 + n2 + n3 + n4 + n5) / 5

    qtd 0

    se n1 > media ento qtd qtd + 1 fim se se n2 > media ento qtd qtd + 1 fim se ...

    se n5 > media ento qtd qtd + 1 fim se Exibir qtdfim

    E se forem 600 alunos?

    7

  • TCC-03.063 Programao de Computadores III (2011.1)

    variveis inteiro: i, qtd real: nota(5), soma, mediaincio soma 0.0 para i 1 at 5 repetir Ler nota(i) soma soma + nota(i) fim para media soma / 5 qtd 0 para i 1 at 5 repetir se nota(i) > media ento qtd qtd + 1 fim se fim para Exibir qtdfim

    8

    A soluo utilizar umvetor para as notas

  • Exemplo 1

    Escreva um programa em pascal que:Leia 10 valores inteiros e armazene em um vetor (A)Crie um segundo vetor (B) do mesmo tipo onde os elementos de ndice par so uma cpia do elemento correspondente em A, e os elementos de ndice mpar so o valor correspondente em A multiplicados por 5Ao final, mostre o contedo dos dois vetores

    9

  • Exemplo 1

    TCC-03.063 Programao de Computadores III (2011.1)

    variveis inteiro: i, A(10), B(10)

    incios para i 1 at 10 repetir Ler A(i) fim para

    para i 1 at 10 repetir se mod(i,2) = 0 ento B(i) A(i) se no B(i) 5 * A(i) fim se fim para

    para i 1 at 10 repetir Mostrar A(i), B(i) fim parafim 10

  • Exemplo 2

    Escreva um programa em pascal que:Leia 100 valores reais e armazene em um vetor (A)Crie um segundo vetor (B) do mesmo tipo mas com a metade do tamanho de A, onde o i-simo elemento de B calculado como a soma do i-simo e do(100 i + 1)-simo elemento de A Ao final, mostre o contedo dos dois vetores

    11

  • Exemplo 2

    TCC-03.063 Programao de Computadores III (2011.1)

    variveis inteiro: i, A(100), B(50)

    incios para i 1 at 100 repetir Ler A(i) fim para

    para i 1 at 50 repetir B(i) A(i) + A(100-i+1) fim para

    para i 1 at 100 repetir Mostrar A(i) fim para

    para i 1 at 50 repetir Mostrar B(i) fim parafim 12

  • Exerccios

    1. Construa um programa em pascal que, dada a seqncia de 20 nmeros reais, armazene os nmeros em um vetor (A) e crie um segundo (B) vetor de tamanho 19, onde cada elemento calculado pela soma do elemento correspondente em A com o prximo elemento. Ao final, mostre o contedo dos dois vetores.

    13

  • Exerccios

    1. Construa um programa em pascal que faa a leitura e armazene 100 valores inteiros no negativos (a consistncia dos dados deve ser garantida). Depois que o vetor foi preenchido, o algoritmo deve pedir para o usurio informar nmeros (um de cada vez) e mostrar quantos valores armazenados so maiores que o ltimo nmero informado pelo usurio. O programa termina quando o usurio informar o nmero -1.

    14

  • Vetores em Pascal

  • Vetores em Pascal

  • Matrizes

  • Matrizes

  • Matrizes

  • Matrizes

  • Matriz em Pascal

  • Matriz em Pascal

  • Matriz em Pascal

  • Matriz em Pascal

  • Matriz em Pascal

  • Exemplo Vetor Faa o teste de mesa

  • Resultado

  • Exemplo Matriz Faa o teste de mesa

  • Resultado

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29