0% encontró este documento útil (0 votos)
73 vistas9 páginas

Estructuras de Control en Programación

La unidad 4 del documento aborda las estructuras de control en programación, que permiten tomar decisiones y controlar el flujo de ejecución de un programa según condiciones lógicas. Se explican las estructuras 'Si...Entonces' y 'Según', así como la anidación de estas estructuras para resolver problemas complejos. Se incluyen ejemplos prácticos que ilustran cómo implementar estas estructuras para evaluar condiciones y mostrar resultados en función de las entradas del usuario.

Cargado por

jiadev85
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas9 páginas

Estructuras de Control en Programación

La unidad 4 del documento aborda las estructuras de control en programación, que permiten tomar decisiones y controlar el flujo de ejecución de un programa según condiciones lógicas. Se explican las estructuras 'Si...Entonces' y 'Según', así como la anidación de estas estructuras para resolver problemas complejos. Se incluyen ejemplos prácticos que ilustran cómo implementar estas estructuras para evaluar condiciones y mostrar resultados en función de las entradas del usuario.

Cargado por

jiadev85
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación

Unidad 4: Estructuras de control

"Controlar la complejidad es la esencia de la programación"

-- Brian Kernigan
Estructuras de Control
Hasta ahora, en todos los ejemplos que vimos sólo podíamos asignar valores y realizar
operaciones con esos valores, pero qué sucede si para mostrar el resultado (la salida) de nuestro
programa debo tomar alguna decisión. Por ejemplo, en la unidad temática anterior pudimos
calcular la nota promedio de una materia de un alumno, pero... ¿Si tuviésemos que imprimir por
pantalla el mensaje “Materia aprobada” o “Materia desaprobada” según el promedio haya sido
mayor o menor a 6? Las estructuras de control nos permiten resolver problemáticas como la
planteada.

Las estructuras de control, nos permiten controlar el flujo de ejecución del programa, es decir,
permiten que el programa tome distintos caminos según se cumplan ciertas condiciones. Estas
condiciones deben ser expresiones lógicas, expresiones que arrojan un resultado Verdadero o
Falso (true o false).

En el caso planteado, nuestra condición a evaluar sería “¿El valor de promedio es mayor a 6?”,
en caso Verdadero (true) el programa debería mostrar “Materia aprobada”, en caso contrario
debería mostrar “Materia desaprobada”.

Estructura de control “Si...Entonces”


Esta estructura de control posee dos alternativas. La más simple posee la siguiente forma:

Pseudocódigo Diagrama de Flujo

Si (condición) Entonces

acción_1;

….

acción_N;

Fin Si;

34
¿Cómo funciona esta estructura de control?

Cuando dentro de un programa se alcanza una sentencia “Si...Entonces”, se evalúa la condición


que se encuentra entre paréntesis. Si el resultado de esta evaluación es Verdadero (true)
entonces se ejecutará la o las acciones que se encuentre dentro de este bloque. Si el resultado
de evaluar la condición es Falso (false) entonces no se ejecutarán las acciones que están dentro
del bloque.

Veamos un ejemplo para clarificar:

Problema: “Ingresar un número entero. Si el número es mayor a 0 (cero) imprimir por pantalla la
leyenda ‘Número mayor a 0’. Si es menor a 0 (cero) imprimir por pantalla la leyenda ‘Número
menor a 0’. Si es igual a 0 (cero) imprimir por pantalla la leyenda ‘Número igual a 0’. ”

1 Proceso ValorIngresado
2
3 Definir numero como Entero;
4
5 Mostrar “Ingrese un número: “;
6 Leer numero;
7
8 Si ( numero > 0 ) Entonces
9 Mostrar “Número mayor a 0“;
10 Fin Si
11
12 Si ( numero < 0 ) Entonces
13 Mostrar “Número menor a 0“;
14 Fin Si
15
16 Si ( numero == 0 ) Entonces
17 Mostrar “Número igual a 0“;
18 Fin Si
19 FinProceso

En este ejemplo, dependiendo del número ingresado por el usuario se mostrará un mensaje u
otro. Es decir, si el número es 4 sólo se mostrará el mensaje “Número mayor a 0“. Los otros
mensaje no se mostrarán ya que 4 no es menor a 0 (cero) ni tampoco es igual a 0 (cero).

La segunda alternativa de la estructura “Si...Entonces”, nos permite ejecutar algunas acciones en


caso de que NO se cumpla la condición evaluada. A esta alternativa la podemos llamar
“Si...Entonces...Sino”. Esta alternativa tiene la siguiente forma:

35
Pseudocódigo Diagrama de Flujo

Si (condición) Entonces

acción_1;
….
acción_N;

Sino

acción_x;
….
acción_z;

Fin Si;

En este caso, cuando se alcanza una sentencia “Si...Entonces...Sino”, se evalúa la condición que
se encuentra entre paréntesis. Si el resultado de esta evaluación es Verdadero (true) entonces se
ejecutarán las acciones acción_1...acción_N; mientras que si el resultado de evaluar la condición
es Falso (false) entonces se ejecutarán las acciones acción_x...acción_z.

Veamos un ejemplo para clarificar:

Problema: “Ingresar la nota de un alumno. En caso de que la nota sea mayor o igual a 6,
mostrar por pantalla el mensaje ‘Materia aprobada’ . En caso contrario mostrar por pantalla el
mensaje ‘Materia desaprobada’ ”

