SlideShare una empresa de Scribd logo
1 de 5
Unidad 1
Lesly Evanelly González Barrera.
4° “A” Informática.
“Aplicar los principios de la
programación en la solución de
problemas”
1. Desarrollar el proceso de solución de un problema.
El proceso de resolución de un problema con una computadora conduce a la
escritura de un programa y a 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.
Fases en la resolución de un problema:
1ª) Fase de preparación,
Basada en la comprensión del problema. Supone un análisis e interpretación de
los datos disponibles.
2ª) Fase de producción,
El sujeto elabora y pone en marcha una estrategia: un conjunto de operaciones
para poder llegar a la solución.
3ª) Fase de enjuiciamiento,
Reflexión y evaluación de la solución generada comparándola con el criterio de
solución que nos propone el enunciado de la tarea.
1.1. Identificar el problema
Está dada por el enunciado del problema, el cuál debe ser claro y completo. Es
importante que conozcamos exactamente que se desea del computador;
mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
Para identificar un problema, tienes que tener un enunciado con datos y una
incógnita a resolver, entonces:
Identificar el problema
¿Cuál es el problema?, hay que construir modelos de simulación que han de
permitir decidir cual de varias propuestas es más eficaz para solucionar el
problema planteado, así pues éstos son modelos de gestión, no predictivos.
En primer lugar hay que identificar el problema con claridad, y describir los
objetivos del estudio con precisión. Aunque sea obvio, es muy importante una
definición correcta del problema real ya que todas las etapas siguientes
gravitaran sobre ello.
Una vez definido el núcleo del problema, se ha de completar su descripción en
base a la aportación de conocimientos del tema . El resultado de esta fase ha de
ser una primera percepción de los "elementos" que tienen relación con el
problema planteado, las h-i-p-o-t-é-t-i-c-a-s relaciones existentes entre ellos, y
su comportamiento histórico.
La llamada "Referencia Histórica" recoge el comportamiento histórico de los
principales "elementos" que creemos que intervienen en el problema,
cuantificados cuando ello sea posible. Es la plasmación gráfica y numérica de la
descripción verbal del problema.
Los caminos son básicamente dos: la estadística y la intuición.
- La estadística o los métodos de cálculo numérico, son muy útiles para
solucionar muchos problemas en los que: 1.- hay abundantes datos históricos, y
2.- podemos suponer que la realidad permanecerá
estable. Por ejemplo, si quieres saber cuantos coches
pasarán hoy por la puerta de tu casa, sólo has de
disponer de los suficientes datos históricos y, si la calle no
ha cambiado, podrás hacer una buena aproximación. -
Tu intuición te ha llevado hasta donde estás, y por lo tanto no la menosprecies.
En muchos problemas ya intuimos acertadamente la solución como resultado de
nuestra experiencia o conocimientos. La intuición es barata y rápida, sigue
usándola siempre que puedas.
Una vez definido el problema veremos que hay muchos aspectos, o elementos,
relacionados con el mismo, directa o indirectamente, y a la vez relacionados
entre sí, de forma no necesariamente clara y transparente.
1.2. Análisis del problema
2. El problema tiene que estar definido y comprendido claramente,
3. una vez comprendido el problema se debe desarrollar el algoritmo
4. –procedimiento paso a paso de la solución del problema —
5. Por ultimo para resolver el problema mediante una computadora se necesita
codificar el algoritmo en un lenguaje de programación,
6. BASIC, PASCAL, CABOL, FORTRAIN, ETC.
7. Es decir convertir el algoritmo a programa y comprobar que el programa
soluciona verdadera mente el problema.
8. El propósito del análisis del problema sirve al programador para llegar a la
comprensión de la naturaleza del problema.
9. El problema tiene que estar bien definido si se quiere llegar a una solución
satisfactoria del problema.
10. Para poder definir con precisión el problema se requiere que las
especificaciones de entrada y salida sean descritas con detalle.
11. Estos son los requisitos mas importantes.
1.3 Elaborar algoritmos de la solución del problema.
Aún cuando muchos algoritmos resulten simples al final, el proceso para llegar a
ellos puede ser muy complicado. Existen varios
enfoques, que se pueden seguir para elaborar un
algoritmo a partir de la definición del problema:
Buscar similitud con otros problemas
Utilizar ejemplos conocidos
Utilizar algoritmos genéricos conocidos
Conceptualizar actividades
Descomponer en subproblemas
Al describir un algoritmo es necesario ser lo más preciso posible, de modo que
sea sencillo implementar el procedimiento especificado. En primera instancia, es
necesario definir una serie de operaciones básicas con las cuales se hará la
especificación. Luego, a partir de las operaciones definidas, se procede a
enumerar los pasos que componen el algoritmo. En esta etapa se pueden emplear
los componentes básicos de control de flujo (decisión e iteración).
La principal destreza que se debe desarrollar para escribir algoritmos consiste
en poder abstraer un problema y conceptualizarlo de modo que se pueda
expresar su solución en términos de las operaciones básicas que se definieron.
Para esto, nos apoyaremos en la descomposición en suproblemas más simples, las
cuales también requieren de cierto grado de conceptualización.
1.4 Elaborar diagramas de flujo de la solución del problema.
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
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.
1.5. Crear Pseudocódigo de la solución del problema.
El pseudocódigo está pensado para facilitar a las personas el
entendimiento de un algoritmo, y por lo tanto puede omitir detalles
irrelevantes que son necesarios en una implementación. Programadores
diferentes suelen utilizar convenciones distintas, que pueden estar
basadas en la sintaxis de lenguajes de programación concretos. Sin
embargo, el pseudocódigo en general es comprensible sin necesidad de
conocer o utilizar un entorno de programación específico, y es a la vez
suficientemente estructurado para que su implementación se pueda
hacer directamente a partir de él.
El pseudocódigo es una descripción de alto nivel de un algoritmo que
emplea una mezcla de lenguaje natural con algunas convenciones
sintácticas propias de lenguajes de programación, como asignaciones,
ciclos y condicionales, aunque no está regido por ningún estándar. Es
utilizado para describir algoritmos en libros y publicaciones científicas,
y como producto intermedio durante el desarrollo de un algoritmo, como
los diagramas de flujo, aunque presentan una ventaja importante sobre
estos, y es que los algoritmos descritos en pseudocódigo requieren
menos espacio para representar instrucciones complejas.
1.6. Prueba de escritorio de la solución del problema
Se denomina prueba de escritorio a la comprobación que se hace de un
algoritmo para saber si está bien hecho. Esta prueba consiste en tomar
datos específicos como entrada y seguir la secuencia indicada en el
algoritmo hasta obtener un resultado, el análisis de estos resultados
indicará si el algoritmo está correcto o si por el contrario hay necesidad
de corregirlo o hacerle ajustes.

