UNIDAD 3

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
        Introducir el monto de la compra (m). si monto de la compra es mayor que 100 y menor que 300 entonces el descuento será del 10 %;
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.





 EJEMPLO:

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:




 Corrida:
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