SlideShare una empresa de Scribd logo
1 de 15
Algoritmos
Conceptos básicos III
1
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac
Compilación/Interpretación
2
Consiste en obtener el programa ejecutable/objeto a partir del
programa fuente.
Programa fuente
Programa Ejecutable
Prueba
3
Consiste en determinar si el programa funciona
correctamente y realiza las operaciones que esperamos de
él.
Programa Ejecutable Aplicación
Lenguajes de programación
4
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
Lenguaje máquina
5
 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.
Ejemplo de lenguaje máquina
6
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
Lenguaje de alto nivel
7
 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
Ejemplo de lenguaje
ensamblador
8
; HOLA.ASM
STACK SEGMENT STACK ; Segmento de pila
DW 64 DUP (?) ; Define espacio en la pila
STACK ENDS
DATA SEGMENT ; Segmento de datos
SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena
DATA 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 21H
CODE ENDS
END INICIO ; Marca fin y define INICIO
Lenguaje de alto nivel
9
 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,...
Ejemplo de lenguaje de alto
nivel
10
#include <stdio.h>
int main(void)
{
printf("Hola, Mundon");
}
Traductores de lenguajes
11
Son 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.
Intérprete
12
Es 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
Compilación
13
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
Etapas de programación 14
Código Fuente
Compilador
Modificación del
programa fuente
Existen
Errores Código objeto
Linkado/
Interpretación
Programa
Ejecutable
Existen
Errores
Pruebas
Existen
Errores
No
No
Errores
léxicos
Tiempo de
compilación
Errores de
ejecución
Tiempo de
ejecución
Errores
lógicos
Tiempo de
pruebas
APLICACIÓN
BUENA PROGRAMACIÓN
Algoritmos
Conceptos básicos III
15
Universidad Veracruzana
Ricardo Carrera Hernández
Agosto 2014
Campus Ixtac

Más contenido relacionado

La actualidad más candente

Lenguajes de bajo nivel
Lenguajes de bajo nivelLenguajes de bajo nivel
Lenguajes de bajo nivelfelipehhg
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de ProgramaciónSandra Esposito
 
Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?charnisch
 
Lenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensambladorLenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensambladorAdriana Polly
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Ernes 28
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionJhampier_Piedra
 
Actividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lecturaActividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lecturaacdurcor
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquinaErnes 28
 
Lenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptLenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptSergio Sorelas
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorsalvaradomar
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónRonay Garcia
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Alejandro Perez
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION Katherine Parra
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)YJGG
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programaciónrmirandaibanez
 

La actualidad más candente (20)

Lenguajes de bajo nivel
Lenguajes de bajo nivelLenguajes de bajo nivel
Lenguajes de bajo nivel
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?Que Es Un Lenguaje De Programacion...?
Que Es Un Lenguaje De Programacion...?
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensambladorLenguaje de máquina y lenguaje ensamblador
Lenguaje de máquina y lenguaje ensamblador
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacion
 
Actividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lecturaActividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lectura
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquina
 
Lenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptLenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.ppt
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensamblador
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
Tipos y caracteristicas de lenguajes de programacion. ( adolfo elias).
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
Algoritmos y programas
Algoritmos y programasAlgoritmos y programas
Algoritmos y programas
 
Exposición de Lenguajes de Programación
Exposición de Lenguajes de ProgramaciónExposición de Lenguajes de Programación
Exposición de Lenguajes de Programación
 
Ensayo
EnsayoEnsayo
Ensayo
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programación
 

Destacado

1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducciónrcarrerah
 
3. Conceptos básicos II
3. Conceptos básicos II3. Conceptos básicos II
3. Conceptos básicos IIrcarrerah
 
2. Conceptos básicos I
2. Conceptos básicos I2. Conceptos básicos I
2. Conceptos básicos Ircarrerah
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte iircarrerah
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte iircarrerah
 
13. arreglos parte ii
13. arreglos parte ii13. arreglos parte ii
13. arreglos parte iircarrerah
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte ircarrerah
 
8. estructuras de control parte i
8. estructuras de control parte i8. estructuras de control parte i
8. estructuras de control parte ircarrerah
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencialrcarrerah
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte ircarrerah
 
5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmorcarrerah
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1charnisch
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instruccionesrcarrerah
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos TiffanyMartinez
 

Destacado (16)

1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducción
 
3. Conceptos básicos II
3. Conceptos básicos II3. Conceptos básicos II
3. Conceptos básicos II
 
2. Conceptos básicos I
2. Conceptos básicos I2. Conceptos básicos I
2. Conceptos básicos I
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte ii
 
13. arreglos parte ii
13. arreglos parte ii13. arreglos parte ii
13. arreglos parte ii
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte i
 
8. estructuras de control parte i
8. estructuras de control parte i8. estructuras de control parte i
8. estructuras de control parte i
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
 
5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmo
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Adsi c02-gd01 guia solucion de algoritmos
Adsi c02-gd01 guia solucion de algoritmosAdsi c02-gd01 guia solucion de algoritmos
Adsi c02-gd01 guia solucion de algoritmos
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos
 
Algoritmo en powerpoint
Algoritmo en powerpointAlgoritmo en powerpoint
Algoritmo en powerpoint
 

Similar a 4. Conceptos básicos III

LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónKatherine Gonzales
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de ProgramacionLauracks
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacionmichelledelgado97
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónanderson03230812
 
