Está en la página 1de 15

Adrián Rivero Jiménez

ALGORITMOS.

1
7. Lenguajes de programación
7.1 Concepto
7.2 Lenguajes máquina
7.3 Lenguaje ensamblador
7.4 Lenguajes de medio nivel
7.5 Lenguajes de alto nivel
7.6 Lenguajes imperativos
7.7 Lenguajes funcionales
7.8 Lenguajes lógicos
7.9 Lenguaje orientados a objetos

2
2
BLOQUE 7 Los lenguajes de programación son Expresiones.
estructuras simbólicas que nos Son valores expresados de forma
permiten disponer de los dispositivos entendible para el lenguaje de
de una computadora. programación.

Los lenguajes de programación tienen Símbolos especiales.


los siguientes elementos. Son los caracteres (generalmente no
más de dos), que provocan un
Estructura del código. comportamiento predecible dentro de

7.1 Es la forma general en que deberá


escribirse un programa, con el fin de
un programa.

Concepto. delimitar los bloques de código que los


componen, en una forma ordenada y
Sintaxis.
Según la Real Academia Española, la
sistemática. sintaxis es la parte de la gramática
que enseña a coordinar y unir
Palabras reservadas. palabras para formar oraciones y
Son palabras con significado dentro del expresar conceptos.
lenguaje de programación, que no
podrán ser utilizadas más que en el Semántica.
sentido original en el que fueron Son las reglas que determinan el
creadas. significado que ha de dársele a una
palabra reservada, expresión o
símbolo especial, dependiendo del
contexto de sintaxis en que se
3 encuentran.
BLOQUE 7

Son lenguajes totalmente dependientes de la máquina, es decir que


el programa que se realiza con este tipo de lenguajes no se pueden
migrar o utilizar en otras máquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan


7.2 al máximo las características del mismo. Dentro de este grupo se

Lenguaje encuentran:

máquina. El lenguaje máquina: este lenguaje ordena a la máquina las


operaciones fundamentales para su funcionamiento. Consiste en la
combinación de 0's y 1's para formar las órdenes entendibles por el
hardware de la máquina.

4
• El lenguaje ensamblador es un derivado del lenguaje máquina y
7.3 Lenguaje está formado por abreviaturas de letras y números llamadas

ensamblador. mnemotécnicos. Con la aparición de este lenguaje se crearon


los programas traductores para poder pasar los programas
escritos en lenguaje ensamblador a lenguaje máquina.

5
BLOQUE 7

Se trata de un término no aceptado por todos, pero que seguramente


habrás oído. Estos lenguajes se encuentran en un punto medio entre

7.4 los dos anteriores. Dentro de estos lenguajes podría situarse C ya


que puede acceder a los registros del sistema, trabajar con
Lenguajes direcciones de memoria, todas ellas características de lenguajes de
bajo nivel y a la vez realizar operaciones de alto nivel.
de medio
nivel.

6
BLOQUE 7

Lenguajes de alto nivel

Son aquellos que se


encuentran más cercanos al
lenguaje natural que al
7.5 Lenguajes lenguaje máquina.

de alto nivel. Nos permiten crear


estructuras de datos que se
adapten a las necesidades
reales de un programa.

7
Características:
7.6 Lenguajes
imperativos. •

Definición de procedimientos
Definición de tipos de datos
• Chequeo de tipos en tiempo de compilación
• Cambio de estado de variables
• Pasos de ejecución de un proceso

Ejemplo: PASCAL

8
BLOQUE 7

type
tDimension = 1..100;
eMatriz(f,c: tDimension) = array [1..f,1..c] of real;

tRango = record
f,c: tDimension value 1;
end;
Lenguajes tpMatriz = ^eMatriz;
imperativos. procedure EscribirMatriz(var m: tpMatriz);
var filas,col : integer;
begin
for filas := 1 to m^.f do begin
for col := 1 to m^.c do
write(m^[filas,col]:7:2);
writeln(resultado);
writeln(resultado)
end;
end;

9
7.7 Lenguajes funcionales.

Resumen de las características principales:

• La computación se realiza mediante la evaluación de


expresiones
• Definición de funciones
• Funciones como datos primitivos
• Valores sin efectos laterales, no existen referencias a
celdas de memoria en las que se guarda un estado
modificable
• Programación declarativa (en la programación
funcional pura)

Lenguajes: Lisp, Scheme, Haskell, Scala, Clojure.

10
Lenguajes funcionales.

(define (factorial x)
(if (= x 0)
1
(* x (factorial (- x 1)))))

(factorial 8)
40320
(factorial 30)
265252859812191058636308480000000

11
Características:
7.8 Lenguajes
lógicos. •

Definición de reglas
Unificación como elemento de computación
• Programación declarativa

Lenguajes: Prolog, Mercury, Oz.

12
BLOQUE 7 padrede('juan', 'maria'). % juan es padre de maria
padrede('pablo', 'juan'). % pablo es padre de juan
padrede('pablo', 'marcela').
padrede('carlos', 'debora').

hijode(A,B) :- padrede(B,A).
abuelode(A,B) :- padrede(A,C), padrede(C,B).
hermanode(A,B) :- padrede(C,A) , padrede(C,B), A \==
Lenguajes B.

lógicos. familiarde(A,B) :- padrede(A,B).


familiarde(A,B) :- hijode(A,B).
familiarde(A,B) :- hermanode(A,B).

?- hermanode('juan', 'marcela').
yes
?- hermanode('carlos', 'juan').
no
?- abuelode('pablo', 'maria').
yes
?- abuelode('maria', 'pablo').
no
13
Características:
Lenguajes
orientados a •

Definición de clases y herencia
Objetos como abstracción de datos y procedimientos
objetos. • Polimorfismo y chequeo de tipos en tiempo de ejecución

Ejemplo (Java):

14
BLOQUE 7 public int marcha;
public int velocidad;
public MountainBike(int
public Bicicleta(int velocidadInicial, alturaInicial,
int marchaInicial) { int velocidadInicial,
marcha = marchaInicial; int marchaInicial) {
velocidad = velocidadInicial; super(velocidadInicial,
} marchaInicial);
alturaSillin = alturaInicial;
public void setMarcha(int }

7.9 Lenguajes nuevoValor) {

}
marcha = nuevoValor; public void setAltura(int
nuevoValor) {
orientados a public void frenar(int decremento) { }
alturaSillin = nuevoValor;

objetos. }
velocidad -= decremento; }

public class Excursion {


public void acelerar(int incremento) public static void main(String[]
{ args) {
velocidad += incremento; MountainBike miBicicleta = new
} MoutainBike(10,10,3);
} miBicicleta.acelerar(10);
public class MountainBike extends miBicicleta.setMarcha(4);
Bicicleta { miBicicleta.frenar(10);
public int alturaSillin; }
}

15

También podría gustarte