Na aula de ontem estavamos estudando vetores, e o uso do CASE. A questão da prova apresentou o seguinte:
Elabore um algoritmo que, dados dois vetores inteiros de 20 posições, efetue as respectivas operações indicadas por outro vetor de 20 posições de caracteres também fornecido pelo usuário, contendo as quatro operações aritméticas em qualquer combinação e armazenando os resultados em um terceiro vetor.
Entre as várias formas de responder, eis uma que atende as exigências da pergunta:
program vetores;
var
v1,v2: array [1..10] of integer;
v3: array [1..10] of char;
vrs: array [1..10] of real;
i :integer;
begin
writeln('---------------------------');
writeln(' VETOR V1 ');
writeln('---------------------------');
for i:= 1 to 10 do
BEGIN
write('Vetor 1: ',i,' posicao: ');
readln(v1[i]);
end
;
writeln('---------------------------');
writeln(' VETOR V2 ');
writeln('---------------------------');
for i:= 1 to 10 do
BEGIN
write('Vetor 2: ',i,' posicao: ');
readln(v2[i]);
end
;
writeln('---------------------------');
writeln(' VETOR V3 ');
writeln('---------------------------');
for i:= 1 to 10 do
BEGIN
write('Vetor 3: ',i,' posicao: ');
readln(v3[i]);
case (v3[i]) of
'*': vrs[i]:=(v1[i]*v2[i]);
'+': vrs[i]:=(v1[i]+v2[i]);
'-': vrs[i]:=(v1[i]-v2[i]);
'/': vrs[i]:=(v1[i]/v2[i]);
end
END
;
writeln('---------------------------');
writeln(' VETOR RESULTADO ');
writeln('---------------------------');
for i:= 1 to 10 do
BEGIN
writeln(' Gravado em [ ',i,']: ', vrs[i]:3:2);
end
;
END.
Nenhum comentário:
Postar um comentário