Está en la página 1de 10

Unidad Profesional Interdisciplinaria en

Ingeniería y Tecnologías Avanzadas

Alumno
Arath Alarcon Aldana

Unidad de Aprendizaje:
Introducción a la programación

Profesor
M. en C. Niels Henrik Navarrete Manzanilla

Actividad 1
Tipos de lenguajes

Ciudad de México; a 04 de octubre de 2021.


Índice
Contenido

1. Cuadro comparativo lenguaje compilado vs interpretado 3

2. Fases de un compilador 4

3. Cuadro sinóptico tipos de lenguajes de programación 6

4. Resumen: Lenguaje máquina, ensamblador y de alto nivel 7

CONCLUSIONES 9
REFERENCIAS BIBLIOGRÁFICAS 9
1. Cuadro comparativo}. Lenguaje compilado vs lenguaje interpretado
LENGUAJE COMPILADO LENGUAJE INTERPRETADO
Requieren de un compilador Traduce el código y lo convierte a
su lenguaje
Son lenguajes de alto nivel Son lenguajes de alto nivel
Crean un archivo externo. No crean un archivo externo.
Están preparados para Es convertido a lenguaje de
ejecutarse inmediatamente máquina a medida que es
ejecutado.
Ejemplos: C, C++, Java, Go y Rust Ejemplos: Ruby, Python y
JavaScript
Debes crear ejecutables para cada Son multiplataforma
uno de los sistemas operativos en
los que lo vayas a utilizar

Un lenguaje compilado está Un lenguaje interpretado está


optimizado para el momento de la optimizado para hacerle la vida
ejecución más fácil al programador

Permite encontrar errores en Encuentra errores en tiempo de


tiempo de compilación ejecución (runtime)

Crea un archivo unico cada vez No crea otro archivo, es más


que se realiza un cambio. flexible a la hora de corregir
errores.

2. Fases de un compilador
2) Describa las fases de un compilador
Durante la Compilación de un Programa se realizan las siguientes fases:

Análisis Léxico

Momento en el que se lee el programa fuente desde la izquierda a la derecha para


ser agrupado en componentes léxicos, conformando secuencias de caracteres con
un significado. Así misma información innecesaria como espacios en blanco o
líneas en blanco se eliminan del código fuente. Se comprueban los símbolos del
lenguaje.

Análisis Sintáctico

Se agrupan los componentes léxicos o caracteres de forma jerárquica en frases


gramaticales que el compilador va a usar para la sintetización de una salida.
Igualmente se comprueba si lo que se obtuvo del paso anterior es correcto
sintácticamente.

Análisis Semántico

Es un procedimiento en donde se revisa el programa fuente para identificar


posibles errores semánticos y además reunir información sobre los tipos usados
para la fase posteriores a la generación del código

Generación de Código Intermedio

En algunos casos los compiladores van a generar una representación intermedia


explícita del código fuente. Sus propiedades más relevantes son: fácil de producir
y fácil de traducir el programa en un objeto. En ciertas ocasiones se presente el
código de tres direcciones que es una especie de lenguaje ensamblador de
máquina en donde cada posición de memoria podría actuar como un registro. Sus
propiedades son:
Primera – Cada instrucción va a tener a lo sumo un operador, sin dejar de incluir la
asignación, así que en cuentan se generan las instrucciones, el traductor debe
decidir el orden en que se efectúan.

Segunda – El traductor genera un nombre temporal para almacenar los valores


calculados por instrucción.

Tercera – Algunas instrucciones de las tres direcciones van a tener menos de tres
operados, como por ejemplo la asignación.

Optimización de Código

Es una fase del compilador en donde se mejora el código intermedio del paso
anterior, para que así sea un código de máquina de mucha más fácil
interpretación. Es posible más que nada si el traductor es un compilador.

Generación de Código

Aquí se crea el código final de salida que va a ser interpretado por la máquina.

Depuración

Detecta e informa de errores que se produzcan durante la fase de análisis. Debe


generar mensajes significativos y reanudar la traducción.

Administración de la Tabla de Símbolos

Es una estructura tipo diccionario que almacena información sobre los símbolos
que van apareciendo a lo largo del programa como son: – los identificadores
(variables y funciones) – Etiquetas – tipos definidos por el usuario (arreglos,
registros, etc.). Además, almacena el tipo de dato, método de paso de parámetros,
tipo de retorno y de argumentos de una función, el ámbito de referencia de
identificadores y la dirección de memoria
3. Cuadro sinóptico tipos de lenguajes de programación
4. Resumen de: Lenguaje máquina, lenguaje ensamlador y lenguaje de alto nivel
a) LENGUAJE DE MÁQUINA

Es un lenguaje conformado por ceros y unos, el cual, se podría decir que es un


