Академический Документы
Профессиональный Документы
Культура Документы
SUPERIORES DE COACALCO
Profesor
Ovando Brito Luis Alberto
Grupo
3811
Alumno
Cruz Guzman Saúl Yael
Programación Imperativa
La programación imperativa, en contraposición a la programación declarativa es un
paradigma de programación que describe la programación en términos del estado
del programa y sentencias que cambian dicho estado. Los programas imperativos
son un conjunto de instrucciones que le indican al computador cómo realizar una
tarea.
Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas,
pero aún siguen el mismo paradigma. Los primeros lenguajes imperativos fueron
los lenguajes de máquina de los computadores originales. En estos lenguajes, las
instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil,
pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue
iniciado en 1954 por John Backus en IBM, fue el primer gran lenguaje de
programación en superar los obstáculos presentados por el código de máquina en
la creación de programas complejos.
Programación lógica
La programación lógica consiste en la aplicación del corpus de conocimiento sobre
lógica para el diseño de lenguajes de programación; no debe confundirse con la
disciplina de la lógica computacional. La programación lógica es un tipo de
paradigmas de programación dentro del paradigma de programación declarativa. El
resto de los subparadigmas de programación dentro de la programación declarativa
son: programación funcional, programación basada en restricciones, programas
DSL (de dominio específico) e híbridos. La programación lógica gira en torno al
concepto de predicado, o relación entre elementos. La programación funcional se
basa en el concepto de función (que no es más que una evolución de los
predicados), de corte más matemático.
Programación funcional
En ciencias de la computación, la programación funcional es un paradigma de
programación declarativa basado en la utilización de funciones aritméticas que no
maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en
contraste con el estilo de programación imperativa, que enfatiza los cambios de
estado. La programación funcional tiene sus raíces en el cálculo lambda, un sistema
formal desarrollado en los 1930s para investigar la definición de función, la
aplicación de las funciones y la recursión. Muchos lenguajes de programación
funcionales pueden ser vistos como elaboraciones del cálculo lambda.
Los lenguajes de programación funcional, especialmente los que son puramente
funcionales, han sido enfatizados en el ambiente académico principalmente y no
tanto en el desarrollo de software comercial. Sin embargo, lenguajes de
programación importantes tales como Scheme, Erlang, Objective Caml y Haskel,
han sido utilizados en aplicaciones comerciales e industriales por muchas
organizaciones. La programación funcional también es utilizada en la industria a
La programación funcional también puede ser desarrollada en lenguajes que no
están diseñados específicamente para la programación funcional. En el caso de
Perl, por ejemplo, que es un lenguaje de programación imperativo, existe un libro
que describe cómo aplicar conceptos de programación funcional. JavaScript, uno
de los lenguajes más ampliamente utilizados en la actualidad, también incorpora
capacidades de programación funcional.
Programación declarativa
La Programación Declarativa, es un paradigma de programación que está basado
en el desarrollo de programas especificando o “declarando” un conjunto de
condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solución. La solución es
obtenida mediante mecanismos internos de control, sin especificar exactamente
cómo encontrarla (tan sólo se le indica a la computadora que es lo que se desea
obtener o que es lo que se está buscando). No existen asignaciones destructivas, y
las variables son utilizadas con Transparencia referencial
Programación estructurada
La programación estructurada es una forma de escribir programas de ordenador
(programación de computadora) de manera clara. Para ello utiliza únicamente tres
estructuras: secuencia, selección e iteración; siendo innecesario el uso de la
instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION,
EXIT SUB o múltiples RETURN).
Evaluación De Expresiones
a + 5*b
(a >= 0) and ((b+5) > 10)
a
-a * 2 + b
-b + sqrt(b**2 – 4*a*c)
length(s) > 0
Las expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante
una secuencia de operadores de igual precedencia, la evaluación se realiza según
el orden de escritura, de izquierda a derecha. El orden de evaluación puede
modificarse usando paréntesis.
Tipos de expresiones
Dentro de las expresiones distinguimos dos clases según el tipo de datos que
devuelven al evaluarlas:
Las funciones se crearon para evitar tener que repetir constantemente fragmentos
de código. Una función podría considerarse como una variable que encierra código
dentro de sí. Por lo tanto cuando accedemos a dicha variable (la función) en realidad
lo que estamos es diciendo al programa que ejecute un determinado código
predefinido anteriormente.
Disciplina De Tipos.
En los lenguajes de programación con disciplina de tipos, cada tipo representa una
colección de valores o datos similares. El conocer los tipos de las funciones ayuda
a documentar los programas y evitar errores en tiempo de ejecución.
Java
Tiene disciplina de tipos (no hay uniones)
ML y Haskell
[1]http://itpn.mx/recursosisc/8semestre/programacionlogicayfuncional/Unidad%20I.
pdf
[2] http://programacionlogicafun.blogspot.mx/2014/02/12-evaluacion-de-
expresiones.html
[3] http://karlaprogramacionfuncional.blogspot.mx/2014/02/unidad-1-conceptos-
fundamentales.html
[4]https://programacionlogicayfuncional.wordpress.com/2014/02/13/disciplina-de-
tipos/