m.sc. joseph a. bastidas resolución de problemas algoritmos y programación unidad i

17
M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

Upload: eduardo-grimaldo

Post on 05-Jan-2015

14 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Resolución de ProblemasAlgoritmos y Programación

UNIDAD I

Page 2: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

TEMA 1Terminología Básica

TEMA 2Etapas en la solución de problemas. Concepto de Algoritmo. Concepto de programa e instrucción. Técnicas y estructuras de programación.

Page 3: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Algoritmo: Es un método para resolver problemas que consiste en dividir el mismo en un número finito de pasos elementales e indicar claramente el orden de ejecución de los mismos.

Programación: Es la transformación del algoritmo en algo entendible por la computadora, para ello debe ser escrito en un lenguaje de programación (C, C++, PASCAL, BASIC, COBOL, ETC.) de acuerdo con las reglas de sintaxis del mismo.

Algoritmo y Programación

Page 4: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Las fases en la construcción de un programa para resolver un problema mediante la computadora son, en orden, las siguientes:

Análisis del problemaDiseño del algoritmo

ProgramaciónEjecución y pruebas

Documentación (interna, externa)

El paso cero sería Entender el problema, parece banal, pero no lo es cuando se piensa en la gran cantidad de proyectos de computación que se desarrollaron sin haber comprendido bien para que se hacían, o cual era el problema que supuestamente iban a resolver.

Comprender la importancia de entender con claridad el problema antes de abocarnos a encontrar una solución.

1 Etapas en la solución de problemas

Page 5: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

El análisis consiste en una clara definicion del problema, donde se contemple exactamente lo que debe hacer el programa y el resultado o solucion deseada.Dado que se busca una solución por computadora, se precisan especificaciones detalladas de entradas y salidas.

Para resolver un problema con un ordenador hay que disponer de los datos de entrada, estudiar el tratamiento que se ha de realizar a dichos datos, la información que se desea obtener como resultado y de que manera debe presentarse.

1 Etapas en la solución de problemas

Page 6: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

Es decir, después de analizar el problema, se han de conocer claramente tres cosas.

● Datos de Entrada con los que se dispone ● Proceso o Tratamiento que ha de realizarse con estos datos.● Información de salida deseada.

Una de las técnicas mas empleadas recibe el nombre de H.I.P.O. (Hierarchy the plus input process output) que consiste en esquematizar cada programa, o una parte del mismo en los tres bloques (los descritos anteriormente)..

1 Etapas en la solución de problemas

ENTRADA PROCESO SALIDA

Page 7: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

EjemploHallar el promedio de notas de la sección :

ENTRADA: Los datos de cada uno de los alumnos. PROCESO: La fórmula matemática para calcular el promedio de notas es:(nota 1 + nota 2 + nota 3 + .....+ nota n) / cantidad de notas SALIDA: Resultado de aplicar la formula.

1 Etapas en la solución de problemas

ENTRADA PROCESO SALIDA

Page 8: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

Teniendo en cuenta que un algoritmo es un método para resolver problemas, una vez analizado el mismo se precisa diseñar un algoritmo que indique claramente los pasos a seguir para resolverlo.

Para realizar un determinado proceso, se le debe suministrar al ordenador una fórmula para la resolución de un problema (algoritmo), cuyo diseño debe ser independiente de la computadora que resuelve el problema.

Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante será el diseño del algoritmo.En esta etapa se realizará una representación de la secuencia. Estas representaciones son las herramientas de: diagramas de flujo, pseudocódigos y/o tablas de decisión.

1 Etapas en la solución de problemas

Page 9: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

1 Etapas en la solución de problemas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

Dentro de esta etapa se especifican los procesos a utilizar en la resolución del problema así como tambien el PSEUDOCODIGO, el DIAGRAMA DE FLUJO, y el DIAGRAMA NASSI-SCHNEIDERMANN (NSD)

Page 10: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

1 Etapas en la solución de problemas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

PSEUDOCODIGO: En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción formal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

Page 11: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

1 Etapas en la solución de problemas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

DIAGRAMA DE FLUJO DE DATOS (DFD): El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso.

Page 12: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

1 Etapas en la solución de problemas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

