Upload
rcarrerah
View
437
Download
1
Embed Size (px)
Citation preview
1
AlgoritmosConceptos básicos III
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac
2
Compilación/InterpretaciónConsiste en obtener el programa ejecutable/objeto a partir del
programa fuente.
Programa fuente
Programa Ejecutable
3
PruebaConsiste en determinar si el programa funciona
correctamente y realiza las operaciones que esperamos de
él.
Programa Ejecutable Aplicación
4
Lenguajes de programación
Lenguaje de Programación: es un lenguaje que permite la traducción de un algoritmo para que sea entendible por la computadora. Son los lenguajes utilizados para escribir programas de computadoras.
Tipos de Lenguaje de Programación:
Lenguaje de Máquina
Lenguaje de Bajo Nivel (Ensamblador)
Lenguaje de Alto Nivel
5
Lenguaje máquina Son aquellos que están escritos en lenguaje directamente
comprensible por la máquina, ya que sus instrucciones son cadenas
binarias (0’s ,1’s) que especifican una operación.
Las instrucciones en lenguaje máquina dependen del Hardware de la
computadora; difiere de una computadora a otra.
La ventaja de los lenguajes máquina es que ofrecen mayor velocidad
de ejecución.
Existen algunas desventajas: dificultad y lentitud en la codificación,
poca fiabilidad, los programas no son portables.
6
Ejemplo de lenguaje máquina
11001010 00010111 11110101 00101011
00010111 11110101 00101011 00101011
11001010 00010111 11110101 00101011
00010111 11110101 00101011 00101011
11001010 11110101 00101011 00101011
11001010 11001010 11110101 00101011
11001010 11110101 00101011 00101011
11001010 00010111 11110101 00101011
00010111 11110101 00101011 00101011
11001010 11110101 00101011 00101011
7
Lenguaje de alto nivel Son lenguajes que permiten escribir programas con instrucciones similares al
lenguaje humano.
Son más fáciles de utilizar que los lenguajes de máquina, pero éstos también
dependen de la máquina en particular.
Un programa escrito en lenguaje ensamblador requiere una fase de
traducción.
Entre las desventajas tenemos: que este lenguaje depende de la máquina y
demanda una mayor exigencia para los programadores, ya que deben conocer
tanto las técnicas de programación así como el interior de la máquina
8
Ejemplo de lenguaje ensamblador
; HOLA.ASMSTACK SEGMENT STACK ; Segmento de pila DW 64 DUP (?) ; Define espacio en la pilaSTACK ENDS DATA SEGMENT ; Segmento de datosSALUDO DB "Hola mundo!!",13,10,"$" ; CadenaDATA ENDS
INICIO: ; Punto de entrada al programa MOV AX,DATA ; Pone dirección en AX MOV DS,AX ; Pone la dirección en los registros MOV DX,OFFSET SALUDO ; Obtiene dirección del mensaje MOV AH,09H ; Función: Visualizar cadena INT 21H ; Servicio: Funciones alto nivel DOS MOV AH,4CH ; Función: Terminar INT 21HCODE ENDS END INICIO ; Marca fin y define INICIO
9
Lenguaje de alto nivel Son los más utilizados por los programadores
Son independientes de la máquina
Los programas escritos en estos lenguajes son portables
Aumento de la ocupación de la memoria
Las estructuras de los programas se basan en reglas sintácticas
Ejemplos: C, C++, Pascal, Ada, Prolog, Visual Basic, Delphi, Java,...
10
Ejemplo de lenguaje de alto nivel
#include <stdio.h>
int main(void) {
printf("Hola, Mundo\n");}
11
Traductores de lenguajesSon programas que traducen a su vez los programas fuentes
escritos en lenguajes de alto nivel a código máquina. Estos se
dividen en intérpretes y compiladores.
12
IntérpreteEs un traductor que toma un programa fuente, lo traduce línea a línea y
a continuación la ejecuta una por una, (Basic).
Programa fuente
Intérprete
Traducción y ejecución línea a
línea
13
Compilación
Es el proceso de traducción de programas
fuentes a programas objetos. En este proceso
se debe utilizar como paso intermedio un
programa llamado enlazador (linker) el cual da
como resultado un programa en lenguaje
máquina directamente ejecutable.
Programa fuente
Compilador
Programa objeto
Enlazador
Programa ejecutable en
lenguaje máquina
14Etapas de programación
Código Fuente
Compilador
Modificación del programa fuente
ExistenErrores Código objeto
Linkado/Interpretación
Programa Ejecutable
ExistenErrores
PruebasExistenErrores
SINo
No
SI
SI
Errores léxicos
Tiempo de compilació
n
Errores de ejecuciónTiempo de ejecución
Errores lógicos
Tiempo de pruebas
APLICACIÓN
BUENA PROGRAMACIÓN
NO
15
AlgoritmosConceptos básicos III
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac