Está en la página 1de 5

Optimizacin de cdigo La optimizacin de cdigo puede realizarse durante la propia generacin o como paso adicional, ya sea intercalado entre

el anlisis semntico y la generacin de cdigo (se optimizan las cudruplas) o situado despus de sta (se optimiza a posteriori el cdigo generado). Hay teoremas (Aho, 1970) que demuestran que la optimizacin perfecta es indecidible. Por tanto, las optimizaciones de cdigo en realidad proporcionan mejoras, pero no aseguran el xito total. Clasificacin de optimizaciones: 1. Dependientes de la mquina. o Asignacin de registros (ver captulo anterior). o Instrucciones especiales ("idioms"). o Reordenacin del cdigo. 2. Independientes de la mquina. o Ejecucin en tiempo de compilacin. o Eliminacin de redundancias. o Cambio de orden. o Reduccin de frecuencia de ejecucin (invariancias). o Reduccin de fuerza. Optimizacin y depuracin suelen ser incompatibles. Por ejemplo, si se elimina totalmente una instruccin, puede ser imposible poner una parada en ella para depuracin. Ejemplo: x = x; Diseo Top-Down El diseo Top-Down fue promovido en la dcada de 1970 por el investigador de IBM Harlan Mills y Nickaus Wirth. Mills desarroll conceptos de programacin estructurada para utilizarlos y probarlos en un proyecto de 1969 que tena como objetivo automatizar algunos procedimientos del peridico New York Times. El desarrollo de este proyecto hizo que se dispersara y se ampliara la idea de hacer los programas con esta filosofa 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 programacin Pascal, escribi un artculo muy importante acerca del Desarrollo de programas por medio de refinamiento de pasos. Esta idea de disear programas permaneci como principal corriente de desarrollo hasta fines de la dcada de 1980, cuando fue desplazada por la programacin orientada a objetos, sin embargo contina siendo una muy importante ayuda para el desarrollo de los mtodos en los la programacin orientada a objetos [7].

Software para Calidad WEB Control de documentos, auditoras acciones correctivas, aprobaciones MASTERWEB.com.mxEnlaces patrocinados

Figura. 27. Niclaus Wirth (izq.) y Harlan D. Mills (der.) fueron los primeros promotores del diseo Top-Down en la dcada de 1970. La solucin a los problemas computacionales puede llegar a se muy complicada y compleja. Cuando los programas son de miles de lneas, o componerse de diversos archivos de cdigo, es imposible mantener todos los detalles del programa en mente cuando se desarrolla un algoritmo. El diseo top-down es una herramienta que presenta en primer lugar una solucin a un problema general utilizando tres o cuatro pasos solamente. Cada uno de esos pasos en la primera solucin se dividen en otros subpasos. Este proceso se repite varias veces, en cada iteracin se produce una solucin ms detallada al problema original. Cuando los pasos ya no se pueden subdividir, el algoritmo ha terminado. El diseo top-down tambin se conoce como descomposicin funcional o refinamiento de pasos.

Introduccin a la ingeniera del software


Escrito por F. Alonso Amo,Loc Martnez Normand La estrategia fundamental de de la descomposicin funcional consiste pues en disear, a partir de especificaciones funcionales del problema, los diferentes niveles modulares diseos del sistema, mediante refinamientos sucesivos de los modulos utilizando la experiencia previa como gua.

Los procedimientos o funciones son muy interesantes y tilies en la programacin. Nos sirven para realizar una tarea concreta que probablemente se vaya a ejecutar varias veces a lo largo de la vida de la pgina. Esta tarea se especifica en un bloque de cdigo de manera independiente y cuando se desean realizar las acciones del procedimiento se llama al procedimiento o funcin. Una vez realizadas las acciones pertinentes se devuelve el flujo del programa al lugar desde donde se produjo ese procedimiento o funcin. Lo primero que debemos hacer al crear un procedimiento es pensar las cosas que se desean hacer dentro de la funcin, la informacin que necesitaremos (y que tendremos que recibir como parmetros) y la informacin que devolver.

Con estas ideas claras se pueden construir los procedimientos y funciones sin mucha dificultad, siguiendo estas estructuras. Para un procedimiento Sub nombre (parametro1, parametro2...) ... Cdigo del procedimiento end Sub Para una funcin Function nombre (parametro1, parametro2...) ... Cdigo de la funcin end Function
http://www.desarrolloweb.com/articulos/procedimientos-funciones.html

Paso de argumento http://msdn.microsoft.com/es-es/library/2ch70h3t.aspx


la mayora de los casos, un procedimiento necesita cierta informacin sobre las circunstancias en las que se le ha llamado. Un procedimiento que ejecuta tareas repetidas o compartidas utiliza datos distintos en cada llamada. Estos datos se componen de variables, constantes y expresiones que se transfieren al procedimiento cada vez que se le llama. Un parmetro representa un valor que el procedimiento espera que se proporcione cuando es llamado. La declaracin del procedimiento define sus parmetros. Puede definir un procedimiento sin parmetros, con un parmetro o con varios.La parte de la definicin del procedimiento que especifica los parmetros se denomina lista de parmetros. Un argumento representa el valor que se proporciona a un parmetro del procedimiento cuando se llama al procedimiento. El cdigo de llamada proporciona los argumentos cuando llama al procedimiento. La parte de la llamada del procedimiento que especifica los argumentos se denomina lista de argumentos. En la siguiente ilustracin se muestra un cdigo que llama al procedimientosafeSquareRoot desde dos lugares diferentes. La primera llamada transfiere el valor de la variable x (4.0) al parmetro number y el valor devuelto en root (2.0) se asigna a la variable y. La segunda llamada transfiere el valor literal 9.0 anumber y asigna el valor devuelto (3.0) a la variable z. Pasar un argumento a un parmetro

Para obtener ms informacin, vea Diferencias entre parmetros y argumentos (Visual Basic). Tipo de datos de parmetro

El tipo de datos de un parmetro se define utilizando la clusula As en su declaracin. Por ejemplo, la siguiente funcin acepta una cadena y un entero. VB

Function appointment(ByVal day As String, ByVal hour As Integer) As String ' Insert code to return any appointment for the given day and time. Return "appointment" End Function

Si el modificador de comprobacin de tipos (Option Strict (Instruccin)) es Off,la clusula As es opcional, pero si la utiliza un parmetro, deben utilizarla todos. Si la comprobacin de tipos es On, la clusula As ser obligatoria para todos los parmetros del procedimiento.

Si el cdigo de llamada espera que se proporcione un argumento con un tipo de datos diferente al del parmetro correspondiente, por ejemplo Byte a un parmetro String, debe llevar a cabo una de las operaciones siguientes:

Proporcionar slo argumentos con tipos de datos que se amplen al tipo de datos del parmetro; Establecer Option Strict Off para que permita conversiones de restriccin implcitas; o Utilizar una palabra clave de conversin para convertir explcitamente el tipo de datos.

Parmetros de tipo Un procedimiento genrico tambin define uno o ms parmetros de tipo, adems de sus parmetros normales. Un procedimiento genrico permite que el cdigo que llama pase tipos de datos distintos cada vez que llame al procedimiento; por tanto, puede personalizar los tipos de datos para los requisitos de cada llamada individual. Vea Procedimientos genricos en Visual Basic.