Está en la página 1de 27

Secuenciales, condicionales y repetitivas

Las estructuras de control determinan la secuencia en la


que se ejecutarán las instrucciones de un programa.
Las estructuras de control se dividen en tres categorías
en función del flujo de ejecución:
» Estructuras secuenciales.
» Estructuras alternativas o condicionales.
» Estructuras iterativas o repetitivas.
La estructura secuencial está formada por una
secuencia de instrucciones que se ejecutan en orden
una a continuación de la otra.
Cada una de las instrucciones están separadas por el
carácter punto y coma (;). No obstante, en algunos
casos nos interesará agrupar en un bloque una serie de
instrucciones, como veremos al explicar las estructuras
de selección y de iteración. El bloque de sentencias se
define por el carácter llave de apertura ({) para marcar
el inicio del mismo, y el carácter llave de cierre (}) para
marcar el final.
Ejemplo:
{
instrucción 1;
instrucción 2;
instrucción 3;
.....
instrucción N;
}
Sin embargo, en caso de que el bloque de sentencias
este constituido por una única sentencia no es
obligatorio el uso de las llaves de apertura y cierre ({ }).
Las estructuras condicionales controlan si una sentencia
o bloque de sentencias se ejecutan, en función del
cumplimiento o no de una condición o expresión lógica.
C tiene dos estructuras de control para la
selección, if y switch.
La sentencia if permite evaluar una expresión lógica
para ejecutar o no una instrucción o bloque de
instrucciones
La sintaxis es:
if (condición_lógica)
{ sentencia | bloque de sentencias };
else
{ sentencia | bloque de sentencias };
Donde:
condición_lógica es una evaluación de verdad o variable de
tipo entero que puede tomar valores 1 o 0, entendiendo que
las sentencias solo se ejecutarán cuando la condición sea
verdadera (1)
Como complemento condicional de if en Java se cuenta
con la sentencia else, donde las sentencias
complementarias se ejecutarán cuando la condición sea
falsa

Ejemplo:
if (x==1)
{printf(“El valor es 1”);}
else
{printf(“El valor es diferente de 1”);};
Se pueden anidar varias sentencias if lo que implica
que la evaluación de una condición conduce a una
siguiente evaluación
La sintaxis es:
if (condición)
if (condición)
{ sentencia | bloque de sentencias };
else
{ sentencia | bloque de sentencias };
else
if (condición)
{ sentencia | bloque de sentencias };
else
{ sentencia | bloque de sentencias };
En general la regla dice que podemos tener N niveles de
if’s anidados cada uno de ellos con capacidad de
contener su correspondiente else, así mismo se pueden
anidar if’s a la parte correspondiente a tales else’s.
Como una buena práctica de programación y para evitar
confusiones entre los bloques anidados se sugiere utilizar
la indentación que nos brindan los tabuladores, con ello
facilitaremos la identificación del alcance de cada bloque.
Otra ayuda visual que nos da Code::Block es indicar en
color azul los pares de llaves que se corresponden en la
apertura y cierre de cada bloque cuando seleccionamos
alguna de ellas.
Escriba un programa que lea un número ingresado por
el usuario y diga si ese numero es par o impar y si ese
mismo numero es múltiplo de 3, 5, 7 y 9.
Después elevará el número al cuadrado y nuevamente
hará la misma evaluación.
El programa debe contener mensajes claros para el
usuario acerca de su ejecución.
Genere un programa en la cual haya el código para indicar
“Éxito” si logramos que el ratón en el centro del laberinto
llegue al queso, decidiendo entre derecha e izquierda el
usuario no conoce la forma del laberinto y solo puede
decidir entre derecha o
izquierda, si da una
vuelta incorrecta el
ratón toca la pared
electrificada y muere
La sentencia switch compara una variable con una
lista de constantes hasta encontrar la coincidencia y
se ejecuta la sentencia o bloque de sentencias
asociado
La sintaxis es: switch (variable)
{
case constante1:
secuencia_de_sentencias;
break;
case constante2:
secuencia_de_sentencias;
break;
...
case constanteN:
secuencia_de_sentencias;
break;
default
secuencia_de_sentencias;
}
Escriba un programa que pida una letra sin mostrarla en
pantalla, si se introduce una vocal que mande a pantalla
una palabra que empiece con esa letra si no es vocal que
mande el mensaje: “No es una vocal”
Escriba un programa que pida el promedio en valor entero
de un alumno en escala del 0 al 10 y de acuerdo a la
misma indicar:
10 Sobresaliente
9 Extraordinario
8 Bien
7 Mejorable
6 Suficiente
5-0 Reprobado
Las sentencias repetitivas en C son: while, do-while y
for, como su nombre lo indica producen ciclos
reiterados para solucionar alguna problemática
La sintaxis de while y do-while es la siguiente:
while (condicion)
{
sentencias;
}

