Cátedra: Grossi
Cuatrimestre: 2.º Cuatrimestre 2008
Cada alumno deberá diseñar un programa en Lenguaje Pascal que permita al, usuario (alumno de la Facultad de Ingeniería), determinar la cantidad de créditos que le restan para recibirse de Ingeniero.
El programa deberá solicitar el ingreso por teclado de los siguientes datos: nombre, apellido, edad, sexo (“F” o “M”), la carrera que sigue, el promedioobtenido en el CBC y la cantidad de créditos acumulados hasta el momento.
El programa devolverá por pantalla un mensaje del siguiente tipo:
Hola, <NOMBRE APELLIDO>,
En el CBC obtuviste el siguiente promedio: <PROMEDIO>.
Ahora, en tu carrera de <CARRERA> acumulaste <ACUM_CREDITOS>. Te faltan
<FCREDITOS> para obtener el título.
Entre < > se indican los nombres de los recursos declarados en la Sección
Declarativa y que deben visualizarse por pantalla a través del mensaje.
<FCREDITOS> representa a los créditos que faltan para obtener el título y que se
deben calcular a través de una sentencia de asignación.
Nota:
Considerar que el número de créditos necesarios para acceder al Título de Ingeniero es de 250.
El promedio obtenido en el CBC debe visualizarse por pantalla con dos decimales.
Tener en cuenta que luego del ingreso de datos se debe dejar un renglón en blanco y que en el mensaje de salida se incluye un renglón en blanco luego de mostrar el promedio.
La Sección Declarativa deberá constar de:
Unidades de Biblioteca
Recursos Constantes
Recursos Variables
Observación:
El programa debe ser general.
Se debe utilizar el método de refinamientos sucesivos (dividir el problema en Prólogo…, Resolución…, Epílogo).
Debe estar documentado (explicar, por ejemplo, la función de cada recurso).
Se debe utilizar indentación de sentencias.
Resolución:
{EL PROGRAMA ESTµ MUY BIEN.
ENTRE LLAVES Y EN MAYéSCULA SE ENCUENTRAN LAS OBSERVACIONES.} {(Comentario de Grossi)}
{Seccion Declarativa}
program Promedio; {Permite al alumno de la FIUBA determinar la cantidad de cr‚ditos que le restan para recibirse de Ingeniero}
uses
Crt; {Subprogramas de manejo de pantalla}
var
nom, edad, sexo, carrera: string;
{SI AL TIPO DE DATO STRING NO LE PONS LA LONGITUD MµXIMA ENTRE CORCHETES,
POR DEFECTO, LA LONGITUD MµXIMA SERµ DE 256 CARACTERES}
promedio_CBC: real;
creditos, fcreditos: integer;
{NO TE OLVIDES DE HACER UNA PEQUE¥A DESCRIPCIàN DE LOS RECURSOS DECLARADOS.}
Const
credtot=250;
{Secci¢n Algor¡tmica}
begin
{Pr¢logo}
ClrScr; {Limpieza de Pantalla}
writeLn('PROGRAMA PARA DETERMINAR LA CANTIDAD DE CRDITOS QUE LE FALTAN PARA RECIBIRSE'); {T¡tulo}
writeLn; {rengl¢n en blanco}
writeLn('Ingrese su nombre y apellido');
readLn(nom);
writeLn('Ingrese su edad');
readLn(edad);
writeLn('Ingrese sexo ("F" o "M")');
readLn(sexo);
writeLn('Ingrese carrera');
readLn(carrera);
writeLn('Ingrese su promedio del CBC');
readLn(promedio_CBC);
writeLn('Ingrese la cantidad de cr‚ditos acumulados hasta el momento');
readLn(creditos); {Solicitud de ingreso de datos}
{Resoluci¢n}
fcreditos:=credtot-creditos;
{Ep¡logo}
writeLn; {rengl¢n en blanco}
writeLn('Hola, ',nom);
writeLn('En el CBC obtuviste el siguiente promedio: ',promedio_CBC:8:2,'.');
writeLn;
writeLn('Ahora, en tu carrera de ',carrera,' acumulaste ',creditos,'. Te faltan ',fcreditos,' para obtener el t¡tulo.');
writeLn; {rengl¢n en blanco}
writeLn('Pulse Enter para finalizar'); {Anuncio de finalización}
readLn; {Pausa}
end.
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.