Pascal/Turbo Pascal - Como puedo regresar al programa principal?

 
Vista:

Como puedo regresar al programa principal?

Publicado por Luis (5 intervenciones) el 11/03/2001 06:31:08
Hola de nuevo, quisiera saber que instruccion utilizo para regresar de un procedimiento al programa principal. Por ejemplo:

Cuando tengo:

Procedure comparar;
Begin
if r=nil then
begin
... <- Si mi condicion se cumple en esta
... comparacion me regrese de end; inmediato al programa principal.
else .
begin .
... .
end; .
........ <-Para evitar que se ejecuten estas
........ instrucciones.....
.......
End;

En Turbo C en la funcion le agregaba nada mas return y me regresaba al programa principal pero en el pascal no he podido encontrar alguna instruccion similar.......
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo regresar al programa principal?

Publicado por Maverick01 (27 intervenciones) el 11/03/2001 07:01:25
Para salir de un procedimiento lo que tienes que hacer es utilizar la instrucción EXIT, esto te regresa al nivel superior.
HALT te rompe la ejecución de tu programa desde donde esté.

Ojalá y te funcione
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo regresar al programa principal?

Publicado por Cris (29 intervenciones) el 11/03/2001 10:24:04
No tienes que hacer nada, que pasa cuando tu haces esto en c:

void loquesea(){
....
}

void main(){
loquesea();
}

no necesitas usar return para retornar al programa principal, el return no sirve para eso, simplemente para devolver algo, un entero, un arreglo, un objeto, y cuando usas void no retornas nada, y sin embargo regresa al principal al terminar el modulo.
Lo mismo para pascal, hay funciones, que retornan algo, y procedimientos que no retornan nada.

simplemente mandas llamar a la funcion y listo :

procedure hazalgo;
begin
...
end;

procedure hazotracosa;
begin
...
end;

begin
hazalgo;
hazotracosa;
end.

Espero que te haya servido, si tienes otra duda, puedes escribirme

Saludos
Cristina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo regresar al programa principal?

Publicado por Maverick01 (27 intervenciones) el 13/03/2001 00:09:38
Bueno, ya leí las respuestas que te enviaron, la verdad es que las tres formas hacen lo mismo, salvo una cosa, que si en tu función o procedimiento, por algún motivo tienes que romper tu ejecución y retornar al nivel superior, tienes que utilzar el EXIT que te indiqué.
Lo que te contestó Cris (creo que si fue ella) es para cuando termina tu procedimiento su trabajo y lo que te indicó Diego es una forma de estructurar tu procedimiento para otra opción, te recuerdo que este es un lenguaje altamente estructurado y el uso de saltos ( goto <etiq.> ), que no está prohibido, simplemente le restan potencia a tu código y te limita en cuanto a funcionalidad, además de que se ve poco elegante ;p

Ok??

Suerte, y cualquier duda, colocala en este foro, Ok??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo regresar al programa principal?

Publicado por Diego Romero (282 intervenciones) el 12/03/2001 01:15:46
Creo entender tu pregunta y no es tan sencilla como parece. Lo que tienes que hacer es analizar la estructura de tu programa para que no sea necesario poner un salto incondicional (eso no está "permitido" en programación estructurada) va un ejemplo.

procedure comparar;
var
...
begin
...
if r=nil then
begin
end
else
begin
end;
if r<>nil then
begin
{Intrucciones que quieres evitar si r=nil}
end;
end;

begin
comparar;
end.

el ejemplo que planteas ademas es un poco "tonto" si me permites :) , ya que si quieres evitar que se ejecuten instrucciones si y solo si r no es igual a nil (r<>nil) pues ponlas en el else del if.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar