Sei sulla pagina 1di 9

Tarea 1

¿Qué es un paradigma?

Consiste en un método para llevar a cabo cómputos y la forma en la que deben


estructurarse y organizarse las tareas que debe realizar un programa. Se trata de
una propuesta tecnológica adoptada por una comunidad de programadores,
y desarrolladores cuyo núcleo central es incuestionable en cuanto que únicamente
trata de resolver uno o varios problemas claramente delimitados; la resolución de
estos problemas debe suponer consecuentemente un avance significativo en al
menos un parámetro que afecte a la ingeniería de software. Representa un
enfoque particular o filosofía para diseñar soluciones. Los paradigmas difieren
unos de otros, en los conceptos y la forma de abstraer los elementos involucrados
en un problema, así como en los pasos que integran su solución del problema, en
otras palabras, el cómputo. Tiene una estrecha relación con la formalización de
determinados lenguajes en su momento de definición. Es un estilo de
programación empleado. Un paradigma de programación está delimitado en el
tiempo en cuanto a aceptación y uso, porque nuevos paradigmas aportan nuevas
o mejores soluciones que lo sustituyen parcial o totalmente.
¿Cuáles son los paradigmas de los lenguajes de programación?
 Imperativo. Los programas se componen de un conjunto de sentencias que
cambian su estado. Son secuencias de comandos que ordenan acciones a la
computadora.
 Declarativo. Opuesto al imperativo. Los programas describen los resultados
esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.
 Lógico. El problema se modela con enunciados de lógica de primer orden.
 Funcional. Los programas se componen de funciones, es decir,
implementaciones de comportamiento que reciben un conjunto de datos de
entrada y devuelven un valor de salida.
 Orientado a objetos. El comportamiento del programa es llevado a cabo por
objetos, entidades que representan elementos del problema a resolver y tienen
atributos y comportamiento.

Tarea 2
Un lenguaje de programación es un lenguaje formal que proporciona una serie
de instrucciones que permiten a un programador escribir secuencias de órdenes
y algoritmos a modo de controlar el comportamiento físico y lógico de
una computadora con el objetivo de que produzca diversas clases de datos. A
todo este conjunto de órdenes y datos escritos mediante un lenguaje de
programación se le conoce como programa. Algunos de estos lenguajes están
formados por un conjunto de símbolos (llamado alfabeto), reglas gramaticales
(léxico/morfológicas y sintácticas) y reglas semánticas, que en conjunto definen las
estructuras válidas en el lenguaje y su significado. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene
el código fuente de un programa informático se le llama programación, que es la
que define la creación de software mediante la aplicación de procedimientos
lógicos a través de los siguientes pasos:

 El desarrollo lógico del programa para resolver un problema en particular.


 Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
 Prueba y depuración del programa.
 Desarrollo de la documentación

Clasificación de lenguajes de alto nivel:

 Lenguajes de programación imperativos: entre ellos tenemos el Cobol,


Pascal, C y Ada.

 Lenguajes de programación declarativos: el Lisp y el Prolog.

 Lenguajes de programación orientados a objetos: el Smalltalk y el C++.

 Lenguajes de programación orientados al problema: son aquellos lenguajes


específicos para gestión.

 Lenguajes de programación naturales: son los nuevos lenguajes que


pretender aproximar el diseño y la construcción de programas al lenguaje
de las personas.

 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 datos (NATURAL, SQL).

 Lenguajes de programación de quinta generación: creados para la


inteligencia artificial y para el procesamiento de lenguajes naturales (LISP,
PROLOG).

Ejemplos de lenguajes:

Interpretados. JavaScript, Python y Ruby


Compiladores. C, C++, Java, Go y Rust

Orientados a objetos. OCAML, Perl, PHP y ADA

Funcionales. Scheme, Erlang, Rust, Objective Caml, Scala, F# y Haskell

Tarea 3

Prolog: es un lenguaje de programación lógico e interpretado usado habitualmente


en el campo de la Inteligencia artificial.

Símbolos:

 X is Y %unificación con evaluación.


 X = Y %unificación simbólica
 X=:=Y %comparación con evaluación
 X == Y %comparación simbólica.

Sintaxis :

Un programa Prolog es un conjunto de cláusulas de Horn (hechos y reglas) donde:

 Todas las cláusulas acaban con “.”


 El símbolo “←” se escribe como “:-“ que se lee como si (condicional). En
los hechos no es necesario (basta poner el átomo “y” .)
 Los nombres de predicado y función siguen las pautas habituales de los
