丝状疣是什么原因长出来的| 柠檬泡水喝有什么功效| 脖子粗大是什么病的症状| 50岁吃什么钙片补钙效果好| 老是打喷嚏是什么原因| 大学休学1年有什么影响| 红参有什么功效| 嗜睡乏力没精神容易疲劳是什么原因| 插班生是什么意思| 皮肤容易过敏是什么原因| 什么药治尿酸高最有效| 1218是什么星座| 上海话十三点是什么意思| 老公的爸爸称谓是什么| 缺铁性贫血的人吃什么补血最快| 脑供血不足吃什么食物好| 什么药降糖效果最好| 66大寿有什么讲究| 怜香惜玉是什么意思| 白头发吃什么维生素| 室间隔缺损是什么意思| 海鲜菇不能和什么一起吃| 肌酐高有什么症状| 孕检nt主要检查什么| 十二月十号是什么星座| 钢铁侠叫什么名字| 黑枸杞泡水喝有什么好处| cd ts 什么意思| 蚝油是什么做的| 头疼 吃什么药| 6合是什么生肖| 一流是什么意思| 国家的实质是什么| 愿闻其详是什么意思| 手舞足蹈是什么生肖| 早上醒来手麻是什么原因| 吃什么补铁快| 胆碱酯酶高是什么意思| 日代表什么生肖| 为什么胆固醇高| 什么都不需要| 对牛弹琴告诉我们什么道理| 头热手脚冰凉什么原因| 酉时是什么时候| 2b是什么意思| 古龙香水什么味道| 公招是什么意思| 胎儿股骨长是什么意思| 张飞穿针歇后语下一句是什么| 王字旁一个行念什么| 满满的回忆什么意思| 一蹴而就什么意思| 龙胆草长什么样| 人参长什么样| 子宫肌瘤是什么病| 男人吃秋葵有什么好处| 80年五行属什么| 福晋是什么意思| ooh什么意思| hoka跑鞋中文叫什么| 子宫痉挛是什么症状| 梦见生肉是什么征兆| 血压高会引起什么症状| 眼睛流泪用什么药| 血常规是检查什么的| 梦见被狼追是什么意思| 什么下奶最快最多| 什么水果去湿气效果最好| 雪藏是什么意思| 广东是什么气候| 35岁属什么的| 四月18号是什么星座的| 火花塞坏了有什么症状| 肾积水是什么原因| 饣与什么有关| 失眠为什么开奥氮平片| 维生素b12高是什么原因| 好样的什么意思| 非萎缩性胃窦炎是什么意思| 卤素灯是什么灯| 脸上长痣是什么原因| 冷敷眼睛有什么好处| 孩子过敏性咳嗽吃什么药好| 肺气肿用什么药| 吃猪皮有什么好处和坏处| 看到刺猬有什么预兆| 高血糖吃什么| hpv18阳性是什么意思| 11月7号是什么星座| 疣挂什么科| 西瓜有什么营养和功效| 手机的英文是什么| 军区司令是什么级别| 牙疼吃什么食物能缓解| 老是干咳什么原因| 健康证都查什么| 呦呦是什么意思| 才字五行属什么| 莫桑钻和钻石有什么区别| 51是什么意思| 湿热吃什么药| 袁崇焕为什么被杀| 什么叫高危行为| 医院可以点痣吗挂什么科| 迅雷不及掩耳之势是什么意思| 吃什么有助于排便| 打脚是什么意思| 老九门讲的是什么故事| 上热下寒吃什么中成药| 早泄挂什么科| 早晨起床手麻是什么原因| 9点到11点是什么经络| 吡唑醚菌酯治什么病| 牛字五行属什么| 今年71岁属什么生肖| 瘦脱相是什么意思| 10月5号是什么星座| 记忆力减退是什么原因造成的| 心影稍大是什么意思| 张靓颖什么星座| 淋巴细胞百分比偏低是什么意思| 藕断丝连是什么意思| 肾结石能吃什么水果| 镜花缘是什么意思| spa什么意思| 失眠多梦用什么药| 姑息性化疗什么意思| 隔离霜和bb霜有什么区别| 小乌龟吃什么食物| 阳痿吃什么中成药| 手串19颗代表什么意思| 盆腔积液什么症状| 虾不能和什么一起吃| 至多是什么意思| 行房时间短吃什么药| 手术后吃什么鱼伤口愈合快| 朱砂是什么意思| 鼠和什么属相相冲| 四月二十是什么星座| 固精是什么意思| 梦到别人给钱是什么意思| 木耳不能和什么食物一起吃| 什么自若| 12月17日什么星座| 练八段锦有什么好处| 甲钴胺治什么病| 蚊子喜欢什么血型的人| 送向日葵代表什么意思| 踮脚有什么好处| 宫颈糜烂是什么原因造成的| 菊花泡水喝有什么好处| 什么的武松| 后脑袋疼是什么原因| 经血粉红色是什么原因| 三道鳞是什么鱼| 灵芝什么人不能吃| 上火牙齿痛吃什么药| 5月23是什么星座| 甲亢病是什么病| 一个鸟一个木念什么| 绕梁三日是什么意思| 男性婚检都检查什么项目| 解神是什么意思| 什么叫假性发烧| 可乐不能和什么一起吃| 七星鱼吃什么食物| 平安夜送女朋友什么| 月字旁的字和什么有关| 水土不服是什么意思| 吃驼奶粉有什么好处| 长生不老是什么意思| 日落是什么时辰| 8000年前是什么朝代| 神经损伤是什么症状| 子宫癌有什么症状| 陋习什么意思| 排比句是什么意思| 胆汁反流吃什么药| 什么的黄瓜| simon什么意思| 医院查怀孕做什么检查| 布谷鸟是什么鸟| 足月是什么意思| 淋巴细胞降低说明什么| 五脏主什么| 天津有什么玩的| 急性肠胃炎是什么引起的| 乳酸杆菌是什么| 窦骁父母是干什么的| 阴道干燥是什么原因| halloween是什么意思| 吃桃胶有什么作用| 六味地黄丸什么功效| 下面有炎症用什么药| 经期肚子疼是什么原因| 什么是假性狐臭| 小鸟进屋有什么预兆吗| 小孩c反应蛋白高说明什么| 身上长癣是什么原因| 经常做梦是什么原因| 热淋是什么病| 马克定食是什么意思| 黄芪是什么味道| 大熊猫为什么有黑眼圈| 通奸是什么意思| 吕布的坐骑是什么| 迪丽热巴颜值什么水平| 2024年是属什么生肖| tvb为什么演员都走了| 女性胆固醇高吃什么| geforce是什么牌子| 婴儿枕头里面装什么好| 胰腺是什么病| 面试要带什么| 持续是什么意思| 江米是什么米| 间奏是什么意思| 耷拉是什么意思| 情有独钟什么意思| 头晕出虚汗是什么原因引起的| 蟑螂为什么叫小强| 梦见到处都是蛇预示着什么| 拉黑色大便是什么原因| 1948年属什么生肖| 传染性单核细胞增多症是什么病| 一什么场面| 包谷是什么意思| 妈妈弟弟的儿子叫什么| 因地制宜是什么意思| 胸小是缺少什么营养| 公安局跟派出所有什么区别| 耕田是什么意思| 容易长痣是什么原因| 什么是食品添加剂| 突然头晕恶心是什么原因| 什么车不能开| 悟空是什么意思| b27是什么检查| 三个火是什么字| 淋巴组织增生是什么意思| 日本投降是什么时候| 孕妇睡觉流口水是什么原因| 白羊跟什么星座最配| 烟雾病是什么病| 熬夜头疼是什么原因| 天津有什么好吃的| 口出狂言是什么生肖| 纤尘是什么意思| 雌二醇是什么意思| 腿凉是什么原因引起的| 不感冒什么意思| 儿童肚子痛吃什么药| 恶对什么| 为什么会呕吐| 疳积是什么意思| 李白属什么生肖的| 高锰酸钾是什么颜色| 豆浆和豆奶有什么区别| 脾胃伏火是什么意思| 前胸后背疼是什么病| 武则天墓为什么不敢挖| 小叶紫檀五行属什么| 西亚是什么人种| 伊犁在新疆什么位置| 百度Ir al contenido

