Pascal
EJERCICIOS RESUELTOS EN TURBO PASCAL
1-) Desarrolle un algoritmo que calcule la resta de dos números.
program ejer1;
uses crt;
var
resta, num1, num2: integer;
begin
clrscr;
writeln('Este programa calcula la resta de dos numeros:');
writeln('');
writeln('Introduzca un numero:');
readln(num1);
writeln('Introduzca otro numero:');
readln(num2);
resta:=num1-num2;
writeln('');
writeln('La resta de los dos numeros es ',resta);
readkey;
end.
2-) Desarrolle un algoritmo que de dos números dados indique cual de los dos números es mayor.
program ejer2;
uses crt;
var
num1, num2: integer;
begin
clrscr;
writeln('Este programa indica el numero mayor:');
writeln('');
writeln('Introduzca el numero 1:');
readln(num1);
writeln('Introduzca el numero 2:');
readln(num2);
writeln('');
if num1 > num2 then
writeln('El numero mayor es ', num1)
else
writeln('El numero mayor es ', num2);
readkey;
end.
3-) Desarrolle un algoritmo que de dos números dados muestre el resultado de la suma, la resta y multiplicación de ambos números.
program ejer03;
uses crt;
var
num1, num2, suma, resta, multi: integer;
begin
clrscr;
writeln('Este programa calcula la suma, resta y multiplicacion:');
writeln('');
writeln('Introduzca el numero 1:');
readln(num1);
writeln('Introduzca el numero 2:');
readln(num2);
suma:=num1+num2;
resta:=num1-num2;
multi:=num1*num2;
writeln('La suma de los dos numero es: ',suma);
writeln('La resta de los dos numeros es: ',resta);
writeln('La multiplicacion de los dos numeros es: ',multi);
readkey;
end.
4-) Desarrolle un algoritmo que de dos números: sin son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.
program ejer4;
uses crt;
var
num1, num2, prom: integer;
begin
clrscr;
writeln('Introduzca el numero 1:');
readln(num1);
writeln('Introduzca el numero 2:');
readln(num2);
writeln('');
if num1=num2 then
prom:=num1*num2;
if num1>num2 then
prom:=num1-num2
else
prom:=num1+num2;
writeln('');
writeln('El resultado es ',prom);
readkey;
end.
5-) Desarrolle un algoritmo que según la nota obtenida por un alumno determine si aprobó o no la materia.
program ejer5;
uses crt;
var
nota: integer;
begin
clrscr;
writeln('Programa de notas de alumnos');
writeln;
writeln('Introduzca la nota del alumno:');
readln(nota);
writeln;
if (nota>=10) and (nota <=20) then
writeln('Alumno Aprobado');
if nota < 10 then
writeln('Alumno reprobado');
if nota >20 then
writeln('Nota fuera del rango de calificaciones');
readkey;
end.
6-) Desarrolle un algoritmo que muestre cuanto debe cancelar una persona por la compra de n kilos de carne, teniendo la carne un precio de Bsf. 10.
program ejer6;
uses crt;
var
kilos, prom: real;
begin
clrscr;
writeln('Introduzca la cantidad de kilos de carne:');
readln(kilos);
prom:=kilos*10;
writeln('El precio total a pagar es: ',prom:2:0,' Bsf');
readkey;
end.
7-) Desarrolle un algoritmo que permita calcular la tabla de la verdad del operador lógico AND.
program ejer7;
uses crt;
var
uno, dos : char;
begin
clrscr;
writeln('Tienes dinero:');
readln(uno);
writeln('Tienes carro:');
readln(dos);
if (uno = 's') and (dos = 'n') then
writeln('No vas al cine');
if (uno = 's') and (dos = 's') then
writeln('Vas al cine');
if (uno = 'n') and (dos = 's') then
writeln('No vas al cine');
if (uno = 'n') and (dos = 'n') then
writeln('No vas al cine');
readkey;
end.
8-) Supóngase que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual.
program ejer8;
uses crt;
var
capital, prom: real;
begin
clrscr;
writeln('Introduzca el capital a invertir:');
readln(capital);
prom:=2*capital/100;
writeln('Intereses generados durante un mes ', prom:2:2,' Bsf');
readkey;
end.
9-) Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base mas comisiones.
program ejer9;
uses crt;
var
sbase, v1, v2, v3, tventas, comision, stotal: real;
begin
clrscr;
writeln('Este programa calcula el sueldo de un vendedor');
writeln('');
writeln('Introduzca el sueldo base del vendedor:');
readln(sbase);
writeln('Introduzca el monto de la venta 1:');
readln(v1);
writeln('Introduzca el monto de la venta 2:');
readln(v2);
writeln('Introduzca el monto de la venta 3:');
readln(v3);
tventas:=v1+v2+v3;
comision:=10*tventas/100;
stotal:=sbase+comision;
writeln('');
writeln('Monto ganado por comisiones: ',comision:2:0,' Bsf');
writeln('');
writeln('Sueldo total a cobrar: ',stotal:2:0,' Bsf');
readkey;
end.
10-) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra.
program ejer10;
uses crt;
var
compra, prom: real;
begin
clrscr;
writeln('Este programa calcula el 15% de descuento en compras realizadas');
writeln('');
writeln('Introduzca el monto total de la compra:');
readln(compra);
prom:=15*compra/-100+compra;
writeln('');
writeln('');
writeln('El monto total a pagar es ', prom:2:0,' Bsf');
readkey;
end.
11-) Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en grupo de estudiantes.
program ejer11;
uses crt;
var
n, hom, fem, prom1, prom2: real;
begin
clrscr;
writeln('Introduzca la cantidad de estudiantes:');
readln(n);
begin
writeln('Introduzca el numero de estudiantes masculinos:');
readln(hom);
writeln('Introduzca el numero de estudiantes femeninas:');
readln(fem);
prom1:=hom*100/n;
prom2:=fem*100/n;
clrscr;
writeln('El porcentaje de estudiantes masculinos es: ',prom1:2:0,'%');
writeln('');
writeln('El porcentaje de estudiantes femeninas es: ',prom2:2:0,'%');
readkey;
end;
end.
12-) Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento de 10%.
program ejer12;
uses crt;
var
n, preu, prom, camisa: real;
begin
clrscr;
writeln('Introduzca la cantidad de camisas compradas:');
readln(n);
writeln('Introduzca el precio unitario por camisa:');
readln(preu);
prom:=n*preu;
if n>=3 then
camisa:=20*prom/-100+prom
else
camisa:=10*prom/-100+prom;
writeln('El total a pagar por la compra ',camisa:2:0,' Bsf');
readkey;
13-) Desarrolle un algoritmo que realice un ciclo de pedir 20 números y muestre la sumatoria de los números comprendidos en este ciclo.
program ejer13;
uses crt;
var
i, n, num, suma: integer;
begin
clrscr;
for i := 1 to 20 do
begin
writeln('Introduzca un numero:');
readln(num);
suma:=suma+num;
end;
writeln('La suma de los numeros es: ',suma);
readkey;
end.
14-) Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo excedan de 40, el resto se consideraran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
program ejer14;
uses crt;
var
horas, phora, prom: real;
begin
clrscr;
writeln('Introduzca las horas de trabajo del empleado:');
readln(horas);
writeln;
writeln('Introduzca el precio unitario por hora de trabajo:');
readln(phora);
writeln;
if (horas>40) and (horas<=48) then
prom:=(horas-40)*(phora*2);
if horas > 48 then
prom:=(horas-48)*(phora*3);
if horas<=40 then
writeln('El trabajador NO amerita pago de horas extra');
writeln;
writeln('El total a pagar por horas extra trabajadas es ',prom:2:0,' Bsf');
readkey;
end.
15-) Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera:
- Si trabaja 40 horas o menos se le paga Bsf. 16 por hora.
- Si trabaja más de 40 horas se le paga Bsf. 16 por cada una de las primeras 40 horas y Bsf. 20 por cada hora extra.
program ejer15;
uses crt;
var
horas, prom: real;
begin
clrscr;
writeln('Introduzca el numero de horas trabajadas:');
readln(horas);
if horas <= 40 then
prom:=horas*16;
if horas >= 41 then
prom:=(horas-40)*20+640;
writeln('El salario semanal del trabajador es: ',prom:2:0,' Bsf');
readkey;
end.
16-) Desarrolle un algoritmo que lea tres números diferentes e imprima el número mayor de los tres.
program ejer16;
uses crt;
var
n1, n2, n3: integer;
begin
clrscr;
writeln('Introduzca el numero 1:');
readln(n1);
writeln('Introduzca el numero 2:');
readln(n2);
writeln('Introduzca el numero 3:');
readln(n3);
If (n1 > n2) and (n1>n3) then
writeln('El numero mayor es:', n1);
if (n2> n1) and (n2 > n3) then
writeln('El numero mayor es:', n2);
if (n3>n1) and (n3>n2) then
writeln('El numero mayor es :',n3);
readkey;
end.
17-) Desarrolle un algoritmo que calcule la edad de una persona.
program ejer17;
uses crt;
var
naci, prom: integer;
begin
clrscr;
writeln('Introduzca el a¤o de nacimiento:');
readln(naci);
prom:=-naci+2012;
writeln('La edad de la persona es: ',prom,' A¤os');
readkey;
end.
18-) Se necesita un sistema que lea los votos obtenidos por tres candidatos a presidentes municipal calcule e imprima al ganador, junto con el porcentaje de votos obtenidos.
program ejer18;
uses crt;
var
n, i, vot, resul: integer;
nom, nombre: string;
begin
clrscr;
for i := 1 to 3 do
begin
writeln('Introduzca el monbre del candidato:');
readln(nom);
writeln('Introduzca la cantidad votos:');
readln(vot);
if (vot > resul) then
begin
resul:= vot;
nombre:= nom;
end;
clrscr;
end;
writeln('El candidato: ',nombre,' es el ganador de las elecciones con: ',resul,' Votos');
readkey;
end.
19-) Se necesita un sistema que pida una contraseña. Si la contraseña es igual a abrete sesamo se terminara el programa de otra manera seguirá solicitando contraseña.
program ejer19;
uses crt;
var
pw: string;
begin
clrscr;
repeat
writeln('Introduzca la contrase¤a:');
readln(pw);
until pw='abrete sesamo';
end.