Más contenido relacionado

La actualidad más candente

Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraBrivé Soluciones
 
Pasos Para Resolver Un Problema Utilizando Un Pc
Pasos  Para Resolver Un Problema  Utilizando Un PcPasos  Para Resolver Un Problema  Utilizando Un Pc
Pasos Para Resolver Un Problema Utilizando Un Pcguest965b17
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionnbrayan_2012
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computadoreduardzavala93
 
Fase de programacion
Fase de programacionFase de programacion
Fase de programacionhellenvargasp
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
ParadigmasdeprogramacionVictor Zapata
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNadark
 
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
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 
Fases del proceso de la programación
Fases del proceso de la programaciónFases del proceso de la programación
Fases del proceso de la programaciónsullonkey
 
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
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Dulcevelazquez6
 
Desarrollo lógico de los problemas
Desarrollo lógico de los problemas Desarrollo lógico de los problemas
Desarrollo lógico de los problemas gonzalezkeilyn
 
3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadoraMIGUEL
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR DarkStarPlay
 
Carrera informatica uni1
Carrera informatica uni1Carrera informatica uni1
Carrera informatica uni1fabi1775
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primeroVictor Zapata
 

La actualidad más candente (19)

Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con Computadora
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Pasos Para Resolver Un Problema Utilizando Un Pc
Pasos  Para Resolver Un Problema  Utilizando Un PcPasos  Para Resolver Un Problema  Utilizando Un Pc
Pasos Para Resolver Un Problema Utilizando Un Pc
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionn
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computador
 
