Fundamentos de programacion estructurada

Solo disponible en BuenasTareas
  • Páginas : 9 (2081 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de agosto de 2012
Leer documento completo
Vista previa del texto
1

FUNDAMENTOS DE ALGORITMOS Y PROGRAMACION ESTRUCTURADA
Ing. Braulio Barrios Zúñiga

La Computación es una forma de arte, Algunos programas son elegantes, algunos son
exquisitos, algunos son brillantes,
Mi afirmación es que es posible escribir programas grandiosos, nobles, realmente magníficos.
Donald E. Knuth

Objetivo de este artículo: Trazar las pautas que nos permitan entender losfundamentos del
diseño de Algoritmos y de la Programación estructurada como base fundamental para adquirir
destrezas en la elaboración de Soluciones de software a problemas que se planteen

2

I.- ALGORITMOS
Comencemos definiendo un ALGORITMO como una serie de pasos finitos los cuales partiendo de
unas condiciones iniciales y expresados estos pasos sin ambigüedad, al ejecutarse, produceunos
resultados en determinado tiempo. Según esta definición, los algoritmos no están limitados a
expresar soluciones a problemas de índole computacional sino que abarcan la representación de
una multitud de problemas de diversos campos.

Ejemplo1: La preparación de un medicamento en suspensión parte de la utilización de 25
gramos de Ampicilina en polvo a los cuales hay que agregar aguahervida hasta alcanzar el nivel
indicado por una flecha impresa en la etiqueta del frasco lo cual permite obtener 50 mililitros de
medicamento para el consumo humano. Escriba un algoritmo que exprese la solución al problema
consistente en preparar el medicamento en cuestión.
Solución:

Paso 1 : Hervir 50 c.c. de agua en un recipiente durante 5 minutos
Paso 2 : Verter una porción mínima de aguaen el frasco que contiene
el polvo de la suspensión.
Paso 3: Agitar muy bien hasta obtener una solución espesa.
Paso 4: Si el volumen de medicamento obtenido es inferior a 50 ml entonces
Volver al paso número 2, de lo contrario finalizar la preparación
Ejemplo2: Se requiere leer desde el teclado una serie de caracteres. El proceso debe terminar
cuando se introduzca el carácter ‘#’, hecho locual debe entonces indicar cuantas vocales fueron
introducidas durante el proceso.
Solución:

CARACTERES
/* Variables: car: tipo carácter ; cuantas: tipo entero */
cuantas
0; Lea (Car)
MQ ( Car ‘#’) Haga
SI ( car=’a’ OR car=’e’ OR car=’i’ OR car=’o’ OR car=’u’) Entonces
cuantas
cuantas + 1

FSI
SI ( car=’A’ OR car=’E’ OR car=’I’ OR car=’O’ OR car=’U’) Entonces
cuantas
cuantas + 1FSI
Lea (Car)
FMQ
Escriba(“El total de Vocales introducidas fue “, cuantas)

FIN CARACTERES

3
Cual es la diferencia entre los algoritmos de los ejemplos 1 y 2?
R/ La diferencia consiste en que el segundo se ha escrito utilizando lógica y sintaxis de
computación mientras que el primero no.

Como enfrentar la solución de un problema mediante la elaboración de
un algoritmocomputacional?
R/ Comencemos indicando que por más veloz y exacta que sea una computadora, lo normal es
que su utilidad se resuma en: Recibir datos, Procesarlos y Producir resultados. Es necesario
entender esto puesto que los Algoritmos se elaboran para luego ser representados (decimos
codificados) en un Lenguaje de Programación de manera que pueda este programa ser
introducido a la máquina y ejecutadopara comprobar si resuelve el problema para el cual fue
diseñado el algoritmo.
Ahora bien, entendido lo anterior, le sugiero que considere el problema que va a resolver
mediante algoritmos computacionales, como si este fuera un ENFERMO que necesita ser llevado a
la EPS para ser tratado. Una vez que nuestro enfermo llega de urgencias es necesario que nos
planteemos y resolvamos los siguientesinterrogantes:


Cuales son los datos de



Entrada?

Cuales son los



Procesos que se requiere hacer con estos datos?
Cuales son los resultados, es decir, la Salida que debe obtenerse?

Si usted considera necesario volver a leer detenidamente una o más veces el problema, no dude
en hacerlo hasta que lo haya entendido perfectamente. ¿ Como saber si lo ha entendido?, pues...
tracking img