🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Romper 2 bucles a la vez en C

#6816
From: Piojo
Date: Tue, 06 May 2003 20:53
49 lines
2969 bytes
> Revisen los libros, el goto es necesario en los c�digos de maquinas,
> ya que en la emplementaci�n de los if then else, en c�digo intermedio
> de los compiladores se representa con puros goto, pero eso es algo de
> compiladores y es una mala idea usarlo en C ya que el goto es algo
> orientado a Basic, y esta orientado a ense�anza no a desarrollo, creo
> que
> se debe mira el goto en C, o google "goto  kernighan" o esta direcci�n
>
http://www.google.cl/search?q=cache:IcH5zyeQYE4C:www.lysator.liu.se/c/bwk-tutor.html+goto++kernighan+ritchie&hl=es&ie=UTF-8
> 
> secci�n 27, :D espero que con esto se les olvide o los persuada de no
> ocupar gotos.... el titulo es "Horrors! goto's and labels" Bueno el
> titulo
> dice todo ^.-.^  <3(o-o)E>
> 
S�. Pero cito de esa misma secci�n:
-------------------------------------------------------
 Another use is to implement a break out of more than one level of for
or while. 
-------------------------------------------------------

Y eso es JUSTO de lo que trata este hilo. ;)

Adem�s, una estructura de c�digo tipo

if (hago_algo) {
        if (hago_algo_mas) {
                if (hago_mas_aun)
                ...
                else 
                        muchas_correcciones;
        }
        else
                correcciones;
}
else
        a_tomar_por_culo;


Para unos pocos niveles de indentaci�n es aceptable. Pero para muchos se
va demasiado a la derecha, convirti�ndose en algo totalmente ilegible. 
Por no hablar de ineficiente. En ese caso, es aceptable aplanar esa
estructura con gotos.

Naturalmente, todo esto es absolutamente anecd�tico. 
Moraleja: aunque los gotos tengan muy pocos usos leg�timos, es
conveniente aprender a distinguirlos. ;)

Saludos.
Technical Details
Message-ID: <b99e2j$5n4$1@news.ya.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!news.ya.com!yacom!not-for-mail
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> <3EB28D35.2D8125E6@terra.es> <3EB2A671.F527D86C@yale.cl>

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-06 15:48:03 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!news.ya.com!yacom!not-for-mail
From: Piojo <mailingpiojo@ya.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Romper 2 bucles a la vez en C
Date: Tue, 06 May 2003 22:53:02 +0200
Organization: ya.com internet factory
Lines: 49
Message-ID: <b99e2j$5n4$1@news.ya.com>
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> <3EB28D35.2D8125E6@terra.es> <3EB2A671.F527D86C@yale.cl>
NNTP-Posting-Host: 80-25-211-52.adsl.ya.com
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
X-Trace: news.ya.com 1052261267 5860 80.25.211.52 (6 May 2003 22:47:47 GMT)
X-Complaints-To: newsmaster@ya.com
NNTP-Posting-Date: Tue, 6 May 2003 22:47:47 +0000 (UTC)
User-Agent: KNode/0.7.2