metodología de solución de problemas

23
Metodología de solución de problemas UNIDAD III DANIEL LÓPEZ GONZÁLEZ TRABAJO DE REPOSICIÓN DE CIBERNÉTICA PROF. ANDRACA BARRON MANUEL

description

en estas diapositivas se puede observar

Transcript of metodología de solución de problemas

Page 1: metodología de solución de problemas

Metodología de solución

de problemas

UNIDAD III

DANIEL LÓPEZ GONZÁLEZTRABAJO DE REPOSICIÓN

DE CIBERNÉTICAPROF. ANDRACA BARRON MANUEL

Page 2: metodología de solución de problemas

El proceso de resolución de un problema con una computadora conduce a la escritura de un

programa y su ejecución en la misma.Aunque el proceso de diseñar programas es

esencialmente un proceso creativo, se pueden considerar una serie de fases o pasos comunes

que generalmente deben seguir todos los programadores.

Page 3: metodología de solución de problemas

Para comenzar la metodologíade solución de problemas

comenzaremos a desarrollar 4 temas fundamentales.

Debemos aclarar definiciones y

conceptos generales

CICLO DE DESARROLLO DEPROGRAMAS

EXPRESIONES Y OPERADORES

TÉCNICAS DE DESARROLLO DEALGORITMOS

Page 4: metodología de solución de problemas

DEFINICIONES Y CONCEPTOS GENERALES PROBLEMA

Un problema es un determinado asunto o una cuestión que requiere de una solución.

Page 5: metodología de solución de problemas

HERRAMIENTAS COMPUTACIONALES PARA LA SOLUCIÓN DE PROBLEMAS

HARDWARE

El término hardware se refiere a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.1 Son cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software.

Page 6: metodología de solución de problemas

SISTEMA OPERATIVOUn sistema operativo (SO) ES UN PROGRAMA O CONJUNTO DE PROGRAMASQUE EN UN SISTEMA INFORMÁTICO GESTIONA LOS RECURSOS DE HARDWARE Y PROVEE SERVICIOS A LOS PROGRAMAS DE APLICACIÓN, EJECUTÁNDOSE ENMODO PRIVILEGIADO RESPECTO DE LOS RESTANTES.UNO DE LOS PROPÓSITOS DEL SISTEMA OPERATIVO QUE GESTIONA EL NÚCLEO INTERMEDIARIO CONSISTE EN GESTIONAR LOS RECURSOS DE LOCALIZACIÓN Y PROTECCIÓN DE ACCESO DEL HARDWARE, HECHO QUE ALIVIA A LOS PROGRAMADORES DE APLICACIONES DE TENER QUE TRATAR CON ESTOS DETALLES.

Page 7: metodología de solución de problemas

LENGUAJES DE PROGRAMACIÓNUn lenguaje de programación es un idioma

artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

Page 8: metodología de solución de problemas

CICLO DE DESARROLLO DE PROGRAMAS PLANTEAMIENTO DEL PROBLEMA

Todo problema debe ser definido y limitado en el tiempo y en elespacio, puede usarse la forma gramatical interrogativa, es decir, Utilizando preguntas que se fundamenten en datos y situaciones concretas. Cuando se plantea un problema se procede a aislarlo o relacionarlo con su contexto social e histórico. 

En el planteamiento de un problema es necesario definir los términos o conceptos usados para formularlo. Por lo que es necesario definir el concepto principal o todos los que se manejan.

Page 9: metodología de solución de problemas

ANÁLISIS DEL PROBLEMA

LA PRIMERA FASE DE LA RESOLUCIÓN DE UN PROBLEMA CON COMPUTADORAES EL ANALISIS DEL PROBLEMA. ESTA FASE REQUIERE UNA CLARA DEFINICIÓN,DONDE SE CONTEMPLE EXACTAMENTE LO QUE DEBE HACER EL PROBLEMA YEL RESULTADO O SOLUCIÓN DESEADA.

Page 10: metodología de solución de problemas

ELABORACIÓN DE ALGORITMOS

La palabra algoritmo proviene del nombre del matemático islámico Abu Jafar Muhamed ibn Musä al Khwàrizm quien murió en el año 847 A.C.Un algoritmo para un problema es una secuencia de pasos a seguir, no ambiguos, finitos y determinísticos que llevan a la solución de un problema,Para poder elaborar un algoritmo, es necesario recordar las siguientes observaciones:1. El algoritmo debe escribirse como una expresión en algún lenguaje:*Descripción narrada*Notación matemática*Pseudocódigo*Diagramas de flujo*Lenguaje de computadora.

2. Exactamente cada pregunta del problema debe ser contestada por la ejecución del algoritmo.3. Cualquiera que sean los valores de las entradas, la ejecución terminará después de algún número finito de pasos.Por ello, para que una computadora pueda resolver un problema concreto, el usuarioY no la computadora, debe diseñar un método adecuado para la solución. La computadorasimplemente llevará a cabo paso a paso la lista de las instrucciones formuladas en elprograma del usuario.

Page 11: metodología de solución de problemas

CODIFICACIÓN EDICIÓN Y COMPILACIÓN

EL TÉRMINO CODIFICACIÓN ES TANTO LA ACCIÓN DE CODIFICAR, ES DECIR, DE TRANSFORMAR UN CONTENIDOA UN CÓDIGO, ASÍ COMO LOS SISTEMAS DE CÓDIGOS DERIVADOS DE AQUÉLLA.

COMPILAR SE REFIERE A LA ACCIÓN POR MEDIO DE LA CUAL, UNA SERIE DE INSTRUCCIONES ESCRITAS O CODIFICADAS EN LENGUAJE DE PROGRAMACIÓN SON CONVERTIDAS A LENGUAJE MÁQUINA (BINARIO) DE TAL FORMA QUE PUEDAN SER EJECUTADAS POR MEDIO DE UN PROGRAMA INFORMÁTICO.

Editar un programa puede querer decir dos cosas:1.Que sobre el código fuente de un programa ya escrito, vos vas a realizar modificacionespara que el programa se comporte de un modo distinto.2.Que vas a crear un programa nuevo, creando el código fuente desde el principio

Page 12: metodología de solución de problemas

EJECUCIÓN Y DEPURACIÓN

DEPURACIÓN DE PROGRAMAS ES EL PROCESO DE IDENTIFICAR Y CORREGIR ERRORES DE PROGRAMACIÓN. EN INGLÉS SE LE CONOCE COMO DEBUGGING, ES QUE SE ASEMEJA A LA ELIMINACIÓN DE BICHOS (BUGS), MANERA EN QUE SE CONOCE INFORMALMENTE A LOS ERRORES DE PROGRAMACIÓN. EN CUANTO A LA EJECUCIÓN ES LA REALIZACIÓN DE UNA COSA O DAR CUMPLIMIENTO A UN PROYECTO, EN ESTE CASO PROGRAMA.

Page 13: metodología de solución de problemas

DOCUMENTACIÓNLa documentación de un problema consta de las descripciones de los pasos a darEn el proceso de resolución de un problema, puede ser interna o externa; la Interna esta contenida en líneas de comentarios y la externa incluye análisis,diagramas de flujo, etc.

Page 14: metodología de solución de problemas

MANTENIMIENTOEl mantenimiento se define como: todas las acciones que tienen como objetivo mantener un artículo o restaurarlo a un estado en el cual pueda llevar a cabo alguna función requerida.Estas acciones incluyen la combinación de las acciones técnicas y administrativas correspondientes.

Page 15: metodología de solución de problemas

EXPRESIONES Y OPERADORES

Un operador matemático puede ser considerado como un símbolo o notación abreviada de un conjunto definido,no vacío, de operaciones u acciones a realizar con o sobreun término llamado Operando.

Page 16: metodología de solución de problemas

OPERADORES ARITMÉTICOS

OPERADORES ARITMETICOS:LOS OPERADORES ARITMÉTICOS NOS PERMITEN, BÁSICAMENTE,HACER CUALQUIER OPERACIÓN ARITMÉTICA, QUE NECESITEMOS (EJEMPLO: SUMA, RESTA, MULTIPLICACIÓN, ETC). EN LA SIGUIENTETABLA SE MUESTRAN LOS OPERADORES DE LOS QUE DISPONEMOS EN C Y SU FUNCIÓN ASOCIADA. 

Page 17: metodología de solución de problemas

OPERADORES RELACIONALESLos operadores relacionales son símbolos que se usan para comparardos valores. Si el resultado de la comparación es correcto la expresiónconsiderada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false. En la primera columna de la tabla, se dan los símbolos de los operadores relacionales, el la segunda, el nombre de dichos operadores, y a continuación su significado mediante un ejemplo.

Page 18: metodología de solución de problemas

OPERADORES LÓGICOSMUY UTILIZADOS EN INFORMÁTICA, LÓGICA PROPOSICIONAL Y ÁLGEBRA BOOLEANA, ENTRE OTRAS DISCIPLINAS. LOS OPERADORES LÓGICOS NOS PROPORCIONAN UN RESULTADO A PARTIR DE QUE SE CUMPLA O NO UNA CIERTA CONDICIÓN. ESTO GENERA UNA SERIE DE VALORES QUE, EN LOS CASOS MÁS SENCILLOS, PUEDEN SER PARAMETRIZADOS CON LOS VALORES NUMÉRICOS 0 Y 1, COMO SE PUEDE APRECIAR EN LOS EJEMPLOS DE ABAJO. LA COMBINACIÓN DE DOS O MÁS OPERADORES LÓGICOS CONFORMA UNA FUNCIÓN LÓGICA.

LOS MÁS SENCILLOS SON (NÓTESE SU RELACIÓN CON LOS OPERADORES RELACIONALES):OPERADOR NO-LÓGICO: '¬A' SIGNIFICA TODO LO QUE NO ES A'OPERADOR Y-LÓGICO: 'A ∧ B' SIGNIFICA 'A Y B A LA VEZ'; RESULTANDO FALSO (0) SI NO SE CUMPLE Y VERDADERO (1) SI SÍ LO HACE.OPERADOR O-LÓGICO: 'A ∨ B' SIGNIFICA 'O BIEN A, O BIEN B, O BIEN LOS DOS'; RESULTANDO FALSO (0) SI NO SE DAN NI A NI B Y VERDADERO (1) SI SE DA ALGUNO DE LOS DOS O LOS DOS A LA VEZ.OPERADOR =: 'A = B' SIGNIFICA 'A DEBE SER IGUAL A B'; RESULTANDO FALSO (0) SI ESTO NO ES ASÍ Y VERDADERO (1) EN CASO CONTRARIO.OPERADOR <: 'A < B' SIGNIFICA 'A DEBE SER MENOR QUE B'; RESULTANDO FALSO (0) SI NO SE SATISFACE Y VERDADERO (1) EN CASO CONTRARIO.OPERADOR >: 'A > B' SIGNIFICA 'A DEBE SER MAYOR QUE B'; RESULTANDO FALSO (0) SI NO SE SATISFACE Y VERDADERO (1) EN CASO CONTRARIO.LOS OPERADORES MÁS COMPLEJOS SE CONSTRUYEN A PARTIR DE LOS ANTERIORES (PODRÍA INCLUIRSE ALGUNO MÁS) Y YA ENTRAN DENTRO DE LO QUE SERÍA UNA FUNCIÓN LÓGICA. UN EJEMPLO MUY UTILIZADO SERÍA 'SI(CONDICIÓN;A;B)' ('IF CONDICIÓN THEN A ELSE B' EN LA MAYORÍA DE LOS LENGUAJES DE PROGRAMACIÓN) CUYO RESULTADO SERÍA A SI SE SATISFACE LA 'CONDICIÓN' O B EN CASO CONTRARIO.

Page 19: metodología de solución de problemas

La tabla siguiente muestra una lista de los operadores de JScript, en orden de precedencia de mayor a menor.

EVALUACIÓN DE EXPRESIONESUna expresión es una combinación de operandos y operadores.La evaluación de una expresión consiste en reducirla, esto es, realizar todas las operaciones contenidas en ella para obtener un valorfinal.Para evaluar una expresión es necesario conocer la prioridad de los operadores, con lo cual se puede determinar cuál operación se va a realizar antes que las demás.Una expresión entre paréntesis se evalúa primero que las demás. Si hay paréntesis anidados, se evalúa primero la expresión contenidaen los paréntesis más internos.La siguiente tabla muestra los operadores y su asociatividad (empezando con los de mayor prioridad).OperadoresAsociatividad( ) [ ] . new typeofizquierda a derecha- ~ ! ++ -- (tipo)expresiónderecha a izquierda* / %izquierda a derecha+ -izquierda a derecha<< >>izquierda a derecha< <= > >= is asizquierda a derecha== !=izquierda a derecha& ^izquierda a derecha&&izquierda a derecha?:derecha a izquierda= *= /= %= += -= <<= >>= >>>= &= = ^=derecha a izquierda

Page 20: metodología de solución de problemas

ALGORITMOSES UNA LISTA DE INSTRUCCIONES DONDE SE ESPECIFICA UNA SUCESIÓN DE OPERACIONES NECESARIAS PARA RESOLVER CUALQUIER PROBLEMA DE UN TIPO DADO. PARA REPRESENTARLO SE NECESITAN FUNDAMENTALMENTE DOS TIPOS DE NOTACIÓN: PSEUDOCÓDIGO Y DIAGRAMAS DE FLUJO.Diagrama de flujo: Técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar mediante una simbología estándar con un único punto De inicio y otro de final.Pseudocód igo : Permite representar el algoritmo mediante un lenguaje más estructuradoFacilitando su posterior codificación.

Page 21: metodología de solución de problemas

PRUEBA DE ESCRITORIO

ESTA PRUEBA CONSISTE EN .DAR DIFERENTES DATOS DE ENTRADA AL PROGRAMASEGUIR LA SECUENCIA INDICADA HASTA OBTENER LOS RESULTADOSPRINCIPALMENTE ES UNA COMPROBACIÓN DEL ALGORITMO PARA VER SU FUNCIONAMIENTO.

Page 22: metodología de solución de problemas

DISEÑO DESCENDENTE O TOP DOWN Y REFINACIÓN

PROGRESIVA

Se divide el problema en sub problemas y después sub dividir estos Sub problemas en otros de nivel mas bajo se denomina “TOP DOWN”ES EL PROCESO DE DIVIDIR EL PROBLEMA DE CADA ETAPA Y EXPRESAR CADA PASO DE FORMA MÁS DETALLADA ES LA REFINACIÓN PROGRESIVA.

Page 23: metodología de solución de problemas

ELABORADO, CREADO YEDITADO POR DANIEL

LÓPEZ GONZÁLEZ