jueves, 15 de mayo de 2008

EJERCICIOS PROPUESTOS Y RESUELTOS

EJERCICIOS RESUELTOS

1. Escribir un programa en Pascal que detecte si un número introducido desde le teclado es positivo o negativo.

PROGRAM positivo_negativo;
USES CRT;
VAR
NUM:INTEGER;

BEGIN
WRITELN ('INTRODUZCA NUMERO ENTERO: ');
READLN (NUM);


IF NUM > 0 THEN
WRITELN('EL NUMERO ES POSITIVO');

IF NUM < 0
WRITELN('EL NUMERO ES NEGATIVO');

IF NUM=0 THEN
WRITELN('EL NUMERO NO ES NI POSITIVO NI NEGATIVO ES CERO');

READLN;
CLRSCR;
END.

2. Escribir un programa en Pascal que calcule el importe de una factura sabiendo que el IVA a aplicar es del 9% y que si el importe bruto de la factura es superior a 50 BsF, se debe realizar un descuento del 5%.

PROGRAM FACTURA;
USES CRT;
VAR
MONTO_BRUTO,MONTO_NETO,MONTO_IVA,DESCUENTO:REAL;
CONST
IVA=0.09;
DES=0.05;


BEGIN

WRITELN ('INTRODUZCA MONTO BRUTO DE LA FACTURA: ');
READLN (MONTO_BRUTO);

MONTO_IVA:=MONTO_BRUTO*IVA;

IF MONTO_BRUTO > 50 THEN
BEGIN
DESCUENTO:=MONTO_BRUTO*DES;
MONTO_NETO:=MONTO_BRUTO+MONTO_IVA-DESCUENTO;
WRITE('EL MONTO NETO DE LA FACTURA ES:' , MONTO_NETO);

END;


IF MONTO_BRUTO<=50 THEN BEGIN DESCUENTO:=0; MONTO_NETO:=MONTO_BRUTO+MONTO_IVA;

WRITE('EL MONTO NETO DE LA FACTURA ES:' , MONTO_NETO);
END;
READLN;
CLRSCR;
END.


3. Hacer un algoritmo que calcule y muestre el total a pagar por la compra de pantalones, se debe pedir como entrada el valor del pantalón y la cantidad de pantalones comprados, además si se compra 5 pantalones o mas se aplica un descuento del 25% al monto total a pagar y si son menos de 5 pantalones el descuento es del 10% al monto total a pagar.

PROGRAM FACTURA;
USES CRT;
VAR
CANT_PANT:INTEGER;
PRECIO_PANT,MONTO_PAGAR,DESCUENTO:REAL;
CONST
DES1=0.10;
DES2=0.25;


BEGIN
WRITELN ('INTRODUZCA LA CANTIDAD DE PANTALONES A COMPRAR: ');
READLN (CANT_PANT);
WRITELN('INTRODUZCA EL PRECIO DEL PANTALON: ');

READLN(PRECIO_PANT);


IF CANT_PANT >= 5 THEN
BEGIN
DESCUENTO:=(CANT_PANT*PRECIO_PANT)*DES2;
MONTO_PAGAR:=(CANT_PANT*PRECIO_PANT)-DESCUENTO;
WRITE('EL MONTO TOTAL A PAGAR ES:' , MONTO_PAGAR);
END;


IF CANT_PANT<=5 THEN BEGIN DESCUENTO:=(CANT_PANT*PRECIO_PANT)*DES1; MONTO_PAGAR:=(CANT_PANT*PRECIO_PANT)-DESCUENTO; WRITE('EL MONTO TOTAL A PAGAR ES:' , MONTO_PAGAR); END;


READLN;
CLRSCR;
END.

4. Sumar los números del 1 al 10.

PROGRAM SUMAR;
USES CRT;
VAR
NUM,SUMA,CONTADOR:INTEGER;

BEGIN

CONTADOR:=1; SUMA:=0;


WHILE CONTADOR<=10 DO

BEGIN

WRITELN ('INTRODUZCA LOS 10 NUMEROS A SUMAR: ');

READLN (NUM); SUMA:= SUMA + NUM; CONTADOR:=CONTADOR+1;

END;
WRITELN ('LA SUMA ES:', SUMA);
READLN;
CLRSCR;
END.

EJERCICIOS PROPUESTOS

1. Escribir un programa en Pascal que detecte si un número leído desde el teclado es mayor o menor que 100.


2. un comerciante efectúa durante el mes N ventas a distintos clientes. Se desea saber:
a) Cuantas ventas fueron mayores a 550 bsf.
b) Cuantas ventas fueron mayores a 200 bsf. y menores o iguales a 550bsf.
c) Calcular los promedios de cada grupo (puntos ay b).
d) Mostrar por pantalla lo solicitado en los puntos a, b y c.

3. Un profesor de un curso, hace un examen de matemática a cada uno de sus N alumnos. De acuerdo a los resultados obtenidos se procede de la siguiente manera: En caso de obtener nota menor a 4 el alumno esta reprobado y debe reparar en marzo, En caso contrario el alumno esta aprobado.
Se desea saber:
a) Cuantos alumnos reprobaron la materia.
b) Cuantos alumnos aprobaron la materia.
c) Calcular los promedios de los alumnos reprobados y aprobador.
d) Mostrar por pantalla lo solicitado en a, b, c.

4. Un vendedor recibe un sueldo base, más 12% extra por comisiones de sus ventas, el vendedor desea saber cuanto dinero cobrará por concepto de comisiones por las cuatro ventas que realizo en el mes y el total que recibirá en el mes por sueldo base y comisiones.


5. Un profesor hace dos exámenes de matemática y física a cada uno de sus 40 alumnos. Desea saber:
a) Cuantos alumnos sacaron más de 7 en cada examen.
b) Cuantos alumnos sacaron menos o igual a 7 en cada examen.
b) Calcular los promedios de notas de cada examen.
d) Mostrar por pantalla lo solicitado en a, b, c.