jueves, 22 de mayo de 2008

EJERCICIOS

Sean 10 alumnos de la sección 3N6IS y dadas 5 notas por alumno de la materia programación.
Calcular y mostrar:
· El promedio de la materia por alumno.
· El promedio de la sección.

Program NOTAS1;
uses crt;
var
alumnos,materia,notas: integer;
promedioalumno,promedioseccion,sumaseccion,suma,nota: Real;
nombre:string[30];

BEGIN

alumnos:=1;
sumaseccion:=0;

while alumnos <=10 do

begin
writeln('Introduzca el nombre del alumno:'); r
eadln(nombre);
suma:=0;
notas:=1;
while notas <=5 do
begin
writeln('Introduzca las 5 notas:');
readln(nota);
suma:=suma+nota;
notas:=notas+1;
end;
promedioalumno:=suma/5;
sumaseccion:=sumaseccion+promedioalumno;
alumnos:=alumnos+1;
writeln('El nombre del alumnos es:', nombre);
writeln('El promedio del alumno es:', promedioalumno:2:2);
readln;
end;
promedioseccion:=sumaseccion/2;
writeln('El Promedio de la seccion es: ',promedioseccion:2:2);
readln;
END.

Un cajero cobra facturas por servicios a 60 personas en un caja de un banco, averiguar:
a) Cuantas facturas fueron mayores a 50 bs. Y cuantas menores o igual a 50.
b) Cuanto recaudo en total por facturas mayores a 50 y cuanto recaudo en total por facturas menores o iguala 50.


Program facturas;
Uses crt;
Var
contador,menor,mayor: INTEGER;
sumatotal,sumamayores,sumamenores,factura: Real;
be:char;

Begin
contador:=1;
menor:=0;
mayor:=0;
sumatotal:=0;
sumamayores:=0;
sumamenores:=0;

While contador<=60 do

begin
clrscr;
writeln('Usted lleva ingresadas: ', contador, ' facturas');
writeln('Ingrese el valor de una factura: ');
readln(factura);
contador:=contador+1;
sumatotal:= sumatotal+factura;

if factura>50 then
begin
mayor:=mayor+1;
sumamayores:=sumamayores+factura;
end;

if factura<=50 then

begin
menor:=menor+1;
sumamenores:=sumamenores+factura;
end;

sumatotal:=sumamenores+sumamayores;

end;
clrscr;
writeln('facturas mayores a 50:', mayor);
writeln('facturas menores o iguales a 50:', menor);
writeln('Recaudo total:', sumatotal:2:2);
writeln('Recaudo mayores a 50:',sumamayores:2:2);
writeln('Recaudo menores o iguales a 50:',sumamenores:2:2);
be:=readkey;
End.


Dada N notas de un estudiante calcular:
a) Cuantas notas tiene aprobadas y cuantas reprobadas.
b) El promedio de notas.
c) El promedio de notas aprobadas y el promedio de notas reprobadas.




Leer 15 números positivos y convertirlos a negativos e imprimir dichos números antes y después de la conversión.

Program positivo_negativo;
Uses crt;
var
numero,num_convertido:real;
c:integer;
const
negativo=-1;

begin
for c:=1 to 10 do
begin
writeln('Introduzca numero Positivo ó diferente de cero: ');
readln(numero);

if numero <> 0 then
begin
num_convertido:=numero*negativo;
writeln('El numero de entrada es:' , numero:2:2);
wruteln('El numero convertido es:' , num_convertido:2:2);
end;
end;
readln;
clrscr;
end.


