Está en la página 1de 32

UNIVERSIDAD DE PANAM FACULTAD DE CIENCIAS NATURALES Y EXACTAS ESCUELA DE MATEMTICA CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS MONOGRAFA: EL USO DE LAS

COMPUTADORAS EN LA SOLUCIN DE PROBLEMAS PRESENTA: RAL E. DUTARI D. 1995

ii

TABLA DE CONTENIDOS

INTRODUCCIN........................................................................................1 1. Observaciones preliminares....................................................................2 2. La creacin de programas para computadoras: un proceso con siete pasos......................................................................................2 2.1. Definicin del problema........................................................................3 2.2. Seleccin del mtodo de solucin........................................................5 2.2.1. Mtodos geomtricos........................................................................6 2.2.2. Mtodos analticos.............................................................................7 2.2.3. Mtodos iterativos..............................................................................7 2.3. Creacin del algoritmo..........................................................................9 2.3.1. Caractersticas que debe reunir todo algoritmo..............................11 2.3.1.1. Integridad......................................................................................11 2.3.1.2. Claridad.........................................................................................11 2.3.1.3. Simplicidad....................................................................................12

iii

2.3.1.4. Eficacia.........................................................................................12 2.3.1.5. Modularidad..................................................................................12 2.3.1.6. Generalidad..................................................................................13

2.4. Programacin del algoritmo................................................................13 2.5. Depuracin y documentacin del programa......................................15 2.6. Validacin de la solucin....................................................................18 2.7. Instalacin, produccin y mantenimiento del programa....................19 3. Comentarios finales...............................................................................20 BIBLIOGRAFA.........................................................................................24

INTRODUCCIN
La computadora y sus tecnologas colaterales, en el poco tiempo de existencia que tienen en la prctica (unos cincuenta aos), han sido uno de los factores de cambio ms importantes de nuestra sociedad. Nuestra sociedad admira la facilidad que tienen estas mquinas para facilitar los procesos que realiza el hombre en su vida diaria. Sin embargo, es notorio el desconocimiento generalizado acerca de lo que se debe hacer para que la computadora pueda facilitarnos las cosas. Poca gente sabe que una computadora debe PROGRAMARSE ADECUADAMENTE para que realice las cosas que tanto nos maravillan. Adems, de los que conocen esta verdad, solo una fraccin sabe con alguna certeza los pasos que se deben seguir para programar adecuadamente a la mquina. Esta monografa pretende precisamente ilustrar, en trminos generales, el proceso que se debe seguir para lograr que un problema se resuelva, dentro de lo posible, haciendo uso de la computadora.

1.

Observaciones preliminares.
Cuando programamos una computadora, no hacemos ms que sealar, a la mquina, una serie de rdenes o instrucciones, que ella realizar exactamente, para procesar la informacin que les suministramos. El diseo de un programa de computadora (tambin llamado sistema computacional, aplicacin, o simplemente, sistema), es un proceso delicado. En l, en principio, le sealamos a la mquina, exactamente, cules son los procesos que debe seguir para el procesamiento de la informacin. Es decir, NOSOTROS le sealamos a LA COMPUTADORA lo que debe hacer. Quin usa la computadora, tiene la responsabilidad de sealarle EXACTAMENTE, lo que debe hacer. La mquina siempre realizar lo que programemos, y solamente eso. Todo lo que hagamos usando computadoras debe enmarcarse, necesariamente, dentro de este lineamiento fundamental. La programacin de computadoras es, para la mayora de las personas, un tema misterioso. No se atreven a incursionar en l, tal vez porque temen a lo desconocido. Esta monografa pretende, precisamente, darnos algunas luces acerca de esta materia.

2.

La creacin de programas para computadoras: un proceso con siete pasos.


La creacin de un programa de computadora significa ms que el simple trabajo mecnico del hombre y la mquina. Constituye la culminacin de todo un proceso complejo, que involucra a los dos entes, aportando cada uno su respectiva parte en la realizacin de la tarea.

Esta tarea ha sido sistematizada por los especialistas del rea, buscando optimizar la eficiencia de los programas producidos. La sistematizacin comprende un proceso que consta de siete pasos. Estos son: Definicin del problema. Seleccin del mtodo de solucin. Creacin del algoritmo. Programacin del algoritmo. Depuracin y documentacin del programa. Validacin de la solucin. Instalacin, produccin y mantenimiento del programa. La denominacin exacta de cada uno de ellos, as como el nmero de pasos involucrados, generalmente vara de un autor a otro. Sin embargo, en esencia, son la APLICACIN DEL MTODO CIENTFICO a la solucin de un problema prctico. A continuacin, nos referiremos a cada uno de estos pasos con ms detenimiento.

