Você está na página 1de 130

PROGRAMA DE FORMAO/CERTIFICAO EM

FUNDAMENTOS DE PROGRAMAO IMPERATIVA

AGREGADOS HOMOGNEOS
(VETORES)

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Muitas vezes, precisamos armazenar um
grupo de informaes semelhantes, como:
idades dos jogadores de um time de futebol;
notas dos alunos de uma turma;
um conjunto de temperaturas;
nomes dos clientes de uma loja.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Muitas vezes, precisamos armazenar um
grupo de informaes semelhantes, como:
idades dos jogadores de um time de futebol;
notas dos alunos de uma turma;
um conjunto de temperaturas;
nomes dos clientes de uma loja.

Conjuntos de dados da mesma natureza

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Muitas vezes, precisamos armazenar um
grupo de informaes semelhantes, como:
idades dos jogadores de um time de futebol;
notas dos alunos de uma turma;
inteiros
um conjunto de temperaturas;
nomes dos clientes de uma loja.

Conjuntos de dados da mesma natureza

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Muitas vezes, precisamos armazenar um
grupo de informaes semelhantes, como:
idades dos jogadores de um time de futebol;
notas dos alunos de uma turma;
inteiros
um conjunto de temperaturas;
reais
nomes dos clientes de uma loja.

Conjuntos de dados da mesma natureza

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Muitas vezes, precisamos armazenar um
grupo de informaes semelhantes, como:
idades dos jogadores de um time de futebol;
notas dos alunos de uma turma;
inteiros
um conjunto de temperaturas;
reais
nomes dos clientes de uma loja.
cadeias de
caracteres
Conjuntos de dados da mesma natureza

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Se empregarmos variveis normais
(atmicas), haver alguns inconvenientes:
var

Nota1,Nota2, ... , Nota9,Nota10: real;


begin
writeln('Fornea a 1a. nota:');
readln(Nota1);
writeln('Fornea a 2a. nota: ');
readln(Nota2);

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Conceito de vetor
Se empregarmos variveis normais
(atmicas), haver alguns inconvenientes:
var

Nota1,Nota2, ... , Nota9,Nota10: real;


begin
writeln('Fornea a 1a. nota:');
readln(Nota1);
writeln('Fornea a 2a. nota: ');
readln(Nota2);

:
E se forem 100 notas...? 1000 notas...?

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Conceito de vetor
Se empregarmos variveis normais
(atmicas), haver alguns inconvenientes:
var

Nota1,Nota2, ... , Nota9,Nota10: real;


begin
writeln('Fornea a 1a. nota:');
readln(Nota1);
writeln('Fornea a 2a. nota: ');
readln(Nota2);

:
E se forem 100 notas...? 1000 notas...?
Teramos que declarar 1000 variveis...?

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Para facilitar o manuseio desses conjuntos de


dados, as linguagens de programao
oferecem os tipos agregados homogneos,
conhecidos como vetores

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Para facilitar o manuseio desses conjuntos de


dados, as linguagens de programao
oferecem os tipos agregados homogneos,
conhecidos como vetores
- agregados: compostos com vrias partes
- homogneos: todos os componentes so de
um mesmo tipo

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
program DeclaraVetor;
var
VetIdade: array[1..20] of integer;
VetNome: array[1..50] of string[45];
I: integer;
:

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
program DeclaraVetor;
var
VetIdade: array[1..20] of integer;
VetNome: array[1..50] of string[45];
I: integer;
:
1

19

...

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
program DeclaraVetor;
var
VetIdade: array[1..20] of integer;
VetNome: array[1..50] of string[45];
I: integer;
:
1

19

20

...
1

...

49

50

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
Alternativa: definir um novo tipo de dados...
type
tVetNome = array[1..30] of real;
var
VetNome: tVetNome;
I: integer;
:

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
Alternativa: definir um novo tipo de dados...
type
tVetNome = array[1..30] of real;
var
VetNome: tVetNome;
I: integer;
:

Cria-se um tipo que poder ser


usado quantas vezes for necessrio.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
Alternativa: definir um novo tipo de dados...
type
tVetNome = array[1..30] of real;
var
VetNome: tVetNome;
Este um importante
I: integer;
recurso das linguagens de
:
programao: permitir a
criao de novos tipos
Cria-se um tipo que poder ser
de dados.

