Professional Documents
Culture Documents
DE ALVARADO
INGENIERA EN SISTEMAS
COMPUTACIONALES
Materia:
Programacin Lgica y Funcional
Semestre-Grupo:
SEXTO SEMESTRE GRUPO YK
Producto Acadmico:
Investigacin:
Distintos tipos de Programacin
Presenta:
Martin Cruz Valenzuela
Docente:
ING. Sdney Rene Toledo Martnez
ndice
Introduccin..................................................................................................... 1
Objetivo............................................................................................................. 2
Programacin imperativa.............................................................................................................................. 3
Programacin funcional................................................................................................................................ 9
Programacin lgica.................................................................................................................................... 10
Conclusin...................................................................................................... 11
Bibliografa..................................................................................................... 12
Introduccin.
Los tipos o tcnicas de programacin son bastante variados, aunque puede que
muchos de los lectores slo conozcan una metodologa para realizar programas.
En la mayora de los casos, las tcnicas se centran en programacin modular y
programacin estructurada, pero existen otros tipos de programacin. Los
explicaremos a lo largo del artculo.
La programacin estructurada est compuesta por un conjunto de tcnicas que
han ido evolucionando aumentando considerablemente la productividad del
programa reduciendo el tiempo de depuracin y mantenimiento del mismo.
Esta programacin estructurada utiliza un nmero limitado de estructuras de
control, reduciendo as considerablemente los errores.
Pgina 1 de 18
Objetivo.
Dar a conocer los distintos tipos de programacin que existen y sus lenguajes.
Pgina 2 de 18
Programacin imperativa
La programacin imperativa, en contraposicin a la programacin declarativa, es
un paradigma de programacin que describe la programacin en trminos del
estado del programa y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al computador cmo
realizar una tarea.
La implementacin de hardware de la mayora de computadores es imperativa;
prcticamente todo el hardware de los computadores est diseado para ejecutar
cdigo de mquina, que es nativo al computador, escrito en una forma imperativa.
Esto se debe a que el hardware de los computadores implementa el paradigma de
las Mquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del
programa est definido por los contenidos de la memoria, y las sentencias son
instrucciones en el lenguaje de mquina nativo del computador (por ejemplo el
lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias ms
complejas, pero an siguen el mismo paradigma. Las recetas y las listas de
revisin de procesos, a pesar de no ser programas de computadora, son tambin
conceptos familiares similares en estilo a la programacin imperativa; donde cada
paso es una instruccin.
Son aquellos cuyos valores son atmicos y estn formados por elementos en un
caso especial.
Los primeros lenguajes imperativos fueron los lenguajes de mquina de los
computadores originales. En estos lenguajes, las instrucciones fueron muy
simples, lo cual hizo la implementacin de hardware fcil, pero obstruyendo la
creacin de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954
por John Backus en IBM, fue el primer gran lenguaje de programacin en superar
los obstculos presentados por el cdigo de mquina en la creacin de programas
complejos.
Pgina 3 de 18
BASIC
C
D1
Fortran
Pascal
Pauscal en espaol
Perl
PHP
Lua
Java
Python
Go
Pgina 4 de 18
Pgina 5 de 18
Pgina 7 de 18
Caractersticas de la POO
Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a
objetos". Las caractersticas siguientes son las ms importantes:
Abstraccin
Denota las caractersticas esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un "agente"
abstracto que puede realizar trabajo, informar y cambiar su estado, y
"comunicarse" con otros objetos en el sistema sin revelar "cmo" se implementan
estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin
ser abstrados, y, cuando lo estn, una variedad de tcnicas son requeridas para
ampliar una abstraccin. El proceso de abstraccin permite seleccionar las
caractersticas relevantes dentro de un conjunto e identificar comportamientos
Pgina 8 de 18
Polimorfismo
Pgina 9 de 18
Pgina 10 de 18
Programacin funcional
En ciencias de la computacin, la programacin funcional es un paradigma de
programacin declarativa basado en la utilizacin de funciones aritmticas que no
maneja datos mutables o de estado. Enfatiza la aplicacin de funciones, en
contraste con el estilo de programacin imperativa, que enfatiza los cambios de
estado. La programacin funcional tiene sus races en el clculo lambda, un
sistema formal desarrollado en los aos 1930 para investigar la definicin de
funcin, la aplicacin de las funciones y la recursin. Muchos lenguajes de
programacin funcionales pueden ser vistos como elaboraciones del clculo
lambda.
En la prctica, la diferencia entre una funcin matemtica y la nocin de una
"funcin" utilizada en la programacin imperativa es que las funciones imperativas
pueden tener efectos secundarios, al cambiar el valor de clculos realizados
previamente.
Por esta razn carecen de transparencia referencial, es decir, la misma expresin
sintctica puede resultar en valores diferentes en diferentes momentos
dependiendo del estado del programa siendo ejecutado.
Con cdigo funcional, en contraste, el valor generado por una funcin depende
exclusivamente de los argumentos alimentados a la funcin. Al eliminar los efectos
secundarios se puede entender y predecir el comportamiento de un programa
mucho ms fcilmente, y esta es una de las principales motivaciones para utilizar
la programacin funcional.
Pgina 11 de 18
Pgina 13 de 18
Programacin lgica
La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los subparadigmas de
programacin dentro de la programacin declarativa son: programacin funcional,
programacin con restricciones, programas DSL (de dominio especfico) e
hbridos. La programacin funcional se basa en el concepto de funcin (que no es
ms que una evolucin de los predicados), de corte ms matemtico. La
programacin lgica gira en torno al concepto de predicado, o relacin entre
elementos.
Campos de aplicacin
La programacin lgica encuentra su hbitat natural en aplicaciones de
inteligencia artificial o relacionada: Sistemas expertos, donde un sistema de
informacin imita las recomendaciones de un experto sobre algn dominio de
conocimiento.
Demostracin automtica de teoremas, donde un programa genera nuevos
teoremas sobre una teora existente.
Reconocimiento de lenguaje natural, donde un programa es capaz de comprender
(con limitaciones) la informacin contenida en una expresin lingstica humana.
Etc.
La programacin lgica tambin se utiliza en aplicaciones ms "mundanas" pero
de manera muy limitada, ya que la programacin tradicional es ms adecuada a
tareas de propsito general.
Pgina 14 de 18
Conclusin.
Pgina 15 de 18
Bibliografa.
Web Site: Programacin funcional
https://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional
Pgina 16 de 18