虚构古董网上售 钱财到手便无踪古董

De Wikipedia, la enciclopedia libre
百度 所以要做到精准管理,必须精准掌握客舱中乘客和随身行李的重量,做到这点没别的办法,只能用秤称。

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora recurriendo únicamente a subrutinas y a tres estructuras de control básicas: secuencia, selección (if y switch) e iteración (bucles for y while); asimismo, se considera innecesario y contraproducente el uso de la transferencia incondicional (GOTO); esta instrucción suele acabar generando el llamado código espagueti, mucho más difícil de seguir y de mantener, además de originar numerosos errores de programación.

Surgió en la década de 1960, particularmente del trabajo de Corrado B?hm y Giuseppe Jacopini,[1]? y un famoso escrito de 1968: ?La sentencia goto, considerada perjudicial?, de Edsger Dijkstra.[2]? Sus postulados se verían reforzados, a nivel teórico, por el teorema del programa estructurado y, a nivel práctico, por la aparición de lenguajes como ALGOL, dotado de estructuras de control consistentes y bien formadas.[3]?

Elementos

[editar]

Estructuras de control

[editar]

Siguiendo el teorema del programa estructurado, todos los programas se ven como compuestos de estructuras de control:

  • Sequence: declaraciones ordenadas o subrutinas ejecutadas en secuencia.
  • Selection: una o varias instrucciones se ejecutan dependiendo del estado del programa. Esto generalmente se expresa con la palabra clave como if..then..else..endif. La declaración condicional debe tener al menos una condición verdadera y cada condición debe tener un punto de salida como máximo.
  • Iteration: una instrucción o bloque se ejecuta hasta que el programa alcanza un cierto estado, o se han aplicado operaciones a cada elemento de una colección. Esto generalmente se expresa con palabras clave como while, repeat, for o do..until. A menudo, se recomienda que cada bucle solo tenga un punto de entrada (y en la programación estructural original, también solo un punto de salida, y algunos lenguajes lo imponen).
  • Recursion: una declaración se ejecuta llamándose repetidamente a sí misma hasta que se cumplen las condiciones de terminación. Si bien en la práctica son similares a los bucles iterativos, los bucles recursivos pueden ser más eficientes desde el punto de vista computacional y se implementan de manera diferente como una pila en cascada.