2.1.

Definicin del problema.


La definicin o enfoque del problema es el primer paso en el diseo de un programa de computadora. Consiste, fundamentalmente, en definir cual es la SITUACIN QUE INTENTAMOS RESOLVER.

La definicin del problema debe ser tan clara y precisa como sea posible, de modo que no pueda ser malinterpretada por otras personas. Dicho requisito es muy difcil de lograr. Sin embargo, este paso fundamenta todo lo que se har en los otros pasos. Luego, no se puede avanzar en el proceso sin contar con esa definicin. La importancia que reviste a esta etapa es enorme. Si el programador no entiende bien el problema que enfrenta, es prcticamente imposible que la computadora lo comprenda mejor. Ella no es capaz de sealar la solucin que buscamos, sin embargo, est diseada para facilitar el estudio de los casos que analizamos, al procesar la informacin suministrada con gran rapidez y exactitud. Generalmente, no obtendremos la comprensin absoluta del problema en estudio, con el primer intento. Es necesario realizar un proceso de tanteos y aproximaciones paulatinas al dominio de la situacin que analizamos. Es ms, generalmente, debemos retroceder a las etapas iniciales del proceso, debido a un detalle que se plante ambiguamente al definir el problema. El retroceso, al inicio del diseo, es obligatorio, aunque nos encontremos en sus etapas finales. Debemos enfocar la definicin del problema, a travs de las siguientes caracterizaciones: El modelo de situacin tpica que se estudiar. Las limitaciones impuestas. Los datos con que se cuenta. La informacin que se espera obtener.

Las metas u objetivos a lograr al resolver el problema (este aspecto es sumamente importante). Las alternativas disponibles para lograrlas. El balance de los criterios involucrados en el problema (velocidad, precisin, confiabilidad de las respuestas, facilidad de uso, ..., entre otros). Simultneamente se establece el problema a resolver, deben disearse los objetivos especficos que se espera lograr al resolverlo, as como el alcance que ellos tendrn. stos aspectos de la definicin del problema se relacionan, ntimamente, entre s. El costo de ignorar dicha relacin, generalmente, se refleja en los pasos siguientes. Ellos resultarn ms difciles de alcanzar. Fcilmente tendremos que volver a replantear todo el problema, debido a cualquier condicin importante que pasaba inadvertida. Esta situacin es una molestia en cuanto al tiempo, dinero y esfuerzo humano que se pierde, al retroceder en el diseo del programa. Sin embargo, es evidente que el precio de este descuido supera, enormemente, el costo de hacer un estudio ms detenido y minucioso del problema.

2.2.

Seleccin del mtodo de solucin.


Cuando el problema est bien enfocado, se le tiene que encontrar una solucin. El mtodo empleado para obtenerla puede ser planteado de distintas maneras. Pero, casi todos, podemos agruparlos dentro de tres categoras bsicas. Ellas son, en orden creciente de importancia:

Mtodos geomtricos. Mtodos analticos. Mtodos iterativos. A continuacin, explicaremos con ms detalle esta clasificacin.

2.2.1.

Mtodos geomtricos.
Los mtodos geomtricos, generalmente, emplean grficas para resolver los problemas. Ellas pueden ser de tipo sinttico o analtico. Las construcciones de tipo sinttico se realizan, comnmente, dentro del marco de la geometra euclidiana clsica. Es decir, se toman como base: los axiomas fundamentales de la teora, la observacin directa de la figura, y las proposiciones previamente demostradas. Con base a estas premisas, se derivan nuevas propiedades de las figuras. Este enfoque geomtrico es el ms primitivo de los dos y para efectos de programacin de computadoras, no es funcional, en la actualidad. Por otro lado, las construcciones de tipo analtico se realizan estableciendo un sistema de ejes coordenados en la figura en estudio. A cada punto importante se le asocia un par ordenado de nmeros reales (que puede ser constante o variable). El par ordenado en mencin, esta dado en funcin a las coordenadas del punto con base al sistema referencial. Las figuras, en tanto, sern representadas como ecuaciones; obtenidas a travs de mtodos de seccin y proyeccin de segmentos. Esta representacin define una biyeccin entre puntos geomtricos y coordenadas algebraicas. En consecuencia, se transforma el anlisis geomtrico en algebraico, empleando las reglas, herramientas y ecuaciones tpicas del lgebra.

De los dos enfoques, geomtricos ste tiene ms vigencia en la programacin de computadoras. Un ejemplo del ltimo enfoque, lo vemos en la solucin de sistemas de ecuaciones simultneas por el mtodo grfico.

