Algoritmo_y_programacion_i

Download Report

Transcript Algoritmo_y_programacion_i

UNIDAD I
Resolución de Problemas
Algoritmos y Programación
M.Sc. Joseph A. Bastidas
TEMA 1
Terminología Básica
TEMA 2
Etapas en la solución de problemas. Concepto de Algoritmo.
Concepto de programa e instrucción. Técnicas y estructuras de
programación.
M.Sc. Joseph A. Bastidas
Algoritmo y Programación
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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Las fases en la construcción de un programa para resolver un
problema mediante la computadora son, en orden, las siguientes:
Análisis del problema
Diseño del algoritmo
Programación
Ejecució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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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)..
E
N
T
R
A
D
A
P
R
O
C
E
S
O
M.Sc. Joseph A. Bastidas
S
A
LID
A
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentación
Ejemplo
Hallar 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.
E
N
T
R
A
D
A
P
R
O
C
E
S
O
M.Sc. Joseph A. Bastidas
S
A
LID
A
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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)
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
1 Etapas en la solución de problemas
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
2 Resolución de Problemas con Computadora
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentación
Una 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.
PR
O
G
R
AM
AC
IO
N
AN
ALISIS
ALG
O
R
ITM
O
C
O
D
IFIC
AC
IO
N
Computacion
- FA.CE.NA.
M.Sc.
Joseph
A. Bastidas
ED
IC
IO
N
TR
AD
U
C
C
IO
N
2 Resolución de Problemas con Computadora
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
2 Resolución de Problemas con Computadora
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
M.Sc. Joseph A. Bastidas
2 Resolución de Problemas con Computadora
Análisis del problema
Diseño del algoritmo
Programación
Ejecución y pruebas
Documentació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.
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 dudas
Visita: www.algoritmoyprogramacioniusf.bligoo.com
M.Sc. Joseph A. Bastidas