Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. Estructuras de programación.............................................................................2
2.1. Estructura de secuencia...............................................................................3
2.2 Estructura de decisión..................................................................................4
2.2.1 Decisión simple..........................................................................................5
2.2.2 Decisión múltiple:......................................................................................7
2.3. Estructura de repetición............................................................................10
2.3.1 Ciclo exacto:..............................................................................................10
2.3.2 Ciclo inexacto:..........................................................................................13
Resumen Estructuras de programación..........................................................17
Conceptos básicos de Programación
2. Estructuras de programación
En los lenguajes de alto nivel se programa con las instrucciones que entiende
la máquina abstracta que proporciona el lenguaje. Por ejemplo, en nuestros
programas utilizaremos una instrucción para ingresar datos desde el teclado, y
almacenar esos datos en alguna parte de la memoria, haciendo abstracción de
todos los mecanismos involucrados en esa tarea. No nos interesan esos
detalles, ya que los resuelve el traductor.
Ejemplo 1
Dados dos números que se ingresan por teclado, calcular e informar la suma
suma=a+b
suma
Ejemplo 2
base
altura
superficie=base*altura /2
superficie
En ambos ejemplos cada uno de los bloques tienen una sola entrada y una
sola salida, y su distribución permite fácilmente entender el orden de
ejecución. Un diagrama como el que sigue no respeta la estructura de
secuencia
base altura
superficie =base*altura /2
superficie
V Condición F
a evaluar
Acciones si Acciones si
verdadero falso
Ejemplo 1
n1
n2
n1>n2
n1 n2
F
Ejemplo 2:
Construir un algoritmo que determine e informe si un número A es múltiplo
de otro B.
resto=a%b
resto= = 0
“Es múltiplo”
Variable a analizar
Acciones si no es Valor1,
Acciones si Valor 1 Acciones si Valor 2 Acciones si Valor 3
ni Valor 2, ni Valor 3
La decisión múltiple permite que el programa elija uno entre varios (dos o
más) cursos probables de acción. El curso de acción que se seleccione
dependerá del valor que contenga la variable que se utilice como selectora.
La variable “selectora” se ubica en el triángulo superior del diagrama; luego se
compara el valor contenido por ésta con las constantes que se sitúan
inmediatamente después del triángulo superior (representadas
genéricamente como Valor 1, Valor 2, etc), ejecutándose las acciones que se
encuentren bajo el valor constante que coincida con el de la selectora. Si el
valor de la selectora no coincide con ninguno de los existentes, se ejecutarán
las instrucciones contenidas bajo la etiqueta default.
1 2 3 default
Ejemplo 2:
Hacer un programa para ingresar dos números, y luego realizar las acciones
que se detallan de acuerdo con las siguientes opciones:
- La suma de los dos números si se presiona la tecla 1 luego del ingreso
de los dos números.
- La resta del primero menos el segundo si se presiona la tecla 2 luego
del ingreso de los dos números.
- El producto de los dos números si se presiona la tecla 3 luego del
ingreso de los dos números.
P
n1
n2
opc
opc
1 2 3 default
Dentro del rectángulo que enmarca el ciclo exacto se colocan las instrucciones
que se quieren ejecutar de manera repetitiva. Dentro del círculo se establece
la cantidad de veces que las instrucciones se repetirán, de acuerdo a lo
siguiente:
Variable de control
Valor inicial de la
variable de control
Incremento de la
variable de control
Condición a
evaluar
masde20=0
edad
i
edad>20
i=1 i<=40 i++
masde20=masde20+1
Dentro del ciclo exacto pide el ingreso de un valor de edad, se pregunta si ese
valor es mayor a 20, y si la respuesta es Verdadero incrementa en 1 el valor de
masde20.
Al finalizar el ciclo, cuando i tenga como valor 41 y por lo tanto 41<40 Falso, se
informará la leyenda “La cantidad de alumnos de más de 20 años es: “, y el
valor que contenga masde20.
Proposición lógica
Instrucción o conjunto de
instrucciones
a ejecutar
masde20=0
edad
edad!=0
edad >20
masde20=masde20+1
edad
Al finalizar el ciclo, cuando edad tenga como valor 0 y por lo tanto edad!=0
Falso, se informará la leyenda “La cantidad de alumnos de más de 20 años es:
“, y el valor que contenga masde20.
fin=0
masde20=0
fin==0
edad
edad!=0
edad>20 fin=1
masde20=masde20+1
Esta resolución no usa directamente el valor de edad para finalizar, sino otra
variable (fin) a la que se le asignan 2 valores arbitrarios (0 como valor inicial, y
1 para diferenciarlo del anterior y conseguir que el ciclo se termine). Al
detectar un valor de edad igual a 0 se cambia el contenido de fin a 1, y el
programa se termina, ya que la proposición lógica que controla el ciclo se
convierte en falsa (1==0 Falso).
En todos los casos en que se utilice un ciclo inexacto, debe asegurarse que de
alguna manera el programa consiga que la proposición lógica se vuelva falsa;
caso contrario estaremos en presencia de un ciclo infinito. Un ciclo infinito no
puede formar parte de un algoritmo, ya que uno de las requisitos que se le
exigen a un algoritmo es que tenga fin.
Estructura de secuencia
La estructura secuencial establece el orden en el que se ejecutarán las
instrucciones. Todo programa es un conjunto ordenado de instrucciones. El
orden de ejecución está determinado por la ubicación de cada instrucción.
Estructura de decisión
Estructura de repetición
La estructura de repetición (o iteración) permite que una instrucción o un
conjunto de instrucciones se ejecuten de manera repetitiva, o en un ciclo. La
cantidad de veces que las instrucciones se repetirán está condicionada por el
conocimiento o no de la cantidad de datos a analizar, lo que da lugar a dos
formas distintas de implementación práctica de la estructura de repetición.