identificadores pero comienzan con minúscula .
 Los nombres de variable también siguen esas pautas, pero comienzan por
mayúscula .
 Los átomos en el cuerpo de las reglas se separan mediante comas “,” que
se leen como “y”.
 Ejecutar un programa no tiene sentido como tal (en principio). Lo que se
hace es plantear objetivos a resolver.

Esqueleto:

La programación en Prolog consiste en:

-Declarar algunos HECHOS sobre los objetos y sus relaciones.


-Definir algunas REGLAS sobre los objetos y sus relaciones, y
-Hacer PREGUNTAS sobre los objetos y sus relaciones.

Aplicación para descargar y ejecutar: SWI-Prolog 8.0.2-1 para Microsoft Windows


(64 bits)
Tipo de paradigma: Lógico

Ejemplo:

% La sintaxis es fibonacci(N, F) -> Termino N de la sucesión (el resultado se


guarda en F).

fibonacci(0, 0) :-!.

fibonacci(1, 1) :-!.

fibonacci(N ,F) :-N1 is N - 1, fibonacci(N1, F1),N2 is N - 2, fibonacci(N2, F2), F is


F1 + F2.

%el fibonacci se llama recursivamente dejando el resultado en F.

Tarea 4

Python: Python es un lenguaje de programación interpretado cuya filosofía hace


hincapié en una sintaxis que favorezca un código legible.Se trata de un lenguaje
de programación multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación funcional. Es
un lenguaje interpretado, usa tipado dinámico y es multiplataforma.

Símbolos: Los operadores aritméticos: sumas, restas, multiplicación división,


modulo/residual, y exponenciales.

Los operadores de comparación

 == , evalúa como verdadero si 2 variables son iguales


 != ,evalúa como verdadero si 2 variables son diferentes
 <> , lo mismo que !=
 > , verdadero si el operador a la izquierda es mayor que el de la derecha
 < , verdadero si el operador a la izquierda es menor que el de la derecha
 >= verdadero si el operador a la izquierda es mayor o igual al de la derecha
 <= verdadero si el operador a la izquierda es menor o igual al de la derecha

Los operadores de asignación son “=,+=,-=,*=,/=,**=,//=”.

Sintaxis :

 Modo interactivo y modo script


 Identificadores Python
 Palabras reservadas
 Estructura de las líneas
 Comentarios y citas
Esqueleto:

#!/bin/env python

print "Hola mundo"

Aplicación para descargar y ejecutar: Python 3.7.3

Tipo de paradigma: Multiparadigma (orientada a objetos, imperativa y funcional)

Ejemplo:

. N=int(input("ingresar numero: "))


contador = 1
x=1
while x <= N:
contador = contador * x
x=x+1
print(contador)

Tarea 5

Scheme: Scheme es un lenguaje funcional (si bien impuro pues sus estructuras de
datos no son inmutables) y un dialecto de Lisp.

Sintaxis : Scheme posee una sintaxis reducida comparada a otros lenguajes.


Utiliza la notación prefija. Los paréntesis son obligatorios, ya que separan las
instrucciones que serán evaluadas por el intérprete. Para realizar comentarios
dentro del código, se utiliza el ";", así se marca que toda la línea será de
comentario.

Símbolos: son los enteros, racionales, reales, complejos, símbolos, cadenas,


y puertos, listas asociativas, tablas hash, vectores, arrays y estructuras.
La mayoría de implementaciones proporciona lo que se conoce como una torre
numérica completa, así como aritmética exacta e inexacta. Los valores booleanos
se representan mediante los símbolos #t y #f . En realidad, cualquier valor distinto
de #f (incluyendo la lista vacía) se interpreta como 'verdadero' en un contexto
adecuado, mientras que en otros dialectos de Lisp la lista vacía es interpretada
como el valor booleano falso.
.
Esqueleto:

; función que suma dos números agregados como argumento