Representación gráfica de los tres patrones básicos (secuencia, selección y repetición) utilizando diagramas NS (azul) y diagramas de flujo (verde).

Subrutinas

[editar]

Subrutinas son las unidades a las que se puede llamar, como procedimientos, funciones, métodos o subprogramas. Se utilizan para permitir que una sola declaración haga referencia a una secuencia.

Bloques

[editar]

Los bloques se utilizan para permitir que grupos de declaraciones se traten como si fueran una sola declaración. Los lenguajes "estructurados en bloques" tienen una sintaxis para encerrar estructuras de alguna manera formal, como una declaración if entre paréntesis. if..fi como en ALGOL 68, o una sección de código entre corchetes BEGIN..END, como en PL/I y Pascal, sangría de espacio en blanco como en Python, o las llaves {...} de C y relacionados de muchos lenguajes posteriores.

Orígenes de la programación estructurada

[editar]

A finales de los a?os 1970 surgió una nueva forma de programar que no solamente permitía desarrollar programas fiables y eficientes, sino que además estos estaban escritos de manera que se facilitaba su comprensión en fases de mejora posteriores.

El teorema del programa estructurado, propuesto por B?hm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

  • Secuencia.
  • Instrucción condicional.
  • Iteración (bucle de instrucciones) con condición inicial.

Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, estas pueden ser construidas mediante las tres básicas citadas.

Historia

[editar]

Fundamentación teórica