2.2.2.

Mtodos analticos.
Los mtodos analticos se basan en planteamientos derivados de las ramas clsicas de las matemticas abstractas (lgebra, geometra analtica y anlisis matemtico, entre otras). Generalmente, consisten en la aplicacin de una frmula o mtodo preestablecido, con base a los supuestos con que fue construido. Ellos originan, el ltimo enfoque para la solucin de problemas (los planteamientos iterativos). La programacin de estos mtodos puede presentar grados muy diversos de dificultad (dependiendo de cada frmula particular). Como ejemplo de ellos, tenemos la frmula para la solucin de una ecuacin cuadrtica, en el caso general.

2.2.3.

Mtodos iterativos.
Los mtodos iterativos son el enfoque ms importante para resolver problemas, usando computadoras. Tambin se fundamentan en las ramas clsicas de la matemtica abstracta. Se caracterizan porque emplean procesos iterativos y recurrentes en la solucin de los problemas (fundamentados en la teora de sucesiones y series

del anlisis matemtico). Los mtodos basados en tcnicas iterativas y analticas, forman la esencia de la disciplina matemtica conocida como ANLISIS NUMRICO. El anlisis numrico trata de expresar y calcular, en forma tan exacta como sea posible, algunos de los conceptos, mtodos y expresiones matemticas que son estudiadas dentro del ANLISIS MATEMTICO, tales como: Integrales definidas. Derivadas evaluadas en un punto. Funciones trigonomtricas de un ngulo dado. Solucin de ecuaciones diferenciales con valores a la frontera, entre otros tpicos. El planteamiento de estas expresiones se realiza en funcin a mtodos CONSTRUCTIVOS que involucran un nmero finito de operaciones matemticas. En el anlisis numrico, el auxilio de los programas de computadora, generalmente, es imprescindible; por el volumen de operaciones aritmticas y lgicas a realizar. Independientemente de los tipos de mtodos establecidos, en la prctica, la solucin de un problema puede involucrar la combinacin de uno o ms mtodos conocidos, y hasta el diseo de uno completamente nuevo. Cuando no es posible encontrar una va para resolver al problema, se hace necesario su replanteamiento, para simplificarlo. En consecuencia, se

facilita su solucin. Por otro lado, se ven casos en los que hay un procedimiento de solucin que resulta obvio. Su programacin tambin puede presentar grados muy diversos de dificultad. Como ejemplo de estos mtodos, tenemos el clculo de races de una funcin, empleando el procedimiento de biseccin de Bolzano.

2.3.

Creacin del algoritmo.


Cuando se ha escogido un mtodo de solucin, debemos establecerlo, por escrito, con tanto detalle como sea posible. Se debe establecer como una secuencia de pasos BIEN DEFINIDA y tan COMPLETA como sea posible, para conservar la claridad de la definicin del problema y del mtodo que se aplicar en su solucin. No debe dejarse nada al azar. En ese sentido, si se presenta un problema particular, que el mtodo no puede resolver, l debe ser capaz, al menos, de informar al usuario que no puede obtener una respuesta satisfactoria con ese enfoque. Estas necesidades particulares se satisfacen a travs del empleo de un algoritmo, que define INEQUVOCAMENTE la lgica usada en la solucin del problema. En esencia, ellos no difieren significativamente de los usados dentro del lgebra cotidiana. En consecuencia, debemos construirlos, hasta donde sea posible, empleando el lenguaje natural. Sin embargo, a nivel de la programacin de computadoras, debemos ajustar el lenguaje natural a las tres clases fundamentales de rdenes estructuradas descendentes (la asignacin, la decisin y la repeticin).

10

Adicionalmente, se deben implementar, en el algoritmo, estructuras adicionales de: Entrada y salida de la informacin. Clculo numrico y manipulacin de datos. Comparacin lgica y relacional. Almacenamiento y recuperacin de informacin. Es importante resaltar en este punto, que cada algoritmo diseado para resolver un problema, est asociado a una estructura o tipo de datos que le permite administrar la informacin del problema de manera ms o menos eficiente. Dependiendo de esto, un mismo problema se puede resolver de varias maneras, cada una de ellas con cierto grado de eficiencia frente a las dems. Esto nos lleva a que en un momento dado podemos tener un algoritmo eficiente, con una estructura de datos deficiente, o viceversa. Queda entonces al buen juicio del analista, el decidir si es ms importante tener un algoritmo o una estructura de datos eficiente, para lograr la solucin al problema originalmente planeado. En todo caso, la creacin de un algoritmo es un proceso repetitivo, que se refina paulatinamente. Se parte de un esquema burdo de la lgica que soluciona el problema, y se llega (luego de mucho esfuerzo), al grado de detalle que caracteriza a los programas de computadora. Cuando logramos ese nivel en el planteamiento del algoritmo, su programacin se realiza prcticamente sin esfuerzo (se reduce a la TRADUCCIN de las rdenes al formato que comprende la mquina).

