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
El hombre de la estrella
Nivel 1



Registrado: 17 Abr 2009
Mensajes: 2


blank.gif
MensajePublicado: Vie Abr 24, 2009 2:32 am  Asunto:  Problema selectivas Responder citandoFin de la PáginaVolver arriba

HOLA ESTABA HACIENDO DOS PROBLEMAS CON EL TURBO PASCAL BIEN FACILES DE PASCAL Y RESULTA QUE ME FALLAN EN LA EJECUCION, CUANDO LO COMPILO NO HAY PROBLEMAS.

EL PRIMERO ME DICE QUE TENGO QUE DECIR SI UN NUMERO ES MAYOR,MENOR O IGUAL QUE 100. CUANDO LO EJECUTO PRUEBO CON EL NUMERO 4 Y ME DICE PRIMERO QUE ES MAYOR QUE 100 Y DESPUES QUE ES IGUAL A 100. LES PAS EL CODIGO A VER QUE ESTA MAL:

PROGRAM CIEN;
USES CRT;
VAR X:REAL;
BEGIN; CLRSCR;
WRITELN('INGRESE UN NUMERO REAL');
READLN(X);
IF (X>0) THEN WRITELN('EL NUMERO INGRESADO ES MAYOR QUE 100');
IF (X<0) THEN WRITELN('EL NUMERO INGRESADO ES MENOR QUE 100')
ELSE WRITELN('EL NUMERO INGRESADO ES IGUAL A 100');
READKEY;
END.


EL OTRO ES EL QUE TENES QUE PONER UN NUMERO DEL 1 AL 7 Y TE TIENE QUE ESCRIBIR EL DIA DE LA SEMANA CORRESPONDIENTE. CUANDO LO EJECUTO ESCRIBO EL NUMERO PONGO ENTER Y ME VUELVE A LA PANTALLA DEL CODIGO SIN DECISME NADA:

PROGRAM SEMANA;
USES CRT;
VAR X: INTEGER;
BEGIN;
CLRSCR;
WRITELN('INGRESE NUMERO DE 1 A 7');
READLN(X);
CASE X OF
1: WRITELN('EL DIA ES LUNES');
2: WRITELN('EL DIA ES MARTES');
3: WRITELN('EL DIA ES MIERCOLES');
4: WRITELN('EL DIA ES JUEVES');
5: WRITELN('EL DIA ES VIERNES');
6: WRITELN('EL DIA ES SABADO');
7: WRITELN('EL DIA ES DOMINGO')
ELSE;
WRITELN('ERROR');
READKEY;
END;
END.


SALUDOS SI PUEDEN AYUDARME LES AGRADEZCO.


   OfflineGalería Personal de El hombre de la estrellaVer perfil de usuarioEnviar mensaje privado
Gualicho
Nivel 8


Edad: 35
Registrado: 18 Sep 2007
Mensajes: 715
Ubicación: En el templo de Momo...
Carrera: Informática
blank.gif
MensajePublicado: Vie Abr 24, 2009 7:20 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

No lei muy bien el codigo, pero me da toda la impresion que el problema pasa por otro lado. Fijate si el error que te tira es "Runtime Error 200". En caso de serlo tenes que bajarte un patch. Si no es, postea el error que te tira.

Saludos.

_________________
"Por eso te pido (amigo desconocido), si ves a mi rock perdido, lo traigas por aqui!"

Cancer Género:Masculino Dragón OcultoGalería Personal de GualichoVer perfil de usuarioEnviar mensaje privadoEnviar email
facundo.olano
Nivel 8


Edad: 36
Registrado: 10 Ago 2006
Mensajes: 808
Ubicación: encadenado al ánima
Carrera: Informática
argentina.gif
MensajePublicado: Vie Abr 24, 2009 11:02 am  Asunto:  Re: Problema selectivas Responder citandoFin de la PáginaVolver arriba

El hombre de la estrella escribió:

IF (X>0) THEN WRITELN('EL NUMERO INGRESADO ES MAYOR QUE 100');
IF (X<0) THEN WRITELN('EL NUMERO INGRESADO ES MENOR QUE 100')

Estás comparando con 0 en vez de con 100.

En cuanto al otro, probá agrgando un par de readkeys más al final(o un readline mejor); capaz que ejecuta bien pero se cierra la pantalla en cuanto finaliza el programa.

_________________
Image Image

Geminis Género:Masculino Gato OfflineGalería Personal de facundo.olanoVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
Sid Bernard
Nivel 9


Edad: 35
Registrado: 20 Jul 2008
Mensajes: 1287
Ubicación: Al lado del Sub Esp. $ = <(TT,0,2+3i)(3,18,4)(0,0,e)>
Carrera: Electrónica y Informática
CARRERA.electronica.6.gif
MensajePublicado: Vie Abr 24, 2009 11:04 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

[quote="El hombre de la estrella"]HOLA ESTABA HACIENDO DOS PROBLEMAS CON EL TURBO PASCAL BIEN FACILES DE PASCAL Y RESULTA QUE ME FALLAN EN LA EJECUCION, CUANDO LO COMPILO NO HAY PROBLEMAS.

EL PRIMERO ME DICE QUE TENGO QUE DECIR SI UN NUMERO ES MAYOR,MENOR O IGUAL QUE 100. CUANDO LO EJECUTO PRUEBO CON EL NUMERO 4 Y ME DICE PRIMERO QUE ES MAYOR QUE 100 Y DESPUES QUE ES IGUAL A 100. LES PAS EL CODIGO A VER QUE ESTA MAL:

