Está en la página 1de 10

INSTITUTO TECNOLOGICO SUPERIOR DE SAN LUIS POTOSI CAPITAL

ANGEL DE JESUS TORRES MARQUEZ

UDI-06

RAFAEL DE LA CRUZ PEREZ

ESTRUCTURAS SELECTIVAS Y ESTRUCTURAS CICLICAS

ALGORITMOS Y LENGUAJES DE PROGRAMACION

24 DE AGOSTO DEL 2019

2
INDICE

1.- Sintaxis de c++

2.- Estructuras selectivas

2.1.- Simple

2.2.- Doble

2.3.- Anidada

2.4.- Múltiple

3.- Ciclos o bucles

3.1.- For

3.2.- While

3.3.- Do-Wile

4.- Problemas reales

5.- Conclusión

6.- Fuentes bibliográficas

2
Sintaxis de c++
La sintaxis de un lenguaje de programación es el conjunto de reglas que debemos seguir para que
el compilador sea capaz de reconocer nuestro programa como un programa C válido. Por ejemplo,
un programa debe tener el siguiente formato general:

main ()

Lista_de_sentencias

}
Esta regla nos dice que para que el compilador reconozca nuestro programa debemos escribir al
menos todas las palabras y signos que no están en letra cursiva. Las partes en cursiva se
reconocen usando otras reglas sintácticas. Estas reglas definen o dicen como debe ser una lista de
sentencias. Tales reglas nos dicen, por ejemplo, que la lista de sentencias puede estar vacía, por lo
que es un programa C perfectamente válido, que el compilador reconocerá sin problemas (aunque
no hará nada útil).

Una característica de la sintaxis del C es que los espacios en blanco y retornos de carro que
aparecen en las reglas sintácticas son opcionales. Esto quiere decir que nuestro programa de
ejemplo se puede escribir en una sola línea:

main(){printf("Hola",);printf(" soy ... educado.\n");}

Su sintaxis es perfectamente válida y funciona exactamente igual, aunque es más difícil de leer
para los humanos (no para el computador).

Por tanto, aunque el lenguaje no obliga a ello, se suele colocar una sentencia por línea y con
espacios de forma que el programa se pueda leer cómodamente.

Estructuras selectivas
Selectiva simple

Permite ejecutar una acción o grupo de acciones solo si se cumple una determinada condición, es
decir, donde la condición “C” es un grupo de condiciones a evaluarse. El bloque “A” representa la
operación o conjunto de operaciones a realizar si la condición “C” es verdadera.

2
También se puede decir que se evalúa la condición “C” si es verdadero (true) se ejecuta todas las
sentencias que están dentro de las llaves (en C++), hasta el Finsi (en pseudocódigo) para luego
continuar con la siguiente línea de código que esta después.

En caso que la condición “C” sea falsa (false) no se ejecutará las sentencias dentro de las llaves (en
C++), hasta el Finsi (en pseudocódigo), y el control pasa a la siguiente instrucción de programa (en
orden descendente).

Pedimos el número, lo leemos, ahora evaluamos la condición: si (el residuo del número entre tres
es cero) se ejecuta todas las sentencias que están dentro de los corchetes (en C++), hasta el Finsi
(en pseudocódigo), en el ejemplo solo tenemos una sentencia, pero se pueden poner más.

Selectiva doble
Permite seleccionar una ruta de dos posibles, en base a la verdad (V) o falsedad (F) de la
condición

2
Si (if) la condición es verdadera, se ejecutan las sentencias: {a1, a2, a3, …, an} , sino (else) se
ejecutarán las sentencias: {b1, b2, b3, …, bn}

Si la sentencia solo tiene una línea no es necesario poner llaves

Selectiva anidada
Una estructura de decisión puede estar anidada dentro de otra estructura de decisión, hay que
tener en cuenta que el anidamiento sea total.

Se debe mantener el concepto que una estructura de decisión debe tener una sola entrada y una
sola salida tanto para la estructura que anida como para la estructura anidada.

Selectiva múltiple (SWITCH)


El programa interpreta el valor de la variable almacenándolo en una zona de memoria temporal
(oculta). Después lo compara con el valor seguido de cada case, y si coincide, realiza el flujo de
acciones correspondientes, hasta encontrar un break, con el que finalizará el Switch. Es muy
importante saber que, en el momento en el que se realiza la accionI (para I < N), se ejecutarán
todas las acciones entre I y N mientras no se encuentre la instrucción break.

Con la nomenclatura anterior, el Switch se puede asemejar a este otro algoritmo basado en if y for:

2
Ciclos o Bucles
Ciclo for
Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o simplemente
estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar una o varias
líneas de código de forma iterativa, conociendo un valor especifico inicial y otro valor final, además
nos permiten determinar el tamaño del paso entre cada "giro" o iteración del ciclo.

En resumen, un ciclo for es una estructura de control iterativa, que nos permite ejecutar de manera
repetitiva un bloque de instrucciones, conociendo previamente un valor de inicio, un tamaño de
paso y un valor final para el ciclo.

Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo, supongamos que
queremos mostrar los números pares entre el 50 y el 100, si imaginamos un poco como seria esto,
podremos darnos cuenta que nuestro ciclo deberá mostrar una serie de números como la
siguiente: 50 52 54 56 58 60 ... 96 98 100. Como podemos verificar, tenemos entonces los
componentes necesarios para nuestro ciclo for, tenemos un valor inicial que sería el 50, tenemos
también un valor final que sería el 100 y tenemos un tamaño de paso que es 2 (los números
pares). Estamos ahora en capacidad de determinar los componentes esenciales para un ciclo for.

