Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras básicas
Estructuras básicas
•Unidad 6
Programación estructurada. Estructura de selección.
Sentencias. Sentencias anidadas. Casos particulares.
Estructura de control. Bucles. Tipo: hacer mientras –
hacer hasta. Incremento o decremento. Terminaciones
anormales. Diseño de bucles. Bucles anidados.
Estructuras básicas
6.1 Programación estructurada
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las
necesidades de aquellos años, por lo que se desarrollaron nuevas técnicas, tales como
la programación orientada a objetos y el desarrollo de entornos de programación que
facilitan la programación de grandes aplicaciones.
Secuencia
Instrucción condicional.
Iteración (bucle de instrucciones) con condición al
principio.
A C C IO N 1
C o n d ic i o n No
NO Condicion SI NO Condicion SI
Si
Accion Accion Accion
A C C IO N 2
A c c io n e s
A C C IO N N
1 2
A c c io n e s
C o n d ic io n No
SI
Estructuras básicas
6.1 Programación estructurada
SI <condición_1> ENTONCES
Como se puede observar, el
< sentencias_1 > anidamiento de instrucciones
SINO alternativas permite ir descartando
SI <condición_2> ENTONCES valores hasta llegar al bloque de
< sentencias_2 > instrucciones que se debe ejecutar.
En las instrucciones SI anidadas, las
SINO instrucciones ENTONCES y FIN-SI se
SI <condición_3> ENTONCES aplican automáticamente a la
< sentencias_3 > instrucción SI anterior más próxima.
SINO A fin de que las estructuras anidadas
sean más fáciles de leer, es práctica
.
habitual aplicar sangría al cuerpo de
. cada una.
FIN-SI
FIN-SI
FIN-SI
Estructuras básicas
6.2 Estructura de selección. Sentencias anidadas.
ALGORITMO Sensor
INICIO
LEER temperatura
SI temperatura > 100 ENTONCES
ESCRIBIR “Temperatura muy alta – Mal funcionamiento”
SINO
SI temperatura > 90 ENTONCES
ESCRIBIR “Rango normal”
SINO
SI temperatura > 50 ENTONCES
ESCRIBIR “Bajo el rango normal”
SINO
ESCRIBIR “Muy frío – Apague equipo”
FIN-SI
FIN-SI
FIN-SI
FIN
Estructuras básicas
6.2 Estructura de selección. Sentencias anidadas. Casos Particulares
Ejemplo
Se desea sumar una lista de números que ingresa desde teclado (por
ejemplo, edades de los alumnos de una clase). El algoritmo debería
ingresar el valor y sumarlo a una variable SUMA que contenga las
sucesivas sumas parciales.
ALGORITMO suma
INICIO
Suma=0
LEER número
Suma = suma + número
LEER número
Suma = suma + número
….
FIN
Es evidente que el método no es óptimo, pero el ejemplo sirve para identificar las
instrucciones que se repiten. En este caso, el bucle está formado por las
instrucciones:
LEER número
suma = suma + número
INICIO
ESCRIBIR 2
ESCRIBIR 4
[…]
ESCRIBIR 96
ESCRIBIR 98
FIN
Se dijo que la computadora es muy hábil para repetir tareas sencillas, como la
del problema. Cuando se necesita que la computadora repita una operación,
con una pequeña variación cada vez, se deben identificar las condiciones para
la repetición, y expresar esta variación de una forma comprensible para la
máquina.
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
En este caso, lo que se desea es una secuencia de números pares, que van desde 2
hasta 98. Estos números pueden expresarse como 2 x k, siendo k un entero que varía
entre 1 y 98/2 = 49.
INICIO
PARA k DESDE 1 HASTA 49
ESCRIBIR k * 2
FIN-PARA
FIN
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
En este caso, lo que se desea es una secuencia de números pares, que van desde 2
hasta 98. Estos números pueden expresarse como 2 x k, siendo k un entero que varía
entre 1 y 98/2 = 49.
INICIO
PARA k DESDE 1 HASTA 49
ESCRIBIR k * 2 Otra opción sería:
FIN-PARA INICIO
FIN PARA i DESDE 2 HASTA 98 INCREMENTO 2
ESCRIBIR i
FIN-PARA
FIN
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
Si ahora se solicita:
INICIO
PARA N DESDE N HASTA 200 INCREMENTO 2
ESCRIBIR i
FIN-PARA
FIN
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
Donde:
variable es el nombre de una variable de tipo numérico, en particular entero, definida
en el programa, cuyos valores se irán modificando en cada repetición. Es común
utilizar como nombre de esta variable i, que proviene de la palabra índice (index en
inglés), y si se utilizan varias instrucciones PARA, emplear las letras siguientes del
abecedario: j, k, l.
inicial es el valor que toma la variable en la primera repetición.
final es el valor que toma la variable en la última repetición.
incremento es el incremento que recibirá la variable entre repeticiones, es decir, el
valor que se le sumará a variable cada vez que se termine una repetición y antes de
iniciar la siguiente. Si se omite, se considera que vale 1. También puede tomar
valores negativos.
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
INICIO
LEER minutos
HACER
precio = minutos * 0,23
ESCRIBIR precio
LEER minutos
HASTA minutos <= 0
FIN
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
MIENTRAS condición
INSTRUCCIÓN
[…]
INSTRUCCIÓN
FIN-MIENTRAS
Al ejecutarse se evalúa condición, y en caso de resultar verdadera se
ejecutan las instrucciones del bloque, mientras condición mantenga su valor
verdadero.
Se dice que MIENTRAS y HASTA son formas más generales de iterar que
PARA porque esta última se puede expresar utilizando tanto MIENTRAS
como HASTA.
Estructuras básicas
6.3 Estructuras de repeticion. Bucles
Problema: Se desea un programa que muestre en pantalla los
números pares entre 1 y 99.
que se resolvió utilizando PARA de la siguiente manera:
INICIO
PARA k DESDE 1 HASTA 49
ESCRIBIR k * 2
FIN-PARA
FIN
Ejemplo:
LEER número
HACER
IF número <= 0 INTERRUMPIR
suma = suma + número
LEER número
HASTA número > 100
La instrucción Interrumpir sale del bucle HACER y sigue con la instrucción siguiente
a la instrucción HASTA.
La sentencia INTERRUMPIR (BREAK) se utiliza frecuentemente junto con una
sentencia SI (IF) actuando como una condición interna del bucle.
Estructuras básicas
6.4 Terminaciones Anormales
Esta instrucción hace que el flujo de ejecución salte el resto de un cuerpo del
bucle para continuar con el siguiente bucle o iteración. Esta característica suele
ser útil en algunas condiciones.
Ejemplo:
PARA i DESDE 0 HASTA 20
SI (i mod 4 = 0 ) ENTONCES
CONTINUAR
FIN-SI
ESCRIBIR i, “ , “
FIN-PARA
IN D E P E N D IE N T E S A N ID A D A S N ID O S C R U Z A D O S
S A L IR D E L B U C L E ENTRAR AL BUCLE
Estructuras básicas
6.5 Diseño de bucles. Bucles Anidados