🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6889

Re: Romper 2 bucles a la vez en C

#6889
From: Horacio Miranda
Date: Fri, 02 May 2003 13:57
67 lines
3781 bytes
Vuelvo a mencionar, creo que ese bloque de c�digo debiera ser una funcion de
esa manera poner un return o un exit(0) para que se salga del buble completo.

Samuel ha escrito:

> El Fri, 2 May 2003 04:30:34 +0200, desorden
>  <nedrosed@yahoo.es> dijo:
> > En el siguiente art�culo, Seba F escribi�:
> >>
> >> No estoy de acuerdo con esto de tomar como un pecado mortal el uso del
> >> goto, ademas como dijeron en el mail anterior el uso del break, es un
> >> uso del goto camuflado. En algunos tipos de algoritmos un buen uso del
> >> goto disminuye considerablemente la cantidad de lineas de codigo y
> >> hasta hace mucho mas comprensible al algoritmo.
> >> Siempre y cuando tengamos en cuenta que el uso de case, break y goto
> >> no son eficientes a nivel compilacion, en determinadas situaciones su
> >> uso es razonable y pr�ctico.
> >>
> >
> > Depende del tipo de programaci�n, �no? En programaci�n estructurada los
> > bloques de c�digo se tienen que recorrer desde la primera l�nea hasta la
> > �ltima.
> >
> > Programar usando la sentencia goto est�... �anticuado?
> >
> > Un saludo...
>
> No si ya sab�a yo que �sto iba a salir ;-) ...
>
> Lo que est� anticuado es decir que "el goto est� anticuado" (ya ha
> llovido desde el "goto" considered "harmful"). Es l�gico
> que cada funci�n o bucle tenga _un solo punto de entrada_, pero lo que
> no lo es, es que tambi�n tenga que tener _un solo punto de salida_. De
> hecho en estos dos casos se usa return y break para salir y es m�s
> claro, m�s sencillo(KISS) y m�s eficiente.
>
> Para el caso de los dos bucles la soluci�n ideal es la de Perl, que te
> permite etiquetar los bucles y usarlos desde el next y last(equivalentes
> a continue y break).
>
> OUTER: for(;;){
>         INNER: for(;;){
>                 ...
>                 last OUTER;
>         }
> }
>
> El otro caso donde se suele usar el goto (y mucho), es en el manejo de
> situaciones de error (situaci�n que el propio Dijikstra admite en su
> "Goto Considered Harmful"). De nuevo, las situaci�n que resuelve eso de
> manera adecuada son las excepciones...
>
> Pero C no tiene ninguna de estas dos posibilidades, as� que o usas goto,
> o haces virguer�as. Es mi opini�n.
>
> Saludos
>
> Samuel
>
> --
> Samuel Mo�ux Salvador
> PGP Key pgp.rediris.es    -----         KeyID 0x822583C2

--
Atte, Horacio Miranda Aguilera

PostgreSQL.  Because life's too short to learn Oracle.    :)
Technical Details
Message-ID: <3EB27946.CA3418CD@yale.cl>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!snoopy.risq.qc.ca!newsfeed.news2me.com!newsfeeds.sol.net!nntp1.roc.gblx.net!nntp.gblx.net!nntp.gblx.net!nova.entelchile.net
References: <b8n8kd$bm3re$1@ID-146085.news.dfncis.de> <slrnbaur1q.ih.444398NOSPAM@tizona.dummy.net> <20030430205521.487.2.NOFFLE@BlackSpark.local> <403d26cd.0305011347.576e901e@posting.google.com> <slrnbb3m2a.q4.nedrosed@debianedrosed.org> <slrnbb48en.si.444398NOSPAM@tizona.dummy.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d2bd500edfc3d6fa
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-05-02 21:03:29 PST
Message-ID: <3EB27946.CA3418CD@yale.cl>
Date: Fri, 02 May 2003 09:57:26 -0400
From: Horacio Miranda <hmiranda@yale.cl>
X-Mailer: Mozilla 4.78 [es] (Win98; U)
X-Accept-Language: es
MIME-Version: 1.0
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Romper 2 bucles a la vez en C
References: <b8n8kd$bm3re$1@ID-146085.news.dfncis.de> <slrnbaur1q.ih.444398NOSPAM@tizona.dummy.net> <20030430205521.487.2.NOFFLE@BlackSpark.local> <403d26cd.0305011347.576e901e@posting.google.com> <slrnbb3m2a.q4.nedrosed@debianedrosed.org> <slrnbb48en.si.444398NOSPAM@tizona.dummy.net>
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: 200.72.213.105
X-Original-NNTP-Posting-Host: 200.72.213.105
X-Trace: nova.entelchile.net 1051886934 200.72.213.105 (2 May 2003 10:48:54 -0400)
Lines: 69
X-Original-NNTP-Posting-Host: 200.72.213.105
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!snoopy.risq.qc.ca!newsfeed.news2me.com!newsfeeds.sol.net!nntp1.roc.gblx.net!nntp.gblx.net!nntp.gblx.net!nova.entelchile.net