Escribir un programa en Pascal que calcule el salario neto semanal de 10 trabajadores en función del número de horas trabajadas, valor hora trabajada 20 bs, las deducciones y asignaciones.
El salario bruto se calcula de la siguiente manera:
· Las primeras 35 horas se pagan a tarifa normal
· Las horas que pasen de 35 horas se pagan, 15% más del valor de la hora trabajada.
Para el salario neto se le deduce lo siguiente:
a) Si el salario es menor o igual a 50 bolívares fuertes no se hace deducciones.
b) Si el salario mayor a 50 y menor a 90 bolívares fuertes, la deducción es del 25% del salario
c) Para el salario mayor se 90 la deducción será de 45% del salario.
Para el salario neto se le asigna lo siguiente:
a) 20% del salario bruto, si tiene 3 o menos hijos.
b) 30% del salario bruto, si tiene más de 3 hijos.
Mostrar por pantalla:
a) Nombre del trabajador.
b) Cantidad de hijos del trabajador.
c) Sueldo neto del trabajador.

PROGRAM SALARIO_10;
USES CRT;
VAR
SALARIO_NETO,SAL_BRUTO,HORAS_TRA,HORAS_EX:REAL;
VALOR_EX,ASIGNACION,DEDUCCION:REAL;
N,CANT_HIJO:INTEGER;
NOMBRE:STRING[30];
CONST
POR1=0.25;
POR2=0.45;
VALOR_HORA=20;

PROCEDURE LEER_DATOS;
BEGIN
WRITE ('INTRODUZCA EL NOMBRE DEL TRABAJADOR:');
READLN (NOMBRE);
WRITE ('INTRODUZCA LA CANTIDAD DE HIJOS DEL TRABAJADOR:');
READLN (CANT_HIJO);
WRITE ('INTRODUZCA LA CANTIDAD DE HORAS TRABAJADAS:');
READLN (HORAS_TRA);
END;

PROCEDURE SALARIO_BRUTO;
BEGIN
IF HORAS_TRA <= 35 THEN SAL_BRUTO:= HORAS_TRA*VALOR_HORA; IF HORAS_TRA > 35 THEN
BEGIN
HORAS_EX:=HORAS_TRA-35;
VALOR_EX:=VALOR_HORA+(VALOR_HORA*0.15);
SAL_BRUTO:=(35*VALOR_HORA)+(HORAS_EX*VALOR_EX)
END;
END;

PROCEDURE CALCULO_DEDUCCIONES;
BEGIN
IF SAL_BRUTO<=50 THEN DEDUCCION:=0; IF (SAL_BRUTO>50) AND (SAL_BRUTO<=90) THEN DEDUCCION:=SAL_BRUTO*POR1; IF SAL_BRUTO >90 THEN
DEDUCCION:=SAL_BRUTO*POR2;
END;

PROCEDURE CALCULO_ASIGNACIONES;
BEGIN
IF CANT_HIJO<=3 THEN ASIGNACION:=SAL_BRUTO*0.20; IF CANT_HIJO>3 THEN
ASIGNACION:=SAL_BRUTO*0.30;
END;

PROCEDURE CALCULO_SUELDO_NETO;
BEGIN
SALARIO_NETO:= SAL_BRUTO+ASIGNACION-DEDUCCION;
END;

PROCEDURE MOSTRAR;
BEGIN
WRITELN('EL NOMBRE DEL TRABAJADOR ES:' ,NOMBRE);
WRITELN('LA CANTIDAD DE HIJOS DEL TRABAJADOR ES:' ,CANT_HIJO);
WRITELN('EL SUELDO NETO DEL TRABAJADOR ES:' ,SALARIO_NETO:2:2);
READLN;
END;

PROCEDURE CICLO;
BEGIN
N:=0;
WHILE N <=10 DO BEGIN LEER_DATOS; SALARIO_BRUTO; CALCULO_DEDUCCIONES; CALCULO_ASIGNACIONES; CALCULO_SUELDO_NETO; MOSTRAR; N:= N+1; END; END; (* PROGRAMA PRINCIPAL*) BEGIN CICLO; END.

2 comentarios:

Unknown dijo...

Programa de matricez q obtenga las notas del instituto conpleto

Unknown dijo...

Programa de matricez q obtenga las notas del instituto conpleto