Sei sulla pagina 1di 4

Ejercicios Capítulo 1: Introducción al lenguaje PASCAL

Ejercicios Capítulo 1
Introducción al lenguaje PASCAL

1) Escribir las acciones que surgen de la ejecución del algoritmo desarrollado en el ejemplo E4 de la
teoría, para los lotes de prueba especificados:
Algoritmo: DECISION_3 Lotes de prueba: 0 , 5 , 8 y -7 , -8 , 0

2) Considerar los siguientes problemas:

(i) Resolver una ecuación de primer grado de la forma 𝑎 + 𝑏𝑥 = 0.


(ii) Sumar dos fracciones.
(iii) Interpretar una partitura de piano.
(iv) Contar desde 10 hasta 0.

y para cada uno de ellos:

a) Identificar cuáles son los datos y cuáles los resultados.


b) Distinguir cuáles de esos problemas pueden resolverse mediante algoritmos y cuáles no.
c) Esbozar, en lenguaje coloquial o en pseudocódigo, un algoritmo para los problemas (i), (ii) y (iv).

3) a) Editar el siguiente programa:

Program Calcular_Area_del_Triangulo;
var
base,altura:real;
begin
base:=2.4;
altura:=5.3;
writeln(0.5*base*altura);
end.

b) Almacenar, en una carpeta identificada con su matrícula en la raíz del disco D, el archivo fuente
con el nombre PRUEBA1.pas
c) Compilar el archivo fuente
d) Ejecutar.
e) Reemplazar las sentencias comprendidas entre Begin y End, por las siguientes:

write('Ingrese base: ');


readln(base);
write('Ingrese altura: ');
readln(altura);
writeln('El area del triángulo con base ', base, ' y altura ' ,
altura, ' es = ', 0.5*base*altura);

f) repetir los incisos b) a d) con las modificaciones introducidas, grabándolo con el nombre
PRUEBA2.pas

Computación – Departamento de Informática – Facultad de Ingeniería – UNMDP 1


Ejercicios Capítulo 1: Introducción al lenguaje PASCAL

4) Escribir un programa que permita leer la patente de un vehículo (de la forma “AB123CD”), el color,
la velocidad y la cantidad de ocupantes, y escriba en pantalla un cartel que detalle la información
leída, por ejemplo: “El vehículo con patente AD435XG, de color ROJO, se desplaza con 3 ocupantes
a 100 km/h”.

5) Un vehículo parte de una posición inicial igual a 20.5 m, con una velocidad constante de 10 m/s.
Escribir un programa que permita calcular la posición del vehículo para un instante de tiempo (en
segundos) ingresado por el usuario.

6) La relación entre las unidades de fuerza, kilogramo-fuerza y Newton, es 1 kg⃗ = 9.80665 N. Escribir
un programa que permita leer una magnitud en kg⃗ y la convierta a N

7) Escribir un programa que calcule el volumen de un cuerpo de densidad uniforme  y masa M leídas
por teclado.

8) Decidir cuáles de los siguientes son identificadores válidos en Pascal:

a) Pepe e) 32xymn
b) Pepe Grillo f) mn32 xy
c) PepeGrillo g) M32nxY
d) mn32xy h) mn_32

9) De las siguientes instrucciones de asignación, detectar las erróneas.


Para las que son correctas, indicar el valor asignado al ejecutarlas, e indicar el tipo que deben tener las
variables que intervienen en ellas para que sean válidas:

a) a:= 5 f) a:= a+1


b) 1:= 2 < 1 g) c:= 2 <= 7
c) z:= a h) c1:= c2
d) p:= Sqr(2)= Sqr(2.0) i) ’x’:= ’y’
e) b:= 5*a j) p:= q = r = s

10) Para los programas escritos a continuación se pide:


 Realizar las pruebas de escritorio correspondientes, utilizando el lote de prueba dado cuando sea
necesario.
 Transcribir los programas en el Editor Geany y ejecutarlos con distintos lotes de prueba.
 Agregar las leyendas aclaratorias que considere necesarias para lograr una buena comunicación
con el usuario.
Observación: consultar el tema de Escritura con Formato
a) Program UNO;
const
a=3;
var
x,y,z:integer; Lote de prueba: 4 , 5
T:real;
begin

Computación – Departamento de Informática – Facultad de Ingeniería – UNMDP 2


Ejercicios Capítulo 1: Introducción al lenguaje PASCAL
readln(x);
readln(y);
y:=a*x;
y:=y+a;
writeln(y);
x:=y;.
y:=a;
writeln(a, ' ',x, ' ',y)
T:=(x+y)/(x-y);
writeln('El resultado es ',T:7:2);
z:=(x+y)div(x-y);
writeln('El resultado es ',z:7);
z:=(x+y)mod(x-y);
writeln('El resultado es ',z:7);
end.

b) Program TRES;
uses CRT; { Ver Apéndice para la utilización de la sentencia USES }
var
c: char;
begin
clrscr;
c:= 'T';
writeln ('Esta es la letra c');
writeln('Esta es la letra ',c);
readln;
end.

c) Program CUATRO;
const
x1=10;
var
imp,expon,val1,val2,tot:integer;
medi:real;

begin
imp:=100;
expon:=20;
val1:=imp-expon;
val2:=x1;
tot:=val1+val2;
medi:=tot*50+10/val1;
writeln('imp':10, 'expon':10, 'val1':10, 'val2':10, 'total':10, 'medi':10);
writeln;
writeln(imp:10,expon:10,val1:10,val2:10,tot:10,medi:10:2)
end.

11) Escribir un programa que calcule la velocidad media de un vehículo a partir de sus posiciones (𝑥 y
𝑥 ) en dos instantes de tiempo (𝑡 y 𝑡 ), leídos por teclado. Mostrar el resultado con una resolución de
dos decimales.

12) Sea α un ángulo dado en grados (entero y positivo). Escribir, para cada inciso, una expresión (en
Pascal) que permita obtener:

a) el número de giros completos contenidos en 

Computación – Departamento de Informática – Facultad de Ingeniería – UNMDP 2


Ejercicios Capítulo 1: Introducción al lenguaje PASCAL
b) el ángulo positivo y menor que un giro congruente con 
c) el cuadrante al que corresponde
d) el ángulo  expresado en radianes
e) su tangente

13) Ejecutar 2 veces el siguiente programa ingresando, respectivamente, los valores 7 y 15.
{$R+} {Directiva de compilador R}
Program Positivos;
Type
NumPositivo = 0..10;
Var
numero: NumPositivo;
Begin
Write('Escribe un número entero positivo : ');
Readln(numero);
Readln;
end.

*************************************************************************************
Algunas Respuestas

8) a) c) d) g) h)

9)
a) 5 / numérica (entera o real)
b) errónea
c) 5 / numérica (real si a es real, sino real o entera)
d) True / booleana
e) 25 / (real si a es real, sino real o entera)
f) 6
g) True / booleana
h) valor contenido en c2 / c1 y c2 deben ser de tipos compatibles
i) errónea
j) errónea

12)
a) alfa div 360
b) alfa mod 360
c) alfa mod 360 div 90 + 1 (no válido para 0, 90, 180, 270 y sus congruentes)
d) alfa * Pi / 180
e) sin(alfa) / cos(alfa)

Computación – Departamento de Informática – Facultad de Ingeniería – UNMDP 3

Potrebbero piacerti anche