Vous êtes sur la page 1sur 13

Universidad Tecnolgica Nacional .

Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 Algoritmos Una posible definicin de algoritmo es un conjunto de pasos ordenados que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Otra definicin sera, algoritmo es una secuencia finita de pasos o acciones, cada una de las cuales tiene un significado preciso y puede ejecutarse en un tiempo finito. Ha de tener las siguientes caractersticas: legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible. Un algoritmo es una serie de pasos lgicos para la resolucin de un problema Sus caractersticas que son: Preciso: Esto quiere decir que debe indicar el orden en cada paso. Definido: Finito: Es decir, si se sigue dos veces, obtiene el mismo resultado cada vez. Que tiene fin, o sea un nmero definido de pasos.

Convenciones a Utilizar: Se utilizara para realizar Algoritmos, Diagramas Estructurados de Chapn. (Nassi-Schneiderman) El diagrama estructurado N-S tambin conocido como diagrama de Chapn es un diagrama donde cada rectngulo representa una accin. El de Chapn es una tcnica de especificacin de algoritmos que combina la descripcin textual, propia del pseudocdigo, con la representacin grfica del diagrama de flujo. Chapin Pseudocdigo INICIO INICIO ACCION 1 ACCION 1 ACCION 2 ACCION 2 ACCION 3 ACCION 3 ACCION N ACCION N FIN FIN El diagrama de chapn cuenta con un conjunto limitado de smbolos para representar los pasos del algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que el lenguaje natural es muy extenso y se presta para la ambigedad, solo se utiliza un conjunto de palabras, a las que se denomina palabras reservadas. Las palabras reservadas ms utilizadas son: Entrada Ingresar Leer / Mostrar Salida Mientras Repetir Hasta Para Hacer El pesudocdigo: El pseudocdigo posee las caractersticas siguientes: Se emplean oraciones en lenguaje natural, donde cada una se refiere a una actividad general o especfica Se utiliza un lenguaje comn, sin palabras rebuscadas. Se evitan errores gramaticales, abreviaciones y puntuaciones. Estructuras Algortmicas Las estructuras algortmicas son herramientas que nos permitirn escribir algoritmos de forma ordenada y precisa. Se Clasifican de la siguiente forma.

SECUENCIALES

ESTRUCTURAS ALGORITMICAS

SELECTIVAS ITERATIVAS

Asignacin Entrada Salida Simple Doble Mltiple Mientras Repetir hasta Para

Unidad 1

Algoritmos en pseudocdigo

Pagina 1

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1

Secuenciales
Asignacin : Se refiere a la accin de dar un valor a algo. Ej A10 BAqu Guardaremos el Valor de B C A * 3.15 + B Primero se analiza el valor que se encuentra a la derecha de la flecha y el resultado de eso se guarda en la variable de la izquierda Entrada: Se refiere a la asignacin pero desde un medio exterior, Es decir a travs de un dispositivo de entrada como un teclado o Mouse. El valor ingresado o ledo destinado a una posicin de la memoria que luego referenciado a travs de un nombre. Ej: cant_horas , importe , descuento, etc. Se refiere a visualizar o almacenar un resultado o valor en un dispositivo de salida como ser un monitor, un archivo o cualquier otro dispositivo.

Salida:

Ejemplo Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Mostrar el resultado. Salidas: Sueldos finales Entradas: Salarios de los empleados Datos adicionales: aumentos del 10, 12 y 15% Clculos: Sueldo final = sueldo inicial + aumento Aumento = sueldo inicial * porcentaje/100 Definicin de variables: Sf1, Sf2, Sf3 = los sueldos finales S1, S2, S3 = salarios de los empleados Aum1, aum2, aum3 = aumentos ALGORITMO
Inicio Leer (S1,S2,S3) Aum1 S1 * 0.10 Aum2 S2 * 0.12 Aum3 S3 * 0.15 Sf1 S1 + Aum1 Sf2 S2 + Aum2 Sf3 S3 + Aum3 Escribir (SF1,SF2,SF3) Fin

