- Escribir un programa en Pascal que calcula el equivalente en grados
Fahrenheit o Celsius de las siguientes temperaturas.
Temperatura 1 = 32º Fahrenheit
Temperatura 2 = 10º Celsius
{Regla de 3: Celsius / 5 = (Fahrenheit - 32) / 9}
PROGRAM EJER21;
USES CRT;
VAR T1,T2:REAL;
VAR T1C,T2F:REAL;
BEGIN
T1:=32;
T2:=10;
T1C:=T1 - 32;
T2F:=T2 + 32;
ClrScr;
WRITE ('TEMPERATURA EQUIVALENTE: ');
WRITE (T1:3:0); WRITE ('º Fahrenheit - ');
WRITE (T1C:3:0); WRITELN ('º Celsius');
WRITE ('TEMPERATURA EQUIVALENTE: ');
WRITE (T2:3:0); WRITE ('º Celsius - ');
WRITE (T2F:3:0); WRITE ('º Fahrenheit');
END.
PROGRAM EJER21B;
USES CRT;
VAR Fahrenheit, Celsius:REAL;
VAR T1C,T2F:REAL;
VAR respuesta:CHAR;
BEGIN
ClrScr;
REPEAT
BEGIN
WRITE ('¿DESEA PASARLO A FAHRENHEIT O CELSIUS? F/C: ');
READLN (respuesta); WRITELN ('');
END;
UNTIL (respuesta='C') OR (respuesta='F') OR
(respuesta='c') OR (respuesta='f');
IF UPCASE(respuesta)='F' THEN
BEGIN
WRITELN ('Introduzca los grados para pasar a Fahrenheit: ');
WRITE ('Celsius: '); READLN (Celsius);
Fahrenheit:= ((9 * Celsius) / 5) + 32;
WRITE (Fahrenheit:5:2,' grados Fahrenheit.');
WRITELN (' ');
END
ELSE IF UPCASE (respuesta)='C' THEN
BEGIN
WRITELN ('Introduzca los grados para pasar a Celsius: ');
WRITE ('Fahrenheit: '); READLN (Fahrenheit);
Celsius:= ((Fahrenheit - 32) / 9) * 5;
WRITE (Celsius:5:2,' grados Celsius.');
END;
END.
PROGRAM EJER21;
USES CRT;
VAR t_C,t_F:REAL;
BEGIN
ClrScr;
WRITE('Introduzca temperatura: (ºCelsius): ');
READLN(t_C);
t_F:=((t_C*9)/5)+32;
ClrScr;
WRITE(t_C:5:2); WRITE(' ºCelsius equivalen a ');
WRITE(t_F:5:2); WRITE(' ºFahrenheit');
END.
- Escribir un programa en Pascal que calcule el número de
horas, minutos y segundos que hay en 3700 segundos.
PROGRAM EJER22;
USES CRT;
VAR horas, minutos, segundos:INTEGER;
BEGIN
horas:= 3700 div 3600;
minutos:= (3700 mod 3600) div 60;
segundos:= (3700 mod 3600) - (minutos * 60);
ClrScr;
WRITELN ('EN 3700 SEGUNDOS HAY: ');
WRITE (horas,' hora',' y ',minutos,' minutos ', segundos,
' segundos');
END.
PROGRAM EJER22B;
USES CRT;
VAR horas, minutos, segundos:INTEGER;
VAR cantidad:INTEGER;
BEGIN
ClrScr;
WRITE ('Escriba los segundos para transformarlo a horas,');
WRITELN (' minutos y segundos');
READLN (cantidad); {Es el numero de segundos que se introducen}
WRITELN ('');
horas:= cantidad div 3600;
minutos:= (cantidad mod 3600) div 60;
segundos:= (cantidad mod 3600) - (minutos * 60);
{Los segundos son: las horas - los minutos pasados a segundos}
WRITELN ('EN ' ,cantidad, ' SEGUNDOS HAY: ');
WRITE (horas,' horas ',minutos,' minutos ',segundos,'
segundos');
END.
PROGRAM EJER22;
USES CRT;
VAR h,m,s1,s2:INTEGER;
BEGIN
ClrScr;
WRITE('Introduzca segundos: '); READLN(s1);
h:=s1 div 3600;
s2:=s1 mod 3600;
m:=s2 div 60;
s2:=s2 mod 60;
ClrScr;
WRITE(s1); WRITE(' segundos son -----> ');
WRITE(h); WRITE(' horas ');
WRITE(m); WRITE(' minutos ');
WRITE(s2); WRITE( 'segundos ');
END.
- Escribir un programa en Pascal que calcule el capital producido
por un capital de 1.000.000 de pesetas, al cabo de un año depositado a
un interés del 2%.
PROGRAM EJER23;
USES CRT;7
VAR capital,tiempo,interes:REAL;
VAR capitalproducido:REAL;
BEGIN
capital:=1000000;
tiempo:=1;
interes:=2;
capitalproducido:= capital * 0.02;
ClrScr;
WRITE ('En un año se producira un capital de ');
WRITE (capitalproducido:5:2); WRITE (' pesetas');
END.
PROGRAM EJER23B;
USES CRT;
VAR capital,tiempo,interes:REAL;
VAR capitalproducido:REAL;
BEGIN
ClrScr;
WRITELN ('PARA CALCULAR EL CAPITAL PRODUCIDO INTRODUZCA ');
WRITELN ('');
WRITE ('Capital: '); READLN (capital);
WRITE ('Tiempo: '); READLN (tiempo);
WRITE ('Interes:'); READLN (interes);
WRITELN ('');
capitalproducido:= (capital * (interes/100) * tiempo);
WRITE ('En estos años se producira un capital de ');
WRITE (capitalproducido:5:2); WRITE (' pesetas.');
END.
PROGRAM EJER23;
USES CRT;
VAR capital,interes,intereses:REAL;
BEGIN
ClrScr;
WRITE('Capital: '); READLN(capital);
WRITE('Intefes: '); READLN(interes);
intereses:=capital*(interes/100);
ClrScr;
WRITE('Capital: '); WRITELN(capital:5:2);
WRITE('Interes: '); WRITELN(interes:5:2);
WRITE('Intereses: '); WRITELN(intereses:5:2);
END.
- Escribir un programa en Pascal que calcula la siguiente
expresión trigonométrica para un valor angular de 90º
(sen x * cos x)/(tan x)
PROGRAM EJER24B;
USES CRT;
VAR resultado, resultado2, x:REAL;
BEGIN
WRITE ('PARA CALCULAR LA EXPRESION: (sin(x) * cos(x)) /
tan(x)');
WRITELN (' INTRODUZCA EL VALOR DE X EN RADIANES: ');
READLN (x);
WRITELN ('');
resultado:=(sin(x) * cos(x)) / (sin(x) / cos(x));
WRITE ('El resultado de la expresion (sinx * cosx /tgx) es
igual a: ');
WRITE (resultado:5:2);
END.
PROGRAM EJER24;
USES CRT;
VAR angulo:REAL;
VAR val_exp:REAL;
BEGIN
ClrScr;
WRITE('introduzca el valor del angulo (grados): ');
READLN (angulo);
angulo:=angulo*(6.28/360);
WRITE('Valor de la expresion: ');
WRITE( (sin(angulo)*cos(angulo) )/( (sin(angulo)/cos(angulo)
) ):5:2);
END.
- Escribir un programa en Pascal que calcule el equivalente en
pies de una longitud de 10 metros.
1 metro ------------- 39.27 pulgadas
12 pulgadas -------- 1 pie
PROGRAM EJER25;
USES CRT;
VAR metros,pulgadas,pies:REAL;
BEGIN
metros:=10;
pulgadas:=metros * 39.27;
pies:=((1 * metros) * pulgadas) / (12 * metros);
ClrScr;
WRITE ('El equivalente en pies a una distancia de 10m es
de: ');
WRITE (pies:3:2); WRITE (' pies');
END.
PROGRAM EJER25B;
USES CRT;
VAR metros,pies:REAL;
BEGIN
{Para calcular la equivalencia entre pies y metros}
ClrScr;
WRITELN ('INTRODUZCA LOS METROS PARA PASARLOS A PIES: ');
WRITELN (' ');
WRITE ('Metros: '); READLN (metros);
pies:= metros / (12/39.27);
{ 1 pie = 0.3048 metros}
{ 1 pulgada = 25.4 mm}
WRITE ('El equivalente en pies es de: ');
WRITE (pies:3:2); WRITE (' pies');
END.
PROGRAM EJER25;
USES CRT;
VAR longitud:REAL;
BEGIN
ClrScr;
WRITE('Longitud (metros): '); READLN(longitud);
WRITE((longitud*39.27)/12:5:2); WRITE( 'pies');
END.
- Escribir un programa en Pascal que calcule el área de un
rectángulo a partir de sus coordenadas:
x1 = 10 x2 = 20
y1 = 10 y2 = 20
PROGRAM EJER26;
USES CRT;
VAR lado1,lado2:REAL;
VAR area:REAL;
BEGIN
lado1:=10;
lado2:=10;
area:= lado1 * lado2;
ClrScr;
WRITE ('El area del rectangulo es de: '); WRITE (area:5:2);
END.
PROGRAM EJER26B;
USES CRT;
VAR x1,x2,y1,y2:REAL;
VAR area:REAL;
BEGIN
{Sirve para calcular el area de un rectangulo a partir de
coordenadas}
WRITELN ('Para calcular el area del rectangulo ');
WRITELN ('introduzca el valor de las coordenadas');
WRITELN (' ');
WRITE ('x1: '); READLN (x1);
WRITE ('y1: '); READLN (y1);
WRITE ('x2: '); READLN (x2);
WRITE ('y2: '); READLN (y2);
WRITELN (' ');
area:= (x2 - x1) * (y2 - y1);
{Se restan las coordenadas de X e Y para sacar los lados y
luego se multiplican}
WRITE ('El area del rectangulo es de: '); WRITE (area:5:2);
END.
PROGRAM EJER26;
USES CRT;
VAR x1,y1,x2,y2:REAL;
BEGIN
ClrScr;
WRITE('Introduaca coordenada x1: '); READLN(x1);
WRITE('Introduzca coordenada y1: '); READLN(y1);
WRITE('Introduzca coordenada x2: '); READLN(x2);
WRITE('Introduzca coordenada y2: '); READLN(y2);
WRITE('Area del resctangulo: '); WRITE((x2-x1)*(y2-y1):5:2);
END.
- Un coche se mueve, partiendo del reposo, con una
aceleración constante de 8 m/s2.
Escribir un programa en Pascal que calcule:
a) La velocidad instantánea al cabo de5 segundos.
b) La velocidad media durante los primeros 5 segundos del recorrido.
velocidad instantánea = velocidad inicial + aceleración
* tiempo velocidad media = (velocidad inicial + velocidad final)/2
PROGRAM EJER27;
USES CRT;
VAR velocidad0,aceleracion,tiempo:REAL;
VAR velocidad5,velocmedia5:REAL;
BEGIN
velocidad0:=0;
aceleracion:=8;
tiempo:=5;
velocidad5:=velocidad0 + (aceleracion * tiempo);
velocmedia5:= (velocidad0 + velocidad5) / 2;
ClrScr;
WRITE ('LA VELOCIDAD AL CABO DE 5 s ES DE: '); WRITE
(velocidad5:2:0);
WRITELN (' m/s');
END.
PROGRAM EJER27B;
USES CRT;
VAR velocidad0,aceleracion,tiempo,velocidadfinal:REAL;
VAR vinstantanea,vmedia:REAL;
BEGIN
ClrScr;
WRITE ('ESCRIBA EL VALOR DE LA VELOCIDAD INICIAL, LA
ACELERACION');
WRITE (' Y EL TIEMPO, EN UNIDADES DEL SISTEMA
INTERNACIONAL,');
WRITE (' PARA CALCULAR LA VELOCIDAD INSTANTANEA');
WRITELN (' '); WRITELN (' ');
WRITE ('Velocidad inicial: '); READLN (velocidad0);
WRITE ('Aceleracion: '); READLN (aceleracion);
WRITE ('Tiempo: '); READLN (tiempo);
WRITELN ('');
vinstantanea:=velocidad0 + (aceleracion * tiempo);
IF vinstantanea > 0 THEN
WRITE ('LA VELOCIDAD INSTANTANEA ES DE: ',
vinstantanea:5:2,' m/s')
ELSE
WRITE ('EL COCHE ESTA PARADO.');
WRITELN ('');
IF vinstantanea < 0 THEN
WRITE ('NO SE PUEDE HALLAR AL ESTAR PARADO');
IF vinstantanea > 0 THEN
WRITE ('Si desea saber la velocidad media introduzca la
velocidad final: ');
READLN (velocidadfinal);
WRITE ('');
WRITELN ('');
vmedia:= (velocidad0 + velocidadfinal) / 2;
WRITE ('LA VELOCIDAD MEDIA ES DE: ',vmedia:5:2);
WRITELN (' m/s');
END.
PROGRAM EJE27;
USES CRT;
VAR v,a,t:REAL;
BEGIN
ClrScr;
WRITE('Velocidad inicial (m/s) -> '); READLN(v);
WRITE('Aceleracion (m/s2) ------> '); READLN(a);
WRITE('Tiempo (s) --------------> '); READLN(t);
WRITE('Velocidad instantanea: '); WRITELN(v+a*t:5:2);
WRITE('Velocidad media: '); WRITELN
((v+(v+a*t))/2:5:2);
END.
- Un cohete se lanza verticalmente con una velocidad de 500 m/s
calcular la velocidad al cabo de 40 segundos mediante un programa en
Pascal
velocidad instantánea = (velocidad inicial) - (aceleración de la gravedad * tiempo)
PROGRAM EJER28;
USES CRT;
CONST gravedad = 9.81;
VAR velocidad0, tiempo, velocidadfinal:REAL;
BEGIN
velocidad0:=500;
tiempo:=40;
velocidadfinal:=velocidad0 - (gravedad * 40);
ClrScr;
WRITE ('La velocidad a los 40 s es de: ');
WRITE (velocidadfinal:4:2,' m/s');
END.
PROGRAM EJER28B;
USES CRT;
CONST gravedad = 9.81;
VAR velocidad0, tiempo, velocidadfinal:REAL;
BEGIN
{Este programa sirve para calcular la velocidad instantanea
de un cohete}
ClrScr;
WRITE ('PARA CALCULAR LA VELOCIDAD DE UN COHETE EN UN
INSTANTE, ');
WRITELN ('INTRODUZCA LOS DATOS:');
WRITELN (' ');
WRITE ('INTRODUZCA LA VELOCIDAD INICIAL: '); READLN
(velocidad0);
WRITE ('INTRODUZCA EL TIEMPO:'); READLN (tiempo);
WRITELN (' ');
velocidadfinal:=velocidad0 - (gravedad * tiempo);
IF velocidadfinal <= 0 THEN
WRITE ('El cohete ya se ha parado.');
IF velocidadfinal > 0 THEN
WRITE ('La velocidad final es de: ');
IF velocidadfinal > 0 THEN
WRITE (velocidadfinal:4:2);
IF velocidadfinal > 0 THEN
WRITE (' m/s.');
END.
PROGRAM EJER28;
USES CRT;
VAR v,g,t:REAL;
BEGIN
ClrScr;
g:=9.8;
WRITE('Velocidad inicial (m/s) -> '); READLN(v);
WRITE('Tiempo (s) --------------> '); READLN(t);
WRITE('Velocidad instantanea: '); WRITELN(v-(g*t):5:2);
END.
- Escribir un programa en Pascal que detecte si un número
introducido desde le teclado es positivo o negativo.
PROGRAM EJER29;
USES CRT;
VAR num:INTEGER;
BEGIN
ClrScr;
WRITE ('Introduzca un numero entero: '); READLN (num);
IF num > 0 THEN
WRITE ('El numero es positivo')
ELSE IF num < 0 THEN
WRITE ('El numero es negativo')
ELSE
WRITE ('El numero no es positivo ni negativo, es 0');
END.
- Escribir un programa en Pascal que detecte si se han introducido en
orden creciente tres números introducidos por el usuario.
PROGRAM EJER30;
USES CRT;
VAR num1,num2,num3:INTEGER;
BEGIN
ClrScr;
WRITE ('Introduzca un numero (1) : '); READLN (num1);
WRITE ('Introduzca un numero (2) : '); READLN (num2);
WRITE ('Introduzca un numero (3) : '); READLN (num3);
IF ((num1 < num2) AND (num2 < num3)) THEN
WRITE ('Los numeros se han introducido en orden creciente')
ELSE
WRITE ('Los numeros no se han introducido en orden
creciente');
END.
PROGRAM EJER30;
USES CRT;
VAR num1,num2,num3:INTEGER;
BEGIN
ClrScr;
WRITE('Introduzca un numero (1) : '); READLN(num1);
WRITE('Introduzca un numero (2) : '); READLN(num2);
WRITE('Introduzca un numero (3) : '); READLN(num3);
IF ((num1 < num2) AND (num2 < num3)) THEN
WRITE('Los numeros se han introducido en orden creciente')
ELSE
WRITE('Los numeros no se han introducido en orden creciente');
END.
Volver