Pág.37 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
UNIDAD 3: ESTRUCTURAS BÁSICAS
LAS ESTRUCTURAS
Ilustración 3-1: Fases segunda y tercera del ciclo de programación.
Un Algoritmo está compuesto por instrucciones de
diferentes tipos, organizadas secuencialmente, en forma
de estructuras de control. De estas estructuras, las más
comunes y que se cubren en esta guía son las
siguientes:
• Secuencial.
• Iterativa (repetición).
• Condicional (decisión, selección).
Una estructura de control se define como un esquema
que permite representar ideas de manera simplificada y
que bajo condiciones normales, es constante (Trejos,
1999).
El uso del diseño descendente en los programas, la
ejecución de operaciones secuenciales, la utilización de
ciclos repetitivos y, la toma de decisiones y alternativas
de proceso, ofrecen amplias posibilidades para resolver
problemas mediante la construcción de procedimientos
(Castellanos & Ferreyra, 2000b).
Un famoso teorema de los años sesenta, formulado por
Edsger Wybe Dijkstra, demostraba que se puede
escribir cualquier programa utilizando únicamente la tres
estructuras de control mencionadas. Actualmente, la
programación orientada a objetos (POO) busca reducir
al máximo la cantidad de estructuras de control
mediante el uso de polimorfismo; pero aún así, todavía
se vale de estas estructuras para construir métodos, los
cuales podría decirse que son equivalentes a los
procedimientos que se plantean en esta guía.
Para traducir los algoritmos diseñados a un lenguaje de
programación que el computador pueda entender, en
esta guía se utilizan dos entornos de programación
basados en Logo: MicroMundos y Scratch. Los docentes
interesados en conocer estos ambientes de
programación, pueden descargar gratuitamente las
correspondientes Guías de Referencia:
• MicroMundos (proyecto Teddi - PDF; 560KB)
http://www.eduteka.org/pdfdir/ManualMicroMundos.pdf
• Scratch (MIT - PDF; 1.5MB)
http://www.eduteka.org/pdfdir/ScratchGuiaReferencia.pdf
TIP
Edsger Wybe Dijkstra nació en Rotterdam, (Holanda) en 1930. En
1956 anunció su algoritmo de caminos mínimos; posteriormente
propuso el algoritmo del árbol generador minimal. A principios de la
década de los 60, aplicó la idea de exclusión mutua a la
comunicación entre un computador y su teclado. Su solución de
exclusión mutua ha sido usada en muchos procesadores y tarjetas
de memoria desde 1964, año en el que fue utilizada por IBM en la
arquitectura del “IBM 360”. El siguiente problema del que se ocupó
Dijkstra fue el de los filósofos comensales. En este problema, cinco
filósofos están sentados en una mesa circular con un plato de arroz
delante y un palillo a cada lado, de manera que hay cinco palillos en
total. El problema trata sobre el uso de recursos comunes sin que los
procesos (los filósofos) lleguen a una situación de bloqueo mutuo;
además, que los recursos se utilicen por todos los procesos de la
manera más eficiente. Dijkstra también contribuyó a desterrar el
comando GOTO de la programación: el comando "GOTO es
considerado dañino. Cuantas más sentencias GOTO tenga un
programa, más confuso será el código fuente".