manelgg | |
| 2007-03-24 17:31 - Respuestas: 3 - Tema nº: 2441158
Características: Windows XP Profesional, x.
Despues de saber como usar el "case", ahora tengo otro problema.
Bueno, lo q tengo es esto:
Writeln('Selecciona la incognita del problema, posicion inicial -1-, posicion final -2-...');
Readln(numero)
case numero of
1: Writeln('La incognita del problema es la posicion inicial');
2: Writeln('La incognita.... es la posicion final');
....
Asi todas las q son.
Bueno, yo lo q quiero es dentro de el (1), dentro del (2)... etc... poder poner mas Writeln y Readln para recojer los datos del problema y aplicar la formula correspondiente, y si pongo un Writeln o Readln despues del q ai puesto en el ejemplo, no me deja.
Alguna idea?:S:S:S es bastante urgente... y llevo muxo tiempo intentando i nada :S
| |
|
|
Hurricane | |
|
Re: Problema Programacion Turbo Pascal(otro xD) - 2007-03-24 17:51 - Respuesta 2
Sé más explícito. Danos un ejemplo de lo que quieres hacer (no es necesario que esté en Pascal. Puede ser en términos normales).
Saludos | |
|
|
manelgg | |
|
Re: Problema Programacion Turbo Pascal(otro xD) - 2007-03-24 18:06 - Respuesta 3
Oks xDD
El programa resuelve (o eso intenta) problemas sencillos fisicos cinematicos, concretamente MRU y MRUA.
En un principio, pense en utilizar un seguido de "if,then,else". Primero el programa pide que selecciones el tipo de problema: MRU(1) y MRUA(2).
Despues de esto, venia un IF numero=1 -> Has seleccionado el MRU... etc.
A continuacion, dentro de este apartado, te pedia que seleccionaras la incognita: posicion(1),tiempo(2)... y aqui enlazaba mas IF-THEN...
Al final, el programa funcionaba, pero los if,then,else no funcionaban y si pedias que la incognita era la velocidad(4), primero hacia como si tubiera q resolver la posicion(1), el tiempo... etc
Asi que intente utilizar "case".
Ahora mismo el programa es asi:
Writeln('Escribe el tipo de movimiento con el que quieres trabajar');
Writeln('MRU -1-, MRUA -2-');
Readln(numeroA);
IF
____NumeroA=1
THEN
____Writeln('Selecciona la incognita');
____Writeln('Posicion inicial -1-,Posicion Final -2-,Velocidad -3-...');
____Readln(numeroB)
______case numeroB of
________1: Writeln ('El elemento que quieres conocer es la posicion inicial');
________2: Writeln ('El elemento que quieres conocer es la posicion final');
... etc
Bueno, lo que yo quiero, es que despues del 1: Writeln('El elemento....); pedir los datos que da el problema a resolver y que son necesarios para aplicar la formula, es decir:
________1: Writeln ('El elemento que quieres conocer es la posicion inicial');
__________Writeln('Cual es la posicion final?');
__________Readln(xf);
__________Writeln('Cual es la velocidad?');
__________Readln(v);
__________ .....
__________Writeln('La posicion inicial es' aqui la formula);
Pero, TurboPascal no me lo acepta, y no se como se puede hacer esto :S | |
|
|
Hurricane | |
|
Re: Problema Programacion Turbo Pascal(otro xD) - 2007-03-24 20:24 - Respuesta 4
Los bloques de instrucciones dentro IF/THEN, CASE y otras instrucciones que comúnmente sean delimitadas por sólo una instrucción, debes delimitarlas con BEGIN y END. Ej:
IF NumeroA=1 THEN
__Begin
____Writeln('Selecciona la incognita');
____Writeln('Posicion inicial -1-,Posicion Final -2-,Velocidad -3-...');
____Readln(numeroB);
____case numeroB of
________1: Writeln ('El elemento que quieres conocer es la posicion inicial');
________2: Writeln ('El elemento que quieres conocer es la posicion final');
____end; {case}
__End; {IF}
Así mismo, para el caso de tu segundo ejemplo, debería quedar así:
________1:
__________Begin
_____________Writeln ('El elemento que quieres conocer es la posicion inicial');
_____________Writeln('Cual es la posicion final?');
_____________Readln(xf);
_____________Writeln('Cual es la velocidad?');
_____________Readln(v);
_____________ .....
_____________Writeln('La posicion inicial es' aqui la formula);
__________End; {Suponiendo aquí termina el Case/OF al comparar con el 1}
Saludos
| |
|
|
|