Diseño Estructurado de Algoritmos

Anuncio
Diseño Estructurado de
Algoritmos
DISEÑO ESTRUCTURADO DE ALGORITMOS
Sesión No. 11
Nombre: Estructuras algorítmicas. Tercera parte.
Objetivo de la sesión: Al concluir la sesión el estudiante aplicará las
estructuras algorítmicas repetitivas conocidas como ciclos con la finalidad de
resolver problemas reales.
Contextualización
¿Qué estructuras permiten que exista un control en el programa?
El tema es extenso cuando se habla de estructuras algorítmicas, porque el
hombre con el afán de resolver toda clase de problemas, se dio a la tarea de
buscar formas de trabajo que pudieran ser manejadas por todo tipo de persona
que tuviera interés en el mundo de la programación.
Al conjunto de formas de trabajo que permiten el manejo de variables para la
realización de procesos con los que se pueda llegar a la solución de problemas
los denomino estructuras. El hecho de que se crearan las estructuras fue para
estandarizar, lo que se pretendía era que un programa pudiera ser entendido
fácilmente por cualquier tipo de persona, no sólo por su creador.
Cada tipo de estructura cubre una necesidad en específico, según el problema
planteado. Las que hemos revisado hasta el momento son:
•
Estructura secuencial
•
Estructura condicional
•
Estructura Repetitiva
Estas estructuras se aplican según la función de cada programa, son diseñadas
para resolver desde problemas menores, hasta los más complejos que requieren
el control de alternativas.
1
DISEÑO ESTRUCTURADO DE ALGORITMOS
Introducción al Tema
¿Cómo te imaginas que se aplican los ciclos en un programa?
En esta sesión la estructura que se abordará a profundidad es la repetitiva.
Como recordaremos, es aquella que permite que se ejecute una serie de
acciones un número finito de veces.
En este tipo de estructuras el programador tiene el control, porque al colocar
adecuadamente una condición lógica le podrá indicar al programa cuantas veces
pueda ejecutar una instrucción.
Mediante el lenguaje de programación se manejan distintas formas en las que se
consigue que un grupo de instrucciones realice repeticiones, a estas formas se
les denomina “Ciclos”.
Los ciclos son sentencias de código que permiten un ahorro de tiempo al
momento de programar, una mayor claridad, reduce el tamaño del programa y
evita problemas si se desean hacer modificaciones.
Estas sentencias de repetición se desprenden de la estructura repetitiva y se
clasifican en 3
•
Ciclo para
•
Ciclo mientras
•
Ciclo hacer
2
DISEÑO ESTRUCTURADO DE ALGORITMOS
Explicación
Repetitivas
¿Qué es iterar?
Uno de los conceptos que se maneja en programación es la denominada
iteración, un verbo utilizado como sinónimo de repetir que expresa el proceso de
la estructura repetitiva.
Los ciclos son sentencias que le brindan control a un programa al momento de
realizar iteraciones. Estos ciclos se clasifican en:
1. Ciclo para:
Este ciclo se encarga de controlar la ejecución de un bloque de instrucciones, el
número de veces que se ejecuta se determina por los valores enteros que toma
la variable contadora en un rango establecido por el programador.
Después de que realiza el proceso de ejecución en cada iteración, la variable se
incrementa en 1 automáticamente con la condición de que en el momento en
que la variable pasa el límite, el ciclo se rompe.
La ejecución de los ciclos depende mucho del lenguaje de programación
utilizado; por ejemplo, en el ciclo para la variable final varía, por eso no es
recomendable utilizar el valor de la variable contadora después de ejecutar el
algoritmo.
3
DISEÑO ESTRUCTURADO DE ALGORITMOS
4
Entonces, se puede decir que el conjunto de instrucciones en un ciclo no se
ejecuta si el límite inferior es mayor al límite superior.
La forma general del ciclo para es:
ENTRADA
Donde var es la variable contadora del
ciclo, lim_inf es el valor inicial que toma
var=lim_inf
var<=lim_sup
la variable contadora. lim_sup es el
valor final, cuando este valor sea
var=var+1
superado por la variable contadora, el
ciclo se acabó.
Bloque de
Instrucciones
El denominado bloque de instrucciones
es el conjunto de acciones que se
ejecutan en cada repetición.
SALIDA
2. Ciclo mientras:
El término mientras en un lenguaje de programación permite ejecutar un bloque
de instrucciones siempre y cuando una condición o expresión lógica se cumpla,
mientras sea verdadero.
La condición siempre es evaluada desde el comienzo, antes de ejecutar el
bloque de instrucciones. Si la condición se cumple se ejecuta y todo un ciclo
vuelve a comenzar. Cuando la condición no se cumple simplemente se termina
el proceso, no se ejecuta.
DISEÑO ESTRUCTURADO DE ALGORITMOS
La forma general del ciclo es:
ENTRADA
CONDICIÒN
BLOQUE
FIN
¿Qué crees que realiza el ciclo hacer?
3. Ciclo hacer:
Este ciclo es similar al ciclo mientras la única diferencia es que la evaluación de
la condición es diferente, ya que en el ciclo mientras la condición es evaluada
desde el inicio, en el ciclo hacer la condición se toma en cuenta después de
ejecutar el bloque de instrucciones por lo menos una vez.
Para que el bloque se ejecute nuevamente, la condición debe ser siempre
verdadera, cuando resulta falso se termina el proceso.
5
DISEÑO ESTRUCTURADO DE ALGORITMOS
ENTRADA
BLOQUE
CONDICIÒN
FIN
Donde BLOQUE es el conjunto de instrucciones que se ejecutan por lo menos
una vez antes de la condición.
6
DISEÑO ESTRUCTURADO DE ALGORITMOS
Conclusión
Al momento de diseñar un algoritmo que contiene iteraciones, es importante
conocer los tipos de sentencias que permiten controlar las repeticiones
generadas en un algoritmo.
La ejecución de los ciclos depende mucho del lenguaje de programación
utilizado, pero la estructura ya está definida debido a que el objetivo para el que
los crearon fue para un fácil diseño, una sencilla depuración y son adaptados
para que sean entendidos por personas diferentes a las que escribieron el
programa.
Es importante saber distinguir las diferentes estructuras de repetición utilizadas
en problemas con ciclos:
•
Hacer
•
Mientras
•
Para
Debemos analizar las diferencias entre cada una de las estructuras de repetición
para que podamos construir grandes y complejos problemas a través de la
ejecución repetida.
7
DISEÑO ESTRUCTURADO DE ALGORITMOS
Para aprender más
¿Sabes cuáles son los elementos de una estructura repetitiva?
•
Entrenamiento a la medida. (2012). Elementos de una estructura
repetitiva. Consultado el 5 de junio de 2014:
http://brd.unid.edu.mx/elementos-de-una-estructura-repetitiva/
•
Guía 4 lección 1: Estructuras algorítmicas repetitivas. (2012). Consultado
el 5 de junio de 2014: http://youtu.be/1asWTDgKIoc
•
Guía 4 lección 2: Elementos de una estructura repetitiva. (2012).
Consultado el 5 de junio de 2014: http://youtu.be/rkXgw1LzNlE
•
Guía 4 lección 3: Tipos de estructuras repetitivas. Consultado el 5 de junio
de 2014: http://youtu.be/DNEbf5ra0BI
•
Guía 4 lección 3: Estructura repetitiva Para. (2012). Consultado el 5 de
junio de 2014: http://youtu.be/Hsxl5UTbqEw
•
Guía 4 lección 4: Estructura repetitiva Mientras que (parte 1). 2012).
Consultado el 5 de junio de 2014: http://youtu.be/jk4hN6pef64
•
Guía 4 lección 4: Estructura repetitiva Mientras que (parte 2). (2012).
Consultado el 5 de junio de 2014: http://youtu.be/Zk-yLnLF608
Por medio de este enlace reforzarás los temas de esta sesión por medio de
definiciones y ejemplos aplicados a la programación.
•
Chirinos, W. (2011). Estructuras Repetitivas. Consultado el 25 de Marzo
de 2013: http://es.slideshare.net/wladimirclipper/estructuras-repetitivas
8
DISEÑO ESTRUCTURADO DE ALGORITMOS
Actividad de Aprendizaje
Instrucciones:
Con el propósito de consolidar los conocimientos adquiridos a lo largo de esta
sesión, aplicarás los ciclos de programación para resolución de problemas reales,
diseña el diagrama de flujo correspondiente.
Problema:
1. Realizar la suma de los primeros 100 números enteros positivos e
imprimir el resultado.
Ahora identifica qué es lo que realiza el siguiente diagrama de flujo:
9
DISEÑO ESTRUCTURADO DE ALGORITMOS
Puedes realizarlo en cualquier programa y guardarlo como PDF, con la finalidad
de subirlo a la plataforma de la asignatura.
Recuerda que esta actividad te ayudará a aplicar los ciclos que te permitirán
diseñar un programa que contenga iteraciones.
Se tomará en cuenta lo siguiente:
•
Tus datos generales
•
Referencias bibliográficas
•
Ortografía y redacción
•
Propósito de su Reporte
•
Procedimiento.
•
Resultados
•
Juicio personal
10
DISEÑO ESTRUCTURADO DE ALGORITMOS
Cibergrafía
Chirinos, W. (2011). Estructuras Repetitivas. Consultado el 25 de Marzo de
2013: http://es.slideshare.net/wladimirclipper/estructuras-repetitivas
Introducción a la computación. Introducción a la computación. Estructuras de
control. (s/f). En Tecnológico de Monterrey. Consultado el 25 de Marzo del
2013: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r88070.PDF
Rodríguez, R. (2006). Elementos de la Programación Estructurada: Algoritmos,
Pseudo Código y Diagramas de Flujo. Consultado el 25 de Marzo de
2013: http://www.utm.mx/~rruiz/cursos/PE/notas.pdf
Santeramo, L. (2012). Estructuras repetitivas, Bucles de control. Consultado el
25 de Marzo del 2013:
http://www.aliatuniversidades.com.mx/bibliotecasdigitales/pdf/sistemas/Analisis_
y_disenio_de_algoritmos.pdf
11
Descargar