[editar]

El teorema del programa estructurado proporciona la base teórica de la programación estructurada. Se?ala que la combinación de las tres estructuras básicas, secuencia, selección e iteración, son suficientes para expresar cualquier función computable. Esta observación no se originó con el movimiento de la programación estructurada. Estas estructuras son suficientes para describir el ciclo de instrucción de una unidad central de procesamiento, así como el funcionamiento de una máquina de Turing. Por lo tanto, un procesador siempre está ejecutando un ?programa estructurado? en este sentido, incluso si las instrucciones que lee de la memoria no son parte de un programa estructurado. Sin embargo, los autores usualmente acreditan el resultado a un documento escrito en 1966 por B?hm y Jacopini, posiblemente porque Dijkstra había citado este escrito.[4]? El teorema del programa estructurado no responde a cómo escribir y analizar un programa estructurado de manera útil. Estos temas fueron abordados durante la década de 1960 y principio de los a?os 1970, con importantes contribuciones de Dijkstra, Robert W. Floyd, Tony Hoare y David Gries.

Debate

[editar]

El programador estadounidense P. J. Plauger (1944- ), uno de los primeros en adoptar la programación estructurada, describió su reacción con el teorema del programa estructurado:

Nosotros los conversos ondeamos esta interesante pizca de noticias bajo las narices de los recalcitrantes programadores de lenguaje ensamblador que mantuvieron trotando adelante retorcidos bits de lógica y diciendo, 'Te apuesto que no puedes estructurar esto'. Ni la prueba por B?hm y Jacopini, ni nuestros repetidos éxitos en escribir código estructurado, los llevaron un día antes de lo que estaban listos para convencerse.[5]?

Donald Knuth aceptó el principio de que los programas deben adaptarse con asertividad, pero no estaba de acuerdo (y aún está en desacuerdo)[cita requerida] con la supresión de la sentencia GOTO. En su escrito de 1974 ?Programación estructurada con sentencias Goto?, dio ejemplos donde creía que un salto directo conduce a código más claro y más eficiente sin sacrificar demostratividad. Knuth propuso una restricción estructural más flexible: debe ser posible establecer un diagrama de flujo del programa con todas las bifurcaciones hacia adelante a la izquierda, todas las bifurcaciones hacia atrás a la derecha, y sin bifurcaciones que se crucen entre sí. Muchos de los expertos en teoría de grafos y compiladores han abogado por permitir solo grafos de flujo reducible[?quién?][?cuándo?].

Los teóricos de la programación estructurada se ganaron un aliado importante en la década de 1970 después de que el investigador de IBM Harlan Mills aplicara su interpretación de la teoría de la programación estructurada para el desarrollo de un sistema de indexación para el archivo de investigación del New York Times. El proyecto fue un gran éxito de la ingeniería, y los directivos de otras empresas lo citaron en apoyo de la adopción de la programación estructurada, aunque Dijkstra criticó las maneras en que la interpretación de Mills difería de la obra publicada.[6]?

Habría que esperar a 1987 para que la cuestión de la programación estructurada llamara la atención de una revista de ciencia de la computación. Frank Rubin lo hizo en ese a?o, con el escrito: ??“La sentencia GOTO considerada da?ina” se considera da?ina??.[7]? A este le siguieron numerosas objeciones, como una respuesta del propio Dijkstra que criticaba duramente a Rubin y las concesiones que otros autores hicieron cuando le respondieron.

Resultado

[editar]

A finales del siglo XX, casi todos los científicos están convencidos de que es útil aprender y aplicar los conceptos de programación estructurada. Los lenguajes de programación de alto nivel que originalmente carecían de estructuras de programación, como FORTRAN, COBOL y BASIC, ahora las tienen.

Ventajas de la programación estructurada

[editar]