11

2.3.1.

Caractersticas que debe reunir todo algoritmo.


Cuando creamos un algoritmo, debemos tratar de reunir, en l, una serie de caractersticas importantes. Ellas nos garantizan que el algoritmo producido tiene un alto grado de calidad. Estas son: Integridad. Claridad. Simplicidad. Eficacia. Modularidad. Generalidad. A continuacin, explicaremos con ms detalle estas caractersticas.

2.3.1.1.

Integridad.
Esta caracterstica se refiere a la exactitud y precisin de los clculos involucrados. No tiene sentido crear un algoritmo que tendr un comportamiento impredecible, y en consecuencia, que manipule nuestra informacin de manera aleatoria.

2.3.1.2.

Claridad.
Es un aspecto ms sutil. Se refiere a la legibilidad de la lgica involucrada. Si un algoritmo es claro, es posible entregarlo a otra persona para

12

que lo modifique, sin grandes dificultades. Adicionalmente, el programador original podr comprender y modificar su lgica, aunque tenga mucho tiempo de haberla elaborado.

2.3.1.3.

Simplicidad.
Esta caracterstica suele recoger a las dos anteriores. Si un algoritmo es fcil de comprender, desde el punto de vista lgico, y manipula correctamente la informacin, su simplicidad se establece como una consecuencia inmediata.

2.3.1.4.

Eficacia.
La eficacia del algoritmo se refiere a su velocidad de ejecucin y la administracin eficiente de los recursos de la mquina. Cuando nos enfrentamos a problemas complejos, que exigen llevar los recursos disponibles al lmite de su agotamiento, se hace imperativo que los algoritmos sean eficaces, aun a expensas de su claridad. En estas situaciones, el sentido comn del programador juega un papel muy importante, pues debe decidir cuanto se sacrificar una caracterstica frente a la otra.

2.3.1.5.

Modularidad.
DIVIDE Y VENCERS dice un viejo adagio popular. l, tiene vigencia en la creacin de algoritmos. Cuando nos enfrentamos a un problema complejo, es importante subdividirlo en tareas ms sencillas. En la mayora de los casos, la modularidad de un algoritmo incrementa su claridad, y eficiencia, simultneamente. Sin embargo, el sentido comn del programador es el mejor catalizador de esta caracterstica.

13

2.3.1.6.

Generalidad.
El esfuerzo de programar se hace intil si no damos generalidad a los algoritmos, ya que se tendr que repetir todo el anlisis del problema, cada vez que se plantea una situacin no contemplada en el estudio. Sin embargo, la generalidad de un algoritmo debe ser limitada, generalmente a las tareas que se pueden prever de manera razonable. En ese sentido, nuevamente, el sentido comn juega un papel muy importante en el diseo de algoritmos. Como ejemplo de un algoritmo representativo (bastante simple), podemos mencionar el aplicado en el caso de las races de la ecuacin cuadrtica de coeficientes y races reales.

2.4.

Programacin del algoritmo.


Dependiendo del grado de precisin logrado en la etapa anterior, el paso que mencionaremos en este apartado ser, directamente, ms sencillo de lograr. En esencia, cada una de las pautas lgicas establecidas dentro del algoritmo, se debe traducir a una instruccin equivalente en el lenguaje de programacin. As, las caractersticas del algoritmo definen, directamente, las caractersticas de su programacin. Tcnicamente, hablamos de CODIFICAR EL ALGORITMO. Posteriormente, el listado del programa es grabado en un medio de almacenamiento de la computadora. Luego, es traducido al lenguaje de la mquina empleando un conjunto de programas, denominados compiladoresenlazadores o intrpretes. Ellos, siguen procedimientos especficos de empleo, dependiendo de cada sistema particular que se use.

14

