You are on page 1of 14

Captulo

Mtodo para la solucin de


problemas

Temas:
Conceptos generales.
Algoritmo.
o Introduccin.
o Definicin.
o Caractersticas.
Solucin de problemas utilizando algoritmos.
Solucin de problemas utilizando clases.
Mtodo para la solucin de problemas.
Resumen de las etapas del mtodo.
Resultados de las etapas del mtodo.

Juan Jos Flores Cueto

CAPTULO I
MTODO PARA LA SOLUCIN DE PROBLEMAS

CONCEPTOS GENERALES

PROCESO
Un proceso constituye una actividad de transformacin cuyo objetivo es transformar
la entrada en salida. Los procesos tienen una duracin limitada y producen un
resultado bien definido y previsto.

Entrada

Proceso

Salida

INFORMTICA
Informtica (del francs informatique, compuesto contracto de information y
automatique) se refiere al conjunto de conocimientos cientficos y tcnicas que hacen
posible el tratamiento automtico de la informacin por medio de calculadoras
electrnicas.
La Informtica es una ciencia orientada al tratamiento de la informacin en todas
sus manifestaciones. Todo sistema funciona sobre la base de informacin, y
mientras ms exacta y disponible sea sta, ms oportunidades de mejorar tendrn los
sistemas en general. El desarrollo de un sistema depende del correcto manejo de la
informacin. Por ltimo, la mejor herramienta para manipular grandes cantidades de
informacin es, actualmente, la computadora.
En Informtica, los procesos son automticos y se desarrollan a travs de los
algoritmos, los cuales son codificados a travs de programas para computadoras.

Datos

Algoritmo

Informacin

Almacenamiento

Pag. 18

MTODO PARA LA SOLUCIN DE PROBLEMAS

La Informacin representa datos procesados; esto es: resumidos, condensados,


sumados, orientados a disminuir la incertidumbre sobre cierto tema.
Los datos son la materia prima de donde se obtiene la informacin .
La informacin sola es til cuando es resultado de un procesamiento de datos
orientados a la solucin de un cierto problema.
En una fbrica se tiene materia prima que es procesada y as
obtenemos un producto final. As tambin, los datos son la materia
prima que procesada (clasificada, agrupada, resumida) nos da por
resultado informacin.
Pero, la razn de ser de una empresa no termina con tener sus
productos listos al final de la lnea de produccin, sino que implica el
vender esos productos para ser utilizados por sus consumidores. As
tambin, la informacin no cumple sus funciones hasta que no es
absorbida por su consumidor y utilizada para tomar decisiones.

El procesamiento automtico de datos se da en forma de algoritmos codificados a


travs de programas para computadoras, los cuales analizan los datos y tratan de
verificar su exactitud:
-

Si los cdigos de artculos que se reportan existen


realmente en el archivo de artculos.
Si los departamentos que han consumido los tems
tienen sus cdigos correctamente reportados, etc.

ALGORITMO

INTRODUCCIN
Un algoritmo es un mtodo de solucin de problemas.

MTODO DE SOLUCIN

Problema

Pag. 19

Juan Jos Flores Cueto

En Informtica, el trmino algoritmo se utiliza para describir un mtodo de solucin


de problemas que es adecuado para ser expresado como programa de
computadoras.

MTODO DE SOLUCIN

EXPRESADO EN :

Problema

Por lo tanto, debemos entender la importancia de estudiar el mtodo de


solucin Algoritmo para comprender como se est solucionando un
problema.

DEFINICIN
El algoritmo constituye una lista completa de pasos secuenciales y una descripcin
de datos necesarios para resolver un determinado problema. De esto, se deriva que
la definicin de un algoritmo tiene dos partes esenciales:

Una lista de pasos secuenciales que deben ser ejecutados.


Una descripcin de los datos que son manipulados por estos
pasos.

Cada uno de los pasos del algoritmo sern llamados sentencias en


un programa para computadoras.
De igual forma, la descripcin de los datos del algoritmo ser
realizada mediante declaraciones y definiciones de datos en un
programa para computadoras.

Pag. 20

MTODO PARA LA SOLUCIN DE PROBLEMAS

MTODO DE SOLUCIN

EXPRESADO EN :

Problema
LISTA DE PASOS
DESCRIPCIN
DE DATOS

SENTENCIAS
DECLARACIN Y
DEFINICIN DE
DATOS

CARACTERSTICAS

Descripcin de acciones que deben ser ejecutadas (pasos


secuenciales).

Descripcin de los datos que son manipulados por estas


acciones (estructuras de datos).

Un algoritmo debe ser preciso, indicando el orden de


realizacin de cada paso.

Todo algoritmo debe ser finito. Si se sigue un algoritmo,


ste debe terminar en algn momento.

Un algoritmo debe estar definido. Si se sigue un algoritmo


dos veces, se debe obtener el mismo resultado.

Un algoritmo puede o no tener datos de entrada.

Un algoritmo producir uno o ms datos de salida.

Los datos de entrada y salida deben almacenarse en


variables.

El resultado que se obtenga debe satisfacer


requerimientos de la persona interesada (efectividad).

Debe ser estructurado. Es decir, debe ser fcil de leer,


entender, usar y cambiar si es preciso.

Pag. 21

los

Juan Jos Flores Cueto

SOLUCIN DE PROBLEMAS UTILIZANDO ALGORITMOS


Para el diseo de los algoritmos se han desarrollado herramientas con reglas
especficas y smbolos especializados. Por otra parte, para expresar un algoritmo a travs de
un programa para computadoras, se utilizan los lenguajes de programacin.

MTODO DE SOLUCIN

EXPRESADO EN :

Problema
LISTA DE PASOS

SENTENCIAS

DESCRIPCIN DE DATOS

DECLARACIN Y
DEFINICIN DE
DATOS

DESARROLLADO
A TRAVS DE

PROGRAMADO
A TRAVS DE

En un programa para computadoras, para referirse a las sentencias, declaraciones y


definiciones de los datos en forma general, se utiliza el trmino instrucciones.
Entonces, un lenguaje de programacin es un lenguaje que los programadores usan para
comunicar instrucciones a una computadora.
Nos comunicamos con las computadoras en el marco de un lenguaje de
programacin particular. Existen muchos lenguajes de programacin
diferentes, la mayor parte de los cuales tienen conjuntos de reglas muy
especializadas.

La accin de escribir un programa para computadoras, utilizando alguno de los lenguajes de


programacin existentes, se conoce como programacin.

Pag. 22

MTODO PARA LA SOLUCIN DE PROBLEMAS

La forma de programacin ha variado con el paso de los aos. Entre las ms conocidas
podemos mencionar:

Programacin Lineal.
Programacin Modular.
Programacin Estructurada.
Programacin Orientada a Objetos.

Instrucciones en forma consecutiva.


Sub-rutinas. Se realizan saltos.
Funciones y estructuras de control.
Clases y objetos.

Es importante indicar que, en la actualidad, la Programacin Estructurada (PE) y la


Programacin Orientada a Objetos (POO) son las formas de programacin utilizadas por la
mayora de los programadores, siendo la POO la ms reciente y la que promete solucionar
muchos de los problemas de la PE, incorporando nuevas caractersticas y nuevos conceptos.
Una caracterstica importante de la POO es que utiliza los mejores conceptos de la PE.
Finalmente, todos los aspectos que se revisen en los siguientes captulos, sern conceptos y
caractersticas de la PE que no han perdido vigencia en la POO y que le servirn como
conceptos bsicos al momento que se inicie el estudio de SOLUCIONES DE PROBLEMAS
USANDO UML (Unified Modeling Lenguage) y POO.

Pag. 23

Juan Jos Flores Cueto

SOLUCIN DE PROBLEMAS UTILIZANDO CLASES


