Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Engenharias
Engenharia Informática
FUNDAMENTOS DE
PROGRAMAÇÃO- FP
?
Media := Soma / 30;
writeln(‘Media da turma: ’, Media:5:1);
end.
Ex: Ler as notas de 30 alunos. Calcular e informar a
média da turma. Informar, ainda, as notas que são
superiores à média calculada.
Program MediaNotasSup_1;
var N1, N2, N3, N4, N5, N6, {... N30 : real; { uma variável para }
Media, Soma: real; { cada nota dos alunos ! }
Aluno: integer; { variável de controle da repetição }
begin
readln(N1, N2, N3, N4, N5, N6, ... , N30); { obtém as 30 notas }
Soma := N1+N2+N3+N4+N5+N6+ ... +N30;
Media := Soma / 30;
writeln(‘Media da turma: ’, Media:5:1);
if N1 > Media { testa cada nota !!! }
then writeln(N1);
if N2 > Media
then writeln(N2);
É a única solução ?
...
end.
•Vamos precisar de 30 variáveis para armazenar os
valores lidos!!!!
Índice
Posição identificando
cada elemento
1 2 3 4 5 6 7 8 9
Nota
Nome Valor
Comum para todos Semelhante a uma
os elementos variável simples
Vectores:
variáveis compostas
homogêneas
• Um só tipo;
• Um só nome;
• Múltiplas posições de memória
identificadas por índices.
Vector ou Arranjo de uma dimensão
• conjunto ordenado de informações de mesma
natureza
• elementos todos do mesmo tipo
• acesso randômico
1 2 3 4 5 6 7 8 9
Nota 8,5
array [ < limite inferior > .. < limite superior > ] of < tipo >
Variável indexada
Índice
• constante / nome de Ex:
variável / expressão
var Nota : array [1 .. 9] of real;
Indice : integer;
• deve ser inteiro ou
begin
char (dependendo do
Indice := 5;
que foi definido)
readln ( Nota [ Indice ] );
Nota [ Indice + 1 ] := 7.5 ;
...
Ex: Nota [ 6 ]
1 2 3 4 5 6 7 8 9
Nota
Ex: Preencher por leitura um arranjo de 100 elementos
inteiros.
var Valor : array [1 .. 100] of integer;
Ind : integer;
begin
for Ind := 1 to 100 do
readln ( Valor [ Ind ] );
...
Ind
1 2 3 4 5 6 7 … 100
Valor X
begin
writeln('informe o vetor X');
for I:=1 to TV
do readln(X[I]);
{classifica o vetor}
for I:=1 to TV do
for J:=1 to TV - 1 do
if X[J]>X[J+1]
then begin
aux:=X[J];
X[J]:=X[J+1];
X[J+1]:=aux;
end;
{mostra o vetor ordenado}
writeln('vetor classificado:');
for I:=1 to TV do write(X[I]:4);
readln;
end.
O que NÃO podemos fazer com Vetores
•Não é possível:
•a) Não se pode ler todo um vetor diretamente com um comando read. Não se pode
escrever: read(v);
É necessário ler casa a casa, diretamente, ou com um laço de repetição como for no
exemplo acima.
•b) Não se pode escrever todos os elementos de um vetor com um único comando
write. Não é permitido escrever: write(v). Também nesse caso cada elemento deve ser
tratado como uma variável independente, por exemplo:
29
O que são Matrizes?
•Na matriz de inteiros anterior, existem 3 linhas, cada linha com 4
colunas, ou 3x4 (três por quatro). Essa matriz pode ser declarada
assim:
b) Para ler do teclado valores para preencher a matriz acima (12 valores):
for i:= 1 to 3 do
for j:= 1 to 4 do read(m[i,j] );
Nota: O usuário poderá digitar todos os 12 números em uma só linha (separados
por espaços), ou um número por linha, ou, melhor, 4 números por linha, de forma
a visualizar melhor a matriz.
31
Sintaxe e Declaração de Matrizes
32
• Obrigado pela atenção
33