1 Proceso Materia
2
3 Definir nota como Real;
4
5 Mostrar “Ingrese la nota del alumno: “;
6 Leer nota;
7
8 Si ( nota >= 6 ) Entonces
9 Mostrar “Materia aprobada “;
10 Sino
11 Mostrar “Materia desaprobada “;
12 Fin Si
13 FinProceso

Condiciones múltiples

Independientemente de qué forma del Si estemos utilizando siempre podemos utilizar una
condición que evalúe varias cosas y no solamente un valor. Recordemos que las expresiones
pueden combinarse por lo cual mientras nuestra expresión genere un valor lógico (verdadero o
falso) se puede utilizar como condición en el Si.

Veamos un ejemplo con varias condiciones para clarificar:

36
Problema: “Ingresar las 2 notas de un alumno e informar por pantalla si aprobó la materia o no.
Para aprobar la materia el promedio debe ser mayor o igual a 6, y además debe haber
aprobado ambos exámenes”

1 Proceso Materia
2
3 Definir nota1 como Real;
4 Definir nota2 como Real;
5 Definir promedio como Real;
6
7 Mostrar “Ingrese la nota del 1er examen del alumno: “;
8 Leer nota1;
9
10 Mostrar “Ingrese la nota del 2do examen del alumno: “;
11 Leer nota2;
12
13 promedio = (nota1 + nota2) / 2;
14
15 Si ( nota1 >= 6 Y nota2 >= 6 Y promedio >= 6 ) Entonces
16 Mostrar “Materia aprobada “;
17 Sino
18 Mostrar “Materia desaprobada “;
19 Fin Si
20 FinProceso

Estructura de control “Según”


Esta estructura de control, nos permite seleccionar una entre múltiples alternativas a ejecutar.
Esta estructura es especialmente útil cuando la selección de la alternativa a ejecutar se basa en
el valor de una variable numérica.

La forma para escribir esta estructura es la siguiente:

37
Pseudocódigo Diagrama de Flujo

Segun variable_numérica Hacer

opción_1:
acción_w;

opción_2:
acción_k;

...

opción_N:
acción_m;

De Otro Modo:
acción_p;

Fin Segun;

¿Cómo funciona esta estructura de control?

Cuando dentro de un programa se alcanza una sentencia “Segun”, se evalúa la


variable_numérica para saber cuál es su valor y luego se compara dicho valor con cada una de
las etiquetas (opción_1, opción_2, …, opción_N). Si alguna de esas comparaciones es Verdadera,
entonces se ejecutarán las acciones de dicha etiqueta. Si el valor de la variable_numérica no
coincide con alguna de las etiquetas, entonces se ejecutarán las acciones agrupadas bajo la
etiqueta “De Otro Modo”.

Veamos un ejemplo:

Problema: “Ingresar un número entre 1 y 3. Mostrar por pantalla el número ingresado en letras.”

1 Proceso Materia
2
3 Definir numero como Entero;
4
5 Mostrar “Ingrese un número: “;
6 Leer numero;
7
8 Segun numero Hacer
9 1:
10 Mostrar “uno”;
11 2:
12 Mostrar “dos”;
13 3:
14 Mostrar “tres”;
15 De Otro Modo:
16 Mostrar “es otro número”;
17 Fin Segun
18 FinProceso

38
En este ejemplo, si el usuario ingresa el número 1 o el 2 o el 3, se mostrará el mensaje “uno”,
“dos” o “tres” respectivamente. Pero si el usuario ingresa el número 5, entonces se mostrará el
mensaje “es otro número” ya que 5 no es una opción válida en este caso.

Anidando estructuras
Todas las estructuras pueden combinarse y utilizarse en forma conjunta, es decir se puede
realizar un Si dentro de otro Si, o un Si dentro de una de las opciones del Segun, y así
infinitamente.

Es decir una estructura puede ser una de las sentencias que se ejecutan dentro de otra
estructura.

Veamos algunos ejemplos:

Problema: “Ingresar las 2 notas de un alumno e informar por pantalla si aprobó la materia o no.
Para aprobar la materia el promedio debe ser mayor o igual a 6, y además debe haber
aprobado ambos exámenes”

1 Proceso Materia
2
3 Definir nota1 como Real;
4 Definir nota2 como Real;
5 Definir promedio como Real;
6
7 Mostrar “Ingrese la nota del 1er examen del alumno: “;
8 Leer nota1;
9
10 Mostrar “Ingrese la nota del 2do examen del alumno: “;
11 Leer nota2;
12
13 promedio = (nota1 + nota2) / 2;
14
15 Si ( nota1 >= 6 Y nota2 >= 6) Entonces
16 Si (promedio >= 6) Entonces
17 Mostrar “Materia aprobada “;
18 Sino
19 Mostrar “Materia desaprobada: No alcanza el promedio”;
20 Fin Si
Sino
Mostrar “Materia desaprobada: No aprobó ambos exámenes “;
Fin Si
FinProceso

39
Como se ve en el ejemplo el segundo Si se evaluará sólo si se cumple la condición del primero.
De igual forma se podría poner otra estructura dentro del Sino.

40
Bibliografía utilizada
Luis Joyanes Aguilar, Ignacio Zahonero Martínez. Programación en C. Segunda
Edición. España: McGRAW-HILL/INTERAMERICANA DE ESPAÑA. S.A.U., 2005.
ISBN-84: 481-9844-1.

● Brian W. Kernighan, Rob Pike. La práctica de la programación. Pearson Educación.


Méjico (2000)

● Debugging with CodeBlocks:


http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks

También podría gustarte