usado quantas vezes for necessrio.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Definio/declarao de um vetor
Empregando constantes...
const
N = 30;
type
tVetNome = array[1..N] of real;
var
VetNome: tVetNome;
I: integer;
:

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Ateno: o tamanho de um vetor no pode ficar em aberto...


Ex:
var
VetNome: array[1..N] of real;
N: integer;
begin
readln(N);
:

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Ateno: o tamanho de um vetor no pode ficar em aberto...


Ex:
var
VetNome: array[1..N] of real;
N: integer;
begin
readln(N);
:

A inteno seria definir o tamanho do vetor a partir


de um valor fornecido pelo usurio...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Ateno: o tamanho de um vetor no pode ficar em aberto...


Ex:
var
VetNome: array[1..N] of real;
N: integer;
begin
readln(N);
:

Contudo, isto no ser permitido.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Operaes bsicas
com vetores

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Atribuio:
var
VetIdade: array[1..20] of integer;
begin
:

VetIdade

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Atribuio:
var
VetIdade: array[1..20] of integer;
begin
VetIdade[1]:= 15;
VetIdade[2]:= 9;
:
1

VetIdade

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Atribuio:
var
VetIdade: array[1..20] of integer;
begin
VetIdade[1]:= 15;
VetIdade[2]:= 9;
:
1

VetIdade 15

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Atribuio:
var
VetIdade: array[1..20] of integer;
begin
VetIdade[1]:= 15;
VetIdade[2]:= 9;
:
1

VetIdade 15

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

A referncia a cada componente de um vetor


realizada atravs de um ndice.

Atribuio:
var
VetIdade: array[1..20] of integer;
begin
VetIdade[1]:= 15;
VetIdade[2]:= 9;
:
1

VetIdade 15

19

20

...

Esta operao se chama indexao, e permite a referncia


a cada casa (ou clula) do vetor.

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Leitura:
Os componentes sero lidos um de cada
vez.
Alm do nome do vetor, deve ser
explicitada a posio do componente que
ser lido, atravs do ndice.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Leitura:
var
VetIdade: array[1..20] of integer;
begin
:

VetIdade

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Leitura:
var
VetIdade: array[1..20] of integer;
begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Leitura:
var
VetIdade: array[1..20] of integer;
begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


10

Leitura:
var
VetIdade: array[1..20] of integer;
begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade 10

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


10

Leitura:
var
VetIdade: array[1..20] of integer;
begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade 10

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


10
13

Leitura:
var

VetIdade: array[1..20] of integer;


begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade 10 13

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


10
13

Leitura:
var

VetIdade: array[1..20] of integer;


begin
readln(VetIdade[1]);
readln(VetIdade[2]);
:
1

VetIdade 10 13

19

20

...

Para 20 clulas, 20 comandos de leitura...?

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[19]);
readln(VetIdade[20]);

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[19]);
readln(VetIdade[20]);

A nica coisa que varia o valor dos ndices...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[19]);
readln(VetIdade[20]);

Portanto...
for i := 1 to 20 do
readln(VetIdade[i]);

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[19]);
readln(VetIdade[20]);

Portanto...
for i := 1 to 20 do
readln(VetIdade[i]);

Com esse comando de repetio, pode-se ler


todas as clulas do vetor...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[99]);
readln(VetIdade[100]);

Portanto...
for i := 1 to 100 do
readln(VetIdade[i]);

...independentemente do seu tamanho!

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Observe a sequncia de comandos...


readln(VetIdade[1]);
readln(VetIdade[2]);
...
readln(VetIdade[999]);
readln(VetIdade[1000])
;

Portanto...

for i := 1 to 1000 do
readln(VetIdade[i]);

...independentemente do seu tamanho!

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...
const
N = 20;

Criao de uma
constante

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...
const
Definio do
N = 20;
tipo do vetor
type
VetorIdade = array[1..N] of integer;

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...
const
N = 20;
type
VetorIdade = array[1..N] of integer;
var
VetId:VetorIdade;
Declarao das
i: integer;
variveis

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

const
N = 20;
type
VetorIdade = array[1..N] of integer;
var
VetId:VetorIdade;
i: integer;
begin
Leitura dos dados
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

const
N = 20;
type
VetorIdade = array[1..N] of integer;
var
VetId:VetorIdade;
i: integer;
begin
Leitura dos dados
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...
Ateno
ao uso da varivel i no interior do for

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...

Note a flexibilidade obtida com o uso


de uma constante...

const
N = 20;
type
VetorIdade = array[1..N] of integer;
var
VetId:VetorIdade;
i: integer;
begin
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Recapitulando...

...desejando-se redimensionar o
vetor bastaria um pequeno ajuste.

const
N = 50;
type
VetorIdade = array[1..N] of integer;
var
VetId:VetorIdade;
i: integer;
begin
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Rastreando...

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Rastreando...

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2: 19

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21 19

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2: 19

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

VetId

21 19

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2: 19
...

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

19

VetId

21 19

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

19

VetId

21 19

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES


Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

19

VetId

21 19

19

...

20

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

19

VetId

21 19

19

...

20

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

19

VetId

21 19

19

...

20

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20
Fornea a idade 20:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20
Fornea a idade 20:

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20
Fornea a idade 20: 18

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20 18

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20
Fornea a idade 20: 18

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20 18

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19

Fim de lao...

...
Fornea a idade 19: 20
Fornea a idade 20: 18

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20 18

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Rastreando...

Fornea a idade 1: 21
Fornea a idade 2: 19
...
Fornea a idade 19: 20
Fornea a idade 20: 18

...
for i:= 1 to N do
begin
write(Fornea a idade ,i,: );
readln(VetId[i]);
end;
...

N 20

20

VetId

21 19

19

...

20

20 18

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Outros problemas tpicos

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Multiplicar todos os elementos por um valor:


Supondo-se
que os dados
j foram lidos...

...
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Multiplicar todos os elementos por um valor:


...
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;
Cada um dos salrios ter seu prprio valor
multiplicado pelo valor fornecido pelo usurio.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

AGREGADOS HOMOGNEOS - VETORES

completo

Prof. Benedito Ferreira - UFPA

program ReajSalarios;
O programa
var
VetSal: array[1..50] of real;
reaj:real; i:integer;
begin
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

AGREGADOS HOMOGNEOS - VETORES

completo

Prof. Benedito Ferreira - UFPA

program ReajSalarios;
O programa
var
VetSal: array[1..50] of real;
reaj:real; i:integer;
begin
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ reajuste }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

AGREGADOS HOMOGNEOS - VETORES


Prof. Benedito Ferreira - UFPA

program ReajSalarios;
O programa completo
var
VetSal: array[1..50] of real;
reaj:real; i:integer;
begin
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ reajuste }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;
{ exibio dos resultados }
writeln('Valores reajustados:');
for i:= 1 to 20 do
writeln('Salrio ',i,': ', VetSal[i]);
end.

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

AGREGADOS HOMOGNEOS - VETORES


Prof. Benedito Ferreira - UFPA

program ReajSalarios;
O programa completo
var
VetSal: array[1..50] of real;
reaj:real; i:integer;
Observe a importncia
begin
dos comentrios
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ reajuste }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;
{ exibio dos resultados }
writeln('Valores reajustados:');
for i:= 1 to 20 do
writeln('Salrio ',i,': ', VetSal[i]);
end.

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
Inicializao
soma := 0;
fora do lao.
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
zero: elemento
soma := 0;
neutro da soma
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

0
i

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

27

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

27

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

27

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

40

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
...e assim
soma := 0;
sucessivamente.
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

40

Soma

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

O produto entre os elementos similar...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

...
prod := ___;
for i:= 1 to 20 do
prod := prod * Vet[i];
writeln('O produto entre os valores : ', prod);
...

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

O produto entre os elementos similar...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

...
..qual o valor de
prod := ___;
inicializao...?
for i:= 1 to 20 do
prod := prod * Vet[i];
writeln('O produto entre os valores : ', prod);
...

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

O produto entre os elementos similar...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

...
..o elemento neutro
prod := 1;
do produto!
for i:= 1 to 20 do
prod := prod * Vet[i];
writeln('O produto entre os valores : ', prod);
...

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

O produto entre os elementos similar...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

