EscueladeIngenieradeSistemas DepartamentodeComputacin
DesarrollodeProgramas Pasosenlaresolucindeproblemasenelcomputador
1. Anlisisdelproblema
Objetivo/CaminoLgico HIPO(Entrada Proceso HIPO (Entrada Proceso Salida) DiseodelaEstructuradedatos
2. 3. 4. 5. 6.
Dr.EladioDapena
UnidadIIITema1
Dr.EladioDapenaGonzalez
DesarrollodeProgramas Anlisisdelproblema
Identificarycomprenderelproblemaquesepretenderesolverydeterminarelolosobjetivos. Notas, diagramas, casos de prueba, solucin manual, algoritmo informal y cualquier herramienta que permita una comprensin correcta del problema. Camino Lgico
Ejemplo
De terminar si un nmero es par.
Herramientas de anlisis
HIPO EntradaProcesoSalida (EPS) Descomposicin funcional
Dr.EladioDapena
UnidadIIITema1
DesarrollodeProgramas Herramientasdeanlisis
EntradaProcesoSalida (EPS)
HIPO Hierarchical Input, Process and Output, es una herramienta clsica para el anlisis de problemas, dividiendo el anlisis en tres etapas. 1. Entrada Identificar que datos se requieren para resolver el problema y su procedencia. El tipo, sus caractersticas, rangos de valores vlidos, etc. 2. Proceso Secuencia de operaciones necesarias para resolver el problema. Algoritmo informal. (Camino Lgico) 3. Salida Dar las respuestas que solucionan el problema, que pueden ir a un dispositivo de salida, ser almacenada o ser enviada.
Dr.EladioDapena
UnidadIIITema1
Dr.EladioDapenaGonzalez
DesarrollodeProgramas Anlisisdelproblema
Ejemplo3.1:RealiceelanlisisdeEntrada Proceso Salida
Supongaqueunrobotrecibeunasecuenciadeordenesdemovimientodelasiguienteforma[d, ] donde: d:Representaunadistanciamedidaenmetros. :unaorientacinmedidaengradosrespectoalsistemadecoordenadas. Suponiendo que el robot se encuentra en la posicin (0,0) de un plano y recibe las ordenes: [10,90 ] [10,0 ] [20,270 ] [10,170] Indiquelaposicinfinaldelrobotluegodeejecutarloscomandos.
Dr.EladioDapena
UnidadIIITema1
DesarrollodeProgramas Anlisisdelproblema
Ejemplo3.1:Entrada Proceso Salida
ENTRADA PROCESO SALIDA
Dr.EladioDapena
UnidadIIITema1
Dr.EladioDapenaGonzalez
Diagrama de Flujo
Conjunto de smbolos o diagrama que permite seguir la secuencia de ejecucin de un programa.
Dr.EladioDapena
UnidadIIITema1
Cuerpo
Son el conjunto de sentencias que contiene el algoritmo enmarcadas en un inicio y un fin fin.
Dr.EladioDapena
UnidadIIITema1
Dr.EladioDapenaGonzalez
Dr.EladioDapena
UnidadIIITema1
Dr.EladioDapena
UnidadIIITema1
10
Dr.EladioDapenaGonzalez
Dr.EladioDapena
UnidadIIITema1
11
Dr.EladioDapena
UnidadIIITema1
12
Dr.EladioDapenaGonzalez
Dr.EladioDapena
UnidadIIITema1
13
Notacin en algoritmo
Inicio
Fin
Fin
Dr.EladioDapena
UnidadIIITema1
14
Dr.EladioDapenaGonzalez
Dr.EladioDapena
UnidadIIITema1
15
# Escribir x,y,z;
3.
Dr.EladioDapena
UnidadIIITema1
16
Dr.EladioDapenaGonzalez
Lista de Variables
Dr.EladioDapena
UnidadIIITema1
17
Monitor
Indiquelascoordenadasdelpuntox,y,z
Cursor
Dr.EladioDapena
UnidadIIITema1
18
Dr.EladioDapenaGonzalez
# Variable = Expresin;
Variable=Expresin
Dr.EladioDapena
UnidadIIITema1
19
El computador siempre resuelve lo de la derecha del igual y su resultado lo almacena en la variable que est a la izquierda del igual. Cada vez que se le entra un nuevo valor a una variable, el valor anterior se pierde. La sentencia de asignacin modifica el contenido de la memoria.
Dr.EladioDapena
UnidadIIITema1
20
Dr.EladioDapenaGonzalez
10
Dr.EladioDapena
UnidadIIITema1
21
Realxf,yf
INICIO
EscribirPosicinfinal,xf,yf
FIN
Dr.EladioDapena UnidadIIITema1 22
Dr.EladioDapenaGonzalez
11
2. 3. 4. 5.
Dr.EladioDapena
UnidadIIITema1
23
si i
EXPRESIN
Instrucciones
no
Dr.EladioDapena
UnidadIIITema1
24
Dr.EladioDapenaGonzalez
12
Instrucciones
no
EXPRESIN
si
Instrucciones
Dr.EladioDapena
UnidadIIITema1
25
Dr.EladioDapena
UnidadIIITema1
26
Dr.EladioDapenaGonzalez
13
no
EXPRESIN
si
EXPRESIN
si
Instrucciones
Instrucciones
no
EXPRESIN
si
Instrucciones
no
Instrucciones
Instrucciones
Dr.EladioDapena
UnidadIIITema1
27
DiagramadeFlujo
Caso<Expresin>
#Encasode<expresin> caso<valor1>: Instrucciones; salir; caso<valorn>: Instrucciones; salir; otrocaso: t Instrucciones; Fincaso(#)
Caso<Valor1>
Instrucciones
no
si
Caso<Valorn>
Instrucciones
no
OtroCaso O C
Instrucciones
Dr.EladioDapena
UnidadIIITema1
28
Dr.EladioDapenaGonzalez
14
2.
La empresa ofrece un descuento para la tercera edad (mayor de 60 aos), del 35% del costo del boleto, adicionalmente si el usuario compra el boleto de ida y vuelta se le descontar un 7,5%.
Dr.EladioDapena
UnidadIIITema1
29
VarVF
SENTECIAS
Var>VF
Dr.EladioDapena
UnidadIIITema1
30
Dr.EladioDapenaGonzalez
15
si
INSTRUCCIONES
f.r.m. (#)
no
Dr.EladioDapena
UnidadIIITema1
31
[ Instrucciones ]
Instrucciones
si
no
Dr.EladioDapena
UnidadIIITema1
32
Dr.EladioDapenaGonzalez
16
2.
3.
Dr.EladioDapena
UnidadIIITema1
33
DesarrollodeProgramas Pasosenlaresolucindeproblemasenelcomputador
Pruebadeescritorio(CorridaenFrio)
Lapruebadeescritorioconsisteenejecutarelalgoritmotalcomoloharauncomputador,conelobjeto dedeterminarelfuncionamientocorrectodelmismo. d d i lf i i d l i Parapruebasdeescritoriodelalgoritmoseseleccionandatosdedatosdeentradaadecuadoscuyos resultadosesperadossonconocidosy siguiendolospasosdelalgoritmosevalidanlosresultados.
Codificacin
Traducir el algoritmo producido en el paso anterior en un programa escrito en un lenguaje de programacin de alto nivel (programa fuente o cdigo fuente). En nuestro caso Lenguaje C. Los diferentes pasos de un algoritmo se expresan en los programas como instrucciones (trmino usado para los lenguajes de mquina y bajo nivel), sentencias o proposiciones (trminos usados para los lenguajes de alto nivel).
Dr.EladioDapena
UnidadIIITema1
34
Dr.EladioDapenaGonzalez
17
DesarrollodeProgramas Pasosenlaresolucindeproblemasenelcomputador
Depuracin y Pruebas
El proceso de depuracin es realizado simultneamente con la codificacin y consiste en la correccin de los d l errores d sintaxis generados d de i i d durante l codificacin. la difi i Las pruebas de funcionamiento del programa consiste en utilizar como datos de entrada los seleccionados en la prueba de escritorio y verificar los resultados. Pruebas por etapas. La seleccin de los casos de prueba deben permitir explorar todos los pasos del programa. La L puesta en marcha se efecta una vez realizadas y superadas con it l t h f t li d d xito las pruebas b correspondientes.
Dr.EladioDapena
UnidadIIITema1
35
Codificacin
Depuracin
Pruebas
Ejecucin
UnidadIII
Dr.EladioDapenaGonzalez
36
Dr.EladioDapenaGonzalez
18
DesarrollodeProgramas
Funcionesde librera
Diseodel Algoritmo
Algoritmo
Programa FuenteC
Editor
Compilador
Cdigo objeto
Encadenador
Cdigo objeto
Documentodel Anlisis
Si
Erroresde Sintaxis
No
Cargador
Cdigo ejecutable
Anlisis EPS
Si Erroresde lgica Resultados
Ejecucin j
Problema
No
Solucindel problema
UnidadIII Dr.EladioDapenaGonzalez 37
DesarrollodeProgramas
Teorema de C. Bhm y G. Jacopini:
Todo programa propio se puede escribir utilizando nicamente las estructuras de control secuencial, condicional e iterativa. Un programa propio es aquel que: 1. Tiene un nico punto d entrada y d salida. de d de l d 2. Existen caminos que van desde la entrada hasta la salida que pasan por todas las partes del programa. 3. Todas las instrucciones son ejecutables y no existen lazos sin fin.
Programacin Estructurada
Enfoque disciplinado que permite escribir programas estructurados, utilizando las siguientes tres estructuras de control bien definidas: 1. Secuencial (asignacin, lectura, escritura) 2. Decisin o seleccin (simple, doble, mltiple) 3. Repeticin (repitamientras, hacermientras, repitapara) Los programas estructurados son fciles de probar, depurar y modificar. Programacin orientada a acciones donde la unidad bsica es la funcin.
Dr.EladioDapena UnidadIIITema1 38
Dr.EladioDapenaGonzalez
19
EscueladeIngenieradeSistemas DepartamentodeComputacin
Dr.EladioDapenaGonzalez
20