[C con Clase] Consulta

Steven Davidson srd4121 en njit.edu
Jue Jul 31 20:31:05 CEST 2008


Hola Otoniel,

Otoniel Calero Osejo wrote:
> queria ver si me podian ayudar pero ando buscando informacion acerca
> de lo que son las ramificaciones en programacion y su aplicacion en
> c... si no es mucha la molestia ayudenme porfa.

Supongo que con "ramificaciones" te refieres a "branching" en inglés y a 
los "saltos" que un programa suele hacer.

Un programa se compone de instrucciones o pasos a seguir. Este 
seguimiento o su ejecución se hace secuencialmente; o sea, la primera 
instrucción seguida de la segunda seguida de la tercera, y así 
sucesivamente. Esto describe el "flujo" normal de un programa.

Ahora bien, a veces nos interesa saltarnos una o varias instrucciones 
dentro de un programa, típicamente basándonos en alguna condición. 
Analizando el "flujo" del programa, vemos que estos saltos producen 
varias ramificaciones y potencialmente diferentes programas como resultado.

En la programación, nos interesa tener estratagemas para controlar estos 
saltos. Por ejemplo, algunos saltos controlados y populares son los 
siguientes:

1. Condicional: basándose en una condición, se bifurca la ejecución del 
programa que vuelve a unirse al final de tal estructura de control. Esto 
es, se ejecuta una serie de sentencias si la condición es válida u otra 
serie si la condición no la es. Al final, las bifurcaciones vuelven a su 
flujo "normal" en el programa. Esto es un claro ejemplo de 'if' e 'if/else'.

2. Bucles: se repiten varias instrucciones hasta que se produzca un 
salto fuera de tal bloques típicamente basado en la validez de una 
condición. Esto suele ser implementado con: 'for', 'while', y 
'do/while'. En Pascal, también tenemos 'repeat/until'.

3. Selección: basado en el valor de una sola variable, ejecutamos una 
serie de instrucciones u otra para luego saltar nuevamente a una 
unificación de las ramificaciones para poder continuar el flujo normal 
del programa. Esto es parecido a una serie de 'if/else'. En C/C++, 
tenemos 'switch/case' con 'break', mientras que otros lenguajes tienen 
otra implementación, como por ejemplo Pascal: 'case/of'.

4. Retorno o Regreso: al terminar la ejecución de una función, 
regresamos al punto de la llamada de tal función. En C/C++, usamos 
'return' implícita o explícitamente. Otros lenguajes usan otro término 
como 'gosub'.

También tenemos otros vocablos para producir saltos con poco control: en 
C/C++, tenemos 'break' y 'continue' o sin control alguno: el infame 
'goto' y etiquetas.


Sugiero consultar el capítulo 5 de nuestro curso de C++: 
http://c.conclase.net/curso/index.php?cap=005

Espero haber aclarado el tema.

Steven





Más información sobre la lista de distribución Cconclase