...
..o que ocorreria se
prod := 0;
empregssemos zero...?
for i:= 1 to 20 do
prod := prod * Vet[i];
writeln('O produto entre os valores : ', prod);
...

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
Assume-se que o
maior := Vet[1];
primeiro o maior
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
.. a partir do segundo,
for i:= 2 to 20 do
compara-se cada
elemento com a
if Vet[i] > maior then
varivel Maior
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
9
i

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
2

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
2

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20
do
V
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
2

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
2

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
2

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
3

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
3

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to F20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
3

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
3

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
maior := Vet[1];
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
4

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Identificao do maior elemento:


...
...e assim
maior := Vet[1];
sucessivamente.
for i:= 2 to 20 do
if Vet[i] > maior then
maior := Vet[i];
writeln('O maior elemento : ', maior);
...
4

18

Maior

...

20

18

13

...

21

Vet

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Variaes
possveis

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Na verso j vista, inicializa-se a varivel soma com


zero e inicia-se a soma na primeira clula...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Outra alternativa seria...

...
soma := Vet[1];
for i:= 2 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Outra alternativa seria...

...
O primeiro elemento
soma := Vet[1];
j est acumulado
for i:= 2 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Calcular a soma de todos os elementos:


...
soma := 0;
for i:= 1 to 20 do
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Outra alternativa seria...

...
soma := Vet[1];
Inicia-se, portanto,
for i:= 2 to 20 do
da casa 2
soma := soma + Vet[i];
writeln('A soma dos valores : ', soma);
...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Reunindo operaes em um nico for:


...
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ reajuste }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Reunindo operaes em um nico for:


...
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ reajuste }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
VetSal[i] := VetSal[i] * reaj;

Neste exemplo visto, empregou-se um for para a leitura e


um outro para o reajuste dos salrios...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Reunindo operaes em um nico for:


...
{ leitura e reajuste dos salrios }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
VetSal[i] := VetSal[i] * reaj;
end;

Agora tudo feito em um nico for...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Reunindo operaes em um nico for:


...
{ leitura e reajuste dos salrios }
writeln('Fornea o fator de reajuste');
readln(reaj);
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
VetSal[i] := VetSal[i] * reaj;
end;

Observe que a leitura do fator de reajuste feita


antes do lao...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Leitura e identificao do maior em um nico for:


...
{ leitura dos salrios }
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
end;
{ identificaodo maior }
maiorSal := VetSal[1];
for i:= 2 to 20 do
if VetSal[i] > maiorSal then
maiorSal := VetSal[i];
writeln('Maior salrio: ', maior);

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Leitura e identificao do maior em um nico for:


...
{ leitura dos salrios e
identificaodo maior }
maiorSal := 0;
for i:= 1 to 20 do
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
if VetSal[i] > maiorSal then
maiorSal := VetSal[i];
end;
writeln('Maior salrio: ', maior);

Juntando as operaes...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Leitura e identificao do maior em um nico for:


...
{ leitura dos salrios e
identificaodo maior }
Como nenhum elemento
maiorSal := 0;
foi lido, a inicializao
for i:= 1 to 20 do
begin
agora diferente...
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
if VetSal[i] > maiorSal then
maiorSal := VetSal[i];
end;
writeln('Maior salrio: ', maior);

Juntando as operaes...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Leitura e identificao do maior em um nico for:


...
{ leitura dos salrios e
identificaodo maior }
maiorSal := 0;
...e o lao ir considerar
for i:= 1 to 20 do
desde o primeiro elemento.
begin
writeln('Fornea o salrio ', i);
readln(VetSal[i]);
if VetSal[i] > maiorSal then
maiorSal := VetSal[i];
end;
writeln('Maior salrio: ', maior);

Juntando as operaes...

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OBS:
Essas possibilidades de variao (dentre tantas outras)
reforam a idia de que no h uma nica forma de
desenvolver um programa.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OBS:
Essas possibilidades de variao (dentre tantas outras)
reforam a idia de que no h uma nica forma de
desenvolver um programa.
As melhores escolhas em cada caso dependero:
- do domnio das tcnicas bsicas de programao;
- da experincia do programador;
- do bom senso.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OBS:
Essas possibilidades de variao (dentre tantas outras)
reforam a idia de que no h uma nica forma de
desenvolver um programa.
As melhores escolhas em cada caso dependero:
- do domnio das tcnicas bsicas de programao;
- da experincia do programador;
- do bom senso.
Portanto, pratique!!

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

Desenvolvido com software livre.

Prof. Benedito Ferreira - UFPA

AGREGADOS HOMOGNEOS - VETORES

Você também pode gostar