[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