Fundamentos de Programación U2
Presentación de la unidad
En la unidad anterior se describieron los pasos que se requieren para construir un software, los cuales, sin lugar a dudas, constituyen la fase más importante en el diseño de la solución de problemas, ya que es aquí donde se debe crear el modelo que contribuya a la solución del problema en cuestión.
Para llegar a esta solución se requiere no sólo deinteligencia, sino también de creatividad, ya que el programador sólo cuenta con la especificación del problema y su experiencia en resolver problemas de una forma estructurada
Diagramas de flujo pseudocódigo
En este apartado te presentaremos formalmente el concepto de algoritmo, del que estudiaremos sus características y dos maneras de representarlo: una gráfica, conocida como diagramas de flujo; yotra, similar a un lenguaje humano (en este caso español), la cual se denomina pseudocódigo. También describiremos los tres tipos de estructuras de control: secuenciales, selectivas y repetitivas, que son las instrucciones con que se cuenta en la programación estructurada para diseñar soluciones.
Para logar nuestro objetivo utilizaremos una situación ficticia a la que llamamos “el mundo de laardilla”, en donde se deben solucionar problemas mediante un conjunto de instrucciones específicas que puede ejecutar una ardilla sobre un tablero o mundo determinado.
Propósitos de la unidad
Identificarás los datos de entrada y la salida de un algoritmo.
Diseñarás un algoritmo que solucione un problema.
Representarás el algoritmo en diagrama de flujo y pseudocódigo.
Verificarás queel algoritmo calcule el resultado correcto.
Competencia específica de la unidad
Diseñar algoritmos para resolver problemas mediante su representación en un diagrama de flujo y la elaboración del pseudocódigo.
2.1. Concepto de algoritmo y características
Antes de explicar cómo se realizan los algoritmos en la programación, conviene tener claridad en el significado de la palabra algoritmo.
Estapalabra, proviene del nombre de un matemático persa, nacido alrededor del 780 d.C. en KhoWârizm, conocido como Mohammad Al-KhoWârizmi. Se le considera el padre de la algoritmia porque definió las reglas paso a paso para sumar, restar, multiplicar y dividir números decimales. La traducción al latín de Al-Khwārizmī es algoritmi, que da origen a la palabra algoritmo (Joyanes & Zohanero, 2005).Formalmente, un algoritmo se define como una secuencia finita de instrucciones precisas y eficaces para resolver un problema, que trabaja a partir de cero o más datos (entrada) y devuelve un resultado (salida).
Para ilustrar este concepto te presentamos el siguiente escenario ficticio, al que hemos llamado: El mundo de la ardilla.
2.1. Concepto de algoritmo y características-El mundo de la ardilla.Supongamos que tenemos una ardilla, la cual ha sido entrenada para realizar determinadas funciones o movimientos sobre un tablero o “mundo”. Hasta el momento, las instrucciones que sabe llevar a cabo son las que se muestran en la siguiente tabla:
Lista de Instrucciones que puede ejecutar la ardilla
INSTRUCCIÓN
DESCRIPCIÓN DE LOS MOVIMIENTOS DE LA ARDILLA
avanza()
Se mueve unaubicación en la dirección actual
giraIzquierda()
Voltea a la izquierda
dejaBellota()
Coloca una bellota en la ubicación actual
hayBellota()
Responde si hay o no bellotas en la posición actual
hayPared()
Responde si hay o no pared en la ubicación siguiente
recogeBellota()
La ardilla coloca en su boca una bellota que está en la ubicación actual
bellotasRecogidas()
Dice el número debellotas que tiene en la boca
Los paréntesis al final de cada instrucción sirven para identificar que se trata de una orden que puede ejecutar la ardilla.
Si observas la lista de instrucciones podrás darte cuenta que, la ardilla no es capaz de voltear a la derecha y mucho menos de responder a órdenes más complejas como “mueve una bellota que se encuentra en la primera casilla del tablero al final...
Regístrate para leer el documento completo.