15
Algoritmos Conceptos básicos III 1 Universidad Veracruzana Ricardo Carrera Hernández Agosto 2014 Campus Ixtac

4. Conceptos básicos III

Embed Size (px)

Citation preview

Page 1: 4. Conceptos básicos III

1

AlgoritmosConceptos básicos III

Universidad Veracruzana

Ricardo Carrera Hernández

Agosto 2014

Campus Ixtac

Page 2: 4. Conceptos básicos III

2

Compilación/InterpretaciónConsiste en obtener el programa ejecutable/objeto a partir del

programa fuente.

Programa fuente

Programa Ejecutable

Page 3: 4. Conceptos básicos III

3

PruebaConsiste en determinar si el programa funciona

correctamente y realiza las operaciones que esperamos de

él.

Programa Ejecutable Aplicación

Page 4: 4. Conceptos básicos III

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

Page 5: 4. Conceptos básicos III

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.

Page 6: 4. Conceptos básicos III

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

Page 7: 4. Conceptos básicos III

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

Page 8: 4. Conceptos básicos III

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

Page 9: 4. Conceptos básicos III

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,...

Page 10: 4. Conceptos básicos III

10

Ejemplo de lenguaje de alto nivel

#include <stdio.h>

int main(void) {

printf("Hola, Mundo\n");}

Page 11: 4. Conceptos básicos III

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.

Page 12: 4. Conceptos básicos III

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

Page 13: 4. Conceptos básicos III

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

Page 14: 4. Conceptos básicos III

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

Page 15: 4. Conceptos básicos III

15

AlgoritmosConceptos básicos III

Universidad Veracruzana

Ricardo Carrera Hernández

Agosto 2014

Campus Ixtac