UNIDAD 03: ESTRUCTURAS LÓGICAS FUNDAMENTALES Y EXTENDIDAS.
ESQUEMA DE UNIDAD:
3.1 Estructuras de Control.
Introducción.
Hemos estudiado en los contenidos
anteriores los elementos fundamentales que nos permitirán avanzar en el mundo
de la programación, con estos contenidos en mente llegamos a los fundamentos de
programación: las estructuras de control fundamentales y extendidas de la
programación. Indistintamente del lenguaje que se utilice, las estructuras de
control seguirán acompañándole en su formación académica y en su quehacer
profesional; por tal razón la comprensión de las estructuras de control es
vital en su formación como programador. Iniciamos conociendo las
características que debe cumplir un programa. Las estructuras de control
principales, permiten desarrollar actividades básicas de programación, estas
estructuras son tradicionalmente conocidas como: secuencial, decisión,
repetitiva o hacer mientras. Para proporcionar otras estructuras
complementarias estudiamos las extendidas: hacer hasta que, hacer desde hasta
incremento, seleccionar caso. Por ultimo abordamos la temática de las
estructuras de datos. Al concluir la unidad el estudiante conocerá y será capaz de elegir y aplicar la
estructura más adecuada según el problema a resolver y discriminar aquellas
estructuras que no permitan llegar a la solución óptima del problema.
Demostrara capacidad para el trabajo en equipo; tendrá una actitud proactiva y
dinámica al utilizar las estructuras lógicas de control y extendidas mostrando
capacidad de análisis para solucionar los problemas reales planteados de manera
innovadora, creativa y productiva.
Características de un programa.
Un programa se define como propio
si cumple con las siguientes características:
- · Posee un solo punto de entrada y otro de salida para el control del programa.
- · Existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas partes del programa.
- · Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos.
Por lo tanto un programa se puede
escribir aplicando las estructuras fundamentales de programación que son:
- · Estructuras de control.
- · Estructuras extendidas.
- Estructura de datos.
Estructura de control.
Son construcciones mediante las
cuales se escribe la lógica de los programas, son empleadas y definidas de
manera ordenada y sistemática para dirigir el flujo de acciones que el
procesador efectuara sobre los datos que se manejan en un programa.
Entre las estructuras de control
se encuentran:
- · Estructuras de secuencial.
- · Estructuras de decisión o condicional.
- · Estructuras de Hacer-Mientras.
3.1.1 ESTRUCTURAS DE SECUENCIA O SECUENCIAL.
Es aquella en la que una acción
sigue a otra en secuencia lógica y ordenada.
·
La acción 2 se ejecuta después de la acción 1 y
ninguna acción puede ejecutarse entre ellas. La acción 3 sigue a la acción 2, y
así sucesivamente.
Gráficamente se representa así:
Ejemplo:
Difinicion del problema.
Diseñe un programa que lea el año de nacimiento de una
persona y calcule su edad.
Análisis de la variable.
ENTRADAS
|
PROCESOS
|
SALIDAS
|
Nom= nombre
Anac= año de nacimiento
|
Edad= 2013-anac
|
Edad=Edad
|
ALGORITMO:
- 1. Inicio.
- 2. Introducir el nombre de la persona.
- 3. Introducir el año de nacimiento.
- 4. Calcular la edad restando 2013 (el año actual) menos el año de nacimiento.
- 5. Imprimir la edad.
- 6. Fin.
FLUJOGRAMA:
CORRIDA:
Nomb
|
Anac
|
Edad=2013-anac
|
Edad
|
Julio
|
1990
|
Edad=2013-1990
|
23
|
Diana
|
1980
|
Edad=2013-1980
|
33
|
Carlos
|
1998
|
Edad=2013-1998
|
15
|
Orlando
|
2000
|
Edad=2013-2000
|
13
|
Estructura condicional o de desicion.
Esta estructura lógica, permite la toma de decisiones en un
programa, es decir, que las soluciones a este tipo de problemas son una serie
de acciones en las que la ejecución de algunas dependerá de que se cumplan una
o varias condiciones.
Cuando el programa desea especificar 2 o más caminos
alternativos en un programa se deben
utilizar una estructura de decisión, que evalúa una condición obteniendo
una sola salida.
¿Qué es una condición?
Es aquella que se establece por medio de una expresión
lógica que puede ser simple o compuesta. Por lo tanto solo puede tomar dos
valores: FALSO O VERDADERO.
Condiciones simples:
Una condición simple se identifica porque está constituida
únicamente por un condición A>B utilizando los valores relacionales.
Ejemplos:
A>B D=A G>=T B<C R<>W F<=H
Condiciones Compuestas:
Una condición compuesta, se identifica porque para
solucionarla se necesita establecer más de una condición utilizando operadores
lógicos relacionales, aritméticos y de asociación.
Ejemplo:
·
(p <= 10) AND (p>=1)
·
[8=(2+6)-3˄p] AND [4=(5*3)-14]
Una condición se representa gráficamente de la siguiente
manera:
Ejemplo:
Escriba un programa que permita a un supermercado otorgar un
10% de descuento a los clientes cuya compra supere los $100 y un 20% a quienes
compren más de $300. Al final deberá mostrar el total a pagar.
Analisis de las variable.
ENTRADAS
|
PROCESOS
|
SALIDAS
|
NC= Nombre del Cliente
M= monto de la compra
|
Si m>=100 y m<300 Entonces
d=0.10;
sino
si m>300
d<-0.20;
fin condición
tp=m-(m*d)
|
Tp= total a pagar
|
- Algoritmo:
- Inicio
Sino
Si monto de la compra es mayor
que 300 el descuento será de 20%;
- 3. Calcular el monto a pagar, restando del monto de la compra el descuento al que aplica.
- 4. Imprimir el total a pagar
- 5. Fin
- Corrida:
Nº Ejecución
|
NC
|
m
|
d
|
tp
|
1
|
Diana
|
100
|
0
|
100
|
2
|
Jairo
|
120
|
12
|
108
|
3
|
Moisés
|
40
|
0
|
40
|
4
|
María
|
400
|
80
|
320
|
5
|
Adela
|
99
|
0
|
99
|
Estructura de hacer mientras.
S la más importante desde el punto de vista de la
programación porque permite la ejecución de un conjunto de instrucciones
cuantas veces sea necesario.
También se le llama estructura repetitiva a aquellas
operaciones en cuya solución es necesario utilizar un mismo conjunto de
acciones que pueda ejecutarse más de una vez. Para solucionar problemas
repetitivos recurriremos al uso de ciclos, que nos evitaran escribir muchas
veces un conjunto de acciones.
Elementos que constituyen la estructura repetitiva.
1. CICLO: es la ejecución de un mismo conjunto de acciones dos o más veces.
2. PROCESO: conjunto de acciones a los que se les asigna un nombre, es decir, la operación a realizar.
3. CUERPO DEL CICLO: se considera una parte importante del ciclo en donde se ejecutara un proceso dos o más veces.
4. ESTRUCTURA CICLICA: conjunto de acciones que permiten que el cuerpo del ciclo se ejecute dos o más veces.
5. LA INTERACCION: se define como cada una de las ejecuciones del cuerpo del ciclo.
LA ESTRUCTURA HACER MIENTRAS FUNCIONA DE LA SIGUIENTE MANERA
1. Evalúa la condición.
2. Si la condición es cierta entonces se ejecutan las instrucciones mientras y se vuelve a ejecutar el paso; si no se ejecutan las instrucciones siguientes en el flujo normal del algoritmo
Clasificación de los ciclos.
- 1. CICLOS CON UN NUMERO DETERMINADO DE ITERACIONES
- 2. CICLOS CON UN NÚMERO INDETERMINADO DE ITERACIONES.
- CICLOS CON UN NUMERO DETERMINADO DE INTERACCIONES:
Son aquellos en que el número de iteraciones es
determinables antes de ejecutarse el ciclo, este número de iteraciones puede
obtenerse de la definición del problema, o bien de una entrada de datos cuando
el problema indique que un conjunto de acciones se debe de ejecutar n
ocurrencias.
Ciclos con un número indeterminado de iteraciones:
Son aquellos en donde
el número de iteraciones permanece indeterminado durante la ejecución del ciclo
y el proceso repetitivo termina hasta que el usuario lo indique.
En este tipo de ciclos el usuario decide dentro del ciclo
cuando termina con el proceso repetitivo sin importar cuantas iteraciones se
hayan ejecutado a diferencia de los ciclos anteriores, en donde el número de
iteraciones está determinado desde el principio. También se le llama BANDERA.
Antes de iniciar la evaluación de la estructura hacer
mientras es necesario inicializar las variables a utilizar con el propósito que
estas puedan ser identificadas en el programa.
Términos relacionados con esta estructura:
CONTADOR: variable que se utiliza para llevar la cuenta de
las vueltas que ejecuta la estructura del ciclo.
ACUMULADOR: mantiene los resultados parciales de las
operaciones, guardando el valor que obtiene en cada vuelta del ciclo en una
variable.
Conclusiones de
la aplicación de la estructura hacer mientras:
No es posible salir de la estructura hacer mientras por otra
ruta que no sea la que determina la evaluación de la condición.
Puede darse el caso en que la condición llegue a ser falsa
en este caso si no pudiéramos salirnos de la estructura tendríamos que aplicar
banderas para salirse.
Es necesario inicializarse antes de entrar a la estructura,
todas las variables que intervienen en la condición con el fin que esta pueda
ser evaluada por la computadora.
Definición del problema:
Escriba un programa que calcule los cuadrados de N números
introducidos por el usuario.
ANÁLISIS DE VARIABLES:
ENTRADAS
|
PROCESOS
|
SALIDAS
|
N=cantidad de números
Num= numero
|
K=1
Sum=0
Hacer Mientras K<=N
Introducir num
Raiz=sqrt(num)
Sum=sum+Raiz
K=K+1
Fin Mientras
|
Sum=sumatoria de raíces
|
ALGORITMO:
1.
Inicio.
2.
Inicializar contador en uno (k)
3.
Inicializar acumulador en cero (sum)
4.
Introducir la cantidad de números a evaluar (N)
5.
Hacer mientras k sea menor o igual a la cantidad
de números (N)
a.
Introducir un número.
b.
Calcular la raíz cuadrada del número introducido
c.
Incrementar el acumulador con el valor de la
raíz cuadrada
d.
Incrementar contador en uno y retornar a evaluar la estructura del
ciclo
6.
Imprimir la sumatoria de raíz cuadrada.
7.
Fin.
FLUJOGRAMA:
Nº ejecución
|
K
|
Sum
|
N
|
Num
|
Raíz
|
Sum
|
k
|
1
|
1
|
0
|
5
|
80
|
8.94427191
|
8.94427191
|
2
|
2
|
2
|
8.94427191
|
64
|
8
|
16.9442719
|
3
|
|
3
|
3
|
16.9442719
|
9
|
3
|
19.9442719
|
4
|
|
4
|
4
|
19.9442719
|
121
|
11
|
30.9442719
|
5
|
|
5
|
5
|
30.9442719
|
428
|
20.6881609
|
51.6324328
|
6
|
0 comentarios:
Publicar un comentario