Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
Al resolver problemas de programación existen tareas complejas que para ser resueltas requieren
repetir una misma acción varias veces o realizar diferentes acciones en función del valor de una
expresión. Para resolver situaciones como las mencionadas se disponen de las estructuras de
control.
Una estructura de control tiene un punto único de entrada y un punto único de salida y se compone
de sentencias o de otras estructuras de control que permiten mediante la manipulación de
variables, constantes y operaciones realizar procesos específicos para solucionar problemas.
Existen tres tipos fundamentales de estructuras de control:
Secuenciales
Alternativas
Repetitivas
Una estructura secuencial está formada por operaciones de entrada, asignación y salida.
Ejemplo
1. c = 0
2. Leer a
3. Leer b
4. c a + b
5. Escribir c
En este ejemplo se puede apreciar que no existen bifurcaciones y las instrucciones se repiten estrictamente en
orden secuencial, una detrás de otra.
El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como muestra de una estructura
secuencial. Ahora veremos los componentes que pertenecen a ella:
Asignación
La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será
reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente
forma:
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta
instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso
se representa así como sigue:
La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o
dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta
operación se representa así:
La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables
que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es.
Contador: ENTERO
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
Edad, I: ENTERO
Direccion : CADENA_DE_CARACTERES
Salario_Basico : REAL
Opcion : CARACTER
En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario_Basico es
una variable de tipo real, Opcion es de tipo carácter y la variable Direccion está declarada como una variable
alfanumérica de cadena de caracteres.
CONSTANTE Pi 3.14159
CONSTANTE Msg “Presione una tecla y continue”
CONSTANTE Altura 40
si(<expresión_logica>) entonces
<bloque_de_instrucciones>
fin_si
Ejemplo 1
Elabore un algoritmo que dado un número entero determine e imprima si el número leído es mayor
de 10.
Solución
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
si(<expresión_logica>) entonces
<bloque_de_instrucciones_1>
sino
<bloque_de_instrucciones_2>
fin_si
Ejemplo 2
Elaborar un algoritmo que ingrese la edad de una persona y determine e imprima si la persona
puede votar (Edad es mayor o igual a 18 años) en cuyo caso debe imprimir el mensaje “El
ciudadano puede votar” en caso contrario debe emitir el mensaje “El ciudadano es menor de edad,
no puede votar”.
Solución
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
segun_sea(<expresión_lógica>)
<opción_1>:<bloque_de_instrucciones_1>
<opcion_2>:<bloque_de_instrucciones_2>
<opcion_3>:<bloque_de_instrucciones_3>
…
<opcion_n>:<bloque_de_instrucciones_n>
[de otro modo:<bloque_de_instrucciones_dom]
fin_segun_sea
Ejemplo 3
Escriba un algoritmo que dado un número entero del uno al diez determine e imprima su valor en
números romanos.
Solución
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
Mientras
Repetir Hasta
Para
ESTRUCTURAS DE CONTROL
mientras(<expresión_lógica>) hacer
<bloque_de_instrucciones>
fin_mientras
Por tanto, cuando el flujo de un algoritmo llega a un bucle mientras, existen dos posibilidades:
1. Si la condición evaluada esa falsa, el bloque de instrucciones no se ejecuta, y el bucle
mientras finaliza sin realizar ninguna iteración y se va a la siguiente instrucción después del
fin_mientras.
2. Si la condición evaluada es verdadera, el bloque de instrucciones sí se ejecuta y después se
vuelve a evaluar la condición para decidir, de nuevo, si el bloque de instrucciones se vuelve a
ejecutar o no. Y así sucesivamente, hasta que la condición sea falsa.
La ruptura de control de una sentencia mientras se hace con contador o variable centinela
(bandera).
Se utiliza la ruptura con contador cuando conocemos de antemano cuántas veces se va a ejecutar el
ciclo.
En ambos casos, para garantizar que el ciclo o bucle se ejecute al menos una vez debemos
inicializar adecuadamente el contador o la variable centinela de tal manera que la condición sea
verdadera al evaluarla por primera vez.
Ejemplo 4
Elabore un algoritmo que lea el nombre y sexo de 10 estudiantes. Si el estudiante es del sexo
femenino se debe emitir el mensaje “Estudiantes es Mujer” sino se debe emitir el mensaje “El
estudiante es hombre”.
Solución
En este caso usaremos la ruptura del bucle con contador ya que conocemos de antemano cuántas
iteraciones se deben hacer.
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
Ejemplo 5
Escriba una algoritmo que dada la cedula y nota de la materia Algoritmo y Programación de un
grupo de estudiantes determine e imprima cuantos estudiantes aprobaron y cuantos reprobaron.
Solución
En este caso no sabemos cuántas veces se debe ejecutar el ciclo, porque nos dicen “…de un grupo
de estudiantes…”, por lo tanto usaremos ruptura de control con datos centinela.
Una vez que procesemos los datos de alumno, debemos preguntar si existen otros alumnos por
procesar y la respuesta a esta pregunta se almacena en la variable centinela con la cual se evalúa la
condición nuevamente.
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
Note que antes de ingresar al ciclo mientras, preguntamos si existen alumnos y capturamos la
respuesta en la variable resp, en caso de que existan alumnos el usuario pulsará “S” y ENTER lo
que garantiza que se ejecute el ciclo. Si el usuario pulsa “N” el ciclo no se ejecutará nunca.
Permite ejecutar un bloque de instrucciones al menos una vez y luego se evalúa una expresión
lógica y si su resultado es verdadero se repetirá la ejecución de ese mismo bloque de instrucciones.
En pseudocódigo para escribir una estructura repetitiva repetir_hasta se utiliza la siguiente
sintaxis:
repetir(
<bloque_de_instrucciones>
hasta(<expresión_lógica>)
Ministerio del Poder Popular de Educación Universitaria
Universidad Politécnica Territorial de Caracas “Mariscal Sucre”
PNF en Informática | Algoritmos y Programación | Prof. Rafael Matos
ESTRUCTURAS DE CONTROL
La expresión lógica no se evalúa hasta el final con lo cual el bucle se ejecuta al menos una vez por
contraposición a la estructura repetir_mientras que podía no ejecutarse ninguna vez.
Ejemplo 6
Solución
ESTRUCTURAS DE CONTROL
Donde:
<índice>: Es una variable que controlará la ejecución del ciclo, generalmente se utilizan las
letras i y j para identificar a estas variables, aunque se puede utilizar cualquier
nombre.
<valor_inicial>: Es el valor inicial asignado al índice, generalmente es 1.
<valor_final>: Es el valor final asignado hasta donde se incrementará o decrementará el índice
<paso>: Es una constante que puede ser positiva o negativa. Cuando es positiva se le suma
el valor de <paso> al <índice> y cuando es negativa DEC se le resta. Si no se usa
<paso> se asume que se incrementa 1 al índice.
Ejemplo 7
Elaborar un algoritmo que nos permita calcular la suma de los 10 primeros números naturales (N).
Dando el resultado por pantalla.
Solución