Selectivas
Unidad 1 Algoritmos en pseudocdigo
Pagina 2

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 Estructura Selectiva Simple: Se Evala la condicin. Esta puede arrojar solamente dos resultados posibles bien separados. Si.(condiciones Verdadera) ,realizaramos la ACCION especificada debajo del SI en otro caso ntese que hay una secuencia vaca equivalente a no hacer nada. Esto pasa cuando la condicin es NO . El SI y NO pueden ser reemplazados por el V o F. Ejemplo Construir un algoritmo tal, que dado como dato la calificacin de un alumno en un examen, escriba "Aprobado" en caso que esa calificacin fuese mayor que 8. Salidas: mensaje de aprobado si se cumple la condicin. Entradas: calificacin Datos adicionales: un alumno aprueba si la calificacin es mayor que 8 Variables: Cal = calificacin Algoritmo:
Inicio Leer (cal) Si cal > 8 entonces Escribir ("aprobado") Fin_si Fin

Estructura Selectiva Doble: Lo mismo que la Anterior pero con la diferencia que aqu en la condicin Falsa se realiza alguna accin. Dado como dato la calificacin de un alumno en un examen, escriba "aprobado" si su calificacin es mayor que 8 y "Reprobado" en caso contrario. Algoritmo:
Inicio Leer (cal) Si cal > 8 entonces Escribir ("aprobado") Sino Escribir ("Reprobado") Fin_si Fin

Unidad 1

Algoritmos en pseudocdigo

Pagina 3

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1

Estructura Selectiva Mltiple:

Esta Estructura se utiliza en el caso de que los valores posibles de una variable corresonden a un conjunto acotado , discreto y bien identificados. La ultima parte que se rotula como otro considera el caso de que la variable no tome ningunos de los valores especificados. Esta estructura es ventajosa utilizarla cuando tenemos que para un conjunto reducido de valores se debe accionar de distintas formas. Cuando este conjunto pertenece a un intervalo continuo tenemos que usar otro tipo de estructura. Ejemplo
Ejemplo Disear un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado de la siguiente funcin:

Unidad 1

Algoritmos en pseudocdigo

Pagina 4

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1

Concepto de Variables y Contantes Una constante es un dato cuyo valor no puede cambiar durante la ejecucin del programa. Recibe un valor en el momento de la compilacin y este permanece inalterado durante todo el programa. Las constantes se declaran en una seccin que comienza una la palabra reservada. Despus de declarar una constante ya se puede usar en el cuerpo principal del programa. Tienen varios usos: ser miembro en una expresin, en una comparacin, asignar su valor a una variable, etc. Una variable es un nombre asociado a un elemento de datos que est situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecucin de un programa. Toda variable pertenece a un tipo de dato concreto. En la declaracin de una variable se debe indicar el tipo al que pertenece. As tendremos variables enteras, reales, booleanas, etc. Por otro lado, distinguimos tres partes fundamentales en la vida de una variable: Declaracin Iniciacin Utilizacin Declaracin de variables Esta es la primera fase en la vida de cualquier variable. La declaracin se realiza en la seccin particular de un programa. Iniciacin de variables Esto no es ms que darle un valor inicial a una variable. As como lo primero que se hace con una variable es declararla, lo siguiente tiene que ser iniciarla. Esto se hace para evitar posibles errores en tiempo de ejecucin, pues una variable tiene un valor indeterminado despus de declararla. Principalmente, existen dos maneras de otorgar valores iniciales a variables: Mediante una sentencia de asignacin o mediante uno de los procedimientos de entrada de datos. Utilizacin: Esto se refiere a que importancia tiene este elemento en el programa que estoy haciendo.

Paso para la Construccin de Programas 1. Especificacin del programa 2. Diseo del programa 3. Codificacin del programa 4. Prueba 5. Documentacin 6. Mantenimiento 1. Especificacin del programa Se conoce tambin como definicin del problema o anlisis del programa. En este paso se determinan la informacin inicial para la elaboracin del programa. Es donde se determina qu es lo que debe resolverse con el computador, de qu presupuestos se debe partir... en definitiva, el planteamiento del problema. Se requieren cinco tareas: a. Determinacin de objetivos del programa. Debe definirse claramente los problemas particulares que debern ser resueltos o las tareas que hay que realizar, esto nos permitir saber qu es lo que se pretende solucionar y nos proporcionar informacin til para el planeamiento de la solucin.

Unidad 1

Algoritmos en pseudocdigo

