Autor |
Mensaje |
fgf
Nivel 2
Registrado: 20 May 2006
Mensajes: 10
|
|
Buenas a todos/as: Primero pido disculpas por si este tema no pertenece aquí. Si lo cambian de lugar, no hay problema.
Allí va mi pregunta: ¿Hay alguna diferencia que yo no vea entre estos dos códigos?:
/*------------------------------------
/* 1era opción
if (a==1)
{
do
{ bloque de codigo}
while (a==1)
}
else {}
/*----------------------------------
/*2da opción
do
{
if (a==1)
{bloque de codigo}
else
{}
}
while (a==1)
/*---------------------
La ideda es la siguiente: Quiero usar un do-while, pero quiero prevenir que se ejecute la primera iteración. Por eso uso el if con la misma condición que el do-while. La diferencia que yo veo es que en la 2a opción el 'if' se ejecuta en cada iteración, mientras que en la primera, el 'if' se ejecuta solo una ve. Esto me hacwe pensar que la primera opción es mejor. Ahora bien, ¿por qué hago esta pregunta tan tonta? Porque el manual del software que estoy usando (LABVIEW) recomienda la segunda opción para aquel que quiera usar un do-while sin que se ejecute la primera iteración de no ser neceesrio. Como imagino que los tipos que escribieron el manual saben más que yo es que pongo esta pregunta en el foro. ¿Qué ventaja puede haber en la segunnda opción que yo no veo?
Muchas gracias, chau
|
|
|
|
|
|
|
|
|
fgf
Nivel 2
Registrado: 20 May 2006
Mensajes: 10
|
|
Buenas a todos/as: Primero pido disculpas por si este tema no pertenece aquí. Si lo cambian de lugar, no hay problema.
Allí va mi pregunta: ¿Hay alguna diferencia que yo no vea entre estos dos códigos?:
/*------------------------------------
/* 1era opción
if (a==1)
{
do
{ bloque de codigo}
while (a==1)
}
else {}
/*----------------------------------
/*2da opción
do
{
if (a==1)
{bloque de codigo}
else
{}
}
while (a==1)
/*---------------------
La ideda es la siguiente: Quiero usar un do-while, pero quiero prevenir que se ejecute la primera iteración. Por eso uso el if con la misma condición que el do-while. La diferencia que yo veo es que en la 2a opción el 'if' se ejecuta en cada iteración, mientras que en la primera, el 'if' se ejecuta solo una ve. Esto me hacwe pensar que la primera opción es mejor. Ahora bien, ¿por qué hago esta pregunta tan tonta? Porque el manual del software que estoy usando (LABVIEW) recomienda la segunda opción para aquel que quiera usar un do-while sin que se ejecute la primera iteración de no ser neceesrio. Como imagino que los tipos que escribieron el manual saben más que yo es que pongo esta pregunta en el foro. ¿Qué ventaja puede haber en la segunnda opción que yo no veo?
Muchas gracias, chau
|
|
|
|
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
Me resulta medio confuso lo que querés hacer, pero, en este caso:
fgf escribió:
|
if (a==1)
{
do
{ bloque de codigo}
while (a==1)
}
else {}
|
No hay iteración...
(O sea, estoy asumiendo que A es un contador interno que varía al iterar.)
Esto se hace una vez para a=1 y otra para a!=1; punto.
Me parece que lo que querés hacer es algo más de la onda:
{bloque a=1}
for(a=2; a<...; a++)
{bloque a!=1}
O, si no:
flag = 1
while(xxxx) {
if(flag):
{codigo a =1;
flag = 0
continue;
}
{codigo a!=1}
}
Igual... preferiría que explicaras qué querés hacer más que tirar dos códigos. Ambas maneras que posteaste son bastante fuleras, y segurament se pueda esciribir de manera más elegante.
|
|
|
|
_________________
|
|
|
|
|
Rada
Moderador
Edad: 37
Registrado: 10 Abr 2006
Mensajes: 2728
Ubicación: Caballito
Carrera: Informática
|
|
|
|
|
fgf
Nivel 2
Registrado: 20 May 2006
Mensajes: 10
|
|
Qué tal:
La idea es que 'a' es el estado de una variable (más precisamente un botón). El programa dentro del do-while debe ejecutarse solamente cuando el estado de dicha variable es verdadero. Por fuera de todo esto, se está chequeando cada tanto el estado de la variable 'a'.
Perdón por publicar el mensaje dos veces, no se qué pasó. Para Rada, que me contestó en el otro posteo, le comento que el programa no dispone de estructura while, solo de do-while.
Muchas gracias, chau
|
|
|
|
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
fgf escribió:
|
Qué tal:
La idea es que 'a' es el estado de una variable (más precisamente un botón). El programa dentro del do-while debe ejecutarse solamente cuando el estado de dicha variable es verdadero. Por fuera de todo esto, se está chequeando cada tanto el estado de la variable 'a'.
Perdón por publicar el mensaje dos veces, no se qué pasó. Para Rada, que me contestó en el otro posteo, le comento que el programa no dispone de estructura while, solo de do-while.
Muchas gracias, chau
|
Si no tenés manera de hacerlo sin un do-while y la condición de la variable es externa, entonces la única forma que tenés es resolverlo como te dice el manual.
Como ya dije; la manera de la que planteaste vos siquiera es iterativa... cualquier cosa fijate de escribir el diagrama de flujo y te vas a dar cuenta.
(MODs: Por favor, hagan un merge entre este thread y el repetido.)
|
|
|
|
_________________
|
|
|
|
|
|
|
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 Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|
|
[ Tiempo: 0.4237s ][ Pedidos: 20 (0.3488s) ] |