INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO
PUBLICO “HAQUIRA”
CARRERA: COMPUTACIÓN E INFORMÁTICA
CICLO: III
ESTUDIANTE: LIDIA VALDIVIA BOLIVAR
DOCENTE: MONDALGO CESPEDES, JOSE LUIS
ASIGNATURA: LÓGICA DE PROGRAMACIÓN
JULIO – 2021
LENGUAJES DE PROGRAMACIÓN IMPERATIVOS
En ciencias de la computación se llama lenguajes imperativos a aquellos en los cuales se
le ordena a la computadora cómo realizar una tarea siguiendo una serie de pasos o
instrucciones, por ejemplo:
Paso 1, solicitar número.
Paso 2, multiplicar número por dos.
Paso 3, imprimir resultado de la operación.
El proceso anterior se puede realizar con un lenguaje imperativo como por ejemplo
BASIC, C, C++, Java, Clipper, Dbase, C#, PHP, Perl, etc.
Dentro de la programación imperativa, se tiene un conjunto de instrucciones que le
indican al computador cómo realizar una tarea.
Los lenguajes imperativos se basan en comandos u órdenes que se le dan a la computadora
para que haga algo, con el fin de organizar o cambiar valores en ciertas partes de la
memoria.
La ejecución de estos comandos se realiza, en la mayor parte de ellos, secuencialmente,
es decir, hasta que un comando no ha sido ejecutado no se lee el siguiente.
Según el dominio, o mejor dicho con el propósito que se utiliza el programa, se puede
hablar de lenguajes de dominio específico y de dominio general.
LENGUAJES IMPERATIVOS PROCEDURALES
En los lenguajes tradicionales o procedurales, es la aplicación quien controla qué
porciones de código se ejecuta, y la secuencia en que este se ejecuta. La ejecución de la
aplicación se inicia con la primera línea de código, y sigue una ruta predefinida a través
de la aplicación, llamando procedimientos según sea necesario.
Los lenguajes procedurales están fundamentados en la utilización de variables para
almacenar valores y en la realización de operaciones con los datos almacenados. Algunos
ejemplos son: FORTRAN, PASCAL, C, ADA, ALGOL.
En este tipo de lenguajes, la arquitectura consta de una secuencia de celdas, llamadas
memoria, en las cuales se pueden guardar en forma codificada, lo mismo datos que
instrucciones; y de un procesador, el cual es capaz de ejecutar de manera secuencial una
serie de operaciones, principalmente aritméticas y booleanas, llamadas comandos. En
general, un lenguaje procedural ofrece al programador conceptos que se traducen de
forma natural al modelo de la máquina. El programador tiene que traducir la solución
abstracta del problema a términos muy primitivos, cercanos a la máquina.
ENGUAJES DE PROGRAMACIÓN DECLARATIVOS
Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos
lenguajes de programación en los cuales se le indica a la computadora qué es lo que se
desea obtener o qué es lo que se está buscando, por ejemplo: Obtener los nombres de
todos empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje
declarativo como SQL.
La programación declarativa es una forma de programación que implica la descripción
de un problema dado en lugar de proveer una solución para dicho problema, dejando la
interpretación de los pasos específicos para llegar a dicha solución a un intérprete no
especificado.
La programación declarativa adopta, por lo tanto, un enfoque diferente al de la
programación imperativa tradicional.
características de los lenguajes de programación declarativos
Los lenguajes declarativos están orientados a buscar la solución del problema, sin
preocuparse por la forma de llegar a ello; es decir, el programador debe
concentrarse en la lógica del algoritmo, más que en el control de la secuencia.
Los programas están formados por un conjunto de definiciones o ecuaciones, las
cuales describen lo que debe ser calculado, no en sí la forma de hacerlo.
Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución
del programa, lo cual implica que no puede existir asignación destructiva. Debido
a esto, cobra especial importancia el uso del anidamiento y la recursividad.
Las listas representan la estructura fundamental de datos.
El orden de la ejecución no resulta importante debido a que no existen efectos
colaterales; es decir, que, al calcular un valor, resulta imposible afectar el cálculo
de otros y con esto se puede afirmar que cualquier secuencia de ejecución deberá
conducir al mismo resultado.
Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se
pueden tratar como argumentos de otras definiciones.
El control de la ejecución no es responsabilidad del programador.
ventajas de la programación declarativa
Entre las ventajas se destaca que la solución de un problema se puede realizar con un
nivel de abstracción considerablemente alto, sin entrar en detalles de implementación
irrelevantes, lo que hace a las soluciones más fácil de entender por las personas.
La programación declarativa es muy usada en la resolución de problemas relacionados
con inteligencia artificial, bases de datos, configuración, y comunicación entre procesos;
sin embargo, ningún leguaje declarativo se aproxima en popularidad a los lenguajes
imperativos.
ejemplos de lenguajes declarativos
Algunos lenguajes declarativos que se pueden mencionar son:
PROLOG
SQL
HTML
WSDL (Web Services Description Language)
XML Stylesheet Language for Transformation
LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS
En la Programación Orientada a Objetos (POO u OOP según siglas en inglés) se definen
los programas en términos de "clases de objetos", objetos que son entidades que combinan
estado (es decir, datos) comportamiento (esto es, procedimientos o métodos) e identidad
(propiedad del objeto que lo diferencia del resto).
La programación orientada a objetos expresa un programa como un conjunto de estos
objetos, que colaboran entre ellos para realizar tareas.
Esto permite hacer los programas módulos más fáciles de escribir, mantener y reutilizar.
LENGUAJE ORIENTADO A PROBLEMAS
Un lenguaje de alto nivel cuyo conjunto de instrucciones está diseñado para hacer frente
a un problema específico (como el control de proceso de máquinas herramienta, la
simulación).
LENGUAJES INTERPRETADOS
Se puede también utilizar una alternativa diferente de los compiladores para traducir
lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma
permanente el código objeto que se produce durante la corrida de compilación para
utilizarlo en una corrida de producción futura, el programador sólo carga el programa
fuente en la computadora junto con los datos que se van a procesar. A continuación, un
programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera
permanente dentro de la máquina, convierte cada proposición del programa fuente en
lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No
se graba el código objeto para utilizarlo posteriormente.
ejemplo de lenguaje interpretado
Ruby es un lenguaje interpretado, así que podemos crear un archivo llamado [Link] con
el siguiente código, o cualquier código válido en Ruby (a esto se le conoce como el código
fuente):
puts "Hola Mundo"
Y ejecutarlo directamente ingresando el siguiente comando en la consola:
$ ruby [Link]
Te debería aparecer debajo la cadena “Hola Mundo “. Si quieres puedes cambiar el código
fuente y volverlo a ejecutar.
LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que
traducirse a un código que pueda utilizar la máquina. Los programas traductores que
pueden realizar esta operación se llaman compiladores. Éstos, como los programas
ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada
proposición del programa fuente. Se requiere una corrida de compilación antes de
procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un
determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con
código binario).
ejemplo de lenguaje compilado
Un lenguaje compilado tiene un paso adicional. Si tienes un compilador de C
como gcc puedes crear un archivo llamado hello.c con el siguiente contenido, o cualquier
código válido en C:
#include <stdio.h>
int main ()
{
printf("Hola Mundo");
return 0;
}
Antes de ejecutarlo debes compilarlo con el siguiente comando:
$ gcc hello.c -o hello
Eso crea un archivo llamado hello (sin extensión) con el código de máquina (llamado el
ejecutable) que puedes correr en la consola con el siguiente comando:
$ ./hello
Te debería aparecer la cadena de texto “Hola Mundo” debajo. Si necesitas cambiar el
código fuente debes volverlo a compilar y ejecutarlo nuevamente.
Ejemplos de lenguajes orientados a objetos
ADA.
C++
Objective C.
Java.
Smalltalk.
Eiffel.
Ruby.
Python.
LENGUAJES FUNCIONALES
Entendemos por programación funcional un lenguaje de programación declarativo donde
el programador especifica lo que quiere hacer, en lugar de lidiar con el estado de los
objetos. Es decir, las funciones estarían en un primer lugar y nos centraremos en
expresiones que pueden ser asignadas a cualquier variable
Ejemplos de lenguajes funcionales
boolean found = false;
for(String city: cities){
if([Link]("Chicago")){
found = true;
break;
[Link]("Found chicago?:" + found);