Fase de programacion
Fase de programacionFase de programacion
Fase de programacion
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
Paradigmasdeprogramacion
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
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...
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Fases del proceso de la programación
Fases del proceso de la programaciónFases del proceso de la programación
Fases del proceso de la programación
 
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
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
 
Desarrollo lógico de los problemas
Desarrollo lógico de los problemas Desarrollo lógico de los problemas
Desarrollo lógico de los problemas
 
3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora3 resolucion de problemas con la computadora
3 resolucion de problemas con la computadora
 
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
 
Carrera informatica uni1
Carrera informatica uni1Carrera informatica uni1
Carrera informatica uni1
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 

Destacado

Reseña critica de la película
Reseña critica de la películaReseña critica de la película
Reseña critica de la películaChris023
 
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...All You Need to Know about Finding, Hiring, Training & Working with Virtual A...
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...H.Y.V.A.™
 
Tipos de relacion en access 07 criss
Tipos de relacion en access 07 crissTipos de relacion en access 07 criss
Tipos de relacion en access 07 crissmayrasetquetco
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimientonilzuhu
 
Edinburge
EdinburgeEdinburge
Edinburgetomazo
 
Ii guerra mundial
Ii guerra mundial Ii guerra mundial
Ii guerra mundial Diego Vargas
 
Klinisch-Therapeutische Studien: EBM DIM
Klinisch-Therapeutische Studien: EBM DIMKlinisch-Therapeutische Studien: EBM DIM
Klinisch-Therapeutische Studien: EBM DIMonitrix
 
сучасна німецька музика
сучасна німецька музикасучасна німецька музика
сучасна німецька музикаtamaraivanova
 
Lopez y quiñones
Lopez y quiñonesLopez y quiñones
Lopez y quiñonesmeelilopez
 
ENJ 400 Tipologías Contractuales
ENJ 400 Tipologías ContractualesENJ 400 Tipologías Contractuales
ENJ 400 Tipologías ContractualesENJ
 
Organisationalculture 120223080512-phpapp02
Organisationalculture 120223080512-phpapp02Organisationalculture 120223080512-phpapp02
Organisationalculture 120223080512-phpapp02Akshay Mittal
 
Mateii 11.3 representacion funciones con radicales
Mateii 11.3 representacion funciones con radicalesMateii 11.3 representacion funciones con radicales
Mateii 11.3 representacion funciones con radicalesTarpafar
 
Clase1 mendeliana unidad2 (1)
Clase1 mendeliana unidad2 (1)Clase1 mendeliana unidad2 (1)
Clase1 mendeliana unidad2 (1)gisellestefany
 
Ias 38 intangibles
Ias 38   intangiblesIas 38   intangibles
Ias 38 intangiblesKhalid Aziz
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2charnisch
 

Destacado (20)

Reseña critica de la película
Reseña critica de la películaReseña critica de la película
Reseña critica de la película
 
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...All You Need to Know about Finding, Hiring, Training & Working with Virtual A...
All You Need to Know about Finding, Hiring, Training & Working with Virtual A...
 
E learning
E  learningE  learning
E learning
 
Coca
CocaCoca
Coca
 
Tipos de relacion en access 07 criss
Tipos de relacion en access 07 crissTipos de relacion en access 07 criss
Tipos de relacion en access 07 criss
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimiento
 
Danielle rihn
Danielle rihnDanielle rihn
Danielle rihn
 
Edinburge
EdinburgeEdinburge
Edinburge
 
Ii guerra mundial
Ii guerra mundial Ii guerra mundial
Ii guerra mundial
 
Klinisch-Therapeutische Studien: EBM DIM
Klinisch-Therapeutische Studien: EBM DIMKlinisch-Therapeutische Studien: EBM DIM
Klinisch-Therapeutische Studien: EBM DIM
 
сучасна німецька музика
сучасна німецька музикасучасна німецька музика
сучасна німецька музика
 
Lopez y quiñones
Lopez y quiñonesLopez y quiñones
Lopez y quiñones
 
ENJ 400 Tipologías Contractuales
ENJ 400 Tipologías ContractualesENJ 400 Tipologías Contractuales
ENJ 400 Tipologías Contractuales
 