[code]PROGRAM CIEN;
USES CRT;
VAR X:REAL;
BEGIN; CLRSCR;
WRITELN('INGRESE UN NUMERO REAL');
READLN(X);
IF (X>0) THEN WRITELN('EL NUMERO INGRESADO ES MAYOR QUE 100');
IF (X<0>0) THEN WRITELN('EL NUMERO INGRESADO ES MAYOR QUE 100');
IF (X<0> 0 es obvio q hasta el 1 te va a decir q es mayor a 100...

entonces a los if los tenes q cambiar de esta manera

[code]PROGRAM CIEN;
USES CRT;
VAR X:REAL;
BEGIN; CLRSCR;
WRITELN('INGRESE UN NUMERO REAL');
READLN(X);
IF (X>100) THEN WRITELN('EL NUMERO INGRESADO ES MAYOR QUE 100');
IF (X<100) THEN WRITELN('EL NUMERO INGRESADO ES MENOR QUE 100');
IF (X = 100)WRITELN('EL NUMERO INGRESADO ES IGUAL A 100');
READKEY;
END.[/code]

con respecto al segundo esta bien lo q pasa es q tenes q hacer una ligera modificacion,

vos tenes esto

[code]PROGRAM SEMANA;
USES CRT;
VAR X: INTEGER;
BEGIN;
CLRSCR;
WRITELN('INGRESE NUMERO DE 1 A 7');
READLN(X);
CASE X OF
1: WRITELN('EL DIA ES LUNES');
2: WRITELN('EL DIA ES MARTES');
3: WRITELN('EL DIA ES MIERCOLES');
4: WRITELN('EL DIA ES JUEVES');
5: WRITELN('EL DIA ES VIERNES');
6: WRITELN('EL DIA ES SABADO');
7: WRITELN('EL DIA ES DOMINGO')
ELSE;
WRITELN('ERROR');
READKEY;
END;
END.[/code]


lo q pasa aca es como ubicaste el Readkey al final, lo q hace q cuando opera el soft se cierre automaticamente, vos lo tenes de esta manera:

[code].................
WRITELN('ERROR');
READKEY;
END;
END.[/code]

fijate q el readkey lo lee, pero como q no le da importancia xq entre el END; y el END. no tenes nada, entonces es como q ese READKEY nunca lo pusiste.

Por lo tanto cambialo de lugar de esta manera:

[code].................
WRITELN('ERROR');
END;
READKEY;
END.[/code]

y ahi vas a ver q el programa va a funcionar lo mas bien y tu codigo final quedaria asi...

[code]PROGRAM SEMANA;
USES CRT;
VAR X: INTEGER;
BEGIN;
CLRSCR;
WRITELN('INGRESE NUMERO DE 1 A 7');
READLN(X);
CASE X OF
1: WRITELN('EL DIA ES LUNES');
2: WRITELN('EL DIA ES MARTES');
3: WRITELN('EL DIA ES MIERCOLES');
4: WRITELN('EL DIA ES JUEVES');
5: WRITELN('EL DIA ES VIERNES');
6: WRITELN('EL DIA ES SABADO');
7: WRITELN('EL DIA ES DOMINGO')
ELSE;
WRITELN('ERROR');
END;
READKEY;
END.[/code]


Espero q hayas entendido...

Saludos!

_________________
WINDOWS Y C# FTW!!!!-WINDOWS Y C# FTW!!!!-WINDOWS Y C# FTW!!!!

[tex]\ll[/tex][tex]${\Large \definecolor{forestgreen}{rgb}{0.13,0.55,0.13} \color{forestgreen} [S]iD [B]eRnArD!}$ [/tex][tex]\gg[/tex] [tex] ${. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ .}$ [/tex] [tex]\color{blue} "\mathbf{\mathit{The\, Music\, Rules\, The\, World}}" [/tex]

SOY ACERISTA Y QUE!!!!!

Virgo Género:Masculino Dragón OfflineGalería Personal de Sid BernardVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
Freddy
Nivel 8


Edad: 34
Registrado: 29 Oct 2008
Mensajes: 630
Ubicación: Lanús
Carrera: Sistemas
blank.gif
MensajePublicado: Vie Abr 24, 2009 11:15 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Mira, en el primer programa esta pasando lo siguiente:

En la parte de los if, pusiste dos estructuras selectivas independientes. El primer if evalua que el numero sea mayor a 100. El segundo if evalua que el numero sea menor a 100. Pero si no es menor a 100 (o sea, si es mayor o igual) te dice que es igual. Ademas, estas comparando con 0, no con 100

Lo que te conviene poner en lugar de eso es:

If (x>100) then
writeln ('El numero es mayor a 100')
else if (x<100) then
writeln ('El numero es menor a 100')
else
writeln ('El numero es igual a 100');

Así tendria que funcar sin problema.

En el segundo programa:

PROGRAM SEMANA;
USES CRT;
VAR X: INTEGER;
BEGIN;
CLRSCR;
WRITELN('INGRESE NUMERO DE 1 A 7');
READLN(X);
CASE X OF
1: WRITELN('EL DIA ES LUNES');
2: WRITELN('EL DIA ES MARTES');
3: WRITELN('EL DIA ES MIERCOLES');
4: WRITELN('EL DIA ES JUEVES');
5: WRITELN('EL DIA ES VIERNES');
6: WRITELN('EL DIA ES SABADO');
7: WRITELN('EL DIA ES DOMINGO')
ELSE;
WRITELN('ERROR');
READKEY;
END;

END.

Ahi donde te marque hay un error en la sintaxis y en el orden de las cosas.
despues del 7: ------ iría
Else (sin punto y coma)
writeln ('Error');
End; (termina el case)
Readkey;
End.

Si pones despues de un if o un else una instruccion con ; te compila unicamente esta instruccion perteneciente al if o al else. El resto lo compila como parte del programa. Para eso pone todo entre begin y end.
Despues, el readkey va afuera de toda estructura, antes de poner el end.
Si pones el readkey dentro del else, la pantalla solo permanece estatica si no ingresaste un numero entre 1 y 7. Si no, vuelve de una al codigo tan rapido que no ves nada.


Capricornio Género:Masculino Serpiente OfflineGalería Personal de FreddyVer perfil de usuarioEnviar mensaje privadoEnviar emailMSN Messenger
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.2117s ][ Pedidos: 20 (0.1658s) ]