En efecto los ciclos for, son bastante útiles, sin embargo, desde el punto de vista de la eficiencia,
es recomendable evitarlos en la medida de lo posible, siempre que vayas a usar un ciclo for,
deberías preguntarte primero si es totalmente necesario o si existe una manera más efectiva de
hacerlo. Evidentemente habrá situaciones en las que será casi que imprescindible usar el ciclo for,
pues por algo existen. Está entonces en nuestra habilidad determinar cuándo usarlos y mejor aún
cómo usarlos de manera efectiva.

Ciclo while
Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo, imaginemos
que, por algún motivo, queremos pedirle a un usuario una serie de números cualquiera y que solo
dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como vemos, aquí no
podríamos utilizar un ciclo for, pues no tenemos ni idea de cuándo al usuario se le va a ocurrir
ingresar un número mayor que 100, es algo indeterminado para nosotros, sin embargo, el ciclo
while nos permite ejecutar una acción de forma infinita hasta que se cumpla alguna condición
específica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el
usuario nos ingresa de manera sucesiva los siguientes número 1,50,99, 49, 21, 30, 100 ..., nuestro
programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo, si nos
ingresara el número 300, el programa finalizaría inmediatamente.

La sintaxis de un ciclo while es incluso más simple y "legible" que la del ciclo for en C++, pues
simplemente requerimos tener clara una condición de parada. En realidad, en la mayoría de los
lenguajes de alto nivel la manera de escribir un ciclo while (la sintaxis) es incluso muy similar, así

2
que con tan solo tener bien clara una condición de finalización para el ciclo tendremos
prácticamente todo hecho.

Ciclo Do-While
Para comprender mejor el funcionamiento del ciclo while, usemos de nuevo el ejemplo de la
sección anterior sobre el ciclo while. Imaginemos entonces que, por algún motivo, queremos
pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el
usuario ingrese un número mayor a 100. Como vimos anteriormente, esto se puede hacer por
medio de un ciclo while, pero vamos ahora a ver como lo podemos hacer usando un ciclo do-while
mejorando así un poco nuestro algoritmo, evitando ciertos comandos, tal como se dijo con el ciclo
while, en efecto aquí estamos en la situación de no tener ni idea de cuándo al usuario se le va a
ocurrir ingresar un número mayor que 100, pues es algo indeterminado para nosotros, sin embargo
el ciclo while y en efecto el do-while nos permite ejecutar cierta acción de forma infinita hasta que
se cumpla alguna condición específica, en nuestro caso sería que el número ingresado sea mayor
a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes número 1,50,99,
49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es mayor que
100, sin embargo, si nos ingresara el número 300, el programa finalizaría inmediatamente.

Diferencias entre el ciclo do-while en C++ y el ciclo while


Cuando vemos por primera vez el ciclo do-while, se nos viene de inmediato la pregunta de cuál es
la diferencia entre un do-while y un while. Y no quedamos muy seguros de poder saber cuándo
usar uno u otro, así que aquí te explico.

La diferencia es que el do-while, primero ejecuta la acción y luego evalúa la condición, mientras
que el while evalúa la condición antes que cualquier cosa. Esto quiere decir, que el ciclo while
podría no ejecutar ni siquiera una vez lo que tenga en su interior, mientras que el do-while te
asegura que lo que pongas dentro se ejecute mínimo una vez, pues primero ejecuta y luego evalúa
la condición.

2
Problemas reales de ciclos
Ciclo for
el valor inicial para nuestro ciclo es el número 50 y el valor final es el 100, además, dado que
necesitamos los números pares vamos a ir de dos en dos, así que el tamaño del paso va a ser 2,
teniendo estos 3 componentes identificados, estamos listos para crear nuestro ciclo for así:

Ciclo Wile
queremos hacer que nuestro programa le pida a un usuario una serie de números cualquiera y que
solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100

Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe cumplir para que
el ciclo este pidiendo el número contantemente, el ciclo se va a detener solo cuando el número
ingresado sea mayor que 100, así que la condición para que se siga ejecutando es que el número
sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el número debe ser
mayor a 100, entonces para seguirse ejecutando el número debe ser menor o igual a 100,
veámoslo entonces.

2
Ciclo Do-Wile
Para solucionar esto, debemos tener clara cuál va a ser la condición que se debe cumplir para que
el ciclo este pidiendo el número constantemente. El ciclo se va a detener solo cuando el número
ingresado sea mayor que 100, así que la condición para que se siga ejecutando es que el número
sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el numero debe ser
mayor a 100, entonces para seguirse ejecutando el número debe ser menor o igual a 100

Conclusión
Todos los siclos son importantes, aunque hay unos más indispensables o prácticos para nosotros
dependiendo de nuestro propio criterio o lógica ya que en ocasiones puede que no los necesitemos
o en otras sean indispensables sea cual sea el caso debemos de conocerlos bien tanto cada una
de sus funciones como la manera correcta de como implementarlos

Fuentes bibliográficas
https://sites.google.com/site/lenguajecprogramacion/sintaxis-de-c

http://aprende-a-programar-ya.blogspot.com/2011/08/estructuras-selectivas.html

https://es.wikipedia.org/wiki/Switch_case

2
2

También podría gustarte