Entre las ventajas de la programación estructurada sobre el modelo anterior (hoy llamado despectivamente código espagueti), cabe citar las siguientes:

  • Los programas son más fáciles de entender, pueden ser leídos de forma secuencial y no hay necesidad de tener que rastrear saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica interna.
  • La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.
  • Se optimiza el esfuerzo en las fases de pruebas y depuración. El seguimiento de los fallos o errores del programa (debugging), y con él su detección y corrección, se facilita enormemente.
  • Se reducen los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.
  • Los programas son más sencillos y más rápidos de confeccionar.
  • Se incrementa el rendimiento de los programadores.

Lenguajes de programación estructurada

[editar]

Si bien es posible desarrollar la programación estructurada en cualquier lenguaje de programación, resulta más idóneo un lenguaje de programación procedimental. Algunos de los lenguajes utilizados inicialmente para programación estructurada incluyen ALGOL, Pascal, PL/I y Ada, pero la mayoría de los nuevos lenguajes de programación procedimentales desde entonces han incluido características para fomentar la programación estructurada y a veces, deliberadamente, omiten características[8]? en un esfuerzo para hacer más difícil la programación no estructurada.

Nuevos paradigmas

[editar]

Con posterioridad a la programación estructurada se han creado nuevos paradigmas tales como la programación modular, la programación orientada a objetos, la programación por capas y otras, así como nuevos entornos de programación que facilitan la programación de grandes aplicaciones y sistemas.

Desviaciones habituales

[editar]

Aunque goto ha sido sustituido en gran medida por las construcciones estructuradas de selección (if/then/else) y repetición (while y for), pocos lenguajes son puramente estructurados. La desviación más común, encontrada en muchos lenguajes, es el uso de una sentencia return para la salida temprana de una subrutina. Esto resulta en múltiples puntos de salida, en lugar del único punto de salida requerido por la programación estructurada. Hay otras construcciones para manejar casos que son incómodos en la programación puramente estructurada.

Salida temprana

[editar]

La desviación más común de la programación estructurada es la salida temprana de una función o bucle. A nivel de funciones, esto es una declaración de return. A nivel de bucles, esto es una declaración de break (terminar el bucle) o una declaración de continue (terminar la iteración actual y proceder con la siguiente). En la programación estructurada, estos se pueden replicar a?adiendo ramas o pruebas adicionales, pero para retornos desde código anidado, esto puede agregar una complejidad significativa. C es un ejemplo temprano y prominente de estos constructos. Algunos lenguajes más nuevos también tienen ?breaks etiquetados?, que permiten salir de más que solo el bucle más interno. Las excepciones también permiten la salida temprana, pero tienen consecuencias adicionales, y por lo tanto se tratan a continuación.

Las salidas múltiples pueden surgir por una variedad de razones, la mayoría de las veces porque la subrutina no tiene más trabajo que hacer (si devuelve un valor, ha completado el cálculo), o se ha encontrado con circunstancias ?excepcionales? que le impiden continuar, por lo que necesita un manejo de excepciones.

El problema más común en la salida anticipada es que las sentencias de limpieza o finales no se ejecutan - por ejemplo, la memoria asignada no se desasigna, o los archivos abiertos no se cierran, causando fugas de memorias o fugas de recursos. Esto debe hacerse en cada lugar de retorno. Esto debe hacerse en cada sitio de retorno, lo que es frágil y puede dar lugar fácilmente a errores. Por ejemplo, en un desarrollo posterior, una sentencia return podría ser pasada por alto por un desarrollador, y una acción que debería realizarse al final de una subrutina (por ejemplo, una sentencia trace) podría no realizarse en todos los casos. Los lenguajes sin sentencia return, como Pascal estándar y Seed7, no tienen este problema.

La mayoría de los lenguajes modernos proporcionan soporte a nivel de lenguaje para prevenir tales fugas;[9]? consulta la discusión detallada en gestión de recursos. Esto se hace comúnmente a través de la protección de desanudado, que asegura que cierto código se ejecute garantizado al salir de un bloque; esta es una alternativa estructurada a tener un bloque de limpieza y un goto. Esto se conoce más frecuentemente como try...finally, y se considera parte de manejadores de excepciones. En el caso de múltiples declaraciones de return, introducir try...finally sin excepciones puede parecer extra?o. Existen varias técnicas para encapsular la gestión de recursos. Un enfoque alternativo, encontrado principalmente en C++, es Resource Acquisition Is Initialization, que utiliza el desanudado normal de la pila (desasignación de variables) al salir de la función para llamar a destructores en variables locales y desasignar recursos.

