Professional Documents
Culture Documents
(1-2022) 10 - Inf120-Sa - Conocimientos Previos - 2.b. Estructuras de Control
(1-2022) 10 - Inf120-Sa - Conocimientos Previos - 2.b. Estructuras de Control
ESTRUCTURAS DE CONTROL
[1-2022] PROGRAMACION I - SA
Área personal
/ Mis cursos
/ [1-2022] INF120-SA
/ Inicio
/ Conocimientos previos
Conocimientos previos
Por hacer: Completa la actividad hasta el final
Por hacer: Recibir una calificación
Descripción de la lección
2.b.1
Secuencia
Dada una lista de instrucciones <instrucción 1>
<instrucción 2> ... <instrucción n> la estructura de SECUENCIA permite
la ejecución de dicha
lista en el orden en que aparecen las instrucciones, es
decir, se ejecuta primero la instrucción <instrucción 1> luego
la instrucción <instrucción
2>, y por último se ejecuta la
instrucción <instrucción n> La forma general de la
secuencia es:
<instrucción1>
<instrucción2>
.
.
<instrucción n>
Dialogo
Primera Iteración:
Inicio
PASO 1.leer el valor del radio del círculo
Fin
Iteración Final:
Prueba de escritorio.
Este algoritmo cuenta con seis (6) líneas, las tres primeras (1-3) , son para definir las variables y constantes usadas y las últimas tres (4-
6), son las instrucciones que son aplicadas sobre dichos datos. De esta manera la prueba de escritorio se debe realizar solamente
sobre las tres últimas líneas, teniendo en cuenta los valores para las constantes y las variables.
Dialogo
Diseño
Primera Iteración:
Inicio
PASO 1.Leer las entradas
Fin
Segunda Iteración:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 2/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Inicio
PASO 1.Leer las entradas
Fin
Iteración Final:
Prueba de escritorio.
Este algoritmo cuenta con diez (10) líneas, las cuatro primeras (1-4), son para definir las variables usadas y las últimas seis (5-10) son las
instrucciones que son aplicadas sobre dichos datos. De esta manera la prueba de escritorio se debe realizar solamente sobre las
líneas (5-10), teniendo en cuenta los valores para las variables.
La estructura de SELECCION permite la ejecución de un bloque de instrucciones o de otro dependiendo del valor de una expresión
lógica denominada CONDICION. La forma general de la selección es:
si (condición) entonces
sino
fin_si
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 3/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Donde, <condición> es la expresión lógica que se evalúa para determinar el bloque de instrucciones a ejecutar, <bloque
instrucciones 1> es el conjunto de instrucciones que se ejecuta si la condición evalúa a verdaderoy <bloque instrucciones 2> es el
conjunto de instrucciones que se ejecuta si la condición evalúa a falso.
5.2.1
Ejemplos de selección.
Dados
un número entero entre 100 y 999 determinar si es capicua o no lo es. Un número capicua si se lee igual al derecho y al
revés. Por
ejemplo, 101 es palíndrome
(al derecho se lee 101 y al revés se
lee 101), mientras que 203 no lo es (al derecho se lee 203 y al revés se lee 302).
Diálogo
Diseño.
Primera Iteración:
Inicio
PASO 1.Leer el número.
Fin
Segunda Iteración:
Inicio
PASO 1.Leer el número.
Fin
Iteración Final:
si (u = c) entonces
sino
fin_si
escribir( texto )
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 4/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Prueba de escritorio
Este algoritmo cuenta con trece (13) líneas, las cuatro primeras (1-4), son para definir las variables usadas y las últimas nueve (5-13)
son las instrucciones que son aplicadas sobre dichos datos. De esta manera la prueba de escritorio se debe realizar solamente sobre
las líneas (5-13), teniendo en cuenta los valores para las variables.
Dialogo
A<B<C ->Mayor C
Diseño
Primera Iteración:
Inicio
PASO 1.Leer los tres números
Fin
Segunda Iteración:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 5/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Inicio
PASO 1.Leer los tres números
PASO 2.Determinar cual es el máximo Si el primer número es mayor o igual a los otros dos
números el primero es el máximo.Si no es así y si el segundo número es mayor o igual a los
otros dos números el segundo es el máximo.De otra manera, se tiene que el tercer
número es el máximo.
Fin
Iteración Final:
sino
sino
fin_si
fin_si
Prueba de escritorio
Este algoritmo cuenta con diecisiete (17) líneas, las cuatro primeras (1-4), son para definir las variables usadas y las últimas trece (5-17)
son las instrucciones que son aplicadas sobre dichos datos. De esta manera la prueba de escritorio se debe realizar solamente sobre
las líneas (5-17), teniendo en cuenta los valores para las variables.
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 6/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
12 90
13 Se salta hasta el fin_si de la selección en ejecución, es decir, hasta la línea 16
16 Se salta a la siguiente línea.
17 El máximo de los tres es: 90
Tercer prueba de escritorio
Generalmente, cuando en la especificación de un problema se tiene una variable especificada de la siguiente forma:
<variable> = .....
si<condición1> entonces
sino
si <condición 2>entonces
sino
...............
sino
si <condición n>entonces
sino
fin_si
..............
fin_si
fin_si
Mientras que las Estructuras de Selección Anidadas sirven para el mecanismo general de toma de decisiones, las Estructuras de
Selección Múltiple proporcionan una manera muy práctica para seleccionar entre un conjunto de opciones predefinidas.
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 7/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
seleccionar<opción> hacer
caso <constante_1>:
caso <constante_2>:
...............
caso <constante_n>:
<bloque instrucciones>
fin_seleccionar
Para evitar toda clase de confusiones se recomienda la Estructura de Selección Múltiple de la siguiente forma:
caso <constante_1>:
fin_caso
caso <constante_2>:
fin_caso
...............
caso <constante_n>:
fin_caso
<bloque instrucciones>
fin_caso
fin_seleccionar
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 8/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Especificación
Diseño
Primera División:
Inicio
PASO 1.Leer el número.
Fin
Segunda División:
Inicio
Paso 1. Leer el número.
Paso 2.1. si es 1
Paso 2.2. si es 2
Paso 2.3. si es 3
Paso 2.4. si es 4
Paso 2.5. si es 5
Fin
División Final:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 9/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
seleccionar n hacer
caso 1:
<consignación>
fin_caso
caso 2:
<retiro>
fin_caso
caso 3:
<pago de servicios>
fin_caso
caso 4:
<cambio de clave>
fin_caso
caso 5:
<consulta de saldo>
fin_caso
fin_seleccionar
2.b.4 Repetición
Las estructuras de repetición, permiten la ejecución repetida de una lista o secuencia de instrucciones (también llamada bloque de
instrucciones). El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita o a través
de una condición que indica cuando se ejecuta de nuevo o cuando no. A cada ejecución del bloque de instrucciones se le conoce
como una iteración.
Ciclo mientras
Ciclo repita-HASTA
Ciclo para
El CICLO MIENTRAS ejecuta un bloque de acciones 'mientras' que una condición dada se cumpla, es decir, cuando la condición
evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no
se ejecuta. De esta manera es que el número de repeticiones del bloque de acciones sea cero, pues, si la condición la primera vez
evalúa a falso, el bloque no será ejecutado alguna vez. La forma general del ciclo mientras es la siguiente:
<bloque de instrucciones>
fin_mientras
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 10/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Donde, (condición)es la condición que determina si el bloque de acciones<bloque>es ejecutado o no. Si la condición evalúa a
verdadero el bloque es ejecutado y si evalúa a falso no es ejecutado. Después de ejecutar el bloque de acciones se vuelve a
evaluar la condición.
a=1
fin_mientras
4.1.1.1
Ejemplos.
Ejemplo 1. Dado un número natural n se desea calcular la suma de los números naturales desde 1 hasta n.
Diálogo:
Condiciones El número buscado es la suma de los naturales empezando en cero hasta el número dado.
ESPECIFICACIÓN:
Salidas
Condiciones
Diseño:
Primera Iteración:
1. Leer el número
2. Recorrer los números desde el cero hasta el número dado e irlos sumando.
3. escribir la suma
Iteración Final:
fin_mientras
Prueba de escritorio:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 11/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
4 Ingrese el número:
5 5 5
6 0
7 0
9 0
10 1
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
9 1
10 2
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
9 3
10 3
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
9 6
10 4
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
9 10
10 5
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
9 15
10 6
11 Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir,
hasta la línea 8
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 12/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
8 La condición evalúa a falso, por lo tanto no se ejecuta el bloque de acciones del ciclo y este
termina, es decir, pasa a la línea 12, la línea siguiente a la línea del fin_mientras del ciclo.
12 La suma es: 15
Ejemplo 2. Calcular el máximo común divisor de dos números naturales, distintos de cero.
Dialogo:
Salidas mcd E Enteros, (mcd es el máximo común divisor de los números dados).
Condiciones mcd = max { 1< k < min{a,b} | a mod k = 0 & b mod k = 0}
Diseño:
Primera Iteración:
2. Calcular el máximo
3. escribir el máximo
Segunda Iteración:
Iteración Final:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 13/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
min := a
sino
min := b
fin_si
mcd := k
fin_si
fin_mientras
Prueba de escritorio:
7 8 8
8 Ingrese el segundo
número:
9 6 6
10 La condición evalúa a falso, se pasa a la línea siguiente al sino, es decir, a la línea 13.
11 6
15 1
16 La condición evalúa a verdadero (1<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
18 1
21 2
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 14/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
16 La condición evalúa a verdadero (2<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
18 2
21 3
16 La condición evalúa a verdadero (3<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
21 4
16 La condición evalúa a verdadero (4<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
21 5
16 La condición evalúa a verdadero (5<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
21 6
16 La condición evalúa a verdadero (6<=6), luego se ejecuta el bloque de acciones del ciclo
mientras.
21 7
16 La condición evalúa a verdadero (7<=6), luego no se ejecuta el bloque de acciones del ciclo
mientras y se salta a la línea siguiente al fin_mientras, línea 23
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 15/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
El CICLO REPITA-HASTA es similar al ciclo MIENTRAS, la diferencia esta en que el bloque de acciones se ejecuta nuevamente si la
condición evalúa a falso y no se ejecuta más si evalúa a verdadero. Sobra advertir que el bloque de acciones se ejecuta por lo
menos una vez. La forma general del ciclo repita-HASTA es la siguiente:
repita
<bloque de
instrucciones>
hasta(condición)
Donde, <bloque> es el bloque de acciones ejecutado y (condición) es la condición que determina si el bloque es ejecutado de
nuevo no. Si la condición evalúa a falso el bloque es ejecutado de nuevo y si evalúa averdadero no es ejecutado. Después de
ejecutar el bloque de acciones se evalúa la condición.
n=1
sum=0
repita
sum=sum+n
n=n+1
hasta(n=3)
Ejemplos.
Ejemplo 1. Desarrollar un
programa que lea una serie de datos hasta que se ingrese el dato 0 y calcule su
suma.
Dialogo:
El número buscado es la suma de los números conocidos, el último número leído debe ser
Condiciones
cero (0.0).
ESPECIFICACIÓN:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 16/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Diseño:
Primera Iteración:
repita
1. Leer número
2. Acumular número
escribir resultado
Iteración Final:
n:entero
suma: entero
suma := 0
repita
escribir("Ingrese el número:”)
leer( n )
suma := suma + n
hasta (n = 0 )
Ejemplo 2. El problema de calcular la suma de los números naturales desde 1 hasta n, se puede solucionar usando el ciclo repita-
HASTA , a continuación se describe el algoritmo solución:
n: entero
suma: entero
i: entero
leer( n )
suma := 0
i := 1
repita
suma := suma + i
i := i + 1
hasta (i > n )
El CICLO PARA permite la ejecución repetida de un conjunto de acciones. El número de veces que el bloque es ejecutado esta
determinado por los valores que puede tomar una variable contadora (de tipo entero), en un rango definido por un límite inferior
(inclusive) y un límite superior (inclusive). Después de ejecutar el bloque de acciones en cada iteración, la variable contadora es
incrementada en uno (1) automáticamente y en el momento en que la variable sobrepasa el límite superior el ciclo termina.
El valor final de la variable contadora depende mucho del lenguaje de programación utilizado, por lo tanto, no es recomendable
diseñar algoritmos que utilicen el valor de la variable contadora de un ciclo para, después de ejecutar el mismo. De la definición de
ciclo para se puede inferir que el bloque de acciones no se ejecuta alguna vez si el límite inferior es mayor al límite superior y que si el
límite superior es mayor o igual al límite superior, el número de veces que el conjunto de acciones se ejecutará es igual a uno más el
límite superior menos el límite inferior. La forma general del ciclo para es la siguiente:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 17/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
fin_para
Donde <variable> es la variable contadora del ciclo, la cual debe ser de tipo entero,<lim inf >es el valor inicial que toma la variable
contadora, <lim sup> es el valor final que puede tomar la variable contadora y <bloque>es el bloque de acciones que es ejecutado
en cada iteración, mientras la variable contadora no sobrepase el límite superior. En cada iteración, después de ejecutar el bloque,
la variable contadora es incrementada (1).
Ejemplos.
Dialogo:
Los números buscados son el resultado de multiplicar un número conocido, por los números
Condiciones
entre uno y tres.
Especificación:
Salidas a1, a2, a3 E Enteros, (ai es el i-esimo múltiplo del número dado).
Diseño:
Primera Iteración:
Leer el número a calcularle la tabla de multiplicar Para los números entre uno y tres calcular el múltiplo del número
Iteración Final:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 18/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
n: entero
a: entero
a := n * i
escribir(n)
escribir("*”)
escribir( i)
escribir( "=”)
escribir( a)
escribir(cambioLinea)
fin_para
escribir("Termino...”)
Prueba de escritorio:
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 19/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Se comprueba si la
variable contadora
es menor o igual al
límite superior. En
este caso es cierto
6
entonces se ejecuta
el bloque de
acciones del ciclo
para, es decir, se
pasa a la línea 7.
7 6
8 3*2=6
9 3
Se incrementa la
variable contadora
y se vuelve a la
línea de inicio del
ciclo para, es decir,
línea 6.
La variable
contadora es
6 menor que el límite
superior se pasa a la
línea 7
7 9
8 3*3=9
9 4
Se incrementa la
variable contadora
y se vuelve a la
línea de inicio del
ciclo para, es decir,
línea 6.
La variable
contadora no es
menor que el límite
6 superior se pasa a la
línea siguiente al
fin_para, es decir, a
la línea 10.
10 Termino...
Ejemplo 2.El problema de calcular la suma de los números naturales desde 1 hasta n, se puede solucionar usando el ciclo para, a
continuación se muestra el algoritmo solución:
n: entero
suma: entero
i: entero
leer( n )
suma := 0
suma := suma + i
fin_para
escribir( suma)
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 20/21
29/3/22, 16:45 [1-2022] INF120-SA: Conocimientos previos : 2.b. ESTRUCTURAS DE CONTROL
Example 1.- Realize un programa que me permita encontrar la SUMATORIA de los NUMEROS PARES,entre CERO(0) y n, donde "n" es
un numero leido desde teclado.
Example 2.- Realize un PROCESO que me permita encontrar la SUMATORIA de los NUMEROS PARES,entre CERO(0) y n, donde "n" es un
numero leido desde teclado.
Example 3.- Realize un PROCESO que me permita encontrar la SECUENCIA los NUMEROS PARES,entre CERO(0) y n, donde "n" es un
numero leido desde teclado.
Siguiente->Programacion Estructurada
◄ Cronograma
Ir a...
Bibliografía ►
https://virtual.uagrm.edu.bo/pregrado/mod/lesson/view.php 21/21