SlideShare una empresa de Scribd logo
1 de 10
DESARROLLAR EL PROCESO DE
SOLUCIÓN DE UNPROBLEMA
 La resolución de un problema mediante
un ordenador consiste en el proceso que a
partir de la descripción de un problema,
expresado habitualmente en lenguaje natural y
en términos propios del dominio del problema,
permite desarrollar un programa que resuelva
dicho problema.
Este proceso exige los siguientes pasos:
 Análisis del problema.
 Diseño o desarrollo de un algoritmo.
 Transformación del algoritmo en un programa
(codificación).
 Ejecución y validación del programa.
 Los dos primeros pasos son los más difíciles del
proceso. Una vez analizado el problema y obtenido
un algoritmo que lo resuelva, su transformación a
un programa de ordenador es una tarea de mera
traducción al lenguaje de programación deseado.
 Las cuatro etapas de la resolución de problemas con una
computadora se dan a continuación:
 1. Entender el problema: un modo de manejar un problema es
la de imaginar el tipo de salida que debe producirse para distintas
entradas posibles. Después determinar el tipo de proceso
necesario para convertir la entrada en salida.
 2. Encontrar un método de solución: esto es, diseñar un
algoritmo que le permita definir los pasos que llevarán a la
solución del problema.
 3. Traducir el método a código de computadora: este paso es
generalmente sencillo cuando se ha concretado un método paso a
paso y se conoce la sintaxis del lenguaje de programación.
 4. Probar y depurar: si la ejecución del programa no es la
correcta, se deben encontrar y corregir los errores que contenga.
Este proceso se llama depuración. Posteriormente debe ejecutarse
el programa con una amplia variedad de entradas para verificar
que la lógica del programa esté correcta.
 Lo primero que nos interesa es conocer, saber, lo que será
investigado: Por qué, para qué, cual es el valor o la
importancia del hecho o fenómeno a investigar. Si la
investigación a realizar tiene criterios de prioridad,
novedad, oportunidad, conformismo o comportamiento.
¿CÓMO SE IDENTIFICA UN PROBLEMA?
En la elección del tema, lo más recomendable es primero
obtener, a través de una lluvia de ideas, una lista de cinco o
seis posibles temas. Las fuentes de potenciales de ideas
pueden ser diversas: bibliografía, expertos, profesores,
compañeros, lugar de trabajo, la vida cotidiana, etc.
. Identificar el problema. Identificar el problema es esencial
para buscar las posibles soluciones. Con el paso del tiempo,
la tecnología avanza y se dan nuevas soluciones cada
vez más atrevidas e ingeniosas.
 El análisis del problema involucra capturar el máximo
de información referente a este, obtener la visión del mismo por parte de
los involucrados y generar un modelo para cada una de estas visiones. Se
deben refinar estos modelos hasta obtener una o varias representaciones
(modelos) del problema, los que posibilitan su análisis. Estos modelos
que describen las visiones del problema son los que posibilitarán que se
vislumbre alguna solución.
 Se debe modelar tanto el problema como la situación esperada, de modo
de poder diseñar la forma de llegar del estado actual al
estado objetivo(problema solucionado).
 Lo relevante de este punto es que el análisis es una tarea creativa que
requiere de capacidades de abstracción y uso de lenguajes que faciliten la
tarea de generación de modelos y análisis de los mismos. En el análisis
del problema se deben contestar las siguientes preguntas:
¿Cuál es el problema? (¿Cuál es el estado actual considerado
insatisfactorio?)
 ¿En qué forma se consideraría el problema solucionado? (¿Cuál es el
estado deseado?)
¿Qué restricciones existen para llegar a esa solución?
Definición de Algoritmo. 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 usuario
y no la computadora, debe diseñar un método adecuado para la solución. La computadora
simplemente llevará a cabo paso a paso la lista de las instrucciones formuladas en el
programa del usuario.
 Los Diagramas de Flujo:
Son la representación gráfica de la solución algorítmica de un problema.
Para diseñarlos se utilizan determinados símbolos o figuras que
representan una acción dentro del procedimiento.
Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos
en el símbolo adecuado y los símbolos unidos con flechas, denominadas
líneas de flujo, que indican el orden en que los pasos deben ser
ejecutados.
Para su elaboración se siguen ciertas reglas:
Se escribe de arriba hacia abajo y de izquierda a derecha
Siempre se usan flechas verticales u horizontales, jamás curvas
Se debe evitar cruce de flujos
En cada paso se debe expresar una acción concreta
Secuencia de flujo normal en una solución de problema
Tiene un inicio
Una lectura o entrada de datos
El proceso de datos
Una salida de información
Un final
 El pseudocódigo (falso lenguaje) es comúnmente utilizado
por los programadores para omitir secciones de código o
para dar una explicación del paradigma que tomó el mismo
programador para hacer sus códigos esto quiere decir que el
pseudocódigo no es programable sino facilita la
programación.
El principal objetivo del pseudocódigo es el de representar
la solución a un algoritmo de la forma más detallada
posible, y a su vez lo más parecida posible al lenguaje que
posteriormente se utilizará para la codificación del mismo.
Funciones y operaciones
Cada autor usa su propio pseudocódigo con sus respectivas
convenciones. Por ejemplo, la instrucción "reemplace el
valor de la variable x por el valor de la variable y" puede ser
representado como:
 PRUEBA DE ESCRITORIO
Para cerciorarnos de que el diagrama (y/o el pseudocódigo) esta
bien, y, para garantizar que el programa que codifiquemos luego
también funcione correctamente, es conveniente someterlo a una
Prueba de Escritorio . Esta prueba consiste en que damos
diferentes datos de entrada al programa y seguimos la secuencia
indicada en el diagrama, hasta obtener los resultados. El análisis
de estos nos indicará si el diagrama esta correcto o si hay
necesidad de hacer ajustes (volver al paso 4). Se recomienda dar
diferentes datos de entrada y considerar todos los posibles casos,
aun los de excepción o no esperados, para asegurarnos de que el
programa no producirá errores en ejecución cuando se presenten
estos casos.
Fuente: http://f21lealuis.blogspot.mx/2009/02/desarrollar-el-proceso-de-solucion-de_18.html
http://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemas_de_programaci%C3%B3n

Más contenido relacionado

La actualidad más candente

Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primeroVictor Zapata
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1profedelvalle
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Carlos M. Sandoval
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaJesus Freites
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
ParadigmasdeprogramacionVictor Zapata
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de'Felipe Lozada
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Presentación de computación
Presentación de computaciónPresentación de computación
Presentación de computaciónLuisRestan1
 

La actualidad más candente (19)

Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
algoritmos
algoritmosalgoritmos
algoritmos
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Fp03
Fp03Fp03
Fp03
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
Paradigmasdeprogramacion
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 
Unidad 1 margie
Unidad 1 margieUnidad 1 margie
Unidad 1 margie
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Presentación de computación
Presentación de computaciónPresentación de computación
Presentación de computación
 

Destacado (14)

parcial de programacion
parcial de programacionparcial de programacion
parcial de programacion
 
Practica 30
Practica 30Practica 30
Practica 30
 
Practica 25
Practica 25Practica 25
Practica 25
 
Praticas
PraticasPraticas
Praticas
 
Geolocalització a l'aula + Projectes Col·laboratius
Geolocalització a l'aula + Projectes Col·laboratiusGeolocalització a l'aula + Projectes Col·laboratius
Geolocalització a l'aula + Projectes Col·laboratius
 
Practica 8 "Animar texto por bloques"
Practica 8 "Animar texto por bloques"Practica 8 "Animar texto por bloques"
Practica 8 "Animar texto por bloques"
 
Manual de adobe flahs cs5
Manual de adobe  flahs cs5Manual de adobe  flahs cs5
Manual de adobe flahs cs5
 
Photoshop
PhotoshopPhotoshop
Photoshop
 
Curso Flash Básico, clase 4
Curso Flash Básico, clase 4Curso Flash Básico, clase 4
Curso Flash Básico, clase 4
 
Geolocalizar un punto con Google Maps
Geolocalizar un punto con Google MapsGeolocalizar un punto con Google Maps
Geolocalizar un punto con Google Maps
 
Las TIC y la Competencia Digital en Educación
Las TIC y la Competencia Digital en Educación Las TIC y la Competencia Digital en Educación
Las TIC y la Competencia Digital en Educación
 
Taller de Geolocalització i Realitat Augmentada a la URV
Taller de Geolocalització i Realitat Augmentada a la URVTaller de Geolocalització i Realitat Augmentada a la URV
Taller de Geolocalització i Realitat Augmentada a la URV
 
Herramientas Web 2.0
Herramientas Web 2.0Herramientas Web 2.0
Herramientas Web 2.0
 
Herramientas Web 2.0
Herramientas Web 2.0Herramientas Web 2.0
Herramientas Web 2.0
 

Similar a Unidad 1 (20)

Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
1. conceptos básicos sobre algoritmos adsi
1. conceptos básicos sobre algoritmos adsi1. conceptos básicos sobre algoritmos adsi
1. conceptos básicos sobre algoritmos adsi
 
Examen de diagnostico_corregido32
Examen de diagnostico_corregido32Examen de diagnostico_corregido32
Examen de diagnostico_corregido32
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Algoritmica terminado
Algoritmica terminadoAlgoritmica terminado
Algoritmica terminado
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Cuestinario
CuestinarioCuestinario
Cuestinario
 
Alg diag
Alg diag Alg diag
Alg diag
 
Rpp
RppRpp
Rpp
 
Alg diag
Alg diagAlg diag
Alg diag
 

Más de German Barajas Ferral (20)

Cmap tools
Cmap toolsCmap tools
Cmap tools
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Práctica 29
Práctica 29Práctica 29
Práctica 29
 
Práctica 28
Práctica 28Práctica 28
Práctica 28
 
Practica 26
Practica 26Practica 26
Practica 26
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Práctica 24
Práctica 24Práctica 24
Práctica 24
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Practica 23
Practica 23Practica 23
Practica 23
 
Sopa de letras
Sopa de letrasSopa de letras
Sopa de letras
 
Práctica 21
Práctica 21Práctica 21
Práctica 21
 
Práctica 21
Práctica 21 Práctica 21
Práctica 21
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Practica 20
Practica 20Practica 20
Practica 20
 
Unidad 5 "Manipular sonido"
Unidad 5 "Manipular sonido"Unidad 5 "Manipular sonido"
Unidad 5 "Manipular sonido"
 
Práctica 19
Práctica 19Práctica 19
Práctica 19
 
Práctica 18
Práctica 18Práctica 18
Práctica 18
 
Práctica 17
Práctica 17Práctica 17
Práctica 17
 

Unidad 1

  • 1. DESARROLLAR EL PROCESO DE SOLUCIÓN DE UNPROBLEMA
  • 2.  La resolución de un problema mediante un ordenador consiste en el proceso que a partir de la descripción de un problema, expresado habitualmente en lenguaje natural y en términos propios del dominio del problema, permite desarrollar un programa que resuelva dicho problema. Este proceso exige los siguientes pasos:
  • 3.  Análisis del problema.  Diseño o desarrollo de un algoritmo.  Transformación del algoritmo en un programa (codificación).  Ejecución y validación del programa.  Los dos primeros pasos son los más difíciles del proceso. Una vez analizado el problema y obtenido un algoritmo que lo resuelva, su transformación a un programa de ordenador es una tarea de mera traducción al lenguaje de programación deseado.
  • 4.  Las cuatro etapas de la resolución de problemas con una computadora se dan a continuación:  1. Entender el problema: un modo de manejar un problema es la de imaginar el tipo de salida que debe producirse para distintas entradas posibles. Después determinar el tipo de proceso necesario para convertir la entrada en salida.  2. Encontrar un método de solución: esto es, diseñar un algoritmo que le permita definir los pasos que llevarán a la solución del problema.  3. Traducir el método a código de computadora: este paso es generalmente sencillo cuando se ha concretado un método paso a paso y se conoce la sintaxis del lenguaje de programación.  4. Probar y depurar: si la ejecución del programa no es la correcta, se deben encontrar y corregir los errores que contenga. Este proceso se llama depuración. Posteriormente debe ejecutarse el programa con una amplia variedad de entradas para verificar que la lógica del programa esté correcta.
  • 5.  Lo primero que nos interesa es conocer, saber, lo que será investigado: Por qué, para qué, cual es el valor o la importancia del hecho o fenómeno a investigar. Si la investigación a realizar tiene criterios de prioridad, novedad, oportunidad, conformismo o comportamiento. ¿CÓMO SE IDENTIFICA UN PROBLEMA? En la elección del tema, lo más recomendable es primero obtener, a través de una lluvia de ideas, una lista de cinco o seis posibles temas. Las fuentes de potenciales de ideas pueden ser diversas: bibliografía, expertos, profesores, compañeros, lugar de trabajo, la vida cotidiana, etc. . Identificar el problema. Identificar el problema es esencial para buscar las posibles soluciones. Con el paso del tiempo, la tecnología avanza y se dan nuevas soluciones cada vez más atrevidas e ingeniosas.
  • 6.  El análisis del problema involucra capturar el máximo de información referente a este, obtener la visión del mismo por parte de los involucrados y generar un modelo para cada una de estas visiones. Se deben refinar estos modelos hasta obtener una o varias representaciones (modelos) del problema, los que posibilitan su análisis. Estos modelos que describen las visiones del problema son los que posibilitarán que se vislumbre alguna solución.  Se debe modelar tanto el problema como la situación esperada, de modo de poder diseñar la forma de llegar del estado actual al estado objetivo(problema solucionado).  Lo relevante de este punto es que el análisis es una tarea creativa que requiere de capacidades de abstracción y uso de lenguajes que faciliten la tarea de generación de modelos y análisis de los mismos. En el análisis del problema se deben contestar las siguientes preguntas: ¿Cuál es el problema? (¿Cuál es el estado actual considerado insatisfactorio?)  ¿En qué forma se consideraría el problema solucionado? (¿Cuál es el estado deseado?) ¿Qué restricciones existen para llegar a esa solución?
  • 7. Definición de Algoritmo. 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 usuario y no la computadora, debe diseñar un método adecuado para la solución. La computadora simplemente llevará a cabo paso a paso la lista de las instrucciones formuladas en el programa del usuario.
  • 8.  Los Diagramas de Flujo: Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados. Para su elaboración se siguen ciertas reglas: Se escribe de arriba hacia abajo y de izquierda a derecha Siempre se usan flechas verticales u horizontales, jamás curvas Se debe evitar cruce de flujos En cada paso se debe expresar una acción concreta Secuencia de flujo normal en una solución de problema Tiene un inicio Una lectura o entrada de datos El proceso de datos Una salida de información Un final
  • 9.  El pseudocódigo (falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos esto quiere decir que el pseudocódigo no es programable sino facilita la programación. El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo. Funciones y operaciones Cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, la instrucción "reemplace el valor de la variable x por el valor de la variable y" puede ser representado como:
  • 10.  PRUEBA DE ESCRITORIO Para cerciorarnos de que el diagrama (y/o el pseudocódigo) esta bien, y, para garantizar que el programa que codifiquemos luego también funcione correctamente, es conveniente someterlo a una Prueba de Escritorio . Esta prueba consiste en que damos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama, hasta obtener los resultados. El análisis de estos nos indicará si el diagrama esta correcto o si hay necesidad de hacer ajustes (volver al paso 4). Se recomienda dar diferentes datos de entrada y considerar todos los posibles casos, aun los de excepción o no esperados, para asegurarnos de que el programa no producirá errores en ejecución cuando se presenten estos casos. Fuente: http://f21lealuis.blogspot.mx/2009/02/desarrollar-el-proceso-de-solucion-de_18.html http://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemas_de_programaci%C3%B3n