Pagina 5

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 b. Determinacin de la salida deseada. Definir claramente cual es la informacin, que es lo que el usuario necesita visualizar para poder tomar decisiones sobre su negocio. Esta salida podra ser una salida de impresin o de presentacin en el monitor. c. Determinacin de los datos de entrada. Una vez identificada la salida que se desea, se pueden determinar los datos de entrada y la fuente de estos datos. Los datos deben ser recolectados y analizados. d. Determinacin de los requerimientos de procesamiento. Se debe tener en claro cual es la operatoria o los procesos que estn actualmente en funcionamiento. Aqu se definen las tareas de procesamiento que deben desempearse para que los datos de entrada se conviertan en una salida. e. Documentacin de las especificaciones del programa. Se debe registrar en cualquier medio sea electrnico o manual todo lo que vamos relevando y/o haciendo para que luego sirva de material de consulta . Es importante disponer de documentacin permanente. Deben registrarse todos los datos necesarios para el procesamiento requerido. Esto conduce al siguiente paso del diseo del programa. 2 . Diseo del programa Es disear cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer las necesidades que se especificaron en el paso 1. Esta actividad se debe dividir en: - Operaciones de entrada/salida - Clculos - Lgica/ comparacin - Almacenamiento/ consulta En este paso se genera una solucin con tcnicas de programacin como diseo descendente de programas, pseudocdigos, flujogramas y estructuras lgicas. 3. Codificacin del programa Es la generacin real del programa con un lenguaje de programacin. En esta etapa se hace uso de la lgica que desarroll en el paso del diseo del programa para efectivamente generar un programa que ele usuario podr manejar. Se debe seleccionar el lenguaje apropiado para resolver el problema. 4. Prueba y depuracin del programa Depurar es correr el programa en una computadora y corregir las partes que no funcionan. En esta fase se comprueba el funcionamiento de cada programa y esto se hace con datos reales o ficticios. Cuando los programas estn depurados, se prueban. Cuando los programas se depuran, se pueden encontrar los siguientes errores: a) Errores de sintaxis o de compilacin b) Errores de ejecucin c) Errores de lgica d) Errores de especificacin. a) Errores de sintaxis o de compilacin Es una violacin de las reglas del lenguaje de programacin. Son ms fciles de corregir, ya que son

Unidad 1

Algoritmos en pseudocdigo

Pagina 6

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 detectados por el compilador (posible error de escritura), el cual dar informacin sobre el lugar donde est y la naturaleza de cada uno de ellos mediante un mensaje de error. b) Errores de Ejecucin Se deben generalmente a operaciones no permitidas como dividir por cero, leer un dato no numrico en una variable numrica, exceder un rango de valores permitidos, etc. Se detectan porque se produce una parada anormal del programa durante su ejecucin. c) Errores de Lgica Corresponden a la obtencin de resultados que no son correctos y la nica manera de detectarlos es realizando suficientes pruebas del programa. Son los ms difciles de corregir, no slo por la dificultad de detectarlos, sino porque se deben a la propia concepcin y diseo del programa. d) Errores de Especificacin Es el peor tipo de error y el ms difcil de corregir. Se deben a mal diseo del programa posiblemente por mala comunicacin usuario programador y se detectan cuando ya se ha concluido el diseo e instalacin del programa, lo cual puede implicar repetir gran parte del trabajo realizado. Prueba Consiste en verificar la funcionalidad del programa a travs de varios mtodos para detectar errores posibles. Mtodos de Prueba: - Prueba de escritorio - Prueba manual de datos de muestra - Prueba por un grupo selecto de usuarios potenciales. a. Prueba de Escritorio: Se toma el algoritmo o el programa y se va ejecutando instruccin por instruccin, se va anotando los valores de las variables y se trata de detectar errores potenciales. b. Prueba manual de datos de muestra: Se corre el programa en forma manual aplicando datos tanto correctos como incorrectos para comprobar que funciona correctamente. c. Prueba por un grupo selecto de usuarios potenciales: Esto se conoce como prueba beta. Se trata por lo general del paso final en la prueba de un programa. Usuarios potenciales ponen a prueba el programa y luego comentan que errores encontraron y que cosas corregiran. 5. Documentacin del programa Consiste en describir por escrito a nivel tcnico los procedimientos relacionados con el programa y su modo de uso. Tambin se debe documentar el programa para que sea ms entendible. Se debe elaborar documentacin tanto para.. - Usuarios - Operadores - Programadores - Analistas de sistemas

Unidad 1

Algoritmos en pseudocdigo