lenguaje fácil de entender para nuestro ordenador. El Lenguaje Maquina es el
conjunto de datos que la parte física de la computadora (Hardware) es capaz de
comprender e interpretar "El Código Binario" comprendido por los Valores 0 y 1
con tensiones comprendidas entre 0 y 4 Voltios y 4 y 5 Voltios respectivamente,
las secuencias de estos valores formaran cadenas de información para que se
realice una instrucción. Este Lenguaje fue el primero empleado por el hombre en
la programación de las primeras computadoras, con secuencias como esta
01101100101001001111 prácticamente se le decía a las computadoras que hacer,
esto será muy fácil de comprender para la maquina debido a que le hablamos en
su propio "idioma" pero es muy difícil de comprender para nosotros
Lo que caracteriza a este lenguaje es que está compuesto de código binario
Ejemplo de Instrucciones en lenguaje de maquina : 0010, 0000, 1001, 1001,
10001, 1110.
b) LENGUAJE ENSAMBLADOR (BAJO NIVEL)
El lenguaje ensamblador es el lenguaje de programación utilizado para escribir
programas informáticos de bajo nivel, y constituye la representación más directa
del Código máquina específico para cada arquitectura de computadoras legible
por un programador. Aun hoy se utiliza en la programación de handler o
manipuladores de dispositivos de hardware.
Características
• El código escrito en lenguaje ensamblador posee una cierta dificultad de ser
entendido directamente por un ser humano ya que su estructura se acerca más
bien al lenguaje máquina, es decir, lenguaje de bajo nivel.
• El lenguaje ensamblador es difícilmente portable, es decir, un código escrito
para un Microprocesador, suele necesitar ser modificado, muchas veces en su
totalidad para poder ser usado en otra máquina distinta, aun con el mismo
Microprocesador, solo pueden ser reutilizados secciones especiales del código
programado.
• Los programas hechos en lenguaje ensamblador, al ser programado
directamente sobre Hardware, son generalmente más rápidos y consumen menos
recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en
lenguaje ensamblador se pueden crear programas que se ejecutan más
rápidamente y ocupan menos espacio que con lenguajes de alto nivel.
• Con el lenguaje ensamblador se tiene un control muy preciso de las tareas
realizadas por un Microprocesador por lo que se pueden crear segmentos de
código difíciles de programar en un lenguaje de alto nivel.
• También se puede controlar el tiempo en que tarda una Rutina en
ejecutarse, e impedir que se interrumpa durante su ejecución.
• El lenguaje ensamblador es un código estructurado y gravitatorio
desarrollado sobre un archivo de programación (.ASM), en el cual pueden existir
varios programas, macros o rutinas que pueden ser llamados entre si.

Ejemplo
El siguiente es un ejemplo del programa clásico Hola mundo escrito para la
arquitectura de procesador x86 (bajo el sistema operativo ) en modo texto (por
defecto).
.model small
.stack
.data
Cadena1 DB 'Hola Mundo.$'
.code

programa:
mov ax, @data
mov ds, ax
mov dx, offset Cadena1
mov ah, 9
int 21h
int 20h
end programa

C) LENGUAJE DE ALTO NIVEL


El Lenguaje de alto nivel es aquel que se aproxima más al lenguaje natural
humano que al lenguaje binario de las computadoras, el que se conoce como
lenguaje de bajo nivel. Un lenguaje de alto nivel permite al programador escribir
las instrucciones de un programa utilizando palabras o expresiones sintácticas
muy similares al inglés.
Características
Lenguaje de alto nivel se refiere al nivel más alto de abstracción de lenguaje de
máquina. En lugar de tratar con registros, direcciones de memoria y las pilas de
llamadas, lenguajes de alto nivel se refieren a las variables, matrices, objetos,
aritmética compleja o expresiones booleanas, subrutinas y funciones, bucles,
hilos, cierres y otros conceptos de informática abstracta, con un enfoque en la
facilidad de uso sobre la eficiencia óptima del programa.
Ejemplos de lenguajes de alto nivel
• C++
• Fortran.
• Java.
• Perl.
• PHP.
• Python
CONCLUSIONES
Un lenguaje de alto nivel es como el que todo el mundo usa para
programar, como c++, c, java, etc
Un lenguaje ensamblador se almacena como texto que corresponden al
flujo de ordenes de un microprocesador
Un lenguaje de bajo nivel es el más ambiguo de todos, es código binario
que la computadora lee para ejecutarlo
Es importante conoce que tipos de lenguajes existen para así poder
identificar el tipo de lenguaje que nosotros utilizamos y de acuerdo a ello, ver de
que forma nos comunicamos con la computadora para que ejecute nuestras
instrucciones

REFERENCIAS BIBLIOGRÁFICAS

 Belmonte, Oscar, (2004), Introducción al lenguaje de programación Java,


Universitat Jaume, en
http://www3.uji.es/~belfern/pdidoc/IX26/Documentos/introJava.pdf
(Descargado el 03 de octubre de 2021)
 Bonet, Enrique, (SF), Lenguaje C, Universidad de Valencia, en
http://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf
(Descargado el 3 de octubre de 2021)

También podría gustarte