do
{
sentencias;
}
while (condición)
En los ciclos while y do-while la iteración persiste
en tanto la evaluación de la condición sea
verdadera.
Sin embargo en el ciclo do-while se hace al menos
una iteración ya que la condición se evalua al final,
no así en la condicional de while donde podría no
darse ni siquiera una iteración si la condición de
entrada no se cumple.
La sintáxis del ciclo for es la siguiente:
for(valor_inicial;condición;incremento/decremento)
{
sentencias;
}
Ejemplo:
El operador ? Puede funcionar como un if
simplificado cuando se usa con printf, se
establece la condición, después el signo de
interrogación y después la opción a ejecutar
cuando sea cierta la condición y después
cuando sea falso
Ejemplo:
printf("\nSe indica 1 para Si o 0 para No %ds: ",(var=='S')?1:0);
Utilizando estructuras repetitivas escriba un programa que
imprima en pantalla el código ascii (de 33 a 255), dando un
tabulador entre cada código y generando el número de
columnas que el usuario indique, entre 1 y 10
Utilizando estructuras condicionales y repetitivas
escriba un programa que mande un menú recurrente a
pantalla que tenga 5 opciones:
1.- Suma
2.- Resta
3.- Multiplicación
4.- División
5.- Residuo
6.- Salir
Al seleccionar 1-5 pedir 2 números dobles y ejecutar la
opción solicitada al teclear 6 salir del programa
Están contenidas en la librería math.h nos permiten
realizar cálculos matemáticos, las funciones incluidas
son:
Función Calculo Función Calculo

fabs(x) Valor Absoluto de x ceil(x) Redondeo al entero superior

pow(x,y) Potencia de x elevado a y floor(x) Redondeo al entero inferior

sqrt(x) Raíz cuadrada de x exp(x) Exponencial ex x (e=2.71828)


sin(x) Seno de x log(x) Logaritmo de x

cos(x) Coseno de x Log10(x) Logaritmo base 10 de x

tan(x) Tangente de x atan(x) Arco tangente de x


Función Calculo Función Calculo

acos(x) Arco coseno de x tanh(x) Tangente hiperbólica de x

asin(x) Arco seno de x fmod(x,y) Residuo de la división de


flotantes
atan2(x,y) Arco tangente de dos frexp(x,y) Retorna la mantissa
parámetros
cosh(x) Coseno hiperbólico de x ldexp(x,y) Tamaño del exponente de un
valor en punto flotante
sinh(x) Seno hiperbólico de x modf(x,y) Obtiene un valor en punto
flotante íntegro y en partes
Escriba un programa que pida un numero x (entero) y un
numero y (flotante) y obtenga: el valor absoluto de x, el
coseno de una constante con valor pi, el numero x
elevado a y, el numero y redondeado al entero superior,
el logaritmo natural de x y el logaritmo base 10 de y, la
raíz cuadrada de x más y
El lenguaje C nos permite generar números aleatorios,
las funciones que lo hacen son: rand() y srand() que
están contenidas en stdlib.h
La función srand() genera la semilla que generará la
secuencia aleatoria su sintaxis es:
srand(time(NULL));
NOTA: Para usar la función time se debe incluir la
librería time.h
La función rand() nos generará los números aleatorios
la sintaxis es:
variable = rand();
Por defecto el valor máximo de números aleatorios está
establecido por la constante global RAND_MAX.
Si queremos establecer un valor máximo de valores
aleatorios podemos usar el módulo (%)
Ej. Para números entre 0 y 9
Variable = rand()%10;
Ejecute un programa que emule un par de dados
indicando cuanto sale en el primer dado y cuanto en el
segundo y que cuando salga algún par acumule un
contador, cuando se llegue a n pares que nos muestre el
una felicitación y el valor de la constante RAND_MAX, el
programa debe dejarnos tirar constantemente hasta que
pidamos la opción “Salir”

También podría gustarte