Pagina 7

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 Manual de Usuario :A los usuarios se les elabora un manual de referencia para que aprendan a utilizar el programa. Esto se hace a travs de capacitaciones y revisin de la documentacin del manual de usuario. El manual del usuario no est escrito a nivel tcnico sino al de los distintos usuarios previstos y explica en detalle cmo usar el programa: descripcin de las tareas que realiza el programa, instrucciones necesarias para su instalacin puesta en marcha y funcionamiento, recomendaciones de uso, mens de opciones, mtodo de entrada y salida de datos, mensajes de error, recuperacin de errores, etc. Manual de Operadores :A los operadores se les elabora un manual por si se presentan mensajes de error, sepan cmo responder a ellos. Adems que se encargan de darle soporte tcnico al programa y administrar los recursos del mismo. Manual de Programadores: A los programadores para que recuerden aspectos de la elaboracin del programa o en caso que otras personas puedan actualizarlo o modificarlo (darle mantenimiento) y no son necesariamente las personas que lo disearon. Es por ello, que la documentacin debe contener algoritmos y flujogramas de los diferentes mdulos que lo constituyen y las relaciones que se establecen entre ellos; listados del programa, corridas, descripcin de variables que se emplean en cada mdulo, cules son comunes a diferentes mdulos y cules locales; descripcin de los ficheros de cada mdulo y todo lo que sea de importancia para un programador. Adems el programador debe en lo posible realizar todos los comentarios en el programa para ayudar a la compresin del proceso. Los comentarios son provechosos tanto para quien hizo el programa o para quien intente entenderlo Manual de Analista A los analistas de sistemas son las personas que debern proporcionar toda la informacin al programador. Estos se encargan de hacer una investigacin previa de cmo realizar el programa y documentar con las herramientas necesarias para que el programador pueda desarrollar el sistema en algn lenguaje de programacin adecuado. 6. Mantenimiento del programa Es el paso final del desarrollo del software. Alrededor del 75% del costo total del ciclo de vida de un programa se destina al mantenimiento. El propsito del mantenimiento es garantizar que los programas en uso estn libres de errores de operacin y sean eficientes y efectivos. Estilos de Programacin Por lo general , la codificacin de un programa se hace desde un editor de texto, por ello es necesario definir algunas reglas al momento de escribir programas para que los mismos sean prolijos , ordenados y comprensibles. A continuacin nombramos una serie de Aspectos a tener en cuenta para escribir programas que son comunes a la mayora de los programadores. 1. Defina una regla convencional para el tamao de la sangra que prefiera y a continuacin aplquela de manera uniforme. La tecla del tabulador puede ser utilizada para crear sangras, 2. Coloque un espacio despus de cada coma (,) para hacer los programas ms legibles. 3. La seleccin de nombres de variables significativos ayuda a la autodocumentacin de un programa, es decir, se requerirn de menos comentarios. 4. Los nombres de variables de varias palabras pueden auxiliar a la legibilidad de un programa. Evite reunir las palabras separadas juntas como en totalcomision. En vez de ello separe las

Unidad 1

Algoritmos en pseudocdigo

Pagina 8

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 palabras con subrayados como total_comision,total-comision o bien, si desea reunirlas, empiece cada palabra despus del primero con una letra mayscula como en totalComision. 5. Coloque espacios en blanco a ambos lados de un operador binario. Esto hace resaltar al operador y permite que el programa sea ms legible. Ej: NO: A>B SI: A > B 6. Haga una sangra en el o los enunciados del cuerpo de una estructura de decisin (if). Ej: If ( importe > 30 ) { descuento := 0.1 ; total_factura := importe * ( 1 descuento ) ; }

7. Deber procurar que no exista ms de un enunciado en cada lnea de programa. NO : descuento := 0.1 ; total_factura := importe * ( 1 descuento ) ;

8. Un enunciado largo puede ser dividido en varios renglones. Si un enunciado debe ser dividido en varias lneas, escoja puntos de corte que tengan sentido (como sera despus de una coma en una lista separada por comas). Si un enunciado se divide en dos o ms renglones, haga una sangra en todas las lneas subsecuentes. 9. Haga sangras en ambos cuerpos de los enunciados de una estructura if/else. If ( hrs_trabajadas > 30 ) { hrs_extras := hrs_trabajadas - 30 ; total_a_cobrar := basico + hrs_extras * 8.93 ; } else { total_a_cobrar := basico ; }

10. Inicialice contadores y totales. 11. Al ejecutar un divisin por una expresin cuyo valor pudiera ser cero, pruebe de forma explcita este caso y manjelo de manera apropiada en su programa (como sera impresin de un mensaje de error), en vez de permitir que ocurra un error fatal.