Kent Beck, Martin Fowler y coautores han argumentado en sus libros sobre refactorización que los condicionales anidados pueden ser más difíciles de entender que un cierto tipo de estructura más plana utilizando múltiples salidas predicadas por cláusulas de guardia. Su libro de 2009 establece rotundamente que "un punto de salida realmente no es una regla útil. La claridad es el principio clave: si el método es más claro con un punto de salida, utiliza un punto de salida; de lo contrario, no lo hagas". Ofrecen una solución tipo "recetario" para transformar una función que consiste solo en condicionales anidados en una secuencia de declaraciones de retorno (o lanzamiento) protegidas, seguida de un bloque sin protección, que está destinado a contener el código para el caso común, mientras que las declaraciones protegidas deben tratar con los casos menos comunes (o con errores).[10]? Herb Sutter y Andrei Alexandrescu también argumentan en su libro de consejos de C++ de 2004 que el punto de salida único es un requisito obsoleto.[11]?

En su libro de texto de 2004, David Watt escribe que "los flujos de control de entrada única y múltiples salidas son a menudo deseables". Usando la noción del marco de Tennent de secuenciador, Watt describe uniformemente los constructos de flujo de control encontrados en los lenguajes de programación contemporáneos e intenta explicar por qué ciertos tipos de secuenciadores son preferibles a otros en el contexto de flujos de control de múltiples salidas. Watt escribe que los gotos sin restricciones (secuenciadores de salto) son malos porque el destino del salto no es autoexplicativo para el lector de un programa hasta que el lector encuentra y examina la etiqueta o dirección real que es el objetivo del salto. En contraste, Watt argumenta que la intención conceptual de un secuenciador de retorno es clara desde su propio contexto, sin necesidad de examinar su destino. Watt escribe que una clase de secuenciadores conocidos como secuenciadores de escape, definidos como "secuenciador que termina la ejecución de un comando o procedimiento que lo envuelve textualmente", abarca tanto los saltos de bucles (incluyendo saltos de múltiples niveles) como las declaraciones de retorno. Watt también se?ala que, aunque los secuenciadores de salto (gotoss) han sido algo restringidos en lenguajes como C, donde el objetivo debe estar dentro del bloque local o de un bloque exterior que lo envuelva, esa restricción por sí sola no es suficiente para hacer que la intención de los gotos en C sea autodescriptiva y, por lo tanto, aún pueden producir "código espagueti". Watt también examina cómo los secuenciadores de excepciones difieren de los secuenciadores de escape y de salto; esto se explica en la siguiente sección de este artículo.[12]?

En contraste con lo anterior, Bertrand Meyer escribió en su libro de texto de 2009 que instrucciones como break y continue "son solo el viejo goto disfrazado" y aconsejó enérgicamente en contra de su uso.[13]?

Referencias