Muchos programadores novatos sienten la TENTACIN de escribir la solucin del problema directamente en el lenguaje de programacin, sin completar las etapas previas a este paso. Esta accin es una prdida de tiempo, ya que generalmente, estos intentos no abarcan la totalidad del problema, o dejan algunos detalles al azar. Estas fallas, en su momento, se harn evidentes y habr que retroceder a esta etapa. La referencia a lenguajes de programacin, compiladores-enlazadores, e intrpretes amerita algunas aclaraciones adicionales. Como mencionamos anteriormente, la programacin del algoritmo consiste, fundamentalmente, en su traduccin a un formato equivalente, que comprende la computadora (llamado lenguaje de mquina). Este proceso se logra a travs del empleo de una representacin intermedia, denominada lenguaje de programacin. Un lenguaje de programacin se puede definir, en consecuencia, como un sistema completo de simbolismos, caracteres y reglas, que nos permiten comunicarnos con la computadora. En teora, todos los lenguajes de programacin deben brindar la facilidad de implementar las estructuras de datos y de control definidas dentro de los algoritmos. Pero, en realidad, existe una marcada diferenciacin en la implementacin de cada uno de ellos. Estas diferencias los ubican, individualmente, con debilidades, libertades y potencialidades especficas, frente a un problema dado. Generalmente, aquellos que son ms fciles de usar e implementan mayores posibilidades de programacin, se denominan LENGUAJES DE ALTO NIVEL. Los lenguajes de programacin se implementan a travs de los intrpretes y compiladores-enlazadores. Ambos son programas, generalmente diseados en lenguaje de mquina. Se encargan de TRADUCIR las secuencias de rdenes de los programas escritos en un lenguaje de

15

programacin de alto nivel, al lenguaje de mquina. Los compiladores-enlazadores realizan la traduccin de todas las rdenes a la vez; como un todo, creando en el proceso un programa que puede ser ejecutado directamente en la mquina sin depender del compiladorenlazador. Los intrpretes, en cambio, realizan la traduccin de las rdenes al lenguaje de mquina, procesndolas y ejecutndolas una a una, dinmicamente. Los intrpretes no crean programas ejecutables (como los creados por los compiladores-enlazadores).

2.5.

Depuracin y documentacin del programa.


Es de humanos cometer errores, pero la verdad de esta afirmacin es ms evidente para quienes han tenido experiencias en la programacin de computadoras. Prcticamente ningn analista logra que sus programas funcionen correctamente en el primer intento. Debe someterlos a un proceso de correccin y depuracin de errores de todo tipo. As, los compiladores-enlazadores e intrpretes requieren que el programa cumpla con toda una serie de reglas semnticas y sintcticas preestablecidas dentro del lenguaje, para realizar la traduccin al lenguaje de mquina. Una coma mal ubicada, un parntesis que falte o sobre, una orden mal escrita; todas son situaciones que provocan que un programa no se pueda compilar, o funcione incorrectamente. Adicionalmente, en esta etapa podemos enfrentarnos a una serie de situaciones no previstas dentro del proceso. El caso ms importante lo vemos cuando surgen resultados incorrectos; debido a que los algoritmos, que son

16

exactos en teora, sufren los problemas conocidos como error por redondeo y error por truncamiento, de las cifras involucradas en los clculos. Sus efectos pueden ser tan catastrficos al aparecer, que llegan a invalidar completamente la efectividad del algoritmo (es decir, harn que no resuelva el problema originalmente planteado). Estos errores deben ser eliminados del programa a travs de un cuidadoso y exhaustivo anlisis de los procesos previos a este paso. Es decir, revisando el mtodo de solucin de una manera ms detenida y considerando los detalles de implementacin en la computadora. Por otro lado, se deben crear documentos escritos, complementarios al programa diseado. Esta, informacin debe reunirse de manera histrica y sistemtica, paralelamente a los cambios que sufra el programa en su vida til. Estos escritos se conocen como DOCUMENTACIN DEL SISTEMA y deben reflejar, en lo posible, lo que pensaba el programador al disear la aplicacin. Debe reunir, entre otras cosas, detalles acerca de: La definicin del problema que se intenta resolver. La descripcin del mtodo de solucin empleado. TODOS los algoritmos y listados de los mdulos que integran al programa principal y sus partes. La enumeracin detallada de TODAS las instrucciones que pueden realizar los operadores del programa, as como TODOS los pasos para realizarlas correctamente (manual del usuario). La administracin del teclado, por parte del programa.

17

