SlideShare una empresa de Scribd logo
*UNIDAD 1*
JACQUELINE ESPINOZA ALPIREZ
4º B INFORMATICA
*Desarrollar el proceso de
solución de un problema*
1.Desarrollar el proceso de solución de un
problema
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.
1.1.Identificar el problema
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.
1.2. Análisis del problema
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?
1.3. Elaborar algoritmos de la solución del problema
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.
1.4. Elaborar diagramas de flujo de la solución del problema
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
VENTAJAS DE USAR DIAGRAMAS DE FLUJO
Rápida comprensión de las relaciones
Análisis efectivo de las diferentes secciones del
programa
Pueden usarse como modelos de trabajo en el diseño
de nuevos programas o sistemas
Comunicación con el usuario
Documentación adecuada de los programas
Codificación eficaz de los programas
Depuración y pruebas ordenadas de programas
Muchas veces, en los libros de texto y publicaciones científicas relacionadas
con la informática y la computación numérica, se utilizan pseudocódigo en la
descripción de algoritmos, de manera que todos los programadores puedan
entenderlo, aunque no todos conozcan el mismo lenguaje de programación.
Generalmente, en los libros de texto, hay una explicación que acompaña la
introducción que explica las convenciones particulares en uso. El nivel de
detalle del pseudocódigo puede, en algunos casos, acercarse a la de
formalizar los idiomas de propósito general.
Un programador que tiene que aplicar un algoritmo específico, sobre todo
uno des familiarizado, generalmente comienza con una descripción en
pseudocódigo, y luego "traduce" esa descripción en el lenguaje de
programación meta y lo modifica para que interactúe correctamente con el
resto del programa. Los programadores también pueden iniciar un proyecto
describiendo la forma del código en pseudocódigo en el papel antes de
escribirlo en su lenguaje de programación.
1.5. Crear Pseudocódigo de la
solución del problema
La prueba de escritorio es una herramienta útil para entender
que hace un determinado algoritmo, o para verificar que un
algoritmo cumple con la especificación sin necesidad de
ejecutarlo. Básicamente, una prueba de escritorio es una
ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar
registro de los valores que va tomando cada una de las variables
involucradas en el mismo.
1.6. Prueba de escritorio de la
solución del problema

Más contenido relacionado

La actualidad más candente

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
guest965b17
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programaciónelizabethpaola
 
Fases de resolucion de problemas
Fases de resolucion de problemasFases de resolucion de problemas
Fases de resolucion de problemas
ncrmax
 
algoritmos
algoritmosalgoritmos
algoritmos
Camilo Rodriguez
 
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
 
Solucion de problemas por medio de computadoras
Solucion de problemas por medio de computadorasSolucion de problemas por medio de computadoras
Solucion de problemas por medio de computadoras
Jorge Ñauñay
 
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
 
Metodología para la solución de un problema
Metodología para la solución de un problemaMetodología para la solución de un problema
Metodología para la solución de un problema
IEO Santo Tomás
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
JohanCaro5
 
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
TITO GILMER PACHECO PEREZ
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
JovanyYGonzalezR
 
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
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
Guillermo Salinas
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
adark
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programaciónRoberto Aguirre
 
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
 

La actualidad más candente (20)

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
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Fases de resolucion de problemas
Fases de resolucion de problemasFases de resolucion de problemas
Fases de resolucion de problemas
 
algoritmos
algoritmosalgoritmos
algoritmos
 
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...
 
Solucion de problemas por medio de computadoras
Solucion de problemas por medio de computadorasSolucion de problemas por medio de computadoras
Solucion de problemas por medio de computadoras
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Desarrollo lógico de los problemas
Desarrollo lógico de los problemas Desarrollo lógico de los problemas
Desarrollo lógico de los problemas
 
Metodología para la solución de un problema
Metodología para la solución de un problemaMetodología para la solución de un problema
Metodología para la solución de un problema
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
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
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
 
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
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Fp03
Fp03Fp03
Fp03
 
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
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Destacado

8 de marzo, Salamanca 2012
8 de marzo, Salamanca 20128 de marzo, Salamanca 2012
8 de marzo, Salamanca 2012mgblesa
 
Tanqua_Tegnies Bulletin_Febr_2016
Tanqua_Tegnies Bulletin_Febr_2016Tanqua_Tegnies Bulletin_Febr_2016
Tanqua_Tegnies Bulletin_Febr_2016Wiehan Visagie
 
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
Eirini Voutskoglou
 
Flexiblemanufacturingsystemss
Flexiblemanufacturingsystemss Flexiblemanufacturingsystemss
Flexiblemanufacturingsystemss satyajit321
 
Trabajos sobre historia
Trabajos sobre historiaTrabajos sobre historia
Trabajos sobre historia
craextremadura
 
La tombarella
La tombarellaLa tombarella
La tombarella
Ferran González
 
IND-ENG-2014-029
IND-ENG-2014-029IND-ENG-2014-029
IND-ENG-2014-029
designforchange2014
 

