23
Lenguajes de Programación MSc. Lic. David Escalera C.

Lenguajes de Programación MSc. Lic. David Escalera C

Embed Size (px)

Citation preview

Page 1: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de Programación

MSc. Lic. David Escalera C.

Page 2: Lenguajes de Programación MSc. Lic. David Escalera C

Introducción

Elementos del lenguaje

identificadores: los nombres que se dan a las variables

Tipos de datos Palabras reservadas: las palabras que

utiliza el propio lenguaje Sentencias Bloques de código Comentarios Expresiones Operadores

MSc. Lic. David Escalera C.

Page 3: Lenguajes de Programación MSc. Lic. David Escalera C

Introducción Código Fuente

Lenguaje de programación

Aplicación

es un conjunto de líneas que conforman un bloque de texto, escrito según las reglas sintácticas de algún lenguaje de programación destinado a ser legible por humanos.

es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático.

es el término que se utiliza para designar un programa que se ejecuta en la computadora.

MSc. Lic. David Escalera C.

Page 4: Lenguajes de Programación MSc. Lic. David Escalera C

Definición de Programa

Un programa es un conjunto de instrucciones, que se escriben de forma clara y ordenada. Con la finalidad de procesar información en una computadora.

MSc. Lic. David Escalera C.

Page 5: Lenguajes de Programación MSc. Lic. David Escalera C

Programación

Programación: Es la proyección, planificación o ejecución de una tarea o proceso. Para otros autores, es describir lo que debe hacer la computadora para resolver un problema concreto utilizando un determinado lenguaje de programación

MSc. Lic. David Escalera C.

Page 6: Lenguajes de Programación MSc. Lic. David Escalera C

Código fuente

MSc. Lic. David Escalera C.

public static void inicia(int[,] m) { int i, j, res = 0; for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) m[i, j] = -1; }

Page 7: Lenguajes de Programación MSc. Lic. David Escalera C

Características de un programa Las características que debe tener un

programa son:

LegibilidadFiabilidadPortabilidadModificabilidadEficiencia

MSc. Lic. David Escalera C.

Page 8: Lenguajes de Programación MSc. Lic. David Escalera C

Aplicaciones Actuales

La tendencia actual en el software de aplicaciones es la integración. Los proveedores de software se ven forzados a ofrecer paquetes completos y bien integrados para sobrevivir.

MSc. Lic. David Escalera C.

Page 9: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de programación• Objetivo de un leng. de programación: Trabajar de manera Objetivo de un leng. de programación: Trabajar de manera

organizadaorganizada

• 1a Gen: Computadoras se programaban en código binario. 1a Gen: Computadoras se programaban en código binario. Cada modelo tiene su propio código, por esa razón se llama Cada modelo tiene su propio código, por esa razón se llama lenguaje de máquina.lenguaje de máquina.

• 2a Gen: Los lenguajes simbólicos, simplifican la escritura de 2a Gen: Los lenguajes simbólicos, simplifican la escritura de las instrucciones y las hacen más legibles.las instrucciones y las hacen más legibles.

• 3a Gen: Los lenguajes de alto nivel sustituyen las 3a Gen: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las máquina, parecidas al lenguaje humano o al de las Matemáticas.Matemáticas.

• 4a Gen: Surge la programación orientada a objetos. Están 4a Gen: Surge la programación orientada a objetos. Están orientados a resultados e incluyen lenguajes de orientados a resultados e incluyen lenguajes de interrogatorio o "query", con bases de datos. Los programas interrogatorio o "query", con bases de datos. Los programas son mucho más fáciles de escribir.son mucho más fáciles de escribir.

• 5a Gen: Lenguajes de inteligencia artificial.5a Gen: Lenguajes de inteligencia artificial.MSc. Lic. David Escalera C.

Page 10: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de programación

MSc. Lic. David Escalera C.

Page 11: Lenguajes de Programación MSc. Lic. David Escalera C

Los lenguajes de programación se Los lenguajes de programación se dividen en:dividen en:

• Lenguaje máquina.Lenguaje máquina.

• Lenguaje de Bajo NivelLenguaje de Bajo Nivel

• Lenguaje de Alto Nivel.Lenguaje de Alto Nivel.

Lenguajes de programación

MSc. Lic. David Escalera C.

Page 12: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de Programación Lenguaje de Máquina

Son lenguajes que están expresados en lenguajes directamente inteligibles por la maquina (computador), siendo sus instrucciones cadenas binarias de 1 y 0, que especifican una operación.

MSc. Lic. David Escalera C.

Page 13: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de programación Lenguaje de Bajo Nivel

