Page 56 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 56
32 PROGRAMACIÓN Y SOFTWARE
La estructura CASE es una variante de este tipo de toma de decisiones (figura 2.4b).
En lugar de probar condiciones individuales, las ramificaciones dependen del valor de
una sola expresión de prueba. Según sea su valor, se presentarán diferentes bloques
de código. Además, si la expresión no toma ninguno de los valores previstos, se puede
proponer un bloque opcional (CASE ELSE).
Repetición. La repetición nos proporciona una manera de llevar a cabo instrucciones
repetidamente. Las estructuras resultantes, llamadas loops o ciclos, se presentan en dos
formas distintas que se diferencian por la manera en que terminan.
El primer tipo, y el fundamental, es el llamado loop de decisión debido a que ter-
mina basándose en el resultado de una condición lógica. La figura 2.5 muestra el tipo
general de loop de decisión, la construcción DOEXIT, también llamada loop de inte-
rrupción (break loop). Esta estructura realiza repeticiones hasta que una condición ló-
gica resulte verdadera.
En esta estructura no es necesario tener dos bloques. Cuando se omite el primer
bloque, a la estructura se le suele llamar loop de preprueba porque la prueba lógica se
realiza antes de que ocurra algo. Si se omite el segundo bloque, se le llama loop pos-
prueba. Al caso general, en el que se incluyen los dos bloques, se le llama loop de
prueba intermadia (midtest).
Hay que hacer notar que el loop DOEXIT fue introducido en Fortran 90 para tratar
de simplificar los loops de decisión. Esta estructura de control es parte estándar del
lenguaje VBA de macros en Excel; pero no forma parte estándar de C o de MATLAB,
que usan la estructura llamada WHILE. Como nosotros consideramos superior a la
estructura DOEXIT, la hemos adoptado en este libro como la estructura de loop de
decisión. Para que nuestros algoritmos se realicen tanto en MATLAB como en Excel,
mostraremos más adelante, en este capítulo (véase la sección 2.5), cómo simular el loop
de interrupción usando la estructura WHILE.
FIGURA 2.5
Loop DOEXIT Diagrama de flujo Seudocódigo
o de interrupción.
Bloque 1 DO
Bloque 1
IF condición EXIT
Verdadero Bloque 2
Condición ENDDO
?
Falso
Bloque 2
6/12/06 13:43:41
Chapra-02.indd 32
Chapra-02.indd 32 6/12/06 13:43:41

