metodologia para resolver problemas

34

Upload: jose-antonio-madrid-moran

Post on 22-Oct-2015

26 views

Category:

Documents


1 download

TRANSCRIPT

Temas a desarrollar• I. Generalidades• II. Proceso solucionador de

problemas• III. Algoritmos• IV. Ejemplos de aplicacion del

proceso solucionador de problemas

Objetivo:

• Conocer y aplicar la metodología para resolver problemas. Identificar los pasos de la metodología y saber que hacer en cada uno de ellos

INTRODUCCIÓN

• Todos podemos resolver problemas, en esta parte conoceremos la metodología necesaria para solucionar cualquier tipo de problema de manera ordenada para así, aprender a explicar y representar la solución necesaria.

I. GENERALIDADES• 1. Problema: Es una situación real, que tiene ciertas condiciones

y/o restricciones, que se necesita transformar. De acuerdo a Edward Krick1, un problema proviene del deseo de lograr la transformación de un estado de cosas en otro. Ejemplos:

• Obtener hielo.• Ir de una ciudad a otra.• Ingresar a la Universidad de El Salvador• Ordenar alfabéticamente una lista de nombres• Calcular la distancia entre los puntos P1(X1,Y1) y P2 (X2., Y2)• Inscribir asignaturas en la F.M.O.• Calcular la cuenta que debe pagar un cliente en un restaurante.

• 2. Solución, es un medio de lograr la transformación deseada. Un problema que tenga una única solución es bastante raro, la mayoría de los problemas tienen varias soluciones posibles; por ejemplo, para obtener hielo, usted puede poner a congelar el agua, comprarlo en una tienda o hasta puede pedir a su vecino que le regale un poco. Para ir de una ciudad a otra, piense en todas las formas de viajar y en las posibles rutas con las que pueden combinarse y obtener medios alternativos para realizar su traslado.

• Además, un problema involucra algo más que hallar una solución; requiere la mejor forma de lograr la transformación deseada; es decir, que entre todas las posibles soluciones se debe elegir cual es la óptima; por ejemplo, el medio de transporte debe ser el mejor con respecto al costo, rapidez, seguridad, comodidad y confiabilidad. Una norma de preferencia para seleccionar de entre varias soluciones se conoce como criterio.

• Finalmente, es difícil imaginar un problema que no tenga restricciones a las soluciones. Una restricción es algo que debe cumplir una solución y se relacionan con las condiciones iniciales o datos del problema. Ejemplos: el tiempo de traslado no debe ser mayor de 3 horas, el costo del viaje o traslado no debe ser mayor que

• $30.00, la edad de una persona nunca puede ser negativa, para que una semilla se transforme en planta, se le deben administrar agua, luz y nutrientes.

• 3. Clasificación de Datos• Los datos, como ya sabemos, son

características o cualidades de una persona, un hecho, un lugar o una cosa y pueden ser numéricos o alfanuméricos.

• Datos Numéricos: como su nombre lo

indica, están formados por uno o varios dígitos y representan cantidades que pueden ser operables.

• Dentro de los datos numéricos tenemos: • Datos numéricos Enteros: números sin parte

fraccionaria. Ejemplo10, 25, 255, -1050

• Datos numéricos Reales: números con parte

fraccionaria. Ejemplo:0.25, -3.798654

• Datos Alfanuméricos: Son los que están formados por letras, dígitos y símbolos;

• además, no representan cantidades operables. Ejemplo:

• “PEDRO MARTINEZ”, “INGENIERIA CIVIL”, "AM93021”, “2235-4852”, “$125.30”

• Se conoce en términos informáticos que un carácter es un byte donde se puede almacenar una letra, un dígito, un signo de puntuación o un símbolo para formar datos alfanuméricos.

• Los datos; además, se clasifican de acuerdo al número de veces que pueden cambiar de valor en:

• DATOS CONSTANTES: Se considera un dato constante, numérico o alfanumérico, aquel dato que no cambia durante un período determinado de tiempo.

• Ejemplos: Número de carné de un alumno, el DUI, dirección, número de materias inscritas en un ciclo, el día de nacimiento, la altura de un edificio, el valor de π, el valor de е, etc.

• DATOS VARIABLES: Un dato variable es aquel que cambia en un período determinado de tiempo. Los datos variables pueden ser numéricos o alfanuméricos. Ejemplos: la temperatura ambiente en un día, notas de un examen parcial, cantidad de estudiantes que asisten a una clase, etc.

• 4. Variable.• En informática, se le llama variable a un lugar de almacenamiento,

capaz de contener o guardar un dato cuyo valor asociado se puede modificar durante la ejecución de un programa. Según el valor que se le dé, las variables pueden ser numéricas o alfanuméricas. Para distinguir o identificar una variable se le asocia un nombre, con el cual, podemos acceder al valor asociado o guardado en ella.

• Numéricas son aquellas que solo pueden tener valores numéricos y son operables. Ejemplos:

hola = 100 valor = 25000 edad = 12NUM = 1.385 A = -289 k = -0.3168

• Alfanuméricas son aquellas que contiene letras y números, y se

acostumbra a escribirlos dentro de comillas. Ejemplos:

NOM = "PEDRO" C = “CP99011” tel = “2256 – 4725” COLOR = "rojo" CARRERA = "ING. CIVIL"

Por convención la estructura que utilizaremos para los nombres de las variables en la asignatura, deberá cumplir las siguientes reglas:

• El primer carácter deberá ser una letra• Los siguientes caracteres pueden ser letras o números• La longitud máxima debe ser de 10 caracteres• El único carácter permitido, distinto de letras y dígitos

es el guión de subrayado o guión bajo: _• Ejemplos: libro, val1, Valor25, pago_total

II. PROCESO SOLUCIONADOR DE PROBLEMAS:

A continuación presentamos los pasos necesarios para resolver problemas.

• Formulación del problema• Análisis del problema• Diseño de la solución• Codificación de la solución• Depuración de la solución• Documentación y mantenimiento.

• El proceso abarca las actividades y eventos que transcurren entre el reconocimiento de un problema y la especificación de una solución del mismo que sea funcional, económica y satisfactoria. Este es el proceso general mediante el cual el ingeniero aplica sus conocimientos, aptitudes y puntos de vista en la creación de dispositivos, estructuras y procesos. Por tanto, es la actividad primordial de la práctica de la ingeniería

• 1- Formulación del Problema:¿Se intentaría resolver un problema sin saber en qué consiste? Seguramente que no; sin embargo, esto es exactamente lo que uno está inclinado a hacer y que difícilmente puede conducir a una resolución efectiva.

Los objetivos principales de la formulación de un problema son:

• Definir en términos generales en que consiste,• Determinar si merece nuestra atención y• Obtener una buena perspectiva del problema cuando

sea más oportuno y fácil hacerlo.

• Es obvio que ésas son cosas que deben conocerse al principio.

• Rara vez se le presenta el verdadero problema al ingeniero; más bien, él mismo debe determinar en qué consiste. Esto suele ser difícil porque su naturaleza a menudo es encubierta por mucha información sin importancia, soluciones que se emplean corrientemente, opiniones que originan confusión y por las formas tradicionales y desventajosas de considerar un problema.

• En esta fase del proceso, se debe identificar la transformación que se desea expresando en términos generales el problema particular, ignorando los detalles por el momento y concentrándose en la identificación de los estados A y B, llamado también estado inicial y estado final.

Para representar la Formulación del Problema en forma esquemática, se hace uso del método de la “Caja Negra”, así:

¿Cómo estamos? ¿Cómo queremos estar?Estado A Estado B

Entrada de datos Salida de datosEstado Inicial Estado final

Ejemplo:• Una agencia que realiza reservaciones de asientos para un vuelo o un teatro, es un

sistema de procesamiento de información. El cliente potencial va con el vendedor de boletos y le hace una solicitud que comprende un cierto número de asientos, la fecha y algunas otras especificaciones. Todo esto constituye la “entrada” a la caja negra. La“salida”, que también se le conoce como información, bajo la forma de confirmación de la solicitud o presentación de las alternativas disponibles. En forma esquemática, este problema se plantea o formula así:

ESTADO A ESTADO B Entrada de Datos Salida de Datos

Solicitud de reservación Confirmación o presentación de las alternativas disponibles

En general, se debe tratar siempre de formular un problema de modo que comprenda o incluya la situación completa (o problema total).Para la etapa de formulación del problema, lo que ocurra dentro de la caja negra no se conoce o carece de interés.

2- Análisis del problema:En la formulación del problema es suficiente identificar el estado A, y el estado B, que en informática se conocen como Entrada de Datos y Salida de Datos, respectivamente; sin embargo, para resolver el problema es necesario saber más acerca de la entrada y la salida. Por lo tanto, durante esta etapa de la metodología, se especifican los estados A y B determinando las características cualitativas y cuantitativas de ambos estados.

Básicamente, consiste en:

a. Definir las variables de salida,¿Qué se nos pide?, ¿Qué resultados queremos?, ¿Cuáles incógnitas debemos obtener?

b. Definir las variables de entrada,¿Qué datos tenemos?, ¿Son estos suficientes?

c. Que restricciones existen,¿Existen limitantes para las variables de entrada?

d. Criterios,¿Qué criterios se utilizarán para seleccionar el mejor diseño? Deben identificarse durante el análisis del problema.Realmente, los criterios cambian muy poco de problema a problema; generalmente van asociados a costos, tiempo o recursos necesarios. Para efectos de la asignatura, no sé utilizarán.

e. Detallar los procedimientos necesarios para transformar el estado A en B,¿Qué fórmulas, ecuaciones, procedimientos, modelos, etc. necesitamos?

• Definir las variables de proceso, Si éstas son necesarias. Las variables de proceso son aquellas que se generan o producen durante el proceso, para obtener el estado B, pero no son de entrada ni de salida.

• Definición de Constantes, Son todos los datos que sirven para realizar el proceso y no cambian en el tiempo .

3. Diseño de la solución:En esta etapa ya tenemos una idea clara de cómo solucionar el problema, en el caso particular de la materia, la solución así diseñada se conoce como: ALGORITMO, y consiste en ordenar todo lo que tenemos en el Análisis: conocer los datos de entrada, procesar o realizar los cálculos necesarios en el orden debido y por último especificar los datos de salida o información. Esta etapa requiere de mucho ingenio y creatividad.

4. Codificación de la soluciónConsiste en traducir o escribir el algoritmo, en un lenguaje de programación de alto nivel (Basic, Pascal, C, etc.).

5. Depuración de la soluciónUna vez introducido el programa en el computador, debe probarse exhaustivamente, ejecutando el programa hasta que se obtengan los resultados deseados y que este libre de errores.

Cuando se ejecuta un programa, se pueden producir 3 tipos de errores: a. Error de compilación, se producen por el uso incorrecto de las reglas del lenguaje de programación, estos errores se conocen con el nombre de “errores de Sintáxis”.b. Errores de ejecución, se producen por instrucciones que el computador puede traducir pero no ejecutar. Ejemplo: división entre cero, raíz cuadrada de un número negativo, imprimir una variable que no se le ha asignado ningún valor, asignar un valor numérico a una variable de tipo alfanumérico.c. Errores lógicos, Estos errores se producen cuando, el programa se compila y ejecuta, pero los resultados obtenidos o datos de salida, son incorrectos o no se obtiene ningún resultado.Ejemplo: Cálculo incorrecto del salario neto.