La POO introdujo muchos nuevos conceptos, entre stos es importante mencionar,
de modo general, el concepto de Clase.
Una Clase es otro de los mtodos para solucionar problemas.
Una clase, es simplemente, un modelo que se utiliza para describir uno o ms objetos del
mismo tipo. En su forma mas sencilla, una clase es un conjunto de atributos y mtodos.
Por el momento, slo nos limitaremos a decir que los algoritmos continan siendo un mtodo
de solucin utilizado en la POO para especificar la lgica de desarrollo de los mtodos que
conforman una clase.
La siguiente ilustracin muestra est relacin:
MTODO DE SOLUCIN

EXPRESADO EN :

Problema
ATRIBUTOS
MTODOS

SENTENCIAS
LISTA DE PASOS
DESCRIPCIN DE DATOS

DESARROLLADO
A TRAVS DE

DECLARACIN Y
DEFINICIN DE
DATOS

PROGRAMADO
A TRAVS DE

Debido a que en una solucin pueden existir muchas Clases, se utilizan los Paquetes para
organizarlas. Los Paquetes permiten agrupar Clases que tienen funciones similares y
constituyen otro de los conceptos de la POO.

Pag. 24

MTODO PARA LA SOLUCIN DE PROBLEMAS

MTODO PARA LA SOLUCIN DE PROBLEMAS


Resulta til establecer un mtodo que permita llegar a la solucin de un determinado
problema, a travs de etapas bien definidas. Este mtodo presenta 6 etapas, las que
detallamos a continuacin:
Etapa 01 - Descripcin del problema.
Es necesario saber y poder comprender cul es el problema
principal, es decir, qu es lo que se desea que se resuelva.
Para esto, se deber escribir un enunciado claro, concreto y
conciso del problema a resolver.
Etapa 02 Definicin de la solucin.
Es necesario estudiar a fondo un determinado problema para
poder solucionarlo, saber exactamente en qu consiste,
descomponerlo en cada una de sus partes. Esta es una regla
que siempre deber ser aplicada se utilice o no una
computadora en la solucin de un problema.
Una vez entendido el problema, se est en condiciones de
estudiar y plantear soluciones alternativas que permitan llegar
al resultado. Finalmente, se selecciona la mejor alternativa.
Pasos:

Conocer y definir el resultado deseado.


Determinar los datos que se deben ingresar
o generar para conseguir el resultado.
Determinar la forma en que los datos sern
manipulados o procesados para transformar
los datos en informacin.

Etapa 03 - Diseo de la lgica.


Definida la solucin, se procede a disear la lgica utilizando
el Lenguaje Unificado de Modelado y Pseudocdigo o
Diagrama de Flujo.
El Lenguaje Unificado de Modelado (Unified Modeling
Language, UML) es una herramienta utilizada en la POO para
describir Clases y sus relaciones.
Los Diagramas de Flujo (DF) y los Pseudocdigos son
herramientas utilizadas en la POO para disear los Algoritmos

Pag. 25

Juan Jos Flores Cueto

de los diferentes mtodos de una Clase. Los DF utilizan


grficos y los Pseudocdigos hacen uso de una cantidad
limitada de palabras reservadas (pautas).
Una vez elaborado el DF o Pseudocdigo de la solucin al
problema (algoritmo) es necesario verificar si se han incluido
todas las alternativas que puedan presentarse en la realidad.
A este tipo de prueba se le denomina Prueba de escritorio.
Etapa 04 Desarrollo de la Codificacin.
Una vez disea la lgica para todas las alternativas que
puedan presentarse en la realidad, se podr proceder al
desarrollo de la codificacin del problema en algn lenguaje
de programacin.
La codificacin involucra traducir las especificaciones de la
Clase (expresado en notacin UML) y los pasos del Algoritmo
de cada mtodo (expresado en DF o Pseudocdigo), en
sentencias de un lenguaje de programacin determinado.
Estas sentencias son almacenadas en un archivo y son las
instrucciones que, posteriormente, la computadora podr
ejecutar.
Etapa 05 - Depuracin y pruebas.
Luego que se desarrolle la codificacin de los programas,
debern probar mediante la ejecucin de los mismos (esto es
conocido como corrida del programa). Al realizarse esta
prueba surgen generalmente errores de diferente tipo
(principalmente los errores de lgica y sintaxis).
Hay que corregir el programa; anular, modificar o crear
nuevas instrucciones, y volver a probar el programa hasta
conseguir el resultado deseado.
Etapa 06 Documentacin.
Una buena documentacin ahora ayuda a desarrollar buenos
hbitos de programacin que se necesitarn despus. La
documentacin forma parte del proceso de programacin y
debe incluir, como mnimo:
-