Destacado (9)

8 de marzo, Salamanca 2012
8 de marzo, Salamanca 20128 de marzo, Salamanca 2012
8 de marzo, Salamanca 2012
 
Tanqua_Tegnies Bulletin_Febr_2016
Tanqua_Tegnies Bulletin_Febr_2016Tanqua_Tegnies Bulletin_Febr_2016
Tanqua_Tegnies Bulletin_Febr_2016
 
Islamismo
IslamismoIslamismo
Islamismo
 
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
Προκλήσεις κ Επεκτάσεις στην αξιοποίηση των Κοινωνικών Δικτύων για την Πληροφ...
 
Flexiblemanufacturingsystemss
Flexiblemanufacturingsystemss Flexiblemanufacturingsystemss
Flexiblemanufacturingsystemss
 
Trabajos sobre historia
Trabajos sobre historiaTrabajos sobre historia
Trabajos sobre historia
 
La tombarella
La tombarellaLa tombarella
La tombarella
 
IND-ENG-2014-029
IND-ENG-2014-029IND-ENG-2014-029
IND-ENG-2014-029
 
David
DavidDavid
David
 

Similar a Unidad 1

Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
Mary Sanchez
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Lesly Gonzalez
 
Examen de diagnostico_corregido32
Examen de diagnostico_corregido32Examen de diagnostico_corregido32
Examen de diagnostico_corregido32
Arazelii Puentez
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
Mary Martínez Morales
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionalesJose Gonzalez
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
Julian Alberto Moncada Tarazona
 

Similar a Unidad 1 (20)

Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Unidad 1 margie
Unidad 1 margieUnidad 1 margie
Unidad 1 margie
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02Unidad1 130504213500-phpapp02
Unidad1 130504213500-phpapp02
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Examen de diagnostico_corregido32
Examen de diagnostico_corregido32Examen de diagnostico_corregido32
Examen de diagnostico_corregido32
 
Bloque 1
Bloque 1Bloque 1
Bloque 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
unidad 1
unidad 1unidad 1
unidad 1
 
Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3Introduccion a-la-programacion-1234039307400760-3
Introduccion a-la-programacion-1234039307400760-3
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Más de Yackii AlpiiRez (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 7 yackii
Unidad 7 yackiiUnidad 7 yackii
Unidad 7 yackii
 
Practica 30 (1)
Practica 30 (1)Practica 30 (1)
Practica 30 (1)
 
Práctica #29
Práctica #29Práctica #29
Práctica #29
 
Practica 28
Practica 28Practica 28
Practica 28
 
Practica 27
Practica 27Practica 27
Practica 27
 
Practica 25
Practica 25Practica 25
Practica 25
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Practica 15
Practica 15Practica 15
Practica 15
 
4.2docx
4.2docx4.2docx
4.2docx
 
Practica 16
Practica 16Practica 16
Practica 16
 
Practica 14
Practica 14Practica 14
Practica 14
 
UNIDAD 4
UNIDAD 4UNIDAD 4
UNIDAD 4
 
Inidad4
Inidad4Inidad4
Inidad4
 
Practica 13 yqacki-
Practica 13 yqacki-Practica 13 yqacki-
Practica 13 yqacki-
 
Practica 12 ywck - copia
Practica 12 ywck - copiaPractica 12 ywck - copia
Practica 12 ywck - copia
 
Practica 11
Practica 11Practica 11
Practica 11
 
Practica 10 yacki
Practica 10 yackiPractica 10 yacki
Practica 10 yacki
 

Unidad 1

  • 1. *UNIDAD 1* JACQUELINE ESPINOZA ALPIREZ 4º B INFORMATICA *Desarrollar el proceso de solución de un problema*
  • 2. 1.Desarrollar el proceso de solución de un problema 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.
  • 3.
  • 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. 1.1.Identificar el problema 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. 1.2. Análisis del problema 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.
  • 8. 1.3. Elaborar algoritmos de la solución del problema 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.
  • 9. 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.
  • 10.
  • 11. 1.4. Elaborar diagramas de flujo de la solución del problema 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
  • 12. VENTAJAS DE USAR DIAGRAMAS DE FLUJO Rápida comprensión de las relaciones Análisis efectivo de las diferentes secciones del programa Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas Comunicación con el usuario Documentación adecuada de los programas Codificación eficaz de los programas Depuración y pruebas ordenadas de programas
  • 13. Muchas veces, en los libros de texto y publicaciones científicas relacionadas con la informática y la computación numérica, se utilizan pseudocódigo en la descripción de algoritmos, de manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo lenguaje de programación. Generalmente, en los libros de texto, hay una explicación que acompaña la introducción que explica las convenciones particulares en uso. El nivel de detalle del pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de propósito general. Un programador que tiene que aplicar un algoritmo específico, sobre todo uno des familiarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúe correctamente con el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación. 1.5. Crear Pseudocódigo de la solución del problema
  • 14. La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo. Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo. 1.6. Prueba de escritorio de la solución del problema