6. Documentación y MantenimientoLa documentación de un programa puede ser Interna y Externa. La documentación interna es la contenida en las líneas de comentarios dentro del programa. La documentación externa incluye: el planteamiento y el análisis del problema, diagramas de flujo y/o pseudo códigos, manuales de usuario, etc. Si las características del problema cambian, el o los programas deben modificarse, así como su documentación. Al proceso de mantener los programas y su documentación actualizados se le llama Mantenimiento. Una buena documentación del programa ayuda al manejo del mismo y a su mantenimiento cuando sea necesario.

III. ALGORITMOS:1. Definición de Algoritmo:Es una descripción ordenada y breve de los pasos a seguir para realizar una tarea o actividad y con ello resolver un problema manualmente o por medio de una máquina

2. Propiedades de un buen Algoritmo:Las propiedades generales de un buen algoritmo son:

• Todo algoritmo debe ser especificado en forma precisa, mediante

un número finito de pasos. Esta propiedad trata de eliminar ambigüedades, de tal forma que cualquier persona pueda comprender y ejecutar el algoritmo y obtener el mismo resultado.

• Todo algoritmo tiene un único inicio y un único final. • El algoritmo se debe diseñar de forma general, o sea que

debe resolver el problema, según los datos que sean proporcionados.

• Debe ser eficaz, es decir que al finalizar la ejecución del algoritmo,

la solución del problema debe ser alcanzada; de esto se obtiene que todo buen algoritmo debe tener un paso para finalizar el mismo.

Las partes básicas de todo buen algoritmo son:

• Entrada de datos, donde se conocen los datos variables de entrada

• Procesamiento de datos (o proceso), donde se transforman los datos de entrada en datos de salida, y

• Salida de datos, donde se muestran los datos de salida o información requerida

La ejecución de todo algoritmo debe de ser factible de implementar, es decir se debe tener acceso a todo lo que éste requiera (datos y tecnología).

3. Representación de un Algoritmo:Un algoritmo lo podemos representar de varias formas:

• ALGORITMO NARRADO:

Usando nuestro idioma natural, con nuestras propias palabras, se detallan los pasos a realizar para resolver un problema

• ALGORITMO ESQUEMATIZADO:

Usando una serie de símbolos para representar cada paso del algoritmo. A este esquema de solución se le llama Diagrama de Flujo o FLUJOGRAMA.

• ALGORITMO PSEUDO-CODIFICADO:

Usamos una mezcla de lenguaje natural y un código de programación específico (o lenguaje de programación). En el presente curso no usaremos pseudo código.

• ALGORITMO CODIFICADO:

En esta representación de algoritmo, usamos un código o lenguaje de programación, como BASIC, PASCAL, C, etc. Un algoritmo codificado se conoce como PROGRAMA.

IV. EJEMPLOS DE APLICACIÓN DEL PROCESO SOLUCIONADOR DE PROBLEMAS:

EJEMPLO 1.Enunciado del problema:“Elabore un algoritmo que permita sumar dos números dados.”

DESARROLLO DE LA SOLUCIONI. Planteamiento del Problema

Entrada de Datos Salida de Datos

Primer Número Suma de los dos números Segundo Número

II. Análisis del Problemaa. Definición de Variables de Salida:NOMBRE TIPO DESCRIPCIÓN S Real Representa la suma de los dos números.b. Definición de Variables de Entrada: NOMBRE TIPO DESCRIPCIÓN N1 Real El primer número dado N2 Real El segundo número dadoc. Restricciones: no existen, los números pueden ser positivos, negativos o incluso cero.d. Proceso: (Cálculos necesarios) relación entre N1, N2 y S o bien la forma de transformar N1 y N2 en S.

S = N1 + N2e. Definición de Variables de Proceso: No se requieren, en este caso f. Definición de Constantes: No se requieren, en este caso

III. Diseño de solución:

• Algoritmo Narrado: 1. Inicio2. Leer o conocer el valor del primer número ( N1 ).3. Leer o conocer el valor del segundo número ( N2 )4. Calcule la suma de los dos números: S = N1 + N25. Imprimir o presentar el resultado: “La suma de ",

N1, " y “, N2, “es”, S6. Fin.

Un ejemplo de Flujograma seria: