Anda di halaman 1dari 28

Programao de Computadores

Aula 7

Professor Ilaim Costa Junior

www.ic.uff.br/~ilaim
Vetores

Estruturas de dados composta


Permitem a uma varivel armazenar mltiplos valores de um mesmo tipo primitivo
Por 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

Programao de Computadores (2011.2) 2


Organizao dos Dados na Memria

Pensem em variveis convencionais e em


vetores desta forma

real: Valor

real: Valor(5)

real: Valor(10)
1 2 3 4 5

1 2 3 4 5 6 7 8 9 10

Programao de Computadores (2011.2) 3


O que significa alterar o i-simo valor

real: Valor(5)
1 2 3 4 5 Valor(3) 4.7
4.7

real: Valor(10)
1 2 3 4 5 6 7 8 9 10

4.7

Programao de Computadores (2011.2) 4


Quando usar?
variveis
Calcule a mdia da
inteiro: i, qtd
nota de 5 alunos e
real: nota, soma, media
verifique quantos
conseguiram nota
incio
acima da mdia
soma 0.0
para i 1 at 5 repetir
Ler nota
soma soma + nota
fim para
media soma / 5
Como verificar se a nota de cada aluno qtd 0
maior que a mdia? ...
Exibir qtd
fim

Programao de Computadores (2011.2) 5


variveis
inteiro: qtd
real: n1, n2, n3, n4, n5, media

incio
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
E se forem 600 alunos?
...

se n5 > media ento


qtd qtd + 1
fim se

Exibir qtd
fim TCC-03.063 Programao de Computadores III (2011.1)
6
A soluo utilizar um
variveis vetor para as notas
inteiro: i, qtd
real: nota(5), soma, media

incio
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 qtd
fim
TCC-03.063 Programao de Computadores III (2011.1) 7
Exemplo 1

Escreva um algoritmo (pseudocdigo) 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 5
Ao final, mostre o contedo dos dois vetores

Programao de Computadores (2011.2) 8


Exemplo 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 para
fim
TCC-03.063 Programao de Computadores III (2011.1) 9
Exemplo 2

Escreva um algoritmo (pseudocdigo) 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

Programao de Computadores (2011.2) 10


Exemplo 2
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 para
fim
TCC-03.063 Programao de Computadores III (2011.1) 11
Exerccios

Construa um algoritmo (pseudocdigo) que, dada a seqncia de 20 nmeros


1.

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.

Programao de Computadores (2011.2) 12


Exerccios

Construa um algoritmo (pseudocdigo) que faa a leitura e armazene 100 valores


1.

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.

Programao de Computadores (2011.2) 13


Vetores em Pascal

Programao de Computadores (2011.2)


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

Anda mungkin juga menyukai