Descripcin del problema.

Pag. 26

MTODO PARA LA SOLUCIN DE PROBLEMAS

Resultados esperados y datos necesarios para generar


dichos resultados.
Diagramas UML y, DF o Pseudocdigo.
Pruebas desarrolladas.
Listado de programas con comentarios internos.

A continuacin, se muestra en forma grfica el mtodo descrito para la solucin de


problemas.

Pag. 27

Descripcin general
del problema.
Enunciado del
problema (claro y
concreto).

DESCRIPCIN
PROBLEMA

ETAPA 01

Definir el resultado
deseado.
Definir los datos
necesarios.
Definir el proceso.
Definir las alternativas
de solucin.
Seleccionar la mejor
alternativa.

DEFINICIN
SOLUCIN

ETAPA 02

Pag. 28

Seleccionar las
herramientas con las
cuales se disear la
solucin.
Disear la solucin.
Probar el diseo. (prueba
de escritorio).

DISEO
LGICA

ETAPA 03

Seleccionar las
herramientas con
las cuales se
implementar el
diseo.
Implementar el
diseo.
Realizar copias de
seguridad de la
implementacin.

DESARROLLO
CODIFICACIN

ETAPA 04

ETAPA 05

Realizar la depuracin
de los programas de
computadora.
Realizar las pruebas
de lgica de los
programas de
computadora.

DEPURACIN
PRUEBAS

A continuacin, se muestran las actividades genricas que se desarrollan en cada una de las etapas:

RESUMEN DE LAS ETAPAS DEL MTODO

Juan Jos Flores Cueto

Recopilar el material
elaborado en cada una
de las etapas.
Generar el manual del
programa con la
siguiente informacin:
o Enunciado del
problema.
o Especificaciones
de anlisis.
o Diagramas y
Algoritmos.
o Programas.
o Pruebas
realizadas.

DOCUMENTACIN

ETAPA 06

ENUNCIADO

DESCRIPCIN
PROBLEMA

ETAPA 01

ESPECIFICACIONES

DEFINICIN
SOLUCIN

ETAPA 02

DIAGRAMAS Y
ALGORITMOS

DISEO
LGICA

ETAPA 03

Pag. 29

PROGRAMAS

DESARROLLO
CODIFICACIN

ETAPA 04

RESULTADOS

DEPURACIN
PRUEBAS

ETAPA 05

Manuales

DOCUMENTACIN

ETAPA 06

Es importante destacar que cada una de las etapas anteriores, nos permiten obtener un resultado que es utilizado en la siguiente etapa:

RESULTADO DE LAS ETAPAS DEL MTODO

MTODO PARA LA SOLUCIN DE PROBLEMAS

Enunciado
ETAPA 01

DESCRIPCIN
PROBLEMA

MTODO DE SOLUCIN

ETAPA 02

DEFINICIN
SOLUCIN

DESCRIPCIN DE DATOS

LISTA DE PASOS

Pag. 30

DESARROLLADO
A TRAVS DE

MTODOS

ATRIBUTOS

ETAPA 03

DISEO
LGICA

DECLARACIN Y
DEFINICIN DE
DATOS.

SENTENCIAS

PROGRAMADO
A TRAVS DE

ETAPA 04

DESARROLLO
CODIFICACIN

Finalmente, es necesario precisar que dentro del alcance del presente texto, desarrollaremos temas relacionados con el diseo de Clases y sus
mtodos (Algoritmos) as como su respectiva codificacin en un lenguaje de programacin. La siguiente grfica muestra las etapas que abarcaremos
en los siguientes captulos.

Juan Jos Flores Cueto

You might also like