Caja de herramientas de inteligencia artificial para la academia y la investi...
Clasificación de los lenguajes de programación
1. Clasificación de los lenguajes de
programación
Biofísica – Herramientas
Computacionales
2. • La clasificación de los lenguajes de programación
puede darse desacuerdo a varios criterios pero el
mas relevante es al tomar el criterio en el que se
referencia a la proximidad del lenguaje con la
maquina teniendo así: lenguaje de programación
de bajo nivel, lenguaje de programación de nivel
medio y lenguaje de programación de alto nivel
3. Lenguajes de bajo nivel
• son lenguajes de programación que se acercan
al funcionamiento de una computadora. El
lenguaje de más bajo nivel es, por excelencia,
el código máquina. A éste le sigue el lenguaje
ensamblador, ya que al programar en
ensamblador se trabajan con los registros de
memoria de la computadora de forma directa.
4. Características
• Son mucho mas fáciles de utilizar que el lenguaje
máquina, pero dependen mucho de la computadora
como sucedía con el lenguaje máquina.
• El lenguaje ensamblador fue el primer lenguaje de
programación de bajo nivel que trato de sustituir el
lenguaje máquina por otro mucho más parecido al de
los seres humanos.
• El programa fuente es un conjunto de instrucciones
escrito en lenguaje ensamblador, y cuyo objeto es la
traducción a lenguaje máquina del programa fuente.
Los lenguajes de este tipo son agiles, difíciles de usar,
específicos de cada procesador, si nos llevamos el
programa a otro computador será preciso reescribir el
programa desde el comienzo.
5. Ventajas
• Mayor adaptación al equipo.
• Posibilidad de obtener la máxima velocidad
con mínimo uso de memoria.
• La dificultad de tener que aprender un nuevo
lenguaje difícil de probar y mantener.
• Imposibilidad de escribir código independiente de la
máquina.
• Es necesario la comprensión de los programas.
• El programador debe conocer más de un una gran
cantidad de instrucciones.
7. Lenguajes de nivel medio
• Hay lenguajes de programación que son
considerados como lenguajes de medio nivel
(como es el caso del lenguaje C) al tener
ciertas características que los acercan a los
lenguajes de bajo nivel pero teniendo, al
mismo tiempo, ciertas cualidades que lo
hacen un lenguaje más cercano al humano y,
por tanto, de alto nivel
8. Características
• Es un lenguaje de programación informática como el
lenguaje C, que se encuentran entre los lenguajes de alto
nivel y los lenguajes de bajo nivel.
• Suelen ser clasificados muchas veces de alto nivel, pero
permiten ciertos manejos de bajo nivel.
• Son necesarios para ciertas aplicaciones como la creación
de sistemas operativos, ya que permiten un manejo, sin
perder considerablemente el poder y eficiencia que tienen
los lenguajes de bajo nivel.
• Una característica distintiva, por ejemplo, que convierte a C
en un lenguaje de medio nivel y al Pascal en un lenguaje de
alto nivel es que en el primero es posible manejar las letras
como si fueran números (en Pascal no), y por el contrario
en Pascal es posible concatenar las cadenas de caracteres
con el operador suma y copiarlas con la asignación (en C es
el usuario el responsable de llamar a las funciones
correspondientes).
9. Ventajas
• Permiten un mayor grado de abstracción pero
al mismo tiempo mantienen algunas
cualidades de los lenguajes de bajo nivel,
como C puede realizar operaciones lógicas y
de desplazamiento con bits, tratar todos los
tipos de datos como lo que son en realidad a
bajo nivel (números), etc.
11. Lenguajes de alto nivel
• Son normalmente fáciles de aprender porque
están formados por elementos de lenguajes
naturales, como el inglés. En BASIC, el
lenguaje de alto nivel más conocido, los
comandos como "IF CONTADOR = 10 THEN
STOP".
12. Características
• Necesitan un programa interprete o
compilador que lo traduzca uno de bajo nivel,
como el lenguaje de máquina para que la
computadora pueda entenderlo.
13. Ventajas
• Lo podemos usar en cualquier computador con muy
pocas modificaciones
• son muy similares al lenguaje humano.
• Este tipo de lenguaje es más fáciles de aprender
porque se usan palabras o comandos del lenguaje
natural, como por ejemplo: palabras en inglés.
• Puede dar la sensación de que las computadoras
parecen comprender un lenguaje natural; en realidad
lo hacen de una forma rígida y sistemática, sin que
haya cabida, por ejemplo, para ambigüedades o
dobles sentidos
14. Ejemplos
• Lenguajes de alto nivel
• ADA, ALGOL, BASIC, Clipper, Cobol,C++,
FORTH
• Fortran, Haskell, I nformix 4gl,Java, Lexico
• Lisp, Logo, Modula, PASCAL,Prolog, RPG,
Visual Basic
15. Clasificación de los lenguajes de
programación de alto nivel
• Lenguajes de programación de primera generación: el lenguaje
máquina y el ensamblador.
• Lenguajes de programación de segunda generación : los primeros
lenguajes de programación de alto nivel imperativo (FROTRAN,
COBOL).
• Lenguajes de programación de tercera generación: son lenguajes de
programación de alto nivel imperativo pero mucho más utilizados y
vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
• Lenguajes de programación de cuarta generación: usados en
aplicaciones de gestión y manejo de bases de dados (NATURAL,
SQL).
• Lenguajes de programación de quinta generación: creados para la
inteligencia artificial y para el procesamiento de lenguajes naturales
(LISP, PROLOG).
16. Tipos de datos en C
• C ofrece tres tipos de datos básicos:
• Números enteros definidos con la palabra
clave int
• Letras o caracteres definidos con la palabra
clave char
• Números reales o en coma flotante definidos
con las palabras claves float o double
17. Tipos de datos en C
Tipos de Datos Descripción Memoria
int Cantidad entera
2 bytes o una palabra (varía según
compilador).
char Carácter 1 byte.
float
Almacena valores reales en punto
flotante.
1 palabra (4 bytes).
double
Almacena valores reales en doble
precisión.
2 palabras (8 bytes).
void
Se utiliza para definir una función que no
devuelve ningún valor o declarar punteros
genéricos (lo veremos más tarde).
18. Características de algunos datos
TIPO Número de bits Rango
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
short 16 -32768 a 32767
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295
long 32 -2147483648 a 2147483647
unsigned long 32 0 a 4294967295
float 32 3.4E-38 a 3.4E+38
double 64 1.7E-308 a 1.7E+308
long double 64 ó 80 (según versión).
1.7E-308 a 1.7E+308 ó 3.4E-4932 a
1.1E+4932