SELECCIÓN MÚLTIPLE
Como su nombre lo
indica, permite seleccionar entre varios caminos para llegar al final. En este
caso se pueden elegir un camino o acción a ejecutar de entre varios posibles
que se debe de evaluar, llamada selector. Sintaxis:
switch(selector)
{
case Etiqueta A:
Acción A;
break;
case Etiqueta B:
Acción B;
break;
case Etiqueta n:
Acción n;
break;
default:
Excepción;
break;
}
En donde:
Etiqueta: Tiene que ser del
mismo tipo de datos de
selecto. Estas deber ser constantes únicas y diferentes de otras.
Excepción: Es opcional.
CICLOS
Es muy común encontrar
en los programas operaciones que
se deben ejecutar un número repetido de veces en períodos más o menos
espaciados. Si bien las instrucciones son las mismas, los datos sobre los que
operan varían. A nuestro alrededor, encontramos problemas que
presentan esas características, por ejemplo: el cálculo de la
nota final de los estudiantes de Programación I, se realizará tantas veces como
alumnos hayan inscritos en dicha asignatura, el cálculo del salario de los
empleados de una empresa, etc.
En estos casos la solución que se diseñe para un solo grupo de datos
se debe repetir tantas veces como sea necesario.
Los cálculos simples o
la manipulación de pequeños conjuntos de
datos se pueden realizar fácilmente a mano, pero las tareas grandes o
repetitivas son realizadas con mayor eficacia por
una computadora, ya que
estas están especialmente preparadas para ello.
Para repetir varias
veces un proceso determinado
haremos uso de los ciclos repetitivos, a los cuales se les conoce con el nombre
de estructura repetitiva, estructura iterativa, lazo o bucle.
En C, podemos encontrar
tres tipos de ciclos:
· Entrada Asegurada (while)
· Ciclo Controlado Por Contador (for)
· Hacer Mientras (do.. while)
Este último, no está lógicamente estructurado, por
tanto no haremos mucho hincapié en él.
FUNCIONAMIENTO DE UN CICLO
Un ciclo, funciona de la siguiente manera: Evalúa una
condición de resultar cierta, realiza una acción o bloque de acciones, luego
vuelve a evaluar la condición y si nuevamente resulta cierta, realiza la (s)
acción (es). Cuando la condición de cómo resultado falso, se sale del ciclo y
continúa con la ejecución normal del programa.
ACUMULADOR:
Es una variable, que, como su nombre lo indica se
encarga de acumular valores. Esto se
vuelve muy útil, por ejemplo, cuando queremos encontrar la suma de los números
del 0 al 9, en el acumulador, vamos guardando los valores de
dichas cifras. Puede ser tanto real como entera. Su valor inicial, en la
mayoría de los casos es cero.
CONTADOR:
Es una variable de tipo entero, que nos ayuda, en el
programa a contabilizar el número de ejecuciones de una misma acción, de un
grupo de alumnos etc. Un acumulador tiene tres valores distintos:
· Valor Inicial: es el valor con el cual iniciamos nuestro contador.
Generalmente es cero. Esta asignación puede hacerse cuando se declara la
variable.
· Valor Final: después de la ejecución del ciclo, el valor del contador,
será distinto a su valor inicial, este puede ser mayo o menor que el mismo,
todo depende si fue una cuenta creciente o decreciente.
· Valor de Cambio: Es el
valor Constante, en el cual se irá incrementando nuestro
contador, este puede ser positivo o negativo; es decir, si la cuanta se realiza
de manera ascendente o descendente.
NOTA: el lector no debe confundirse entre las
variables tipo acumulador y tipo contador, estas se diferencian unas de otras
en que: los contadores, su valor de cambio es una constante, ya que aumenta y
disminuyen en el mismo valor, mientras que los acumuladores su valor de cambio
no es constante. Un acumulador necesariamente lo inicializamos con cero (o al
menos en la mayoría de los casos). Un contador puede iniciar con cualquier
valor.
BANDERA:
Las variables tipo bandera son aquellas que sólo
admiten dos valores: cierto o falso, true o false, hombre o mujer... etc
Ciclo de Entrada Asegurada
La sintaxis es la siguiente:
while(condición)
Acción;
Funciona de la siguiente manera: primero evalúa la
condición, si da como resultado cierta realiza la acción, luego vuelve a
evaluar la condición, si su resultado es falso, se sale del ciclo y continúa
con la ejecución del programa.
Hay que tener mucho cuidado, cuando trabajamos con
ciclos, ya que podemos caer en un ciclo infinito, es decir que nunca se sale de
él. Lo cual no es un error de sintaxis sino de lógica. Por lo cual en las
acciones debemos siempre colocar algo que haga que se modifique el resultado de
la condición, lo cual puede ser una bandera, un contador o un acumulador.
CICLO CONTROLADO POR CONTADOR
En algunas ocasiones, sabemos a ciencia cierta
el número de veces que se tiene que repetir una misma acción o bloque de
acciones. Y para ello es que nos sirve, esta estructura. Su sintaxis es la
siguiente:
for( valor
inicial; condición; incremento)
accion;
Donde:
Valor inicial: es el valor con el cual inicializamos
nuestra variable de control.
Condición: si la cumple, ejecuta la acción o acciones
e incrementa o decrementa la variable de control, sino la cumple la condición,
se sale del ciclo.
Incremento; que puede ser positivo o negativo
(decremento).
CICLO Do... while
Es te ciclo funciona de la siguiente manera, realiza
la acción o conjunto de acciones, luego evalúa una condición de resultar cierta
vuelve a realizar la/s accion/es. Cuando sea falsa, se sale del ciclo. Esta
estructura, no está lógicamente, estructurada, por ello, no hablaremos mucho,
sin embargo realizaremos un par de ejemplos, de este ciclo.
Formato :
do {
sentencia;
.
} while(<expL>);
La diferencia fundamental, entre el ciclo while y
do...while, es que en este ultimo, las sentencias se realizarán por lo menos
una vez, en cambio, con while, solo se cumplirán mientras se
cumpla la condición, lo cual puede ser nunca.