Organisationalculture 120223080512-phpapp02
Organisationalculture 120223080512-phpapp02Organisationalculture 120223080512-phpapp02
Organisationalculture 120223080512-phpapp02
 
Trabajito
TrabajitoTrabajito
Trabajito
 
Mateii 11.3 representacion funciones con radicales
Mateii 11.3 representacion funciones con radicalesMateii 11.3 representacion funciones con radicales
Mateii 11.3 representacion funciones con radicales
 
Clase1 mendeliana unidad2 (1)
Clase1 mendeliana unidad2 (1)Clase1 mendeliana unidad2 (1)
Clase1 mendeliana unidad2 (1)
 
Ias 38 intangibles
Ias 38   intangiblesIas 38   intangibles
Ias 38 intangibles
 
Mocek Thesis
Mocek ThesisMocek Thesis
Mocek Thesis
 
Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2Lenguajes De Programacion C nivel1-unidad2
Lenguajes De Programacion C nivel1-unidad2
 

Similar a Unidad1 130504213500-phpapp02

Similar a Unidad1 130504213500-phpapp02 (20)

Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Aplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemasAplicar los pricipios de programacion en la solucion de problemas
Aplicar los pricipios de programacion en la solucion de problemas
 
unidad 1
unidad 1unidad 1
unidad 1
 
Elaboracion de un_programa
Elaboracion de un_programaElaboracion de un_programa
Elaboracion de un_programa
 
Exposicion (1)
Exposicion (1)Exposicion (1)
Exposicion (1)
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Metodología para la resolución de problemas
Metodología para la resolución de problemasMetodología para la resolución de problemas
Metodología para la resolución de problemas
 
Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
Exposicion unidad-iii
Exposicion unidad-iiiExposicion unidad-iii
Exposicion unidad-iii
 
Ciclo de vida de un programa
Ciclo de vida de un programaCiclo de vida de un programa
Ciclo de vida de un programa
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Las fases de la programación
Las fases de la programaciónLas fases de la programación
Las fases de la programación
 
Metodología para la solución de problemas
Metodología para la solución de problemasMetodología para la solución de problemas
Metodología para la solución de problemas
 
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
 

Más de Lesly Gonzalez (16)

Unidad2 130504213509-phpapp01
Unidad2 130504213509-phpapp01Unidad2 130504213509-phpapp01
Unidad2 130504213509-phpapp01
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02
 
Unidad2 130504213509-phpapp01
Unidad2 130504213509-phpapp01Unidad2 130504213509-phpapp01
Unidad2 130504213509-phpapp01
 
Vocabulario
VocabularioVocabulario
Vocabulario
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Practica 2 flash.
Practica 2 flash.Practica 2 flash.
Practica 2 flash.
 
Practica 2 flash.
Practica 2 flash.Practica 2 flash.
Practica 2 flash.
 
Practica 2 flash.
Practica 2 flash.Practica 2 flash.
Practica 2 flash.
 
Flahs8
Flahs8Flahs8
Flahs8
 
Flahs8
Flahs8Flahs8
Flahs8
 
Flahs8
Flahs8Flahs8
Flahs8
 
Flahs8
Flahs8Flahs8
Flahs8
 

