Computação
Eletrônica
Vetores e Matrizes
Vetor
Conjunto de variáveis de um mesmo tipo
que são acessadas através de índices
 Tipo estruturado homogêneo
 Declaração

var identificador:array[vi .. vf] of tipo;
onde vi <= vf
Vetores
program somaVetor;
var i, soma: integer;
numeros: array[1..5] of integer;
begin
numeros[1] := 3;
numeros[2] := 7;
numeros[3] := 2;
numeros[4] := 4;
numeros[5] := 5;
i := 1;
soma := 0;
while (i <= 5) do
begin
soma := soma + numeros[i];
i := i + 1;
end;
writeln('soma = ', soma);
end.
Vetores
program vetor;
var vetorDeNumeros: array[1..5] of integer;
i: integer;
begin
i := 1;
while i <= 5 do
begin
write('Entre um numero: ');
readln(vetorDeNumeros[i]);
i := i + 1;
end;
i := 5;
while i >= 1 do
begin
writeln('Numero: ',vetorDeNumeros[i]);
i := i - 1;
end;
readln;
end.
Vetores
program data;
var meses: array[1..12] of String;
dia, mes, ano: integer;
begin
meses[1] := 'Janeiro';
meses[2] := 'Fevereiro';
meses[3] := 'Marco';
meses[4] := 'Abril';
meses[5] := 'Maio';
meses[6] := 'Junho';
meses[7] := 'Julho';
meses[8] := 'Agosto';
meses[9] := 'Setembro';
meses[10] := 'Outubro';
meses[11] := 'Novembro';
meses[12] := 'Dezembro';
write('Entre a data: ');
readln(dia,mes,ano);
write(dia,' de ',meses[mes], ' de ', ano);
readln;
end.
Vetores
Program contaAcimaDaMedia;
var notas: array[1..5] of real;
acimaDaMedia: integer;
i: integer;
soma, media: real;
begin
i := 1;
acimaDaMedia := 0;
while (i <= 5) do
begin
write('Entre a nota: ');
readln(notas[i]);
soma := soma + notas[i];
i := i + 1;
end;
i := 1;
media := soma / 5;
while (i <= 5) do
begin
if (notas[i] > media) then
begin
acimaDaMedia := acimaDaMedia + 1;
end;
i := i + 1;
end;
writeln('Media :', media:5:2);
write('Acima da media: ',acimaDaMedia);
readln;
end.
For x While
program forWhile1;
program forWhile2;
var uns: array[1..5] of integer;
i: integer;
begin
for i := 1 to 5 do
begin
uns[i] := 1;
end;
end.
var uns: array[1..5] of integer;
i: integer;
begin
i := 1;
while (i <= 5) do
begin
uns[i] := 1;
i := i + 1;
end;
end.
While e for: correção de prova
{
Programa que:
1) lê o gabarito de 10 questões
(respostas em número real)
2) lê o número de matrícula e as
respostas dos alunos
3) imprime a nota
Quando o número de matrícula for
9999 o programa termina.
}
Program correcao;
var gabarito, resposta: array[1..10]
of real;
nota, matricula, i: integer;
begin
for i := 1 to 10 do
begin
write('Entre com o
gabarito da questao ', i,': ');
readln(gabarito[i]);
end;
write('Entre a matricula: ');
readln(matricula);
while (matricula <> 9999) do
begin
nota := 0;
for i := 1 to 10 do
begin
write('Entre com a
resposta da
questao ', i,
': ');
readln(resposta[i]);
if (resposta[i] =
gabarito[i]) then
begin
nota :=
nota+1;
end;
end;
writeln('A nota do aluno
numero ',
matricula,' foi:
',nota);
write('Entre a matricula: ');
readln(matricula);
end;
write('Fim');
readln;
end.
Matriz
Vetor multidimensional
 Declaração

var
identificador:array[vi .. vf] of
array[vi .. vf] of tipo;
ou, de forma mais simples,
identificador:array[vi .. Vf ,vi .. Vf]
of tipo;
Matriz
Program lerMatriz;
var matriz: array[1..5, 1..3] of integer;
i,j: integer;
begin
i := 1;
while (i <= 5) do
begin
j := 1;
while (j <= 3) do
begin
write('Entre o valor na posicao ',i,',',j,': ');
readln(matriz[i,j]);
j := j + 1;
end;
i := i + 1;
end;
end.
Matriz
Program lerEscreveMatriz;
var matriz: array[1..5, 1..3] of integer;
i,j: integer;
begin
i := 1;
while (i <= 5) do
begin
j := 1;
while (j <= 3) do
begin
write('Entre o valor ',i,',',j,': ');
readln(matriz[i,j]);
j := j + 1;
end;
i := i + 1;
end;
i := 1;
while (i <= 5) do
begin
j := 1;
while (j <= 3) do
begin
write(matriz[i,j],' ');
j := j + 1;
end;
writeln(' ');
i := i + 1;
end;
readln;
end.
Matriz
Ler 3 vetores de inteiros a, b e c com 3 elementos cada.
Produzir a matriz m (4x3) tal que:
- As 3 primeiras linhas correspondem aos vetores a, b e c.
- A 4 linha seja a soma de a+b+c
- Imprimir a matriz;
Matriz
Program somavetor;
var a,b,c: array[1..3] of integer;
m: array[1..4,1..3] of integer;
i,j: integer;
begin
i := 1;
while (i <= 3) do
begin
write('Entre a na posicao ',i,': ');
readln(a[i]);
i := i + 1;
end;
i := 1;
while (i <= 3) do
begin
write('Entre b na posicao ',i,': ');
readln(b[i]);
i := i + 1;
end;
i := 1;
while (i <= 3) do
begin
write('Entre c na posicao ',i,': ');
readln(c[i]);
i := i + 1;
end;
i := 1;
while (i <= 3) do
begin
m[1,i] := a[i];
m[2,i] := b[i];
m[3,i] := c[i];
m[4,i] := a[i]+b[i]+c[i];
i := i + 1;
end;
i := 1;
while (i <= 4) do
begin
j := 1;
while (j <= 3) do
begin
write(m[i,j]:5,' ');
j := j + 1;
end;
i := i + 1;
writeln;
end;
readln;
end.
Download

Computação Eletrônica