12. No compare valores de punto flotante buscando igualdad. Convirtalos en cadena previamente. 13. Demasiados niveles anidados pueden dificultar la comprensin de un programa. Como regla general procure evitar el uso de ms de tres niveles de sangras.

Unidad 1

Algoritmos en pseudocdigo

Pagina 9

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1

14. Proveer en la estructura de seleccin mltiple, un caso default o else, en enunciados switch o case. Sern ignorados los casos no probados en forma explcita. El caso default o else ayuda a evitar lo anterior. Enfocando al programador sobre la necesidad de procesar condiciones excepcionales. 15. Cuando una expresin de igualdad tiene una variable y una constante como en x = 1, algunos programadores prefieren escribir la expresin con la constante a la izquierda y el nombre de la variable a la derecha (1 = x), como proteccin contra un error lgico, si accidentalmente la igualdad es tomada como una asignacin (por ej. reemplazar el operador == por =, o el operador = por :=). 16. Seleccionar nombres significativos para funciones y nombres significativos para parmetros, hace que sean ms legibles los programas y ayuda a evitar un uso de comentarios excesivo. 17. Los programas deberan verificar la correccin de todos los valores de entrada, para impedir que informacin errnea afecte los clculos del programa. 18. Edite las salidas de manera ntida para su presentacin. Esto hace ms legible las salidas del programa y reduce errores de usuario. 19. Al introducir datos, solicite al usuario un elemento o pocos elementos de datos a la vez. Evite solicitar al usuario la introduccin de muchos elementos de datos, en respuesta a una sola solicitud. 20. Asegrese que en un programa las llamadas a las funciones de procesamiento de archivos contengan los apuntadores de archivos correctos. 21. Cierre cada archivo en forma explcita, tan pronto sepa que el programa ya no har otra vez referencia al archivo. 22. Abra un archivo nicamente para lectura (y no para actualizar), si el contenido del archivo no debe modificarse. Esto evitar cambios no intencionales en el contenido del mismo. 23. Evite usar dentro de un programa variables del mismo nombre para distintos fines. Aunque en varias circunstancias esto es permitido, puede resultar confuso. Programa Fuente, Compiladotes , Ensambladores , Interpretes , Programa Objeto Programa Fuente Programa Fuente Es un texto escrito en un lenguaje de programacin para crear el programa. Es la forma del programa legible por el programador. Es un texto que describe lo que hace el programa, y que una vez pasado por un proceso llamado compilacin (traduccin de lenguaje fuente a lenguaje mquina) genera el cdigo ejecutable, el programa que usamos. TRADUCTOR(Compilador,
Ensamblado, Interprete)

Programa Objeto

Unidad 1

Algoritmos en pseudocdigo