Unidad1 130504213500-phpapp02

  • 1. Unidad 1 Lesly Evanelly González Barrera. 4° “A” Informática. “Aplicar los principios de la programación en la solución de problemas”
  • 2. 1. Desarrollar el proceso de solución de un problema. El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a 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. Fases en la resolución de un problema: 1ª) Fase de preparación, Basada en la comprensión del problema. Supone un análisis e interpretación de los datos disponibles. 2ª) Fase de producción, El sujeto elabora y pone en marcha una estrategia: un conjunto de operaciones para poder llegar a la solución. 3ª) Fase de enjuiciamiento, Reflexión y evaluación de la solución generada comparándola con el criterio de solución que nos propone el enunciado de la tarea. 1.1. Identificar el problema Está dada por el enunciado del problema, el cuál debe ser claro y completo. Es importante que conozcamos exactamente que se desea del computador; mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa. Para identificar un problema, tienes que tener un enunciado con datos y una incógnita a resolver, entonces: Identificar el problema ¿Cuál es el problema?, hay que construir modelos de simulación que han de permitir decidir cual de varias propuestas es más eficaz para solucionar el problema planteado, así pues éstos son modelos de gestión, no predictivos. En primer lugar hay que identificar el problema con claridad, y describir los objetivos del estudio con precisión. Aunque sea obvio, es muy importante una definición correcta del problema real ya que todas las etapas siguientes gravitaran sobre ello.
  • 3. Una vez definido el núcleo del problema, se ha de completar su descripción en base a la aportación de conocimientos del tema . El resultado de esta fase ha de ser una primera percepción de los "elementos" que tienen relación con el problema planteado, las h-i-p-o-t-é-t-i-c-a-s relaciones existentes entre ellos, y su comportamiento histórico. La llamada "Referencia Histórica" recoge el comportamiento histórico de los principales "elementos" que creemos que intervienen en el problema, cuantificados cuando ello sea posible. Es la plasmación gráfica y numérica de la descripción verbal del problema. Los caminos son básicamente dos: la estadística y la intuición. - La estadística o los métodos de cálculo numérico, son muy útiles para solucionar muchos problemas en los que: 1.- hay abundantes datos históricos, y 2.- podemos suponer que la realidad permanecerá estable. Por ejemplo, si quieres saber cuantos coches pasarán hoy por la puerta de tu casa, sólo has de disponer de los suficientes datos históricos y, si la calle no ha cambiado, podrás hacer una buena aproximación. - Tu intuición te ha llevado hasta donde estás, y por lo tanto no la menosprecies. En muchos problemas ya intuimos acertadamente la solución como resultado de nuestra experiencia o conocimientos. La intuición es barata y rápida, sigue usándola siempre que puedas. Una vez definido el problema veremos que hay muchos aspectos, o elementos, relacionados con el mismo, directa o indirectamente, y a la vez relacionados entre sí, de forma no necesariamente clara y transparente. 1.2. Análisis del problema 2. El problema tiene que estar definido y comprendido claramente, 3. una vez comprendido el problema se debe desarrollar el algoritmo 4. –procedimiento paso a paso de la solución del problema — 5. Por ultimo para resolver el problema mediante una computadora se necesita codificar el algoritmo en un lenguaje de programación, 6. BASIC, PASCAL, CABOL, FORTRAIN, ETC. 7. Es decir convertir el algoritmo a programa y comprobar que el programa soluciona verdadera mente el problema. 8. El propósito del análisis del problema sirve al programador para llegar a la comprensión de la naturaleza del problema.
  • 4. 9. El problema tiene que estar bien definido si se quiere llegar a una solución satisfactoria del problema. 10. Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle. 11. Estos son los requisitos mas importantes. 1.3 Elaborar algoritmos de la solución del problema. Aún cuando muchos algoritmos resulten simples al final, el proceso para llegar a ellos puede ser muy complicado. Existen varios enfoques, que se pueden seguir para elaborar un algoritmo a partir de la definición del problema: Buscar similitud con otros problemas Utilizar ejemplos conocidos Utilizar algoritmos genéricos conocidos Conceptualizar actividades Descomponer en subproblemas Al describir un algoritmo es necesario ser lo más preciso posible, de modo que sea sencillo implementar el procedimiento especificado. En primera instancia, es necesario definir una serie de operaciones básicas con las cuales se hará la especificación. Luego, a partir de las operaciones definidas, se procede a enumerar los pasos que componen el algoritmo. En esta etapa se pueden emplear los componentes básicos de control de flujo (decisión e iteración). La principal destreza que se debe desarrollar para escribir algoritmos consiste en poder abstraer un problema y conceptualizarlo de modo que se pueda expresar su solución en términos de las operaciones básicas que se definieron. Para esto, nos apoyaremos en la descomposición en suproblemas más simples, las cuales también requieren de cierto grado de conceptualización. 1.4 Elaborar diagramas de flujo de la solución del problema. 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
  • 5. Una lectura o entrada de datos El proceso de datos Una salida de información Un final 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. 1.5. Crear Pseudocódigo de la solución del problema. El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo en general es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él. El pseudocódigo es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas. 1.6. Prueba de escritorio de la solución del problema Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.