Compiladores
CompiladoresCompiladores
Compiladoreshenry_shd
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONBryan Perdomo
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionjuanjokobrax
 

Similar a 4. Conceptos básicos III (20)

LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
lenguaje de Programacion
lenguaje de Programacionlenguaje de Programacion
lenguaje de Programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Informática
InformáticaInformática
Informática
 
Informática
InformáticaInformática
Informática
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 

Más de rcarrerah

Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesosrcarrerah
 
Ejercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okEjercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okrcarrerah
 
3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativosrcarrerah
 
Expresiones matemáticas
Expresiones matemáticasExpresiones matemáticas
Expresiones matemáticasrcarrerah
 
2. hardware de computadora PC
2. hardware de computadora PC2. hardware de computadora PC
2. hardware de computadora PCrcarrerah
 
1. introducción a los so
1. introducción a los so1. introducción a los so
1. introducción a los sorcarrerah
 
Algoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos IAlgoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos Ircarrerah
 
3. integración empresarial
3. integración empresarial3. integración empresarial
3. integración empresarialrcarrerah
 
2. tecnologías de la información conceptos (preguntas)
2. tecnologías de la información  conceptos (preguntas)2. tecnologías de la información  conceptos (preguntas)
2. tecnologías de la información conceptos (preguntas)rcarrerah
 
Guia apa 6ta
Guia apa 6taGuia apa 6ta
Guia apa 6tarcarrerah
 
Formato apa sexta edición
Formato apa sexta ediciónFormato apa sexta edición
Formato apa sexta ediciónrcarrerah
 
Aparato critico y apa
Aparato critico y apaAparato critico y apa
Aparato critico y aparcarrerah
 
Herramientas para creación de documentos
Herramientas para creación de documentosHerramientas para creación de documentos
Herramientas para creación de documentosrcarrerah
 
Soluciones integrales en las organizaciones
Soluciones integrales en las organizacionesSoluciones integrales en las organizaciones
Soluciones integrales en las organizacionesrcarrerah
 

Más de rcarrerah (15)

Recurrencia en procesos
Recurrencia en procesosRecurrencia en procesos
Recurrencia en procesos
 
Ejercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión okEjercicios de algoritmos de decisión ok
Ejercicios de algoritmos de decisión ok
 
4. procesos
4. procesos4. procesos
4. procesos
 
3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos3. Conceptos de sistemas operativos
3. Conceptos de sistemas operativos
 
Expresiones matemáticas
Expresiones matemáticasExpresiones matemáticas
Expresiones matemáticas
 
2. hardware de computadora PC
2. hardware de computadora PC2. hardware de computadora PC
2. hardware de computadora PC
 
1. introducción a los so
1. introducción a los so1. introducción a los so
1. introducción a los so
 
Algoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos IAlgoritmos - Conceptos básicos I
Algoritmos - Conceptos básicos I
 
3. integración empresarial
3. integración empresarial3. integración empresarial
3. integración empresarial
 
2. tecnologías de la información conceptos (preguntas)
2. tecnologías de la información  conceptos (preguntas)2. tecnologías de la información  conceptos (preguntas)
2. tecnologías de la información conceptos (preguntas)
 
Guia apa 6ta
Guia apa 6taGuia apa 6ta
Guia apa 6ta
 
Formato apa sexta edición
Formato apa sexta ediciónFormato apa sexta edición
Formato apa sexta edición
 
Aparato critico y apa
Aparato critico y apaAparato critico y apa
Aparato critico y apa
 
Herramientas para creación de documentos
Herramientas para creación de documentosHerramientas para creación de documentos
Herramientas para creación de documentos
 
Soluciones integrales en las organizaciones
Soluciones integrales en las organizacionesSoluciones integrales en las organizaciones
Soluciones integrales en las organizaciones
 

4. Conceptos básicos III

  • 1. Algoritmos Conceptos básicos III 1 Universidad Veracruzana Ricardo Carrera Hernández Agosto 2014 Campus Ixtac
  • 2. Compilación/Interpretación 2 Consiste en obtener el programa ejecutable/objeto a partir del programa fuente. Programa fuente Programa Ejecutable
  • 3. Prueba 3 Consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de él. Programa Ejecutable Aplicación
  • 4. Lenguajes de programación 4 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 5  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 6 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 7  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 8 ; HOLA.ASM STACK SEGMENT STACK ; Segmento de pila DW 64 DUP (?) ; Define espacio en la pila STACK ENDS DATA SEGMENT ; Segmento de datos SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena DATA 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 21H CODE ENDS END INICIO ; Marca fin y define INICIO
  • 9. Lenguaje de alto nivel 9  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 10 #include <stdio.h> int main(void) { printf("Hola, Mundon"); }
  • 11. Traductores de lenguajes 11 Son 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érprete 12 Es 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 13 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
  • 14. Etapas de programación 14 Código Fuente Compilador Modificación del programa fuente Existen Errores Código objeto Linkado/ Interpretación Programa Ejecutable Existen Errores Pruebas Existen Errores No No Errores léxicos Tiempo de compilación Errores de ejecución Tiempo de ejecución Errores lógicos Tiempo de pruebas APLICACIÓN BUENA PROGRAMACIÓN
  • 15. Algoritmos Conceptos básicos III 15 Universidad Veracruzana Ricardo Carrera Hernández Agosto 2014 Campus Ixtac