




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Fonaments d'Informàtica, Profesor: S.Tornil S.Tornil, Carrera: Enginyeria Elèctrica, Universidad: UPC
Tipo: Ejercicios
1 / 162
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





























































































var a,b,c:INTEGER;
BEGIN
{Empezamos con lo básico, un programa que escribe la suma de 2 numeros en pantalla}
a:=4; b:=3;
{Se asigna un valor cualquiera a las variables "a" y "b"}
c:=a+b;
WRITE (c); {Muestra en pantalla el valor de la suma} END.
USES CRT; {Lo usamos para poder borrar la pantalla} VAR a,b,c:INTEGER;
BEGIN ClrScr; {Limpiamos la pantalla}
WRITELN ('Este programa suma dos numeros:'); WRITELN (' '); WRITE ('Introduzca un numero: '); READLN (a); WRITE ('Introduzca otro numero: ' ); READLN (b); WRITELN (' '); c:=a+b;
WRITE ('EL RESULTADO ES: '); WRITE (c);
END.
USES CRT; {Nos va a permitir limpiar la pantalla junto con ClrScr} VAR x,y:INTEGER; VAR suma,rest,mult,divi:INTEGER;
x:=10; y:=2;
suma:=x + y; rest:=x - y; mult:=x * y; divi:=x div y;
{Con estas 4 variables realizamos las cuatro operaciones aritméticas fundamentales: suma, resta, multiplicación y división}
ClrScr; {Limpia la pantalla}
WRITE ('SUMA:'); WRITELN (suma); WRITE ('RESTA:'); WRITELN (rest); WRITE ('MULTIPLICACION:'); WRITELN (mult); WRITE ('DIVISION:'); WRITE (divi);
END.
VAR x,y:REAL; VAR suma,rest,mult:REAL; VAR divi:REAL;
{suma, resta, multiplica y divide 2 numeros reales}
BEGIN WRITELN ('Este programa suma, resta, multiplica y divide:'); WRITELN ('Escriba dos numeros reales'); WRITELN (' ');
Read(x); Read(y);
suma:=x + y; rest:=x - y; mult:=x * y; divi:=x / y;
ClrScr;
WRITE ('SUMA:'); WRITELN (suma:3:0); WRITE ('RESTA:'); WRITELN (rest:3:0); WRITE ('MULTIPLICACION:'); WRITELN (mult:3:0); WRITE ('DIVISION:'); WRITE (divi:5:2);
END.
VAR x,y:INTEGER; VAR suma,rest,mult,divi:INTEGER; BEGIN x:=10; y:=2;
suma:=x + y; rest:=x - y; mult:=x * y;
VAR base,altura:REAL; VAR area:REAL; BEGIN base:=7; altura:=4;
area:=(base * altura) / 2;
ClrScr;
WRITE ('AREA DEL TRIANGULO: '); WRITE (area:5:2); {:5:2 sirve para dar el formato de salida al numero, 5 posiciones y 2 decimales} END.
VAR base,altura:REAL; VAR area:REAL; BEGIN {Este programa sirve para calcular el area de un triangulo}
ClrScr; WRITELN ('PARA CALCULAR EL AREA DE UN TRIANGULO:'); WRITELN (' '); WRITE ('ESCRIBE LA BASE: '); READLN (base); WRITE ('ESCRIBE LA ALTURA: '); READLN (altura); WRITELN (' ');
area:=(base * altura) / 2;
WRITE ('EL AREA DEL TRIANGULO ES: '); WRITE (area:5:2); END.
VAR radio:REAL; VAR longitud,area:REAL;
BEGIN radio:=4; longitud:=23.1416radio;
area:=3.1416radioradio;
ClrScr;
WRITE ('LONGITUD DE LA CIRCUNFERENCIA:'); WRITELN (longitud:5:2); WRITE ('AREA DE LA CIRCUNFERENCIA:'); WRITE (area:5:2); END.
VAR espacio,tiempo:REAL; VAR velocidad:REAL;
BEGIN espacio:=2; tiempo:=5;
velocidad:=(espacio1000)/(tiempo60);
ClrScr;
WRITE ('VELOCIDAD DEL PROYECTIL:'); WRITE (velocidad:5:2); WRITE ('m/s'); END.
VAR espacio,tiempo,espacio2,tiempo2:REAL; VAR velocidad,velocidad2:REAL; BEGIN {Este programa calcula la velocidad de un cuerpo}
ClrScr;
WRITE ('Para calcular la velocidad debe escribirlo en unidades '); WRITE ('del sistema internacional'); WRITELN (' '); WRITE ('Escriba el espacio recorrido: '); READLN (espacio); WRITE ('Escriba el tiempo transcurrido: '); READLN (tiempo); WRITELN (' ');
velocidad:=(espacio)/(tiempo);
WRITE ('VELOCIDAD DEL PROYECTIL: '); WRITE (velocidad:5:2); WRITELN (' m/s');
WRITELN (' '); WRITELN ('Si lo desea en Km/h introduzca los datos: '); WRITELN (' '); WRITE ('Escriba el espacio recorrido: '); READLN (espacio2); WRITE ('Escriba el tiempo transcurrido: '); READLN (tiempo2); WRITELN (' ');
velocidad2:=(espacio2)/(tiempo2);
WRITE (velocidad2:5:2); WRITE (' Km/h '); END.
VAR espacio,tiempo:REAL; VAR velocidad:REAL;
BEGIN espacio:=2; tiempo:=5;
velocidad:=(espacio1000)/(tiempo60);
ClrScr;
WRITE('VELOCIDAD DEL PROYECTIL:'); WRITE(velocidad:5:2); WRITE(' m/s'); END.
resultado:=(a+7c)/(b+2-a)+2b;
ClrScr;
WRITE ('RESULTADO:'); WRITE (resultado:5); END.
PROGRAM EJER8B; USES CRT; VAR a,b,c:REAL; VAR resultado:REAL;
BEGIN {Este programa calcula una expresion algebraica}
ClrScr;
WRITELN ('Este programa sirve para calcular la siguiente expresion:'); WRITELN ('(a+7c)/(b+2-a)+2b'); WRITELN (' '); WRITE ('Introduzca a: '); READLN (a); WRITE ('Introduzca b: '); READLN (b); WRITE ('Introduzca c: '); READLN (c);
resultado:=(a+7c)/(b+2-a)+2b; WRITELN (' '); WRITE ('RESULTADO: '); WRITE (resultado:5:2);
END.
VAR a,b,c:REAL; VAR resultado:REAL; BEGIN a:=3; b:=6; c:=4;
resultado:=(a+7c)/(b+2-a)+2b;
ClrScr;
WRITE('RESULTADO: '); WRITE(resultado:5); END.
VAR a,b:REAL; VAR resultado:REAL;
BEGIN a:=3; b:=6;
resultado:=((a+5)3) / (2b-b);
ClrScr;
WRITE ('RESULTADO: '); WRITE(resultado:5:2); END.
VAR a,b:REAL; VAR resultado:REAL;
BEGIN {Este programa calcula el resultado de una expresion algebraica}
ClrScr;
WRITE ('PARA CALCULAR LA SIGUIENTE EXPRESION: '); WRITELN ('((a+5)3) / (2b-b)'); WRITELN (' '); WRITE ('Escriba a: '); READ (a); WRITE ('Escriba b: '); READ (b); WRITELN (' ');
resultado:=((a+5)3) / (2b-b);
WRITE ('RESULTADO: '); WRITE(resultado:5:2); END.
VAR a,b,c:REAL; VAR resultado:REAL;
BEGIN a:=6; b:=6; c:=1;
resultado:=(-b+sqrt(sqr (b) - 4ac))/(2*a);
ClrScr;
WRITE ('RESULTADO:'); WRITE(resultado:5:2); END.
VAR a,b,c:REAL; VAR resultado:REAL;
BEGIN {Calcula la incognita positiva de una ecuacion de 2º grado}
ClrScr;
WRITE ('Para calcular la incognita positiva de una ecuacion'); WRITE (' de segundo grado escriba todas las variables:'); WRITELN (' '); WRITELN (' ');
WRITE ('Escriba a: '); READLN (a); WRITE ('Escriba b; '); READLN (b); WRITE ('Escriba c; '); READLN (c); WRITELN (' ');
resultado:=(-b +sqrt(sqr (b) - 4ac))/(2*a);
v:=(3.1416sqr(2))h;
ClrScr;
WRITE('AREA DEL CILINDRO: '); WRITELN(a:5:2); WRITE('VOLUMEN DEL CILINDRO: '); WRITELN(v:5:2); END.
VAR lado:REAL; VAR area,volumen:REAL;
BEGIN lado:=4;
area:= (lado * lado) * 6; volumen:= sqr(lado) * lado;
ClrScr;
WRITE ('AREA DEL HEXAEDRO:'); WRITE (area); WRITELN (' m2'); WRITE ('VOLUMEN DEL HEXAEDRO:'); WRITE (volumen); WRITE (' m3');
END.
VAR lado:REAL; VAR area,volumen:REAL;
BEGIN ClrScr;
WRITE ('INTRODUCE EL LADO DEL HEXAEDRO: ');
READLN (lado); WRITELN (' ');
area:= (lado * lado) * 6; volumen:= sqr(lado) * lado;
WRITE ('AREA DEL HEXAEDRO: '); WRITE (area:5:2); WRITELN (' m2'); WRITE ('VOLUMEN DEL HEXAEDRO: '); WRITE (volumen:5:2); WRITE (' m3');
END.
VAR l1,l2,l3:REAL; VAR area,volumen:REAL;
l1:=3; l2:=6; l3:=4;
area:=2 * (l1 * l2)+(2 * (l1 * l3)) + (2* (l2 * l3)); volumen:= l1 * l2 * l3;
ClrScr;
WRITE ('AREA DEL PRISMA:'); WRITELN(area); WRITE ('VOLUMEN DEL PRISMA:'); WRITE (volumen); END.
VAR l1,l2,l3:REAL; VAR area,volumen:REAL;
BEGIN {Calcula el area y volumen de un prisma}
ClrScr;
WRITELN ('PARA CALCULAR EL AREA Y EL VOLUMEN DEL PRISMA, ESCRIBA: '); WRITELN (' '); WRITE ('Lado1: '); READLN (l1); WRITE ('Lado2: '); READLN (l2); WRITE ('Lado3: '); READLN (l3); WRITELN (' ');
area:=2 * (l1 * l2)+(2 * (l1 * l3)) + (2* (l2 * l3)); volumen:= l1 * l2 * l3;
WRITE ('AREA DEL PRISMA: '); WRITELN (area:5:2); WRITE ('VOLUMEN DEL PRISMA: '); WRITE (volumen:5:2);
END.
VAR arista:REAL; VAR area, volumen:REAL;
BEGIN
arista:=5;
area:= sqr(arista) * sqrt(3); volumen:= ((sqr(arista) * arista) / 12) * sqrt(2);
WRITE ('AREA DEL TETRAEDRO: '); WRITELN (area); WRITE ('VOLUMEN DEL TETRAEDRO: '); WRITE (volumen); END.
VAR arista:REAL; VAR area, volumen:REAL;
VAR radio,lado,altura:REAL; VAR area,volumen:REAL;
BEGIN
radio:=6; lado:=3; altura:=8;
area:= (3.1416 * radio * lado) + (3.1416 * sqr(radio)); volumen:= (3.1416 * sqr(radio) * altura) / 3;
WRITE ('AREA DEL CONO: '); WRITELN (area); WRITE ('VOLUMEN DEL CONO: '); WRITE (volumen); END.
VAR radio,lado,altura:REAL; VAR area,volumen:REAL;
BEGIN {Se utiliza para calcular el area y volumen de un cono}
WRITELN ('Para calcular el area y el volumen de un cono: '); WRITELN (' '); WRITE ('Escriba el valor del radio: '); READLN (radio); WRITE ('Escriba el valor del lado: '); READLN (lado); WRITE ('Escriba el valor de la altura: '); READLN (altura); WRITELN (' ');
area:= (3.1416 * radio * lado) + (3.1416 * sqr(radio)); volumen:= (3.1416 * sqr(radio) * altura) / 3;
WRITE ('AREA DEL CONO: '); WRITELN (area:5:2); WRITE ('VOLUMEN DEL CONO: '); WRITE (volumen:5:2);
END.
VAR a,b,c:REAL; VAR volumen:REAL;
BEGIN
a:=3; b:=5; c:=4;
volumen:= (4/3) * 3.1416 * a * b * c;
WRITE ('VOLUMEN DEL ELIPSOIDE:'); WRITE (volumen); END.
VAR a,b,c:REAL;
VAR volumen:REAL;
BEGIN {Calcula el volumen de un elipsoide}
ClrScr;
WRITELN ('PARA CALCULAR EL VOLUMEN DE UN ELIPSOIDE ESCRIBA: '); WRITELN (' ');
WRITE ('A: '); READLN (a); WRITE ('B: '); READLN (b); WRITE ('C: '); READLN (c);
volumen:= (4/3) * 3.1416 * a * b * c;
WRITE ('VOLUMEN DEL ELIPSOIDE: '); WRITE (volumen:5:2); END.
VAR a,b,c:REAL; VAR x1,x2:REAL;
BEGIN
a:=6; b:=6; c:=1;
x1:= (-b + sqrt(sqr(b) - (4 * a * c))) / 2 * a; x2:= (-b - sqrt(sqr(b) - (4 * a * c))) / 2 * a;
WRITE ('SOLUCION 1:'); WRITELN (x1); WRITE ('SOLUCION 2:'); WRITE (x2); END.
VAR a,b,c:REAL; VAR resultado1,resultado2:REAL;
BEGIN
{Calcula ecuaciones de segundo grado}
ClrScr;
WRITE ('ESTE PROGRAMA SIRVE PARA CALCULAR ECUACIONES '); WRITELN ('DE SEGUNDO GRADO'); WRITELN (' '); WRITELN ('Introduzca: a, b y c: '); WRITELN (' '); READLN (a); READLN (b); READLN (c);
resultado1:=(-b + sqrt(sqr(b) - 4ac)) / (2a); resultado2:=(-b - sqrt(sqr(b) - 4ac)) / (2a); WRITELN ('RESULTADO DE LA EXPRESION: '); WRITE ('VALOR 1: '); WRITELN (resultado1:5:2); WRITE ('VALOR 2; '); WRITE (resultado2:5:2); END.
ClrScr;
WRITE ('HIPOTENUSA DEL TRIANGULO: '); WRITE (hipotenusa:5:2); WRITE (' cm');
END.
VAR cateto1,cateto2:REAL; VAR hipotenusa:REAL;
BEGIN {Con este programa podremos calcular la hipotenusa de un triangulo}
ClrScr;
WRITE ('PARA CALCULAR LA HIPOTENUSA DEL TRIANGULO '); WRITELN ('ESCRIBA LOS CATETOS: '); WRITELN (' '); WRITE ('Cateto1: '); READLN (cateto1); WRITE ('Cateto2: '); READLN (cateto2); WRITELN (' ');
hipotenusa:= sqrt(sqr(cateto1) + sqr(cateto2));
WRITE ('HIPOTENUSA DEL TRIANGULO: '); WRITE (hipotenusa:5:2);
END.
VAR c1,c2,h:REAL;
BEGIN ClrScr;
WRITE('Introduzca cateto_1: '); READLN (c1); WRITE('Introduzca cateto_2: '); READLN (c2);
h:=sqrt(sqr(c1)+sqr(c2));
WRITE('Cateto_1 ------> '); WRITELN (c1:5:2); WRITE('Cateto_2 ------> '); WRITELN (c2:5:2); WRITE('Hipotenusa ----> '); WRITELN (h:5:2); END.
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.
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.
VAR t_C,t_F:REAL; BEGIN
ClrScr;
WRITE('Introduzca temperatura: (ºCelsius): '); READLN(t_C);
t_F:=((t_C*9)/5)+32;
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.
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.
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.
VAR capital,tiempo,interes:REAL; VAR capitalproducido:REAL;
ClrScr;
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.
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.
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);
resultado:=(sin(x) * cos(x)) / (sin(x) / cos(x));