Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
Granada
Nivel 9


Edad: 29
Registrado: 16 Ago 2011
Mensajes: 1325

Carrera: Química
CARRERA.quimica.3.jpg
MensajePublicado: Lun Ago 29, 2011 11:25 am  Asunto: Alerta ! Llamado a la solidaridad (Pascal) Responder citandoFin de la PáginaVolver arriba

Hola gente, necesito una ayuda con un TP, se me hace mucho lio con los "if" y con los "case of"

El problema pide desarrollar un algoritmo que al ingresar notas de parciales y TP diga si un alumno recursa, aprueba o recupera un parcial.

"En caso de estar en condiciones de firmar la libreta, se deberá determinar e informar por
pantalla el promedio obtenido en la parte práctica y el promedio obtenido en la parte teórica.
De haber aprobado los parciales requeridos pero adeudar algún trabajo práctico, además de
mostrar por pantalla los promedios, se deberá emitir el mensaje: Adeuda TPs.
En caso de adeudar parciales teóricos se deberá mostrar por pantalla el promedio de la parte
práctica junto al mensaje: Adeuda parciales teóricos. Debe recuperarlos en fechas de
Evaluaciones Integradoras.
En el caso de haber agotado la instancia de recuperación (Parte Práctica), se deberá emitir por
pantalla el mensaje “Debe recursar la materia”.

Pense hacer un if concatenado con otro pero queda raro...

Espero consejos , saludos! Very Happy

_________________
koreano escribió:
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".

Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".

Después es "después de FísicaII es cuestión de tiempo nomás".

No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR

[tex]\mathit{Noventa}\ \mathit{y}\ \mathit{dos}\ \mathit{coma}\ \mathit{nueve}\ \mathit{}\ \mathit{}[/tex]

Aries Género:Masculino Gallo OfflineGalería Personal de GranadaVer perfil de usuarioEnviar mensaje privado
Guido_Garrote
Moderador


Edad: 33
Registrado: 14 Oct 2007
Mensajes: 3319
Ubicación: AHÍ!
Carrera: Civil
haiti.gif
MensajePublicado: Lun Ago 29, 2011 12:14 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cómo almacenas la información?

_________________
Image

Piscis Género:Masculino Serpiente OcultoGalería Personal de Guido_GarroteVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuarioMSN Messenger
Granada
Nivel 9


Edad: 29
Registrado: 16 Ago 2011
Mensajes: 1325

Carrera: Química
CARRERA.quimica.3.jpg
MensajePublicado: Lun Ago 29, 2011 12:33 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

las variables? las notas las puse como word, el nombres y apellido como string y el promedio como real...

no se si era lo que preguntabas.

_________________
koreano escribió:
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".

Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".

Después es "después de FísicaII es cuestión de tiempo nomás".

No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR

[tex]\mathit{Noventa}\ \mathit{y}\ \mathit{dos}\ \mathit{coma}\ \mathit{nueve}\ \mathit{}\ \mathit{}[/tex]

Aries Género:Masculino Gallo OfflineGalería Personal de GranadaVer perfil de usuarioEnviar mensaje privado
Guido_Garrote
Moderador


Edad: 33
Registrado: 14 Oct 2007
Mensajes: 3319
Ubicación: AHÍ!
Carrera: Civil
haiti.gif
MensajePublicado: Lun Ago 29, 2011 12:40 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Chico_Granada escribió:
las variables? las notas las puse como word, el nombres y apellido como string y el promedio como real...

no se si era lo que preguntabas.


Pero los guardas en un vector o cómo? qué tenés del programa?

_________________
Image

Piscis Género:Masculino Serpiente OcultoGalería Personal de Guido_GarroteVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuarioMSN Messenger
Bistek
Nivel 8



Registrado: 07 May 2010
Mensajes: 691

Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Lun Ago 29, 2011 12:49 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

la manera de resolverlo es crearte un tipo enumerado que indique las condiciones posibles del alumno, por ejemplo una variable llamada condicion

type
condicion = (APROBADO, RECURSA, RECUPERA);


Luego de que calculás toda la sarasa, dependiendo tu resultado le asignas a tu variable "condicion" uno de los 3 posibles valores definidos.

Después no es mas que hacer un case

case (condicion) of:
'APROBADO': writeln ('blabla1');
'RECURSA': writeln ('balbal2');
'RECUPERA': ....;


O también, a lo negro, con If anidados sale, pero es muy poco elegante y el nivel de negricidad crece exponencialmente con el número de condiciones posibles que tengas.


 Género:Masculino  OcultoGalería Personal de BistekVer perfil de usuarioEnviar mensaje privado
Granada
Nivel 9


Edad: 29
Registrado: 16 Ago 2011
Mensajes: 1325

Carrera: Química
CARRERA.quimica.3.jpg
MensajePublicado: Lun Ago 29, 2011 12:55 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Guido_Garrote escribió:
Chico_Granada escribió:
las variables? las notas las puse como word, el nombres y apellido como string y el promedio como real...

no se si era lo que preguntabas.


Pero los guardas en un vector o cómo? qué tenés del programa?



tengo esto hasta ahora


Program CURSO;
uses crt;

const
p=100;

var

nombre, apellido : string[15];
parc_teo1, parc_teo2, parc_prac1, parc_prac2, recup : word;
: char;
prom_pract, prom_teo, : real;

begin
clrscr;
writeln('CURSO COMPUTACION 2011');

