Академический Документы
Профессиональный Документы
Культура Документы
Stepwise-Refinement Desarrollo de una lista de pasos detallada que resuelve un paso particular en el algoritmo original
Prueba de Escritorio La simulacin a mano paso por paso de la ejecucin del algoritmo por la computadora
Algoritmo:
1.- Obtenga los datos 2.- Realice los clculos 3.- Muestre los resultados PASO ABSTRACTO: Un paso algortmico que contiene detalles no especificados
PASO CONCRETO: Un paso algortmico en el cual todos los detalles son especificados
1. Basic types, variables, expressions, assignment and operators 2. Control Structures (sequence, selection, iteration, goto, break, and continue) 3. Data Structures (arrays (uni and bi ) and structs) 4. Functional Abstraction (functions and parameter passing ( byval, byref ), local and global variables )
APRENDER A PROGRAMAR
Diseo de programas
DESARROLLO DE PROGRAMAS
Resuelva el problema
Descubra el algoritmo
DESARROLLO DE PROGRAMAS
DESARROLLO DE PROGRAMAS
Planear:Algoritmo
PROGRAMACIN
Estilo de programacin
Documentacin(comentarios) Codificacin
PROCESO DE DESARROLLO DE SOFTWARE: Es un conjunto de etapas seguidas por un programador o grupo de programadores para disear, implementar, y vender un producto de software. PROCESO DE DESARROLLO DE SOFTWARE: Refinamiento sucesivo de requerimientos abstractos al cdigo ejecutable.
DEFINICIN DE ENTRADA: Son los datos que sern transformados por el algoritmo para crear las salida deseada. La entrada debe estar en un formato que la computadora pueda acceder y manipular. Debe especificar el tipo, monto o cantidad, y forma de los datos. DEFINICIN DE SALIDA: Es el resultado de los clculos. La salida debe estar especificada en un formato que la computadora pueda expresar ( tales como en la pantalla , o con audio ).
ALGORITMOS: Muchos algoritmos comienzan introduciendo datos ( los datos de entrada ), seguido por el
procesamiento de datos ( usualmente se realizan algunos clculos ), despus se muestran, imprimen, o almacenan los datos ( los datos de salida ).
CLCULOS: Las instrucciones de clculo deben especificar ambos lo que es calculado y cmo se har dicho
clculo.
DATO DE PROCESAMIENTO: Un valor intermedio que un algoritmo utiliza cuando se transforma la entrada en
la salida.
La abstraccin es importante porque nos permite centrarnos en solo unos cuantos conceptos a la vez. Es usar la analoga de la resolucin de imagen la cual puede ser usada para describir la abstraccin. Es como ir retocando una fotografa que se ve difusa, hasta que quede completamente bien Una imagen de baja-resolucin tiene menos detalles y es ms abstracta que una imagen de alta-resolucin. La abstraccin en este caso nos permite bajar la resolucin de la imagen y as ahorrar espacio en disco ( por ejemplo, ocultar detalles ) a menos de que sean absolutamente necesarios. Tambin la idea de la abstraccin es til en los juegos de video-3d en la que el juego oculta los detalles de los objetos que estn todava lejos del personaje y se hacen visibles conforme el personaje se acerca a ellos. Esto ayuda a acelerar la velocidad del juego y le permite al jugador centrarse en los objetos importantes que estn cerca.
DIVIDE Y CONQUISTA
DISEO TOP-DOWN
1.- ANALICE EL PROBLEMA: El primer paso es encontrar ms detalles acerca del problema. En este proceso el estudiante trata de ver cul es el problema principal y descomponerlo en pequeos problemas. 2.- ENCONTRAR UNA IDEA PARA SOLUCIONARLO En este proceso el estudiante tiene que ser creativo y debe proponer ideas, cmo podra ser resuelto el problema. Si ya tienen pequeos problemas, puede empezar a buscar ideas para esos problemas. Evala cul idea puede ser ms acertada o ms eficiente. 3.- FORMULE UN ALGORITMO En este paso la meta es escribir las ideas con claridad, formularlas precisamente para dar con la solucin al problema. Vea si puede encapsular su idea como un mtodo sistemtico paso por paso.
4.- JUEGUE CON SU ALGORITMO Implemente a mano su algoritmo y vea si trabaja bien y si realiza el trabajo que debera hacer. Lo importante aqu es ver qu est errneo y ver la forma de corregirlo. 5.- MEJORE EL ALGORITMO El propsito de esta fase es mejorar la solucin. Pregntese si es rpido o lento, realiza acciones innecesarias.
METODOLOGA # 1
DIANE ZAK
31892_
EJEMPLO: Treyson Mobley quiere un programa que calcule y muestre el monto que se debe de dar de propina al mesero en un restaurante. El programa debe restar el monto del vino consumido de la cuenta a pagar y entonces calcular la propina ( usando un porcentaje ) sobre el resto de la cuenta total.
La respuesta a esta pregunta comnmente es establecida como sustantivos y adjetivos en la especificacin del problema. Para este problema la respuesta es que Treyson ( el usuario del programa ) quiere ver el monto de la propina del mesero mostrado en la pantalla, por lo tanto la salida es la propina, en este contexto, la palabra tip es un sustantivo.
Qu informacin necesitar saber la computadora para mostrar, imprimir, o almacenar datos de salida? Qu es lo que tengo para trabajar? A qu se parecen los datos? Cules son mis datos? Cmo sabr cuando he procesado todos los datos?
Al igual que con las salidas, la entrada tpicamente es establecida como sustantivos y adjetivos en la especificacin del problema. En este caso para determinar la propina, ambos usted y la computadora necesitan saber el monto de la cuenta a pagar, el costo del vino, y el porcentaje de la propina, de esta forma, estos datos son las entradas. En este contexto, total, vino, y propina son adjetivos, mientras cuenta, costo y porcentaje son sustantivos. Esto completa el paso del anlisis para el problema de Treyson Mobley. Algunos programadores usan un IPO chart para organizar y resumir los resultados del paso del anlisis ,. IPO es un acrnimo para Input, Processing, y Output.
EJEMPLO: Treyson Mobley quiere un programa que calcule y muestre el monto que el debe dar de propina al mesero en un restaurante. El programa debe restar el monto del vino consumido de la cuenta a pagar y entonces calcular la propina ( usando un porcentaje ) sobre el resto de la cuenta total.
Especificacin del problema con informacin sin importancia subrayada.
Como programador, es importante distinguir entre informacin que verdaderamente est perdida en la especificacin del problema y la informacin que est implicada.
EJEMPLO: Caroline Casey quiere un programa que calcule y muestre el rea de cualquier rectngulo.
Especificacin de un problema en la que la entrada no est explcitamente especificada
En este ejemplo, para resolver el problema, necesita calcular el rea de un rectngulo; para hacer esto multiplica el ancho por la longitud. De esta forma el rea es la salida, y la longitud y el ancho son las entradas. Note adems que las palabras longitud y anchura no aparecen en la especificacin del problema. Aunque ambos datos no estn establecidos explcitamente en la especificacin del problema, ninguno es considerado informacin perdida. Esto es porque la frmula para calcular el rea de un rectngulo es un conocimiento comn. Con prctica, usted ser capaz de llenar los vacos en la especificacin de un problema.
El segundo paso en el proceso de resolucin de problemas es planear el algoritmo que transformar la entrada en la salida deseada. Usted registra el algoritmo en la columna de procesamiento del IPO chart. Cada instruccin en el algoritmo describir la accin que la computadora necesitar tomar. As, cada instruccin debe empezar con un verbo. Muchos algoritmos comienzas sus instrucciones para obtener sus datos de entrada en la computadora. A continuacin, describe las instrucciones que procesarn los datos de entrada para lograr la salida del problema. El procesamiento tpicamente involucrar realizar uno o ms clculos usando los datos de entrada. Muchos algoritmos finalizan con instrucciones que muestran, imprimen, o almacenan los datos. Mostrar, imprimir, y almacenar, se refieren a la pantalla de la computadora, la impresora, y a un archivo de disco respectivamente. La figura 2-9 muestra la especificacin del problema y el IPO chart para el problema Treyson Mobley. El algoritmo comienza solicitando los datos de entrada. Luego usa estos datos para calcular la salida deseada. Note que el algoritmo establece ambos qu va a ser calculado y cmo va a ser calculado. En este caso, la propina es calculada restando el costo del vino de la cuenta a pagar y entonces multiplicar el resto por el porcentaje de la propina. La ltima instruccin en el algoritmo muestra el monto de la propina.
El algoritmo en la figura 2-9 est compuesto de palabras cortas del Ingls, llamado seudocdigo. La palabra seudocdigo significa cdigo falso. Es llamado falso porque, aunque nos recuerda a las instrucciones de un lenguaje de programacin, el seudocdigo no puede ser entendido por una computadora. Los programadores usan el seudocdigo para ayudarlos mientras estn planeando un algoritmo. Les permite anotar sus ideas sin tener que centrarse en una sintaxis especfica de un lenguaje de programacin
Despus de analizar el problema y de planear el algoritmo, sigue la prueba de escritorio ( desk-checking )del algoritmo. El trmino prueba de escritorio se refiere al hecho de que el programador revisa el algoritmo mientras est sentado en su escritorio y no enfrente de la computadora. La prueba de escritorio es tambin llamada hand-tracing ( seguimiento a mano ). Porque el programador usa lpiz y papel para seguir cada una de las instrucciones del algoritmo a mano. La prueba de escritorio sirve para verificar que ninguna instruccin falta y que las instrucciones existentes estn correctas y en el orden apropiado. Antes de que comience la prueba de escritorio, elige un conjunto de datos de entrada, y los usar para calcular manualmente y obtener el resultado de salida deseado. La primera instruccin en el algoritmo es introducir los datos de entrada. Usted registra los resultados de esta instruccin escribiendo 45, 10 y 0.2. En las columnas que les corresponden estos valores. Vea la figura 2-14.
METODOLOGA # 2
KOFFMAN
Problem_Solving_and_Pr
1.- ESPECIFIQUE LOS REQUERIMIENTOS DEL PROBLEMA PROBLEMA: Especificar los requerimientos del problema lo fuerza a usted a establecer el problema claramente y sin ambigedad para que de esta forma obtenga un claro entendimiento de los que es requerido para su solucin. El objetivo primario es eliminar aspectos sin importancia que hay en el problema. Lea cuidadosamente la sentencia del problema, con el fin de obtener una idea clara de lo que el problema es, y segundo, determinar las entradas y salidas. Por ejemplo, puede ser til subrayar las frases que encuentre en su problema y que puedan ser entradas y salidas en su programa. EJEMPLO: Calcule y muestre el costo total de manzanas dado el nmero de onzas de manzanas compradas y el costo por onza de las manzanas.
A continuacin, resuma la informacin contenida en las frases subrayadas, ya sea en una tabla o cuadro informativo. Entradas en el problema Cantidad de manzanas compradas ( en onzas ) Costo por onza de las manzanas ( en dlares por onza ) Salidas en el problema Costo total de las manzanas ( en dlares ) Ya que sabe las entradas y salidas del problema, desarrolle una lista de pasos a seguir o algoritmo que especifique las relaciones que hay entre ellas. En este problema nos valdremos de la frmula general que dice: Costo total = Costo unitario X Nmero de unidades Sustituyendo las variables para nuestro problema particular, la frmula queda as: Costo total de manzanas = Costo por onza X Onzas de manzanas En algunas situaciones, tendr que hacer ciertas suposiciones o simplificaciones para derivar estas relaciones. Este proceso de modelar un problema extrayendo las variables esenciales y sus relaciones es llamado abstraccin
2.- ANALICE EL PROBLEMA ANLISIS: Analizar el problema involucra identificar en el problema (a) entradas, es decir, los datos con los que trabajar su algoritmo, (b) salidas, los resultados que se espera produzca el algoritmo, (c) y cualquier otro requerimiento o restriccin sobre la solucin. En esta etapa, debe determinar el formato requerido en el cual los datos sern mostrados, por ejemplo, como una tabla con cabeceras. Si los pasos 1 y 2 no son hechos apropiadamente, el problema no podr ser resuelto.
3.- DISEE EL ALGORITMO QUE RESUELVE EL PROBLEMA Disear el algoritmo que resolver el problema requiere que usted desarrolle una lista de pasos lgicos el cual se pueda implementar fcilmente y verificar que realmente resuelve el problema. Escribir el algoritmo es algunas veces la parte ms difcil del proceso de resolucin de problemas. No intente resolver cada detalle del problema al comienzo; en vez, trate mejor de usar la tcnica del diseo descendente ( top-down design )
En el diseo descendente, usted lista los pasos principales o subproblemas que necesitan ser resueltos. De esta forma usted resuelve el problema original resolviendo sus subproblemas. Muchos algoritmos de computadora consisten de al menos los siguientes subproblemas: 1.- Obtenga los datos 2.- Realice los clculos 3.- Muestre los resultados Ya que ha identificado los subproblemas, puede resolverlos individualmente. Por ejemplo, para realizar o efectuar los clculos puede que usted necesite descomponerlo en una lista ms detallada de pasos, a este proceso se le llama refinamiento sucesivo ( stepwise refinement ) Usted puede estar familiarizado con el diseo descendente ( top-down design ) usted los usa cuando va a escribir un artculo o borrador. Su primer paso es crear un borrador de los temas principales a tratar, luego usted desarrolla cada tema principal individualmente con sus subtemas principales. Ya que estos subtemas estn completos, empieza a escribir el artculo completo. Prueba de Escritorio ( desk check ) La prueba de escritorio es un paso importante en el diseo del algoritmo que algunas veces es pasado por alto. En la prueba de escritorio cuidadosamente lleva a cabo a mano cada uno de los pasos de su algoritmo. Si al ejecutarlo le lleva a los resultados deseados, entonces su algoritmo estar listo para convertirse en un programa de computadora. Adems el realizar esta tarea le ahorrar tiempo y esfuerzo en localizar errores en su algoritmo. Los Casos de Estudio, comenzarn con una sentencia del problema. Como parte del anlisis del problema, identificaremos los requerimientos de datos para el problema, indicando las entradas que tendr el problema y las salidas deseadas. Luego, disearemos y refinaremos el algoritmo inicial. Finalmente, implementaremos el algoritmo en un lenguaje de programacin.
4.- IMPLEMENTE EL ALGORITMO Aqu es donde su algoritmo se convierte en un programa de computadora. Esta tarea incluye elegir el lenguaje de programacin adecuado y traducir los pasos de su algoritmo en las expresiones adecuadas del lenguaje de programacin.
5.- PRUEBE Y DEPURE EL PROGRAMA Este paso consta de verificar si realmente el programa trabaja como se desea. Utilice muchos datos de prueba para asegurarse de que trabaja adecuadamente para cada situacin.
6.- MANTENGA Y ACTUALICE EL PROGRAMA Ya en este punto del proceso de desarrollo de software, involucra modificar el programa para remover errores previamente detectados y mantener el programa al da conforme las polticas de la compaa cambien. Un enfoque disciplanado es requerido de su parte para crear programas fciles de leer, entender y mantener. Debe de seguir guas de estilo de programacin y evitar usar trucos para salir al paso en los problemas que se presentan. Adhirase a las reglas o convenios que hay entre los programadores.
La depuracin de un programa en donde el programador trata de localizar los errores encontrados en la fase de pruebas.
Visualizar es una herramienta que algunas veces usan los programadores para hacer abstracciones sobre sus diseos en software. Abstraccin oculta los detalles de la forma de cmo algo es construido, pero proporciona suficiente informacin para entender su propsito. El trmino caja-negra trae consigo la idea de que uno no puede ver los detalles de cmo se ha hecho el algoritmo, as como la abstraccin oculta los detalles. Esta Visualizacin para un algoritmo es usada en el inicio del desarrollo del algoritmo la cual nos ayudar a centrarnos sobre las preguntas que surjan en el anlisis en vez de tratar de determinar cmo la solucin trabajar.