Las convenciones que deben asumirse en el manejo de la informacin. Los controles para verificar la integridad de la informacin. Las limitaciones, libertades y potencialidades que tiene el programa. Estos documentos deben reposar en el cdigo fuente y en copias impresas separadas. Dicha informacin se orienta a los posibles usuarios del programa y a los programadores que, en el futuro, modifiquen su contenido. La importancia de estos escritos se debe a que, el programador GUARDA la lgica del sistema, en su mente, cuando est recin confeccionado. Sin embargo, con el transcurrir del tiempo, esa informacin se olvida y, consecuentemente, el cdigo fuente que una vez fue claro, lgico y sencillo; nos parecer incomprensible, e imposible de modificar. La documentacin que reposa en el cdigo del programa se debe crear tan pronto se completa cada parte del sistema, para lograr que los conceptos originalmente planteados se coloquen ntegramente all. Est orientada fundamentalmente hacia los programadores. En tanto, la documentacin escrita es de tipo ms general y se orienta a los usuarios del programa. Fundamentalmente, trata de auxiliar al usuario en la implementacin del sistema, explicando la naturaleza de la informacin que se suministra al programa, las salidas que produce, y los procedimientos empleados para realizar stas y otras operaciones. Resumiendo, esta informacin es importante para facilitar la depuracin, mantenimiento y posterior uso del sistema, por quienes no lo programaron.

18

2.6.

Validacin de la solucin.
Si nuestro algoritmo no a sido objeto de un estudio cuidadoso y profundo en las etapas iniciales, al llegar a este punto, nos enfrentaremos a preguntas tales como: Las soluciones obtenidas tienen sentido al enfrentarlas a la teora del problema planteado? Los casos triviales son contemplados adecuadamente dentro del enfoque de la solucin planteada? Se obtienen las soluciones correctas al aplicar el algoritmo a una amplia gama de problemas especficos, con respuesta conocida? Las simplificaciones realizadas inicialmente (al definir el problema) afectan al algoritmo, al punto que sus resultados no tienen ninguna utilidad prctica? Las preguntas planteadas, evidentemente, no las puede responder la computadora. Es la persona que realiz el anlisis del problema quien debe enfrentarlas. Dependiendo del grado de eficiencia que se logr en las etapas iniciales del anlisis del problema, la respuesta a estas preguntas ser una trivialidad, o nos obligar a replantear todo el proyecto desde la definicin del problema. Esta etapa se cumple, a veces, simultneamente a la depuracin del cdigo fuente.

19

2.7.

Instalacin, produccin y mantenimiento del programa.


Finalmente, y luego de muchos esfuerzos, el programador logra que su diseo funcione correctamente. Nuestro programa es instalado permanentemente como sistema y entra a la fase de produccin. En ella obtenemos los beneficios de la rapidez en los clculos, al resolver los problemas planteados, con gran velocidad y confiabilidad. En este momento, podemos pensar que la faena del programador ha concluido. Desgraciadamente, eso es falso. La implantacin del programa no se puede realizar a la ligera. Es necesario que se establezca un perodo de PRUEBA para el sistema. En ese tiempo, se verificar que, en realidad, el programa ejecuta todos los procesos originalmente contemplados en el diseo. Esto se logra a travs de la comparacin de resultados logrados con la mquina, frente a los obtenidos por mtodos manuales. Si es necesario, el programa es nuevamente revisado y corregido. Dichas correcciones deben ser reflejadas, lgicamente, en la documentacin escrita que lo acompaa. Por otro lado, al igual que cualquier creacin del hombre, los programas de computadora no son eternos. Deben recibir un mantenimiento adecuado, con el objeto de que se mantengan a tono con las necesidades que van surgiendo, dinmicamente, con el transcurrir del tiempo. Por ejemplo, pueden surgir nuevas situaciones que originalmente no fueron previstas, y requieren la atencin de quienes emplean el programa. En tal caso, el programa debe ser modificado para adaptarlo a esas circunstancias imprevistas inicialmente. Usualmente, el proceso de mantenimiento se lleva a cabo en tanto el

20

programa sea provechoso. Una vez deja de ser til, sencillamente se abandona y la informacin que manejaba (si es necesario) es transferida a otros sistemas para que la aprovechen.

3.

Comentarios finales.
El proceso al que nos hemos referido, se ve como algo bastante difcil y tedioso. Sin embargo, la prctica de la programacin de computadoras siguiendo este procedimiento, acarrea grandes beneficios, a largo plazo. Entre ellos, tenemos la creacin de programas altamente confiables y eficientes. Para facilitar la comprensin de este proceso, hemos confeccionado la figura que, a continuacin, mostramos:

Figura 1:

Los siete pasos necesarios para producir programas de calidad. Las flechas con trazo continuo indican la secuencia a seguir, obligatoriamente. Las fechas punteadas sealan que se puede retroceder en el proceso cuando sea necesario, para mejorar el producto final.

22