(define (suma num1 num2)
; implementación del let anterior, aunque no es estrictamente necesario
(let
;variables de la operación
((numero1 num1)
(numero2 num2))
; instrucción que suma los números, es decir, la función
(+ numero1 numero2))

Aplicación para descargar y ejecutar: sudo apt-get install mit-scheme

Tipo de paradigma: Multiparadigma (funcional,orientado a objetos e imperativa)

Ejemplo:

(define (T) ;lo que hacemos con esta función es la figura con la que se ;llenara el
triángulo
(display "*"))

(define (dibuje cant) ;esta funcion me dibuja los "*" pasando un espacio :entre ellos
(do ((i 0 (+ i 1)))
((= i cant) )
(t)
(display " ")))

(define (triangulo) ;y esta es la que me dibuja el triangulo aquí defino ;que el


tamaño sea de 10 *'s
(do ((i 1 (+ i 1)));observa como se hace el ciclo :D
((= i 10) )
(dibuje i);llamada a la funcion
(newline)));pasa renglon

Tarea 6:

Haskell: es un lenguaje de programación estandarizado multi-propósito


puramente funcional con semánticas no estrictas y fuerte tipificación estática.

Sintaxis : incluyen el soporte para tipos de datos y funciones recursivas,


listas, tuplas, guardas y encaje de patrones. La combinación de las mismas
pueden resultar en algunas funciones casi triviales cuya versión en lenguajes
imperativos pueden llegar a resultar extremadamente tediosas de programar.
Símbolos: Los operadores aritméticos: sumas, restas, multiplicación división,
modulo/residual, y exponenciales.
Los operadores de comparación

 == , evalúa como verdadero si 2 variables son iguales


 != ,evalúa como verdadero si 2 variables son diferentes
 <> , lo mismo que !=
 > , verdadero si el operador a la izquierda es mayor que el de la derecha
 < , verdadero si el operador a la izquierda es menor que el de la derecha
 >= verdadero si el operador a la izquierda es mayor o igual al de la derecha
 <= verdadero si el operador a la izquierda es menor o igual al de la derecha

Los operadores de asignación son “=,+=,-=,*=,/=,**=,//=”.

Esqueleto:

Prelude> "Hola, mundo!"

"Hola, mundo!"

Aplicación para descargar y ejecutar: Haskell Platform for Windows is 8.6.3.

Tipo de paradigma: funcional

Ejemplo:

binario :: Int -> Int


binario 0 = 0
binario 1 = 1
binario n = adj u v
where v = rem n 2
u = binario (n/2)
decimal :: Int -> Int
decimal n = dec n 0
where dec :: Int -> Int -> Int
dec 0 _ = 0
dec 1 i = 1*2^i
dec n i = x + y
where (x,y) = (dec u (i+1) , v*2^i)
where (u,v) = sep n
Tarea 7:

R: es un entorno y lenguaje de programación con un enfoque al análisis


estadístico.

Sintaxis :

 No se tienen en cuenta los espacios en blancos: podemos o no dejar


espacios para que el código se puede ordenar de forma adecuada y poder
entenderse.
 Se distinguen las mayúsculas y minúsculas: para variables en el código,
podemos crear diferentes variables con nombres iguales pero alternando
mayúsculas y minúsculas.
 Se pueden incluir comentarios: como vimos anteriormente los comentarios
se utilizan para añadir información en el código.
 No es necesario terminar cada sentencia con el carácter de punto y coma
(;): en la mayoría de lenguajes de programación, es obligatorio terminar
cada sentencia con este carácter. En cambio R podemos o no terminar de
esta forma.
 Lenguaje orientado a objetos: todo en R son objetos, las variables, datos,
funciones y resultados, que se generan en R son objetos estos se modifican
o manipulan con operadores o funciones (que a su vez son objetos).

Símbolos:

R proporciona un conjunto de 26 símbolos que podemos seleccionar con el


parámetro pch para un gráfico. Este parámetro puede tomar como valor un
número entero entre 0 y 25 o un único carácter de texto (ver figura). Algunos de
los símbolos predefinidos (entre el 21 y el 25) se pueden rellenar con un color
diferente al del borde. El color se concreta con el parámetro bg.
Esqueleto:

> x <- c(TRUE,FALSE)


>x
[1] TRUE FALSE
> x <-c(0.1,0.4)
>x
[1] 0.1 0.4
> x <- c("a","b","c")
>x
[1] "a" "b" "c"
> x <- c(1+0i,2+1i)
>x
[1] 1+0i 2+1i
> x <- vector("numeric", length=5)
>x
[1] 0 0 0 0 0

Aplicación para descargar y ejecutar: Download R 3.5.3 for Windows (79


megabytes, 32/64 bit)

Tipo de paradigma: Multiparadigma (funcinal, orientado a objetos e imperativa)

Ejemplo:

library(devtools)
install_github(&quot;url del paquete&quot;)
library(&quot;nombre del paquete&quot;)
suma.dos.numeros(2, 2)
suma.dos.numeros(2, 5)
?suma.dos.numeros
remove.packages(&quot;nombre del paquete&quot;)

Potrebbero piacerti anche