Niveles y tipos de lenguajes de programación
-
Upload
jafet-duran -
Category
Engineering
-
view
147 -
download
2
Transcript of Niveles y tipos de lenguajes de programación
![Page 1: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/1.jpg)
Niveles y tipos de lenguajes de programación
Programación estructurada 3er semestre
Ing. Guillermina Jiménez Rasgado
![Page 2: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/2.jpg)
Lenguaje de programación
Un lenguaje de programación es un lenguaje artificial que se puede utilizar para controlar el comportamiento de una máquina , en particular un ordenador.Los lenguajes de programación , al igual que las lenguas humanas , se definen mediante el uso de reglas sintácticas y semánticas , para determinar la estructura y significado , respectivamente.
![Page 3: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/3.jpg)
Los lenguajes de programación se utilizan para facilitar la comunicación acerca de la tarea de organizar y manipular la información , y para expresar algoritmos con precisión.
Lenguaje de programación
![Page 4: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/4.jpg)
Niveles de lenguajes de programación
![Page 5: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/5.jpg)
Lenguaje máquina Código de máquina es un sistema de instrucciones y datos ejecutados directamente por la CPU de un ordenador, sólo ser entendido por los ordenadores . Es directamente ejecutable por un ordenador sin la necesidad de la traducción por un compilador o un ensamblador. Cada familia de procesador tiene su propio código.
![Page 6: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/6.jpg)
•Es el mas bajo nivel de programación, solo es comprendido por la computadora. •Las instrucciones son de 4 tipos: aritméticas, lógicas, transferencia de datos y control de flujo.
Lenguaje maquina
![Page 7: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/7.jpg)
Lenguaje maquinaCiclo de extracción-decodificación y ejecución 1. Operadores son recuperados de memoria.2.Se convierten operadores a formato de la ALU.3. Se realiza la operación.4. El control enruta de manera ordenada los datos de entrada y salida.
![Page 8: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/8.jpg)
Lenguaje maquina
![Page 9: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/9.jpg)
Lenguaje ensamblador Tiene la misma estructura y lista de comandos del lenguaje maquina, pero permite al programador usar nombres en lugar de números para definir una operación. Es muy complejo y lento de programar pero su ejecución es la más rápida, un conjunto de instrucciones en este nivel forman una sola en niveles mas altos. Dependiente a la arquitectura.
![Page 10: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/10.jpg)
Lenguaje ensamblador
Representación en texto de las líneas binarias. El ensamblador lo traduce a bits.
![Page 11: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/11.jpg)
Lenguaje ensambladorUtiliza los códigos mnemotécnicos (formas cortas) para obtener instrucciones y permite al programador para introducir nombres de bloques de memoria que contienen datos .El lenguaje ensamblador está diseñado para ser fácilmente traducido a lenguaje de máquina . Al igual que el lenguaje de máquina , lenguaje ensamblador requiere un conocimiento detallado de una arquitectura informática interna particular
![Page 12: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/12.jpg)
Poner 15 en el registro 3Guarda 8 filas abajo en el stackPoner 25 en el registro 3Guarda 12 filas abajo en el stackCarga i en registro 2 y j en registro 3 Añade i a j Guarda i (resultado) en i, 8 filas abajo del stack.
Lenguaje ensamblador
![Page 13: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/13.jpg)
Lenguaje de alto nivel Es un lenguaje con alto nivel de abstracción de los detalles de la computadora. Usa muchos elementos del lenguaje natural por lo cual es muy comprendido por el humano, se olvida del manejo de memoria, registros, recolección de basura, manejo de la pila de datos, y demás funciones manuales en anteriores.
![Page 14: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/14.jpg)
Lenguaje de alto nivel
Introducen el uso de variables, arreglos, objetos, expresiones complejas matemáticas o boolenas, ciclos, hilos, subrutinas y funciones. Y pueden realizar cualquier tarea. Pueden ser interpretados, compilados o traducidos para ser ejecutados por a nivel maquina. No dependen de la arquitectura
![Page 15: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/15.jpg)
Lenguaje de alto nivel
Algunos lenguajes son: C, C++, Java, C#, Python, Matlab, C++, LISP, Haskell, Ruby, SQL, LabView, D, G, Wolfram, F#, VHDL…
![Page 16: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/16.jpg)
Ejemplo en c#
![Page 17: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/17.jpg)
Ejemplo en LabView
![Page 18: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/18.jpg)
Ejemplo en c
![Page 19: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/19.jpg)
Ejemplo en SQL
![Page 20: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/20.jpg)
Ejemplo en Wolfram
![Page 21: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/21.jpg)
DeclarativosOrientados a objetos Imperativos Funcionales
Paradigma de programación
![Page 22: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/22.jpg)
Paradigma de programación
¿Un paradigma? Es un modelo.¿Un modelo? Es una simplificación de algo del mundo real.¿Un paradigma en lenguaje de programación? Es un patrón a seguir de un lenguaje.
![Page 23: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/23.jpg)
Paradigma imperativo Características: ejecución secuencial, variables que representan memoria, usa una asignación para cambiar los valores de las variables.Se dice ser un lenguaje imperativo cuando su principal método de describir la computación es a través de secuencia de comandos o imperativos. C, Fortran, Pascal, Java, Lenguaje maquina, C, C++, C#, Matlab, Python, Ruby, Wolfram
![Page 24: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/24.jpg)
Paradigma funcional Características: Acerca la programación a las matemáticas, donde las funciones son entidades de primer nivel. Basados en el calculo lambda, en gran medida sin variables, asignaciones e iteraciones, es posible programar sin variables o sentencias de asignación, y manejan el concepto de no side effects (sin efectos secundarios) cuando una expresión además de retornar un valor, modifica el estado de su entorno. Puro: LISP, Haskell, Scheme Impuro: C, C++, C#, Python
![Page 25: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/25.jpg)
Paradigma declarativo Características: Se describe lo que uno quiere sin explicar como hacerlo (funcionan como una caja negra), basado en reglas, soporta argumentos sobre hechos y reglas, no es necesario expresar reglas en un orden particular, pueden ser algo ineficientes por el alto nivel de abstracción. SQL, Wolfram, Prolog
![Page 26: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/26.jpg)
Paradigma Orientado a Objetos Características: Soporta modelado de datos y abstracción, intercambio de mensajes: un sistema orientado a objetos es uno construido como una colección de objetos pasando mensajes uno con otro, todo es un objeto, incluyendo los tipos primitivos.C++, Java, C#, SmallTalk, Objective-C, Labview, Ruby
![Page 27: Niveles y tipos de lenguajes de programación](https://reader036.fdocuments.ec/reader036/viewer/2022062412/58eded2d1a28ab19128b457f/html5/thumbnails/27.jpg)
Imperativa: con instrucciones se indica como realizar la tarea
Declarativa: con instrucciones se indica que tarea se quiere realizar
Orientada a objetos: se crean abstracciones de un ente o hecho del mundo real con atributos que representan sus características y propiedades.
Funcional: No se asignan variables, son funciones puramente matemáticas, una operación no cambia el estado de la anterior.
Orientada a eventos: en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.
Lógica: basada en lógica matemática y lógica difusa, para sistemas expertos, reconocimiento de lenguaje o demostración automática.