[editar]
  1. B?hm, Jacopini. "Flow diagrams, turing machines and languages with only two formation rules" Comm. ACM, 9(5):366-371, May 1966, doi=10.1145/355592.365646
  2. Edsger Dijkstra (marzo de 1968). ?Go To Statement Considered Harmful?. Communications of the ACM (PDF) 11 (3): 147-148. doi:10.1145/362929.362947. ?"The unbridled use of the go to statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program". (El uso desenfrenado de la instrucción go to tiene como consecuencia inmediata que se vuelve terriblemente difícil encontrar un conjunto significativo de coordenadas para describir el progreso del proceso. ... La instrucción go to tal como está es simplemente demasiado primitiva, es una invitación demasiado grande a arruinar el propio programa.)?. 
  3. Clark, Leslie B. Wilson, Robert G.; Robert, Clark (2000). Comparative programming languages (3rd edición). Harlow, England: Addison-Wesley. p. 20. ISBN 9780201710120. Archivado desde el original el 26 de noviembre de 2015. Consultado el 25 de noviembre de 2015. 
  4. Dijkstra, 1968.
  5. P. J. Plauger (1993). Programming on Purpose (en inglés). PTR Prentice Hall. p. 20. ISBN 978-013-721-374-0. 
  6. In EWD1308, ?What led to "Notes on Structured Programming"?. , dated 10 June 2001, Dijkstra writes, "Apparently, IBM did not like the popularity of my text; it stole the term "Structured Programming" and under its auspices Harlan D. Mills trivialized the original concept to the abolishment of the goto statement."
  7. Frank Rubin (March 1987). ?"GOTO Considered Harmful" Considered Harmful?. Communications of the ACM 30 (3): 195-196. S2CID 6853038. doi:10.1145/214748.315722. Archivado desde el original el 20 de marzo de 2009. 
  8. GOTO for example
  9. Elder, Matt; Jackson, Steve; Liblit, Ben (octubre 2008), Code Sandwiches, Universidad de Wisconsin–Madison, 1647 .
  10. Jay Fields; Shane Harvie; Martin Fowler; Kent Beck (2009). Refactoring: Ruby Edition. Pearson Education. pp. 274-279. ISBN 978-0-321-60350-0. 
  11. Herb Sutter; Andrei Alexandrescu (2004). C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. Pearson Education. ISBN 978-0-13-265442-5. ?Ejemplo 4: Entrada única, salida única ("SESE"). Históricamente, algunos estándares de codificación han requerido que cada función tenga exactamente una salida, es decir, una declaración de retorno. Tal requisito es obsoleto en lenguajes que soportan excepciones y destructores, donde las funciones típicamente tienen numerosas salidas implícitas.? 
  12. Watt y Findlay, 2004, pp. 215–221.
  13. Bertrand Meyer (2009). Touch of Class: Learning to Program Well with Objects and Contracts. Springer Science & Business Media. p. 189. ISBN 978-3-540-92144-8. 

Bibliografía

[editar]

Véase también

[editar]

Enlaces externos

[editar]
血常规血红蛋白偏高是什么原因 次氯酸钠是什么 贝母和川贝有什么区别 什么床最环保没甲醛 尿失禁吃什么药
总做噩梦是什么原因 雄五行属什么 身上没力气没劲是什么原因 淋巴细胞百分比偏高是什么意思 男人为什么离不开情人
五点到七点是什么时辰 梦见木头是什么意思 痔疮吃什么 梦到打死蛇是什么意思 血糖高吃什么蔬菜
纵横四海是什么意思 乌龟不吃食是什么原因 骨质疏松症有什么症状 为什么体重一直下降 阴阳和合是什么意思
胸推什么意思hcv9jop5ns1r.cn 反流性食管炎吃什么药最有效hcv9jop7ns9r.cn 2b是什么意思hcv9jop5ns4r.cn 11五行属什么hcv9jop3ns8r.cn 六月份适合种什么菜yanzhenzixun.com
黄芪主治什么病hcv9jop6ns4r.cn 什么是韧带hcv9jop2ns4r.cn 痱子是什么样的hcv8jop9ns1r.cn 胚芽发育成什么hcv7jop6ns3r.cn 鸡婆什么意思hcv7jop9ns8r.cn
谷子是什么hcv7jop7ns1r.cn 2010属什么生肖0735v.com 眼睛胀痛什么原因hcv8jop2ns5r.cn 什么水不能喝脑筋急转弯hcv9jop2ns9r.cn 铁皮石斛治什么病hcv8jop6ns5r.cn
梦见小猫崽是什么意思hcv8jop9ns2r.cn 长期喝苦荞茶有什么好处hcv7jop5ns1r.cn 姓贾的男孩取什么名字好hcv8jop9ns0r.cn 心跳太快吃什么药hcv9jop3ns1r.cn 胸疼应该挂什么科hcv9jop1ns7r.cn
百度