Discretas
M. en C. Joel Omar Juárez Gambino
Introducción
• En una computadora un algoritmo se expresa a través de un programa • Los lenguajes utilizados para escribir programas de computadora se denominan lenguajes de programación • Los principales tipos de lenguajes utilizados son:
– Lenguajes máquina (0’s y 1’s) – Lenguajes de bajo nivel (ensamblador) – Lenguajes de altonivel
Lenguajes máquina
• El lenguaje que manejan es directamente entendible por la computadora • Sus instrucciones son cadenas binarias que especifican operaciones y posiciones de memoria • Las instrucciones en lenguaje máquina dependen del hardware de la computadora
Lenguajes máquina
• Ejemplo
Dirección 0100 0101 0111 0010 0100 0011 Contenido 0000 0000 0000 0000 0000 0000 0100 01010110
Lenguajes máquina
• Ventajas
– Cargar un programa sin necesidad de traducción posterior – Velocidad superior a cualquier otro lenguaje de programación
• Desventajas
– Dificultad y lentitud en la programación – Dificultad para verificar y corregir errores – Los programas solo se pueden ejecutar en el procesador en que se programó
Lenguajes de bajo nivel
• Son más fáciles deutilizar que los lenguajes máquina, pero igual son dependientes de la arquitectura • Un lenguaje de bajo nivel muy conocido es el ensamblador • El lenguaje ensamblador esta compuesto por un conjunto de instrucciones conocidas como nemotécnicos (ADD, SUB, DIV, etc.) • Este lenguaje no es directamente ejecutable por la máquina y requiere una fase de traducción
Lenguajes de bajo nivel
• Ejemplo:
ADDM, N, P 0110 1001 1010 1011
Lenguajes de bajo nivel
• Ventajas
– Mayor facilidad de codificación – Velocidad de cálculo
• Desventajas
– Dependencia total de la máquina – El diseño de programas requiere no solo de técnicas de programación, sino también el conocimiento interior de la máquina
Lenguajes de alto nivel
• Estos lenguajes ocultan los detalles del funcionamiento delprocesador de las instrucciones que se desean programar • La característica anterior hace posible que los programas hechos con estos lenguajes puedan ser portables (en cierta medida)
Lenguajes de alto nivel
• Ejemplos de lenguajes de alto nivel:
– – – – – – – – – Cobol Fortran C Pascal Basic C++ Visual Basic JAVA C#
Lenguajes de alto nivel
• Ventajas
– El tiempo que se invierte en aprender ellenguaje es relativamente corto – Escritura de programas basada en reglas sintácticas parecidas al lenguaje humano – Proceso de verificación y corrección de errores sencillo – Transportabilidad
Lenguajes de alto nivel
• Desventajas
– Requieren un proceso de traducción más complicado y tardado – No se explota al máximo los recursos internos de la máquina – Requieren de más memoria – Tiempo deejecución del programa mucho más tardado
Traductores de lenguaje
• Los traductores de lenguaje son programas que traducen los programas fuente escritos en lenguajes de alto nivel a código máquina • Los traductores se dividen en:
– Compiladores – Intérpretes
Intérpretes
• Un interprete es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta
Programa fuenteIntérprete
Traducción y ejecución línea y línea
Compiladores
• Un compilador es un programa que traduce los lenguajes de alto nivel a lenguajes máquina
Programa fuente
Compilador
Programa objeto
Fases de compilación
Programa fuente
Compilador
Programa objeto
Montador (enlazador)
Programa ejecutable en lenguaje máquina
EL LENGUAJE DE PROGRAMACIÓN C
Orígenesde C
• Los orígenes de C datan de finales de los 60's y principios de los años 70's • Se basó en el lenguaje BCPL desarrollado por Martin Richards, y el lenguaje B desarrollado por Ken Thompson • En 1972 el sistema Unix se reescribo en un nuevo lenguaje llamado C desarrollado por Dennis Ritchie en los laboratorios Bell
Orígenes de C
• Brian Kernighan y Dennis Ritchie escriben en 1978 el...
Regístrate para leer el documento completo.