PAUTA PRUEBA N° 1 LENGUAJE DE PROGRAMACIÓN

Anuncio
UNIVERSIDAD DE CONCEPCIÓN
FACULTAD DE INGENIERÍA AGRÍCOLA
DEPTO. DE AGROINDUSTRIAS
Juan Carlos Sandoval Avendaño
PAUTA PRUEBA N° 1
LENGUAJE DE PROGRAMACIÓN
INGENIERÍA CIVIL AGRÍCOLA
NOMBRE :___________________________________________ PTOS. :________
TIEMPO MÁXIMO : 1 HORA 40 MINUTOS
FECHA : Lu 05/06/06
(1) Escriba un programa en pascal que calcule y muestreß con # decimales y
usando color azul, el área E œ È=Ð=  +ÑÐ=  ,ÑÐ=  -Ñ de un triángulo cuyos
lados son de longitud +ß ,ß -ß ingresados por el usuario, donde = œ +,# Þ
(15 puntos)
Solución:
Program AreaTriangulo;
Uses Crt;
Var
Area, s, a, b, c : real;
Prod : real;
Begin
ClrScr;
Repeat
Write('a : ');
Readln(a);
Until a>0;
Repeat
Write('b : ');
Readln(b);
Until b>0;
Repeat
Write('c : ');
Readln(c);
Until (c>0);
s:=(a+b+c)/2;
Prod:=s*(s-a)*(s-b)*(s-c);
if Prod>=0 then
begin
Area:=sqrt(Prod);
TextColor(Blue);
Writeln('Area = ',Area:0:2);
end
else Writeln('No se puede calcular el
End.
Pág. 1
Área');
(2) Anote los valores de la variables en el siguiente programa, suponiendo
que los valores ingresados son X œ &ß Y œ #ß Z œ %. Use un ? si el valor es
indefinido.
X
Y
Z
PROGRAM Numeros;
_?
_?
_?
VAR X, Y , Z : INTEGER;
_?
_?
_?
BEGIN
_?
_?
_?
READ(X,Y,Z);
_5
_2
_4
X : =X*Y+Z;
14
_2
_4
X : = X MOD Z;
_2
_2
_4
Z : = Y div 2;
_2
_2
_1
Y : = X * X + 10;
_2
14
_1
X : = (X-10)-1 div 3;
-8
14
_1
WRITELN(X,Y,Z);
-8
14
_1
END.
-8
14
_1
(10 puntos)
(3) Reescriba el siguiente programa arreglando los errores de sintaxis.
PROGRAM PRE-CERTAMEN
CONST
W=5
var
Cuatro, UNO, Cero : Integer;
BEGIN
READ(CUATRO; CERO; UNO)
CUATRO = CUATRO + CERO + W;
IF CUATRO =< UNO
THEN CUATRO = UNO;
ELSE UNO = CUATRO;
IF CERO < 0 THEN
WRITE('CERO ES POSITIVO')
WRITELN('CERO ES NEGATIVO )
END;
(10 puntos)
Solución:
PROGRAM PRE_CERTAMEN;
CONST
W = 5;
var
Cuatro, UNO, Cero : Integer;
BEGIN
READ(CUATRO, CERO, UNO);
CUATRO := CUATRO + CERO + W;
IF CUATRO <= UNO
Pág. 2
THEN CUATRO := UNO {eliminar ; }
ELSE UNO := CUATRO;
IF CERO < 0 THEN
WRITE('CERO ES POSITIVO');
WRITELN('CERO ES NEGATIVO')
END.
(4) Muestre cuál es la salida exacta después de ejecutar el siguiente
programa:
PROGRAM PRUEBA;
CONST
SALUDO = '¿Cómo estás?';
VAR
PERIMETRO, AREA
: REAL;
s, j : Integer;
begin
Perimetro : = 3.1415;
Area : = 6.36;
s:=0;
For j:=1 to 4 do
begin
s:=s - sqr(j);
writeln(j,' ':4,s);
end;
Writeln('Saludo',Saludo);
writeln;
Write('Area = ',Perimetro : 0 : 1);
writeln('Area = ',Area : 4 : 1);
end.
(10 puntos)
Solución:
En el cuadro siguiente la primera línea sólo es escrita para ubicarnos en la columna
correspondiente; no aparece en pantalla al momento de ejecutar el programa.
123456789012345678901234567890
1
-1
2
-5
3 -14
4 -30
Saludo¿Cómo estás?
Area = 3.1Area = 6.4
Pág. 3
(5) Escriba un diagrama de flujo y el programa en pascal asociado que
permita calcular y mostrar por pantalla
8
! "# ß con $  8  "!, donde el
3
3œ$
usuario es obligado a ingresar un valor de 8 admisible.
(15 puntos)
Solución:
Diagrama de Flujo:
Pág. 4
Programa en Pascal:
Program Sumatoria;
Var
Suma : real;
n, i : 3..9;
Begin
Repeat
Write('Ingrese n : ');
Readln(n);
Until (n>3) and (n<10);
Suma:=0;
for i:=3 to n do
Suma:=Suma+1/sqr(i);
Writeln('Sumatoria = ',Suma:0:6);
End.
Pág. 5
Descargar