Son lenguajes mas fáciles de usar que los lenguajes de maquina, pero también dependen de la maquina en particular, el lenguaje de bajo nivel por exelencia es el ensamblador

MSc. Lic. David Escalera C.

Page 14: Lenguajes de Programación MSc. Lic. David Escalera C

Lenguajes de programación Lenguaje de Alto Nivel

Estos son los mas usados por los programadores, han sido diseñados para que las personas puedan escribir y entender de manera mas fácil los programas

MSc. Lic. David Escalera C.

Page 15: Lenguajes de Programación MSc. Lic. David Escalera C

Ejemplo de instrucciones de suma y resta

Lenguaje de alto nivel

Lenguaje de bajo nivel

(Ensamblador)

Lenguaje máquina

+ ADD 100101

_ SUB 010011

MSc. Lic. David Escalera C.

Page 16: Lenguajes de Programación MSc. Lic. David Escalera C

• Recolección de informaciónRecolección de información

• AnálisisAnálisis

• DiseñoDiseño

• DesarrolloDesarrollo

• PruebasPruebas

• ImplementaciónImplementación

• CapacitaciónCapacitación

El proceso de la programación

MSc. Lic. David Escalera C.

Page 17: Lenguajes de Programación MSc. Lic. David Escalera C

• Programación Lineal o secuencialProgramación Lineal o secuencial

• Programación EstructuradaProgramación Estructurada

• Programación ModularProgramación Modular

• Programación Orientada a ObjetosProgramación Orientada a Objetos

El proceso de la programación

MSc. Lic. David Escalera C.

Page 18: Lenguajes de Programación MSc. Lic. David Escalera C

• Ensamblador.Ensamblador.

• Preprocesador.Preprocesador.

• Traductor.Traductor.

• Interprete.Interprete. Compilador. Compilador.

Traducción, Interpretación y Compilación

MSc. Lic. David Escalera C.

Page 19: Lenguajes de Programación MSc. Lic. David Escalera C

Traductores de lenguaje

Son programas que traducen los programas fuente (escritos en lenguaje de alto nivel) a lenguaje máquina

PROGRAMAPROGRAMAFUENTEFUENTE TRADUCTORTRADUCTOR LENGUAJELENGUAJE

MAQUINAMAQUINA

MSc. Lic. David Escalera C.

Page 20: Lenguajes de Programación MSc. Lic. David Escalera C

Los traductores se dividen en:

Compiladores. Traduce los programas fuente (escritos en lenguaje de alto nivel) a lenguaje máquina. Ej. C y FORTRAN

Intérpretes. Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. Ej. BASIC, Smalltalk

MSc. Lic. David Escalera C.

Page 21: Lenguajes de Programación MSc. Lic. David Escalera C

Paradigma orientado a objetos vs Paradigma imperativo/estructurado

• P.O.OP.O.O

• Un método de implementación en el que los Un método de implementación en el que los programas son organizados como colecciones programas son organizados como colecciones cooperativas de objetos, cada uno de los cuales cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas representa una instancia de alguna clase, y cuyas clases son miembros de jerarquías de clases clases son miembros de jerarquías de clases unidas a través de una relación de herencia.unidas a través de una relación de herencia.

• P.E.P.E.

• Este tipo de programación se basa en la Este tipo de programación se basa en la modularidad de los programas. Esto quiere decir modularidad de los programas. Esto quiere decir que los programas se dividen en módulos más que los programas se dividen en módulos más pequeños, y cada uno realiza una tarea específica. pequeños, y cada uno realiza una tarea específica. Así, la complejidad de un problema determinado Así, la complejidad de un problema determinado también se ve reducida al dividir las tareas, que, también se ve reducida al dividir las tareas, que, en su conjunto, permiten la resolución de éste. en su conjunto, permiten la resolución de éste.

MSc. Lic. David Escalera C.

Page 22: Lenguajes de Programación MSc. Lic. David Escalera C

Introducción a la programación

La principal razón para que las personas aprendan

lenguajes de programación es utilizar la computadora como

una herramienta para la resolución de problemas.

MSc. Lic. David Escalera C.

Page 23: Lenguajes de Programación MSc. Lic. David Escalera C

Pasos para resolver un problema:

1. Definición del problema

2. Diseño del algoritmo para resolverlo

3. Transformación del algoritmo en un programa

4. Ejecución y validación del programa

ProblemaProblema Diseño del Diseño del algoritmoalgoritmo

Programa Programa de de

computadoracomputadora

Ejecución Ejecución y y

validaciónvalidación

MSc. Lic. David Escalera C.