REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA DEFENSA
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA
FUERZA ARMADA NACIONAL BOLIVARIANA
NÚCLEO ANZOÁTEGUI SEDE SAN TOMÉ
INFORME DE INVESTIGACIÓN
TRADUCCIÓN DE UN ALGORITMO A UN LENGUAJE
DOCENTE: REALIZADO POR:
Ing. Aarón Carreño Br. Oriana Guevara
C.I: 25268257 C.I: 27992937
Abril de 2020
INTRODUCCIÓN
Cuando se habla de traduccion se hace refencia de llevar palabras, oraciones, etc a
otro idioma, por ejemplo: de español a ingles. En el caso de la informatica, las
traducciones son un poco mas complejas a la hora de llevarse a cabo, las cuales
tambien dependen del enfoque de la traduccion, en el contenido siguiente se plasmara
la traduccion de un algoritmo a un lenguaje, existen diferentes maneras de transformar
un algoritmo a un lenguaje; dependiendo si son de bajo nivel o alto nivel, seran
traductores ensambladores, copiladores o interpretes, asi como tambien se
manifestaran las técnicas de programación que tienen una gran utilidad ya despues del
proceso de traducción.
TRADUCCIÓN DE UN ALGORITMO A UN LENGUAJE
Los traductores son programas que permiten pasar de un programa fuente a un
programa objeto.
En los lenguajes de bajo nivel los programas que permiten pasar de un programa
fuente a un programa objeto se llaman programas ensambladores, mientras en los
lenguajes de alto nivel estos programas se denominan compiladores e intérpretes.
Cuando se programa a lenguajes de programacion, lo que se esta haciendo en
realidad es el código fuente de ese programa. Este código fuente debe ser traducido a
binario para que las instrucciones que contienen puedan ser entendidas y ejecutadas
por la máquina.
ENSAMBLADOR
En él, las instrucciones se escriben en códigos alfabéticos conocidos como
mnemotécnicos (generalmente, abreviaturas de palabras inglesas). Las palabras
mnemotécnicas son mucho más fáciles de recordar que las secuencias de ceros y
unos. Una instrucción típica de ensamblador puede ser: ADD x,y,z
Esta instrucción significaría que se deben sumar los números almacenados en las
direcciones de memoria x e y, y almacenar el resultado en la dirección z. Pero aún así,
a medida que los programas crezcan en tamaño y complejidad, el ensamblador sigue
sin ser una buena solución.
La forma más simple de un ensamblador hace dos pasadas sobre la entrada en donde
una pasada consiste en leer una vez un archivo de entrada. En la primera pasada, se
encuentra todos los identificadores que denoten posiciones de memoria y se
almacenan en una tabla de símbolos.
En la segunda pasada el ensamblador examina el archivo de entrada de nuevo traduce
cada código de operación a la secuencia de bits que representa esa operación en
lenguaje de maquina y traduce cada identificador que representa una posición de
memoria ala dirección dada ese identificador en la tabla de símbolos. Es resultado de la
segunda pasada normalmente es código de maquina relocalizable lo cual significa que
puede cargarse empezando en cualquier posición L de la memoria
COMPILADOR
Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a
otro lenguaje, generando un programa equivalente independiente, que puede
ejecutarse tantas
veces como se quiera.
En un compilador hay que distinguir tres lenguajes diferentes:
• El de los programas de partida (LA)
• El de los programas equivalentes traducidos (LB), normalmente el lenguaje de
máquina
• El lenguaje en que está escrito el propio compilador (LC), que puede ser igual o
diferente a uno de los otros dos.
Los programas interpretados suelen ser más lentos que los compilados, pero los
intérpretes son más flexibles como entornos de programación y depuración.
Comparando su actuación con la de un ser humano, un compilador equivale a un
traductor profesional que, a partir de un texto, prepara otro independiente traducido a
otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce
de viva voz las palabras que oye, sin dejar constancia por escrito.
INTERPRETE
Un intérprete traduce un código fuente en lenguaje máquina también. El intérprete
difiere del compilador en que ejecuta cada orden una vez que se traduce. Este proceso
puede hacer más lenta la ejecución del programa, así que los intérpretes se utilizan
menos que los compiladores. Un intérprete es otra manera de implementar un lenguaje
de programación. La interpretación comparte muchos aspectos con el compilador. Los
análisis léxico, sintáctico y verificación de tipos son exactamente los mismos que en un
compilador.
Pero en lugar de generar código del árbol sintáctico, el árbol sintáctico se procesa
directamente para evaluar expresiones y ejecutar sentencias, y así hasta terminar. Un
intérprete puede necesitar evaluar la misma parte del árbol sintáctico varias veces (por
ejemplo cuando se hacen ciclos), por eso la interpretación puede ser más lenta que la
ejecución de un programa compilado. Pero escribir un intérprete es más fácil de mover
a una máquina diferente, así que para aplicaciones donde la velocidad no importa, lo
mejor es utilizar un intérprete.
TÉCNICAS DE PROGRAMACIÓN
La programación es el proceso de diseñar, codificar, depurar y mantener el código
fuente de programas computacionales. El código fuente es escrito en un lenguaje de
programación. El propósito de la programación es crear programas que exhiban un
comportamiento deseado. El proceso de escribir código requiere frecuentemente
conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar,
algoritmos especializados y lógica formal.
Los tipos o técnicas de programación son bastante variados. En la mayoría de los
casos, las técnicas se centran en programación modular y programación estructurada,
pero existen otros tipos de programación.
PROGRAMACIÓN ESTRUCTURADA (PE)
La programación estructurada está compuesta por un conjunto de técnicas que han ido
evolucionando, aumentando considerablemente la productividad del programa
reduciendo el tiempo de depuración y mantenimiento del mismo.
Esta programación estructurada utiliza un número limitado de estructuras de control,
reduciendo así considerablemente los errores.
ESTA TÉCNICA INCORPORA:
• Diseño descendente (top-dow): el problema se descompone en etapas o
estructuras jerárquicas.
• Recursos abstractos (simplicidad): consiste en descompones las acciones
complejas en otras más simples capaces de ser resueltas con mayor facilidad.
• Estructuras básicas: existen tres tipos de estructuras básicas:
• Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La
salida de una acción es la entrada de otra.
• Estructuras selectivas: en estas estructuras se evalúan las condiciones y en
función del resultado de las mismas se realizan unas acciones u otras. Se utilizan
expresiones lógicas.
• Estructuras repetitivas: son secuencias de instrucciones que se repiten un
número determinado de veces.
LAS PRINCIPALES VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA
• Los programas son más fáciles de entender
• Se reduce la complejidad de las pruebas
• Aumenta la productividad del programador
• Los programas queden mejor documentados internamente.
Un programa está estructurado si posee un único punto de entrada y sólo uno de
salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por
último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
LA PROGRAMACION ESTRUCTURADA SIGUE TRES REGLAS
la secuencia, la iteración y la decisión. La primera de ellas indica que las instrucciones
del código se leerán de principio a fin; la segunda indica que, según cierta condición, un
número de instrucciones podrían repetirse un número determinado de veces, y la
tercera indica que según unas ciertas condiciones se ejecutarán o no un conjunto de
instrucciones.
TÉCNICAS MODERNAS DE PROGRAMACIÓN
PROGRAMACIÓN MODULAR
En la programación modular consta de varias secciones dividas de forma que
interactúan a través de llamadas a procedimientos, que integran el programa en su
totalidad.
En la programación modular, el programa principal coordina las llamadas a los módulos
secundarios y pasa los datos necesarios en forma de parámetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o
funciones.
PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de
los programas gracias a la reutilización de los objetos.
El elemento principal de la programación orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y
forman parte de una organización.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.
PROGRAMACIÓN CONCURRENTE
Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la
vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de
forma simultánea.
Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos
en las acciones.
PROGRAMACIÓN FUNCIONAL
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras
funciones.
PROGRAMACIÓN LÓGICA
Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de
una programación basada en el cálculo de predicados (una teoría matemática que
permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar
soluciones inteligentes).
CONCLUSIÓN
Despues de desarrollar el contenido anteriormente expuesto se puede expresar que los
traductores son programas que permiten la conversion de un algoritmo a un programa
especifico, determinando asi que son una herramienta indispensable en el area de la
computacion y nos ofrece una cantidad amplia de metodos que nos ayudaran en
cualquier ambito que se desee, tambien teniendo cuenta, las técnicas de programación
que son un abherido fundamental a la hora de programar, aportandonos pautas asi
como tambien ventajas de más facilidad, guiándonos en el proceso de programacion
BIBLIOGRAFIAS
• https://desarrolloweb.com/articulos/2477.php
• http://www.profmatiasgarcia.com.ar/uploads/tutoriales/
introduccion_Tecnicas_de_Programacion.pdf
• https://desarrolloweb.com/articulos/2387.php
• https://sites.google.com/site/juanrodriguez16441710pb/unidad-1---conceptos-basicos-y-
algoritmos/1-2-definicion-de-algoritmo-lenguaje-de-programacion-programa-
programacion-paradigmas-de-programacion-editores-de-texto-compiladores-e-
interpretes-ejecutables-consola-de-linea-de-comandos
• http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/7/rdbms.pdf