Este proceso, permite desprender toda una serie de sealamientos bien claros, a manera de conclusiones. La computadora no es capaz de resolver problemas por s sola. Simplemente instalado. La computadora no releva al ser humano de la responsabilidad de estructurar su trabajo. Al contrario, lo obliga a realizar una planificacin ms detallada y cuidadosa del mismo. La computadora no releva al hombre de interpretar los resultados obtenidos. Ella le exige un conocimiento ms amplio de los problemas que enfrenta, al tener que conjugar una serie de situaciones no previstas cuando trabaja manualmente, y que pasan a formar parte adicional del problema que enfrenta. La programacin de computadoras puede resultar ms simple para quienes tienen una formacin de ndole matemtica, que a los miembros de otras disciplinas (salvo, lgicamente, los analistas y programadores de sistemas). La ltima afirmacin requiere algunas aclaraciones adicionales. puede realizar secuencias de pasos preestablecidas, a travs de los programas que se le han

Generalmente las personas con formacin matemtica tienen la lgica altamente desarrollada y educada. Se les puede facilitar, enormemente, la creacin de mtodos, algoritmos y programas, con respecto a los integrantes de otras disciplinas del saber. Todo es cuestin de que, previamente, organicen sus conocimientos lgicos, de modo que desarrollen las soluciones de los problemas en funcin a las disposiciones de la programacin estructurada descendente.

23

Sin embargo, esto no significa que alegremente podrn programar a las computadoras. Ellos deben adquirir algunos conocimientos bsicos de programacin de computadoras y anlisis de sistemas de informacin. Adicionalmente, esto no impide a las personas, que en general, son capaces de organizar sus pensamientos de manera estructurada, que realicen la programacin de computadoras para resolver sus problemas personales. Todo depende del grado de organizacin de sus ideas y planteamientos, adems del dominio de algunos conceptos bsicos de programacin de computadoras.

24

BIBLIOGRAFA
1. ALLEN SMITH, W. Anlisis Numrico. Traducido por Francisco Javier Snchez Bernabe. Primera edicin. Mxico, D.F., Mxico: Prentice-Hall, 1988. 608 pginas. 2. CHAPRA, Steven, y CANALE, Raymond P. Mtodos numricos para ingenieros con aplicaciones en computadoras personales. Traducido por Carlos Zapata S. Primera edicin. Mxico D.F., Mxico: McGraw-Hill, 1990. 641 pginas. 3. GOTTFRIED, Byron S. Programacin en Pascal. Traducido por Alfredo Bautista Paloma. Primera edicin. Mxico D.F., Mxico: McGraw-Hill, 1988. 398 pginas. 4. JAMES, Merlin L, SMITH, Gerald M., y WOLFORD, James C. Mtodos numricos aplicados a la computacin digital con FORTRAN. Traducido por Jos A. Nieto Ramrez. Primera edicin. Mxico, D.F., Mxico: Representaciones y Servicios de Ingeniera, 1973. 575 pginas. 5. JOYANES AGUILAR, Luis. Turbo Basic. Manual de Programacin. Primera edicin. Madrid, Espaa: McGraw-Hill, 1989. 525 pginas. 6. HENRICE, Peter. Elementos de anlisis numrico. Traducido por Federico Velasco Coba. Primera edicin. Mxico, D.F., Mxico: Trillas, 1972. 363 pginas.

25

7.

KORFHAGE, Robert R. Lgica y algoritmos: Con aplicaciones a las ciencias de la computacin e informacin. Traducido por Federico Velasco C. Primera edicin. Mxico, D.F., Mxico: Limusa, 1970. 222 pginas.

8.

LIPSCHUTZ, Seymour. Estructura de datos. Traducido por Manuel Ortega Ortz de Apodaca y Luis Hernndez Yaez. Primera edicin. Mxico, D.F., Mxico: McGraw-Hill, 1987. 390 pginas.

9.

LUTHE, Rodolfo, OLIVERA, Antonio, y SCHUTZ, Fernando. Mtodos numricos. Primera edicin. Mxico, D.F., Mxico: Limusa, 1986. 443 pginas.

10.

MCCRAKEN, Daniel D., y DORN, William S. Mtodos numricos y programacin FORTRAN. Traducido por Jos A. Nieto Ramrez. Primera edicin. Mxico, D.F., Mxico: Limusa, 1986. 476 pginas.

11.

NELL, Dale, y LILLY, Susan C. Pascal y estructura de datos. Traducido por Jos Mara Troya Linero. Primera edicin. Mxico, D.F., Mxico: McGraw-Hill, 1988. 491 pginas.

12.

PALMER, Scott D. Domine Turbo Pascal 6. Traducido por Eduardo de la Calle Surez. Primera edicin. Mxico, D.F., Mxico: Ventura, 1992. 597 pginas.

