1) O documento apresenta três avaliações de programação em Pascal realizadas por alunos do curso de Sistemas de Informação da Universidade Federal de Mato Grosso. As avaliações incluem programas para cálculo de séries e médias matemáticas.
1. UNIVERSIDADE FEDERAL DE MATO GROSSO
CAMPUS UNIVERSITÁRIO DE RONDONÓPOLIS
Instituto de Ciências Exatas e Naturais – ICEN
Bacharelado em Sistemas de Informação
Laboratório de Programação
Prof. Me. Clóvis Júnior
Rondonópolis, 24 de junho de 2013.
Avaliação 1
1) Criar um programa em Pascal para calcular o valor de R:
R=(X2-X1)(N-1) - (Y2-Y1)(N-1)
Observação: N deve ser maior que 5. (Valor=3.5)
program expo;
uses crt;
var x1,x2,y1,y2,r1,r2:real;
n,i:integer;
begin
clrscr; r1:=0; r2:=0;
write('Informe x1:'); readln(x1);
write('Informe x2:'); readln(x2);
write('Informe y1:'); readln(y1);
write('Informe y2:'); readln(y2);
write('Informe n:'); readln(n);
r1:=1; r2:=1;
for i:=1 to n-1 do
begin
r1:=r1*(x2-x1);
r2:=r2*(y2-y1);
end;
write('Resultado=',r1-r2:6:3);
readln;
end.
2) Criar um programa em Pascal para calcular a série apresentada na
ilustração a seguir, nessa série o valor do elemento atual é a soma dos dois
elementos anteriores. A quantidade de elementos gerados deve ser superior a
2. 8, caso contrario o cálculo não deverá ser executado (apresentar uma
mensagem de erro). (Valor=3.5)
program fibo;
uses crt;
var a,i,b,n,c:integer;
begin
clrscr;
a:=1; b:=0; c:=0;
write('Informe o limite maximo:');
readln(n);
for i:=1 to n do
begin
c:=a+b;
a:=b;
b:=c;
write(c,' ');
end;
readln;
end.
3) Criar um algoritmo que leia a idade de uma pessoa e mostre sua classe
eleitoral:
• Não-eleitor (abaixo de 16 anos);
• Eleitor Obrigatório (entre 18 e 65 anos);
• Eleitor facultativo (maior de 65 anos);
Observação: não será aceito valores negativos. (Valor=3.0)
program lista;
uses crt;
var idade:integer;
begin
clrscr;
write('Informe a idade:'); readln(idade);
if (idade>=0) then
if (idade<16) then writeln('Nao-Eleitor')
else
if (idade>=18) and (idade<=65) then writeln('Eleitor
Obrigatorio')
else writeln('Eleitor Facultativo')
else
writeln('Idade negativa');
readln;
end.
3. UNIVERSIDADE FEDERAL DE MATO GROSSO
CAMPUS UNIVERSITÁRIO DE RONDONÓPOLIS
Instituto de Ciências Exatas e Naturais – ICEN
Bacharelado em Sistemas de Informação
Laboratório de Programação
Prof. Me. Clóvis Júnior
Rondonópolis, 24 de junho de 2013.
Avaliação 2
1) Criar um programa em Pascal para calcular o valor de Y na série a seguir:
(Valor=3.5)
program serie1;
uses crt;
var n,x,i,i2:integer;
soma:real;
sinal:char;
begin
clrscr; soma:=0; sinal:='+';
write('Informe o valor de N:');
readln(n);
write('Informe o denominador:');
readln(x);
i2:=0;
for i:=1 to n do
begin
i2:=i2+2;
if (sinal='+') then
soma:=soma+(i2/x)
else soma:=soma-(i2/x);
end;
writeln('Resultado:',soma:4:2);
readln;
end.
4. 2) Implemente um programa em Pascal para calcular a média aritmética de 10
valores inteiros. Somente será considerado valores impares maiores que 10.
(Valor=3.0)
program media2;
uses crt;
var soma,w,qtde,valor:integer;
begin
clrscr;
for w:=1 to 5 do
begin
write('Informe o valor:'); readln(valor);
if (((valor mod 2)<>0) and (valor>10)) then
begin
soma:=soma+valor;
inc(qtde);
end;
end;
writeln('Media:',soma/qtde:4:2);
readln;
end.
3) Implemente um programa em Pascal para calcular o preço total devido por
um cliente, o programa deve receber o código de um produto, a quantidade
comprada e calcular o preço total, usando a tabela abaixo. Apresente uma
mensagem caso haja código inválido.
Código
'ABCD'
'XYPK'
'KLMP'
'QRST'
Preço
unitário
R$ 5,30
R$ 6,00
R$ 3,20
R$ 2,50
Compras com valores superiores a R$ 100,00 terão desconto de 3% e compras
com superiores a R$ 200,00 terão desconto de 5%. (Valor=3.5)
program valores;
uses crt;
var total:real;
qtde:integer;
codigo:string;
5. begin
clrscr; total:=0;
write('Informe o Codigo do Produto:'); readln(codigo);
write('Informe a Quantidade:'); readln(qtde);
// Calcula valor da compra
if (codigo='ABCD') then
total:=5.3*qtde
else
if (codigo='XYPK') then
total:=6*qtde
else
if (codigo='KLMP') then
total:=3.2*qtde
else if (codigo='QRST') then
total:=2.5*qtde;
// Calcula desconto
if (total>100) and (total<=200)
then total:=total-(total*0.03)
else
if (total>200) then total:=total-(total*0.05);
write('Resultado=',total:4:2);
readln;
end.