DIAGRAMA NASSI-SCHNEIDERMANN (NSD): es una representación gráfica que muestra el diseño de un programa estructurado.Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama también es conocido como estructograma, ya que sirve para representar la estructura de los programas. Combina la descripción textual del pseudocódigo con la representación gráfica del diagrama de flujo.

Page 13: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. BastidasComputacion - FA.CE.NA.

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentaciónUna vez que el diagrama de flujo o el algoritmo de resolución del problema está definido se pasa a la fase de codificación del programa en cualquier lenguaje (C, basic, cobol, pascal, etc.) cuyo resultado será el programa fuente, el cual sigue las reglas de sintaxis que el lenguaje escogido exija.Después de codificado el programa, se introduce en el ordenador mediante unos programas especiales llamados editores.

Una vez dentro del ordenador, el programa deber ser traducido al único lenguaje que éste entiende: Lenguaje de máquina. Dicha operación se realiza mediante el correspondiente programa traductor o compilador del lenguaje en el que está escrito el programa.

2 Resolución de Problemas con Computadora

PROGRAMACION ANALISIS ALGORITMO CODIFICACION EDICION TRADUCCION

Page 14: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

El hecho de haber diseñado un buen algoritmo y luego haberlo codificado en algún lenguaje de programación no significa que el programa resuelva correctamente el problema en cuestión. Por eso, antes de dar por finalizada cualquier labor de programación, es fundamental preparar un conjunto de datos lo más representativo posible del problema, que permitan probar el programa cuando se ejecute y así verificar los resultados.Cuanto más exhaustivas sean las pruebas de un programa, mayor seguridad se tendrá de que éste funcione correctamente y, por lo tanto, menor posibilidad de errores.El programa se considera terminado cuando se han realizado pruebas y ensayo de su fiabilidad con el conjunto de datos seleccionados y otros nuevos, hasta incluso con datos reales, y no se encuentren errores de ningún tipo.

2 Resolución de Problemas con Computadora

Page 15: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

2 Resolución de Problemas con Computadora

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

La documentación integra todos los elementos que explican las características de un programa o sistema, y son necesarios para poder utilizarlo, operarlo o modificarlo.

Documentar es una tarea tan necesaria e importante como escribir el código: el código indica cómo funciona el programa, y la documentación indica porqué lo hace. El responsable de un proyecto no debe permitir que se entreguen sistemas sin documentación.

Cuando un programa es pequeño el programador generalmente puede retener en la mente todos los detalles (al menos por algún tiempo), por lo cual no necesita de documentación. En el caso de programas amplios se vuelve imposible recordar cómo se relaciona cada detalle con los demás.

Page 16: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

Análisis del problemaDiseño del algoritmoProgramaciónEjecución y pruebasDocumentación

Documentación interna: Son los comentarios que se encuentran dentro del programa fuente y que describen detalles significativas para un programador.

Documentación externa: Es aquella que se encuentra independiente del programa fuente. Suele encontrarse en un manual (impreso) que se proporciona con el programa y describe con profundidad sus características técnicas y funcionamiento.

Manual del usuario: Es un documento que le indica al usuario (u operador) conocer, utilizar y operar correctamente el sistema. Describe los objetivos y opciones del programa, así como sus características externas. La documentación básica para un programa (o un sistema pequeño) se muestra en el cuadro 5-1. Sin embargo, si se desarrolla un sistema grande o complejo, cada etapa del proceso de desarrollo deberá ser documentada.

2 Resolución de Problemas con Computadora

Page 17: M.Sc. Joseph A. Bastidas Resolución de Problemas Algoritmos y Programación UNIDAD I

M.Sc. Joseph A. Bastidas

TALLER 1: RESOLUCIÓN DE PROBLEMAS DE ALGORITMO

1.- Diseñe un programa que sume 2 números y muestre por pantalla su resultado.2.- Diseñe un programa que diga al ingresar 2 números cual de ellos es el mayor.3.- Diseñe un programa que calcule el promedio de un estudiante de la sección, sabiendo que ve 8 materias y estudia el segundo semestre.4.- Diseñe un programa que permita hallar el área de un circulo sabiendo que la formula es: a=∏*(r^2)

Nota: resolver en su cuaderno, aclara tus dudasVisita: www.algoritmoyprogramacioniusf.bligoo.com