13.

PHILIPPAKIS, A. S. y KAZMIER, Leonard J. Diseo de programas con aplicaciones en COBOL. Traducido por Jos Mara Troya Linero. Primera Edicin. Madrid, Espaa: McGraw-Hill, 1984. 239 pginas.

26

14.

RALSTON, Anthony. Introduccin al anlisis numrico. Traducido por Carlos E. Cervntes de Gortari. Primera edicin. Mxico, D.F., Mxico: Limusa, 1970. 629 pginas.

15.

REINHARDT, Fritz y SOEDER, Heinrich. Atlas de matemticas 1: Fundamentos, lgebra y geometra. Traducido por Juan Luis Vzquez Surez y Mario Rodrguez Artalejo. Primera edicin. Madrid, Espaa: Alianza Editorial, 1984. 265 pginas.

16.

SANDERS, Donald H. Informtica: Presente y futuro. Traducido por Roberto Luis Escalona. Tercera Edicin. Mxico D.F., Mxico: McGraw-Hill, 1991. 887 pginas.

17.

SANTAL SORS, Marcelo, y CARBONELL CHAURE, Vicente. Geometra Analtica. Primera Edicin. Mxico D.F., Mxico: Librera de Manuel Porra, 1959. 255 pginas.

18.

SCHEID, Francis. Anlisis numrico. Traducido por Hernando Alonso Castillo. Primera Edicin. Mxico D.F., Mxico: McGrawHill, 1972. 422 pginas.

19.

SCHEID, Francis. Introduccin a la ciencia de las computadoras. Traducido por Alberto Jaime Sisa. Segunda Edicin. Mxico D.F., Mxico: McGraw-Hill, 1985. 402 pginas.

20.

SCHEID, Francis, y Di Constanzo, Rosa Elena. Mtodos numricos. Traducido por Gabriel Nagore Czares. Segunda Edicin. Mxico D.F., Mxico: McGraw-Hill, 1991. 709 pginas.

27

21.

SEEN, James A. Anlisis y diseo de sistemas de informacin. Traducido por Edmundo Gerardo Urbina Medal y scar Alfredo Palmas Velasco. Segunda Edicin. Mxico D.F., Mxico: McGraw-Hill, 1992. 942 pginas.

22.

SQUIRE, Enid. Introduccin al diseo de sistemas. Traducido por Jaime Luis Valls Cabrear. Primera Edicin. Mxico D.F., Mxico: Fondo Educativo Interamericano, 1984. 345 pginas.

Santiago, 10 de enero de 1995 Profesor Ral Enrique Dutari Dutari Centro Regional Universitario de Veraguas E. S. M. Profesor Dutari: En la BIBLIOTECA del CENTRO REGIONAL UNIVERSITARIO DE

VERAGUAS, recibimos la monografa: EL USO DE LAS COMPUTADORAS EN LA SOLUCIN DE PROBLEMAS, de su autora y la misma ha sido incorporada a la coleccin de la Biblioteca. Agradecemos su gentil donacin. Cordialmente, RUBILDA AGRAZAL Bibliotecaria Jefe DUTARI D., Ral E. EL USO DE LAS COMPUTADORAS EN LA SOLUCIN DE PROBLEMAS. Santiago de Veraguas, 1995. 28 h.

A QUIEN CONCIERNE
El Suscrito Director del Centro Regional Universitario de Veraguas, PROFESOR RUBN DARO BATISTA, a solicitud de parte interesada,

CERTIFICA QUE:
El (la) Profesor (a) RAL DUTARI con cdula de identidad personal N 9-132-758 entreg a este Despacho la presente MONOGRAFA titulada: EL USO DE LAS COMPUTADORAS EN LA SOLUCIN DE PROBLEMAS. Dicho documento puede ser consultado por los docentes y estudiantes del Departamento de MATEMTICAS del Centro Regional Universitario de Veraguas, para lo cual el interesado deber enviar copia del mismo a la Biblioteca de esta Unidad Acadmica. Dicha MONOGRAFA fue utilizada en PRIMER semestre del ao 1992, en la asignatura MAT. 240A PROGRAMACIN I. Para los fines que el (la) interesado (a) considere pertinentes, se extiende la presente certificacin en el C.R.U. de Veraguas, a los 10 das del mes de enero de mil novecientos noventa y cinco. ________________________________ Coordinador del Departamento de Matemticas del C.R.U. de Veraguas /lvgdeg ______________________________ Director del Centro Regional Universitario de Veraguas

PROFESOR CSAR AUGUSTO GARCA PROFESOR RUBN DARO BATISTA