{INGRESO DE DATOS POR EL TECLADO}
writeln;
writeln;

write('Ingrese el nombre del alumno: ');
readln( nombre );
write('Ingrese el apellido: ');
readln( apellido );
writeln;
write<Ingrese>;
writeln;
write<'Primer parcial teórico: '>;
readln < parc_teo1);
write<'Segundo parcial teórico: '>;
readln <parc_teo2>;
writeln;
write<'Primer parcial práctico: '>;
readln <parc_prac1>;
writeln;
write ('Segundo parcial práctico: '>;
readln <parc_prac2>;
writeln;
write<'Recuperatorio parte práctica: '>;
readln <recup>;
writeln;
writeln;

{RESOLUCION}

if parc_teo1

_________________
koreano escribió:
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".

Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".

Después es "después de FísicaII es cuestión de tiempo nomás".

No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR

[tex]\mathit{Noventa}\ \mathit{y}\ \mathit{dos}\ \mathit{coma}\ \mathit{nueve}\ \mathit{}\ \mathit{}[/tex]

Aries Género:Masculino Gallo OfflineGalería Personal de GranadaVer perfil de usuarioEnviar mensaje privado
Granada
Nivel 9


Edad: 29
Registrado: 16 Ago 2011
Mensajes: 1325

Carrera: Química
CARRERA.quimica.3.jpg
MensajePublicado: Lun Ago 29, 2011 1:04 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Bistek escribió:
la manera de resolverlo es crearte un tipo enumerado que indique las condiciones posibles del alumno, por ejemplo una variable llamada condicion

type
condicion = (APROBADO, RECURSA, RECUPERA);


Luego de que calculás toda la sarasa, dependiendo tu resultado le asignas a tu variable "condicion" uno de los 3 posibles valores definidos.

Después no es mas que hacer un case

case (condicion) of:
'APROBADO': writeln ('blabla1');
'RECURSA': writeln ('balbal2');
'RECUPERA': ....;


O también, a lo negro, con If anidados sale, pero es muy poco elegante y el nivel de negricidad crece exponencialmente con el número de condiciones posibles que tengas.



Gracias señor informatico Smile
igual soy un queso con esto, pero tengo una idea masomenos...
pero ese 'aprobado' lo tendria que asignar previamente a algo asi?

( suma de notas...)/4 := promedio;

y otra vez la laguna mental Sad

_________________
koreano escribió:
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".

Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".

Después es "después de FísicaII es cuestión de tiempo nomás".

No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR

[tex]\mathit{Noventa}\ \mathit{y}\ \mathit{dos}\ \mathit{coma}\ \mathit{nueve}\ \mathit{}\ \mathit{}[/tex]

Aries Género:Masculino Gallo OfflineGalería Personal de GranadaVer perfil de usuarioEnviar mensaje privado
Bistek
Nivel 8



Registrado: 07 May 2010
Mensajes: 691

Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Lun Ago 29, 2011 1:35 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

El enunciado esta bastante choto porque no entiendo bien las condiciones en que queda el alumno, pero voy a suponer...

Vas a necesitar calcular dos promedios, uno para la parte teorica, y otro para la parte práctica. Eso lo haces con una función "calcularpromedio(nota1, nota2)" por ejemplo. El resultado se lo asignas por ejemplo a dos variables reales llamadas PT y PP (promedio teorica y promedio práctica, vos poné nombres claros).

Trato de interpretar el enunciado choto y calculo que pueden pasar 4 cosas:

Aprobado = si PT > 4 y PP > 4
RecuperaT = si PT <4> 4
RecuperaP = si PT > 4 y PP < 4
Recursa = si PT < 4 y PP <4

Sigo en el otro post porq no me deja escribir por algun motivo


 Género:Masculino  OcultoGalería Personal de BistekVer perfil de usuarioEnviar mensaje privado
Bistek
Nivel 8



Registrado: 07 May 2010
Mensajes: 691

Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Lun Ago 29, 2011 1:49 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

entonces podes anidar if tranquilamente, tenes 4 casos posibles

If (PT > 4) then
.....if (PP > 4) then
........hacerlo de aprobado
.....else
........hacer lo de recuperarP
else
......if (PT > 4) then
.........hacer lo de recuperarT
.......else
.........hacer lo de desaprobado


poniendo begin y end en cada if si le pones mas de una linea de codigo

(podés olvidar lo del enumerado, asi directo es mas simple)


 Género:Masculino  OcultoGalería Personal de BistekVer perfil de usuarioEnviar mensaje privado
Granada
Nivel 9


Edad: 29
Registrado: 16 Ago 2011
Mensajes: 1325

Carrera: Química
CARRERA.quimica.3.jpg
MensajePublicado: Lun Ago 29, 2011 2:24 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

clap clap clap! gracias!!!

_________________
koreano escribió:
Una de las mentiras mas grandes: "si pasás el CBC, el resto es barranca abajo".

Después es "cuando aprobás AlgebraII/AnalisisII es barranca abajo".

Después es "después de FísicaII es cuestión de tiempo nomás".

No te dejes engañar, ES UNA PAJA ESTO Y CADA VEZ PEOR

[tex]\mathit{Noventa}\ \mathit{y}\ \mathit{dos}\ \mathit{coma}\ \mathit{nueve}\ \mathit{}\ \mathit{}[/tex]

Aries Género:Masculino Gallo OfflineGalería Personal de GranadaVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.5732s ][ Pedidos: 20 (0.4905s) ]