Download 3. Lenguajes de programacion

Document related concepts

Lisp wikipedia , lookup

Programación funcional wikipedia , lookup

Haxe wikipedia , lookup

Ocaml wikipedia , lookup

Scala (lenguaje de programación) wikipedia , lookup

Transcript
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.
Introducción

Código Fuente

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.

Lenguaje de programación

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.

Aplicación

es el término que se utiliza para designar
un programa que se ejecuta en la
computadora.
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.
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.
Código fuente
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;
}
MSc. Lic. David Escalera C.
Características de un programa

Las características que debe tener un
programa son:
 Legibilidad
 Fiabilidad
 Portabilidad
 Modificabilidad
 Eficiencia
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.
Lenguajes de programación
• Objetivo de un leng. de programación: Trabajar de manera
organizada
• 1a Gen: Computadoras se programaban en código binario. Cada
modelo tiene su propio código, por esa razón se llama lenguaje de
máquina.
• 2a Gen: Los lenguajes simbólicos, simplifican la escritura de las
instrucciones y las hacen más legibles.
• 3a Gen: Los lenguajes de alto nivel sustituyen las instrucciones
simbólicas por códigos independientes de la máquina, parecidas al
lenguaje humano o al de las Matemáticas.
• 4a Gen: Surge la programación orientada a objetos. Están orientados
a resultados e incluyen lenguajes de interrogatorio o "query", con
bases de datos. Los programas son mucho más fáciles de escribir.
• 5a Gen: Lenguajes de inteligencia artificial.
MSc. Lic. David Escalera C.
Lenguajes de programación
MSc. Lic. David Escalera C.
Lenguajes de programación
Los lenguajes de programación se
dividen en:
• Lenguaje máquina.
• Lenguaje de Bajo Nivel
• Lenguaje de Alto Nivel.
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.
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.
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.
Ejemplo de instrucciones de
suma y resta
Lenguaje de
alto nivel
Lenguaje
máquina
+
Lenguaje de
bajo nivel
(Ensamblador)
ADD
_
SUB
010011
MSc. Lic. David Escalera C.
100101
El proceso de la programación
• Recolección de información
• Análisis
• Diseño
• Desarrollo
• Pruebas
• Implementación
• Capacitación
MSc. Lic. David Escalera C.
El proceso de la programación
• Programación Lineal o secuencial
• Programación Estructurada
• Programación Modular
• Programación Orientada a Objetos
MSc. Lic. David Escalera C.
Traducción, Interpretación y Compilación
•
Ensamblador.
•
Preprocesador.
•
Traductor.
• Interprete.

MSc. Lic. David Escalera C.
Compilador.
Traductores de lenguaje

Son programas que traducen los
programas fuente (escritos en lenguaje
de alto nivel) a lenguaje máquina
PROGRAMA
FUENTE
TRADUCTOR
MSc. Lic. David Escalera C.
LENGUAJE
MAQUINA
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.
Paradigma orientado a objetos vs
Paradigma imperativo/estructurado
• P.O.O
• Un método de implementación en el que los
programas son organizados como colecciones
cooperativas de objetos, cada uno de los cuales
representa una instancia de alguna clase, y cuyas
clases son miembros de jerarquías de clases
unidas a través de una relación de herencia.
• P.E.
• Este tipo de programación se basa en la
modularidad de los programas. Esto quiere decir
que los programas se dividen en módulos más
pequeños, y cada uno realiza una tarea específica.
Así, la complejidad de un problema determinado
también se ve reducida al dividir las tareas, que,
en su conjunto, permiten la resolución de éste.
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.
Pasos para resolver un
problema:
1.
2.
3.
4.
Definición del problema
Diseño del algoritmo para resolverlo
Transformación del algoritmo en un
programa
Ejecución y validación del programa
Problema
Diseño del
algoritmo
Programa
de
computadora
MSc. Lic. David Escalera C.
Ejecución
y
validación