Pagina 10

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 Es el conjunto completo de instrucciones y archivos originales y de soporte, creados y/o modificados por el programador, destinado a producir el programa ejecutable a partir de ellos. Compiladores e Intrpretes Un traductor es cualquier programa que toma como entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto en un lenguaje, denominado objeto. En el caso de que el lenguaje fuente sea un lenguaje de programacin de alto nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o cdigo de mquina), a dicho traductor se le denomina compilador. Un intrprete no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel y la traduce al cdigo equivalente y al mismo tiempo lo ejecuta Histricamente, con la escasez de memoria de los primeros ordenadores, se puso de moda el uso de intrpretes frente a los compiladores, pues el programa fuente sin traducir y el intrprete juntos daban una ocupacin de memoria menor que la resultante de los compiladores. Por ello los primeros ordenadores personales iban siempre acompaados de un intrprete de BASIC (Spectrum, Commodore VIC-20, PC XT de IBM, etc.). La mejor informacin sobre los errores por parte del compilador as como una mayor velocidad de ejecucin del cdigo resultante hizo que poco a poco se impusieran los compiladores. Hoy en da, y con el problema de la memoria prcticamente resuelto, se puede hablar de un gran predominio de los compiladores frente a los intrpretes Ventajas de compilar frente a interpretar: Se compila una vez, se ejecuta n veces. En bucles, la compilacin genera cdigo equivalente al bucle, pero interpretndolo se traduce tantas veces una lnea como veces se repite el bucle. El compilador tiene una visin global del programa, por lo que la informacin de mensajes de error es mas detallada. Ventajas del intrprete frente al compilador: Un intrprete necesita menos memoria que un compilador. En principio eran ms abundantes dado que los ordenadores tenan poca memoria. Permiten una mayor interactividad con el cdigo en tiempo de desarrollo. Un compilador no es un programa que funciona de manera aislada, sino que necesita de otros programas para conseguir su objetivo: obtener un programa ejecutable(cdigo objeto) a partir de un programa fuente en un lenguaje de alto nivel. Muchos compiladores, en vez de generar cdigo objeto, generan un programa en lenguaje ensamblador que debe despus convertirse en un ejecutable mediante un programa ensamblador. Clasificacin de Compiladores El programa compilador traduce las instrucciones en un lenguaje de alto nivel a instrucciones que la computadora puede interpretar y ejecutar. Para cada lenguaje de programacin se requiere un compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Los compiladores son, pues, programas de traduccin insertados en la memoria por el sistema operativo para convertir programas de cmputo en pulsaciones electrnicas ejecutables (lenguaje de mquina). Los compiladores pueden ser de: una sola pasada: examina el cdigo fuente una vez, generando el cdigo o programa objeto. pasadas mltiples: requieren pasos intermedios para producir un cdigo en otro lenguaje, y una pasada final para producir y optimizar el cdigo producido durante los pasos anteriores. Optimacin: lee un cdigo fuente, lo analiza y descubre errores potenciales sin ejecutar el programa. Unidad 1 Algoritmos en pseudocdigo
Pagina 11

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1 Compiladores incrementales: generan un cdigo objeto instruccin por instruccin (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual. Compilador con montador: compilador que compila distintos mdulos de forma independiente y despus es capaz de enlazarlos. Descompilador: es un programa que acepta como entrada cdigo mquina y lo traduce a un lenguaje de alto nivel, realizando el proceso inverso a la compilacin. Ensambladores La importancia del ensamblador radica principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sera que los programas en ensamblador ocupan menos espacio en memoria. Ventajas 1. Velocidad .- Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el mas cercano a la mquina la computadora lo procesa mas rpido. 2. Eficiencia de tamao .- Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan libreras y dems como son los lenguajes de alto nivel 3. Flexibilidad .- Es flexible porque todo lo que puede hacerse con una mquina, puede hacerse en el lenguaje ensamblador de esta mquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al mximo los recursos de la mquina. O sea que en lenguaje ensamblador se pueden hacer tareas especificas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permiten Desventajas 1. Tiempo de programacin .- Como es un lenguaje de bajo nivel requiere ms instrucciones para realizar el mismo proceso, en comparacin con un lenguaje de alto nivel. Por otro lado, requiere de ms cuidado por parte del programador, pues es propenso a que los errores de lgica se reflejen ms fuertemente en la ejecucin. 2. Programas fuente grandes .- Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos ms instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores. 3. Peligro de afectar recursos inesperadamente .- Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la maquina, programar en este lenguaje lo ms comn que pueda pasar es que la mquina se bloquee o se reinicialize. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones invlidas, que normalmente no aparecen al usar un lenguaje de alto nivel. 4. Falta de portabilidad.- Porque para cada mquina existe un lenguaje ensamblador; por ello, evidentemente no es una seleccin apropiada de lenguaje cuando deseamos codificar en una mquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras.

Unidad 1

Algoritmos en pseudocdigo

Pagina 12

Universidad Tecnolgica Nacional . Facultad Regional San Nicols Tecnicatura Superior en Programacin Programacin 1

Bsqueda del Mayor elemento de una serie de valores Numricos Este mtodo nos devuelve el Mayor elemento de un conjunto de n elementos numricos. La idea es ir tomando temporalmente el mximo valor en cada momento. Esto Algoritmo se puede utilizar para mostrar el mnimo valor simplemente cambiando el sentido en el signo, en la seleccin simple.

Utilizacin de Banderas Una bandera, tambin denominada interruptor o conmutador es una variable que puede tomar uno de dos valores (verdadero o falso ; 0 o 1) a lo largo de la ejecucin del programa y permite comunicar informacin de una parte a otra del mismo. Ejemplo. Leer un nmero entero N y calcular el resultado de la siguiente serie: 1 - 1/2+ 1/3 - 1/4 +.... +/- 1/N = M

Unidad 1

Algoritmos en pseudocdigo

Pagina 13

Vous aimerez peut-être aussi