45 4. ETAPAS DEL DESARROLLO DE UN PROGRAMA. Como se dijo en el que tenga que reso I ve rse mediante un programa; de trabajo a Recalquemos proceso es capitulo uno de esta guia, un p r o b 1ema por 1a cada vez computadora se tendrá que tener muy claro el plan seguir para concluir en un buen programa. que uno tener (definición del de los bien problema) puntos claro lo ya que, más que importantes trata el en éste problema como se podria hacer algo que se desconoce. En la metodologia de la programac ión se destacan dos etapas muy bien definidas: a ) DISEÑO LÓGICO , b) DISEÑO FlS ICO , 4. 1 . DISEÑO LOGICO En esta etapa el programador no recurre a real i zar el programa en un lenguaje de programaci ón determinado, sino que a diseñar analit ico a) la solución del problema lógica estructurada ), Definir y c o mp r e n d e r el mediante en e l cual problema b ) Estructurar la soluci ón cl Seleccionar el método de solución. un se debe: método 46 4.1.1. DEFINICIÓN DEL PROBLEMA. Lo que se necesita en este punto es comprender trata el problema, de tal de éste, lo que forma que sepamos que debe resultar los datos que necesitan y de ser posible que es lo que se debe hacer para llegar al resultado requerido. Una forma muy práctica para 1 legar a comprender el problema es estudiándolo en la siguiente perspectiva: -Que resultados se requieren -Que datos se necesitan -En base a los datos, como calcular o llegar al resultado deseado. 4 .1.1.1. RESULTADO (¿ Qué resultado se requiere 1) El objetivo de esta parte es saber exactamente que es lo que se pretend e con el programa, cual es la informaci6n que se espera obtener de éste. 4.1.1.2. ENTRADA (¿ Qué datos se necesitan ?) Si se quieren obtener resultados, es necesario tener los datos necesarios para poder calcularlos, es aqui donde se tiene que encontrar requerimientos del programa o el conjunto ce datos deseado . que se necesitan para poder llegar al resultado 47 4.1.1.3. PROCESO l¿ Cual es al proceso de la solución ?) Al haber real izada can éxito el estudia de la sal ida que queremos obtener y de las datas que se necesitan para que se pueda proceder solución del can el siguiente pasa que es estructurar la programa. Ejemplo: Se necesita de un programa que calcule el área de un triángulo rectángulo. 1. Salida: Lo que el programa debe imprimir a la salida obtener triángulo que se debe es el área del (diseña de salida). 2.Entrada: Las datos necesarias para poder calcular el área son la base y 3. Proceso: la a ltura de l Necesitamos ÁREA del triángulo; fórmulas ma temáticas que salida. saber triángulo. ahora, como ca lcular el por lo genera l se buscan las nas permitan calcular nuestra La fórmula en este caso es: AREA = SASE x ALTURA 2 Se debe también poner en orden lógica es tos tres sl ementos, para poder resolver el problema no pueden ser dados en el orden anter ior. Lógicamente seria: ENTRADA 1--" PROCESO 1-----.. 1- - - -- - SA LI DA 48 Para procesar poder hacer (e nt r a da ) , el proceso, para y ,que debe de haber de la sal ida se datos de a los resultados este debe haber sido calculado o procesado antes. BASE Y ALTURA CALCULAR ÁREA -----~ -----~ -----~ -----~ 4.1.2. ESTRUCTURACIÓN DE LA SOLUCIÓN. Ya que se solución, ha comprendido el es hora computadora de comenzar a procesará pedirá, problema que planear y la mostrará se desea dar forma en que los la resultados requeridos (Entrada-procesa-salida) Se debe recordar que, una so lución global lo que se pretende en ésta etapa es dar al y en las próximas problema planteado, etapas poner más énfasis en los detal les de programación. Retomando e l ejemplo del área de un triángulo, se podria dar la s iguiente estructuración de la solución: Lo que se pretende es que la computadora calcule el área de un triángulo, para esto se hace necesario util izar la formula área es igual a base por a ltura entre dos. Según esto la máquina requiere de BI-\SE x ALTURA ÁREA:::: los datos base y altura del 2 triángulo para que sea posible calcular su área. 50 4.1.3. SELECCIÓN DEL M~TODO DE SOLUCIÓN Ha 1 legado el momento de escribir y diseñar la estructura lógica necesaria para que el problema planteado, computador pueda solucionar el para esto se hace nscesario hacer uso de dos herramientas de programación que son: al Pseudocódigo bl Flujograma o diagrama de flujo Por fines didacticos en esta guia se realizan ambas técnicas para cada ejercicio, pero .un programador, tiende siempre a usar uno · de estos o de otros existentes. ALGORITMO: Sé debe los pasos a recordar que el algoritmo es la descripción de seguir para poder resolver el problema. Este se escribe util izando una técnica del dominio de la persona que hace el o símbolos que diseño del denoten o programa, describan las realizadas para concluir óptimamente el El algoritmo tiene describe una diferente varias utilizando palabras operaciones a ser problema. representaciones, cada una, técnica de como resolver un problema determinado. Las representaciones más comunes de un algoritmo son: al Descripción narrada: El algoritmo es escrito usando un lenguaje propio del programador, la forma en como se resolvera el problema. 51 bl Pseudocódigo: Se utilizan palabras predefinidas para representar las operaciones a realizar por la computadora, estas palabras obedecen a las estructuras lógicas básicas. cl Flujograma: Se usan figuras predefinidas para describir las acciones a ejecutarse por el computador. dl Diagrama de Caja: Es una técnica gráfica muy usada en la estructurada. programación diferentes tipos de caja se Mediante representan las estructuras lógicas básicas. el Un Programa: programa escrito ya en un lenguaje de programación es un algoritmo. En esta guia se han seleccionado comunes para ser usadas en el técnicas de las más desarrol lo de los ejercicios. Pseudocódigo. Flujograma. VOCABULARIO PARA PSEUDOCÓDIGO A continuacián se presenta un grupo de palabras que son recomendadas por los programadores para describir Pseudocódigo: 'VE ID "FR VADOR, CISC G VI a. SALV , e. el 52 LEER Describe l a operación de entrada de datos LEER CALCULAR Denota el cálculo de un dato. Muchas veces esta palabra se omite ya que asume que al visualizar una fórmula se está realizando un cálculo. CALCULAR ESCRIBIR Describe la operación de salida de la información. ESCRIBIR TERMINAR Define la terminación del SI Denota la estructura de selección SINO proceso. Describe las operaciones a ser realizadas si la condición en SI es falsa. Denota la terminación de la estruc tura de selección (5! l SI <Co n d í c i ó SI n> <Co nd i c i ó n> SINO FIN SI F I N_S 1 DESDE-HASTA- INCREMENTO : Se usa para especificar que un bloque que u n bloque de operación tantas ve c es PRÓXIMO que sea necesario. : Especifica e l final del bloque de instrucoiones repetidasCRepetirl. se ejecu te 53 DESDE (Variab le>=valor HASTA valor INCREMENTO n inicial final PRÓXIMO MIENTRAS: Denota que un grupo de instrucciones sea ejecutada mientras una condición sea verdadera o se esté cumpliendo. FIN MIENTRAS: Marca el final del bloque de instrucciones efectuadas por el mientras. MIENTRAS <condición> FIN~IENTRAS HACER Marca el inicio de un bloque de instrucciones a e jecutarse hasta que una condici6n sea falsa. HASTA Denota el fin del grupo de instrucciones que describe HACER. HACER HASTA <c o n d i c i ó n> SELECCIONAR_CASO Es una palabra empleada para . evaluar varias condiciones. Marca el fin del bloque de instrucciones que pertenecen a caso. 54 CUALQUIER_OTRO: Describe un bloque de instrucciones a real izarse si ninguna de las condiciones escritas en caso se cumpl iera. SELECCIONAR_CASO CASO <Condición> CASO <Condición> CASO <Condición> CUALQUIER OTRO FIN CASO REGRESAR: Provoca el regreso del modulo en ejecución, al que lo llamó REGRESAR E jemplo: Retomando el e jercicio del área de un triángulo, se elabora el siguiente ejercicio. 55 pSEUDocón 1GO ESCRIBIR "Ingrese base del Triángulo . ,. LEER BASET ESCRIBIR "Ingrese altura del Triángulo:" LEER ALTURAT CALCULAR AREA=(BASET*ALTURATI ESCRIBIR "El área es:",AREA TERMINAR EXPLI CAC I ÓN: Para este hacer ejercicio se ha utilizado únicamente una es tructura de secuenciación. En la que se ejecutan todas las operaciones en el orden en que se han descrito. En la primera 1 inea se asume que aparecerá en la pantal la el mensaje entre comillas. Ingrese base del Triángulo: En la segunda linea se tomará un valor desde el y será guardado tomaremos el En la tercera en la variable AREA. Como teclado ejemplo valor 5. linea se escribe en pantal la e l mensaje: Ingrese altura del Triángulo En la cuarta linea se tomará un valor desde el y será guardado tomaremos el En la quinta mul tiplica el en la variable ALTURAT. triángulo Como ejemplo valor 7 . linea se realiza el cá lculo del valor almacenado en BASET con el área, se valor en 56 ALTURAT y este se divide en dos, en el cual se almacenará en AREA el valor del cálculo que es 17.5, ya que 5 por 7 es 35 y dividido entr~ 2 resulta 17.5 En la sexta junto con el linea se escribe el mensaje especificado valor almacenado en AREA El área es: 17.5 En la séptima linea termina la resolución del problema. En cuestión Ingrese base del Triángulo 5 Ingrese altura del 7 El área es: Triángulo: 17.5 NOTA: El cálculo no se visualiza ya que es una operaci ón que se hace internamente. FLUJOGRAMA O DIAGRAMA DE FLUJO Es a lgo muy s i mi l a r a un pseudocódigo solo que este es elaborado en forma gráfica, usando ciertas formas geométricas que represe nta las operaciones a real izar para poder resolver un problema. Estas figuras aparecen a continuaci6n: ( ) Define el termina el punto d onde comienza proceso lógiGo. y 57 Describe entrada la información introduzca que al 1a de usuario el computador por el teclado. Denota el /los procesos a para el realizar logro de nueva información ( Cá 1 c u los) . \ ) Describe la información en la impresión de pantalla de la computadora. Establece l a toma de una decis i 6n, para una cond ici ón que establecerá cual de dos acciones a lternas ejecutar. Establece la toma de una decisión, .<L.-------J) para una condición que establecerá cual de ejecutar varias acc iones se debe (Multicondicional). U IVERSID O UF CISCO .. 58 Describe 1a información en de impresión la pantalla de la impresora (papel ). Es usada dentro de la programación ---> estructurada, para representar las condiciones de ejecución en las estructuras de repe tición. Se uti liza para indicar un cambio o en el flujo normal de acciones que se desarro 11 an e l fl ujograma j t r a s f e r e n c i a de con trol ). Sentido r en en acciones de l q ue se ejecutan f ! u)ograma, las cone xión ~ 4-- I Jo l óg i c a en un simbolo siguiente. E jemp lo E l flu jograma de l ejemp lo que se h a a carre a ndo que daria de ve n i d o la sig uiente forma : y el 59 INICIO " J:HGRESE BASE :" BASET "INGRESE ALTURA RTURRT AREA=BASET* ALTURAT/2 'EL ARER ;RRER FIN ES:' 60 , 4.2. DISEÑO FISICO No se debe confundir o relacionar este término con el equipo que conforma a una computadora(Hardwarel, ya que éste se refiere al programa propiamente escrito en un lenguaje de programación determinado. El diseño fisico es la parte de programa en donde se selecciona el que m~s se adapte o facilite la e l a bo r ac i ón lenguaj e a la la escritura, 8 e l programa, computadora para que un de programación que es aqui donde se escribirá un código (pro grama) proporcionará de ésta j por que se le sol vente la necesidad pl anteada. 4.2.1. CODIFICACIÓN DEL PROGRAMA FUENTE O ESCRITURA DEL PROGRAMA El primer paso en el d i s e ño fisico es seleccionar el lenguaje de programación que será la herramienta que se usará para escribir el programa, el área d e l ejerc ici o del PRI NT por ejemplo: Podríamos tr :ángul0 en BAsrC: ~ lngrese base de l Tr iángulo:" INPUT BASET PRINT ~Ingrese altura del INPUT ALTURAT LET AREA~ (BASET*ALTURAT) /2 PRINT ~El Área es:",AREA END Triángulo:" codif icar 61 Cada 1 inea del programa anterior corresponde a una 1 inea en el pseudocódigo con la diferencia que este se pueda introducir a una computadora para que ésta pueda calcular el área de un triángulo mientras que el pseudocódigo no. Alguien podr ia haber seleccionado el lenguaje Pascal y entonces e l programa hubiese quedado de la siguiente manera: Programa Areaj Var BASET,ALTURAT,AREA :Rea l BEGIN Write{' Ingrese base del Triángulo: I Read 1 n ( BAS ETl ; Write{ 1 lngrese altura del Triángu lo : 1) Read 1 n ( ALTURAT J ; AREA:=(BASET*ALTURAT) /2 Write{'EI área es: ',AREA: B:6J END. NOTA: En la l i ne a donde especif ica el (SI área es: ) , resultado del posteriormente especifica área dos númeroS (8 y 6 ) en los cuales Pascal define como el v a l o r de 8 enteros y 6 decima les . Se debe recordar que lo importante en el d iseño de un programa es e l método de soluc ión que se emplee. Los lenguajes de p r o g ramac ión so loso n : conjuntos ciertas reglas de escritura (sintáxis). de i nstrucc iones con 62 Si o b s e r va mo s los dos pro g r a ma s a n ter i o r e s p od r i a mo s detectar cambios en las diferentes palabras que utilizan y en la forma de emplearlas, pero el significado se mantiene en ambos programas. PASCAL BASIC PSEUDOCODIGO PRINT INPUT LET(Opcional) END ESCRIBIR LEER CALCULAR TERMINAR WRITE READLN Se asume END. , 4.2.2. DEPURACION O AFINAMIENTO DEL PROGRAMA. Se debe recordar que en ésta etapa se pretende corregir cualquier error que pueda afectar a programa (Revisar el 1.2.5. la resolución óptima del Depuración o Afinamiento del Programa ) 4.2.3. Habiendo llegado el PRUEBA O VERIFICAcIÓN. introducido y depurado el momento en que se debe progr3ma creado, probar e l programa ha esté funcionando perfectamente, esto se hace ejecutando el programa en e l computador, resultados que introduciéndole datos y verificando que los el programa esté correctos. Si hubip-se problema con regresar a proporcionando sean los los resultados habria que l a etapa de Depuración de l programa. 63 4.2.4. DOCUMENTACIÓN. En todo buen programa además de instrucciones ejecutables también deben colocarse comentarios (Documentación) que ayuden a una mejor comprensión de lo que hace el programa. Ejemplo: REM PROGRAMA QUE CALCULE EL AREA REM PROGRAMADOR: GEOVANY TOBIAS 15-04-94 REM FECHA DEL PROGRAMA: REM ENTRADA DE DATOS PRINT "Ingrese base del Triángulo" INPUT BASET PRINT "Ingrese altura del T~iángulo" INPUT ALTURAT REM CALCULO LET AREA=(BASET *ALTURAT1 /2 SALIDA REM PR INT "El REM Area es:".AREA EL FINAL END NOTA: No es necesario que esta etapa sea realizada hasta este momento puede momento de rea 1 i z a la depurac realizarse perfectamente en el codificar í ó n, el en programa fi n o se puede cuand o hacer cua lquier momento dentro del diseño fisico. se en 64 4.2.5. IMPLEMENTACIÓN Y MANTENIMIENTO. En esta etapa el para que comience ( i mp l e me n t a c i ó n ) y a programa es instalado en un computador trabajar activamente imposible una entidad luego se revisa periódicamente para chequear que no este fallando o si Es en reflejar necesita alguna mejor1a. ésta etapa en esta guia, ya que para el las es necesario contar con una entidad que reciba el programa o en otras palabras con un trabajo de programación profesional Elabore e l diseño de un programa que calcule el I.V.A. de la venta tota l a un cliente en un almacén. l.-Diseño Lógico DEF IN I ENDO EL PROGRAMA al Se requiere que el programa proporcione el I VA de b) la venta. Para lo anterior se necesita conocer e l valor t o t a i de cl impuesto la venta real izada. Se conoce que el impuesto IVA es de un 10% sobre la ve nta realizada ; entonces: IMPUESTO = VENTA TOTAL * 0.1 ESTRUCTURACI6N DE LA SOLUCIÓN Se debe pro~orcionar Ca I e u lar e! ¡ VA. Presentar resultado. la ven ta hecha por e l cliente. 65 Cuadro de Variables , DESCRIPCION ORIGEN NOMBRE TIPO TVENTA Numérico Venta real izada Entrada IVA Numérico Impuesto a pagar Calculo SELECCIÓN DEL MéTODO DE SOLUCIÓN Pseudocódigo LEER "VALOR DE LA VENTA :" TVENTA CALCULAR lVA = TVENTA * 0.1 ESCRIBIR "IMPUESTO A PAGARA IVA TERMINAR TUENTA :IUR=TUENTRS9~1 :IUA FIN