Está en la página 1de 5

Optimización de código La optimización de código puede realizarse durante la propia generación o como paso adicional, ya sea intercalado entre

el análisis semántico y la generación de código (se optimizan las cuádruplas) o situado después de ésta (se optimiza a posteriori el código generado). Hay teoremas (Aho, 1970) que demuestran que la optimización perfecta es indecidible. Por tanto, las optimizaciones de código en realidad proporcionan mejoras, pero no aseguran el éxito total. Clasificación de optimizaciones: 1. Dependientes de la máquina. o Asignación de registros (ver capítulo anterior). o Instrucciones especiales ("idioms"). o Reordenación del código. 2. Independientes de la máquina. o Ejecución en tiempo de compilación. o Eliminación de redundancias. o Cambio de orden. o Reducción de frecuencia de ejecución (invariancias). o Reducción de fuerza. Optimización y depuración suelen ser incompatibles. Por ejemplo, si se elimina totalmente una instrucción, puede ser imposible poner una parada en ella para depuración. Ejemplo: x = x; Diseño Top-Down El diseño Top-Down fue promovido en la década de 1970 por el investigador de IBM Harlan Mills y Nickaus Wirth. Mills desarrolló conceptos de programación estructurada para utilizarlos y probarlos en un proyecto de 1969 que tenía como objetivo automatizar algunos procedimientos del periódico New York Times. El desarrollo de este proyecto hizo que se dispersara y se ampliara la idea de hacer los programas con esta filosofía de trabajo al resto de los desarrolladores de IBM, así como al resto de la industria del software. Por su parte, Nicklaus Wirth, desarrolló entre otros lenguajes, el lenguaje de programación Pascal, escribió un artículo muy importante acerca del Desarrollo de programas por medio de refinamiento de pasos. Esta idea de diseñar programas permaneció como principal corriente de desarrollo hasta fines de la década de 1980, cuando fue desplazada por la programación orientada a objetos, sin embargo continúa siendo una muy importante ayuda para el desarrollo de los métodos en los la programación orientada a objetos [7].

Cuando los programas son de miles de líneas. Esta tarea se especifica en un bloque de código de manera independiente y cuando se desean realizar las acciones del procedimiento se llama al procedimiento o función. los diferentes niveles modulares diseños del sistema. la información que necesitaremos (y que tendremos que recibir como parámetros) y la información que devolverá. el algoritmo ha terminado.Loïc Martínez Normand La estrategia fundamental de de la descomposición funcional consiste pues en diseñar. en cada iteración se produce una solución más detallada al problema original. Alonso Amo. Nos sirven para realizar una tarea concreta que probablemente se vaya a ejecutar varias veces a lo largo de la vida de la página. aprobaciones MASTERWEB. Lo primero que debemos hacer al crear un procedimiento es pensar las cosas que se desean hacer dentro de la función. Cuando los pasos ya no se pueden subdividir. Cada uno de esos pasos en la primera solución se dividen en otros subpasos. Mills (der. La solución a los problemas computacionales puede llegar a se muy complicada y compleja.) fueron los primeros promotores del diseño Top-Down en la década de 1970. Una vez realizadas las acciones pertinentes se devuelve el flujo del programa al lugar desde donde se produjo ese procedimiento o función. mediante refinamientos sucesivos de los modulos utilizando la experiencia previa como guía. Niclaus Wirth (izq. es imposible mantener todos los detalles del programa en mente cuando se desarrolla un algoritmo. Este proceso se repite varias veces. . Los procedimientos o funciones son muy interesantes y útilies en la programación.) y Harlan D. El diseño top-down también se conoce como descomposición funcional o refinamiento de pasos. o componerse de diversos archivos de código. auditorías acciones correctivas. 27.com. a partir de especificaciones funcionales del problema. Software para Calidad WEB Control de documentos. El diseño top-down es una herramienta que presenta en primer lugar una solución a un problema general utilizando tres o cuatro pasos solamente.mxEnlaces patrocinados Figura. Introducción a la ingeniería del software Escrito por F.

0) se asigna a la variable y.) . Para un procedimiento Sub nombre (parametro1.desarrolloweb.0) a la variable z.aspx la mayoría de los casos.html Paso de argumento http://msdn.. parametro2.. En la siguiente ilustración se muestra un código que llama al procedimientosafeSquareRoot desde dos lugares diferentes.0 anumber y asigna el valor devuelto (3.. La parte de la llamada del procedimiento que especifica los argumentos se denomina lista de argumentos. Un parámetro representa un valor que el procedimiento espera que se proporcione cuando es llamado.com/articulos/procedimientos-funciones... constantes y expresiones que se transfieren al procedimiento cada vez que se le llama.La parte de la definición del procedimiento que especifica los parámetros se denomina lista de parámetros.microsoft.) . Un procedimiento que ejecuta tareas repetidas o compartidas utiliza datos distintos en cada llamada. La segunda llamada transfiere el valor literal 9. La primera llamada transfiere el valor de la variable x (4. con un parámetro o con varios.. Pasar un argumento a un parámetro . La declaración del procedimiento define sus parámetros.0) al parámetro number y el valor devuelto en root (2. Puede definir un procedimiento sin parámetros. un procedimiento necesita cierta información sobre las circunstancias en las que se le ha llamado.com/es-es/library/2ch70h3t. Estos datos se componen de variables. siguiendo estas estructuras. Código de la función end Function http://www. parametro2. El código de llamada proporciona los argumentos cuando llama al procedimiento. Un argumento representa el valor que se proporciona a un parámetro del procedimiento cuando se llama al procedimiento...Con estas ideas claras se pueden construir los procedimientos y funciones sin mucha dificultad. Código del procedimiento end Sub Para una función Function nombre (parametro1.

pero si la utiliza un parámetro. . Return "appointment" End Function Si el modificador de comprobación de tipos (Option Strict (Instrucción)) es Off. Por ejemplo. vea Diferencias entre parámetros y argumentos (Visual Basic). deben utilizarla todos. VB Function appointment(ByVal day As String. la cláusula As será obligatoria para todos los parámetros del procedimiento. ByVal hour As Integer) As String ' Insert code to return any appointment for the given day and time. Si la comprobación de tipos es On. la siguiente función acepta una cadena y un entero. Tipo de datos de parámetro El tipo de datos de un parámetro se define utilizando la cláusula As en su declaración.la cláusula As es opcional.Para obtener más información.

  Parámetros de tipo Un procedimiento genérico también define uno o más parámetros de tipo. Vea Procedimientos genéricos en Visual Basic. . o Utilizar una palabra clave de conversión para convertir explícitamente el tipo de datos. además de sus parámetros normales. debe llevar a cabo una de las operaciones siguientes:  Proporcionar sólo argumentos con tipos de datos que se amplíen al tipo de datos del parámetro. por ejemplo Byte a un parámetro String.Si el código de llamada espera que se proporcione un argumento con un tipo de datos diferente al del parámetro correspondiente. puede personalizar los tipos de datos para los requisitos de cada llamada individual. Un procedimiento genérico permite que el código que llama pase tipos de datos distintos cada vez que llame al procedimiento. por tanto. Establecer Option Strict Off para que permita conversiones de restricción implícitas.