estilos de programacion

5
UNIDAD UNO. CONCEPTOS FUNDAMENTALES 1.1 ESTILOS DE PROGRAMACION 1.2 EVALUACIÓN DE EXPRESIONES 1.3 DEFINICIÓN DE FUNCIONES El estilo de programación se refiere a la forma en que se da formato al código fuente. Los lenguajes de programación tienen la particularidad de cumplir un doble rol. Por un lado sirven para comunicar humanos con computadoras. Son la forma de transformar una serie de abstracciones como algoritmos, módulos, tipos de datos y sistemas en algo que una computadora pueda ejecutar. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN Se llama programación a la creación de un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se Escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMAS Y ALGORITMOS Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo. Los programas suelen subdividirse en partes menores (módulos), de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. 1.1 ESTILOS DE PROGRAMACIÓN COMPILACIÓN El programa escrito en un lenguaje de programación no es inmediatamente ejecutado en una computadora. La opción más común es compilar el programa, aunque también puede ser ejecutado mediante un intérprete informático El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguaje máquina, interpretable por el procesador. A este proceso se le llama compilación. 1.1 ESTILOS DE PROGRAMACIÓN

Upload: juanfa-minamino

Post on 21-Dec-2015

215 views

Category:

Documents


2 download

DESCRIPTION

descripcion de la unidad uno de la materia programacion logica y funcional

TRANSCRIPT

Page 1: estilos de programacion

UNIDAD UNO. CONCEPTOS FUNDAMENTALES1.1 ESTILOS DE PROGRAMACION 1.2 EVALUACIÓN DE EXPRESIONES1.3 DEFINICIÓN DE FUNCIONES

El estilo de programación se refiere a la forma en que se da formato al código fuente. Los lenguajes de programación tienen la particularidad de cumplir un doble rol. Por un lado sirven para comunicar humanos con computadoras. Son la forma de transformar una serie de abstracciones como algoritmos, módulos, tipos de datos y sistemas en algo que una computadora pueda ejecutar. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓNSe llama programación a la creación de un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se Escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMAS Y ALGORITMOSUn algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo. Los programas suelen subdividirse en partes menores (módulos), de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa.1.1 ESTILOS DE PROGRAMACIÓNCOMPILACIÓNEl programa escrito en un lenguaje de programación no es inmediatamente ejecutado en una computadora. La opción más común es compilar el programa, aunque también puede ser ejecutado mediante un intérprete informático El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguaje máquina, interpretable por el procesador.A este proceso se le llama compilación. 

1.1 ESTILOS DE PROGRAMACIÓN PARADIGMA DE PROGRAMACIÓNUn paradigma es una forma de representar y manipular el conocimiento. Representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y Desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.

1.1 ESTILOS DE PROGRAMACIÓN Algunos ejemplos de paradigmas de programación:El paradigma imperativo es considerado el más común y está representado, por ejemplo, por el C o por BASIC.

Page 2: estilos de programacion

El paradigma funcional está representado por la familia de lenguajes LISP, en particular Scheme.El paradigma lógico, un ejemplo es PROLOG.El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADALa programación estructurada es una forma de escribir programas para computadoras de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional (GOTO).1.1 ESTILOS DE PROGRAMACIÓN VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADALos programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están más Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo menor del tradicional; por otro lado, el seguimiento de las fallas se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente.Reducción de los costos de mantenimiento.Programas más sencillos y más rápidos.Aumento de la productividad del programador.1.1 ESTILOS DE PROGRAMACIÓN INCONVENIENTES DE LA PROGRAMACIÓN ESTRUCTURADAEl principal inconveniente de este método de programación, es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar problemático su manejo, esto se resuelve empleando la programación modular, definiendo módulos interdependientes programados y compilados por separado, cada uno de los cuales ha podido ser desarrollado con programación estructurada. Un método un poco más sofisticado es la programación por capas, en la que los módulos tienen una estructura jerárquica muy definida y se denominan capas.1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN IMPERATIVALa 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.La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para

Page 3: estilos de programacion

ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN IMPERATIVALa 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.La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. 1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN FUNCIONALLa programación funcional es un paradigma de programación declarativa basado en la utilización de funciones matemáticas. Sus orígenes provienen del Cálculo Lambda, una teoría matemática elaborada por Alonzo Church como apoyo a sus estudios sobre computabilidad. Un lenguaje funcional es a grandes rasgos, un azúcar sintáctico del Cálculo Lambda. Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como funciones puramente matemáticas1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN LÓGICALa 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. La programación lógica comprende dos paradigmas de programación: La programación declarativaLa programación funcional. La programación declarativa 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.1.1 ESTILOS DE PROGRAMACIÓN PROGRAMACIÓN ORIENTADA A OBJETOSLa Programación Orientada a Objetos (POO u OOP según siglas en inglés) es un paradigma de programación que define 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 y módulos más fáciles de escribir, mantener y reutilizar.1.1 ESTILOS DE PROGRAMACIÓN Desde la perspectiva de la programación funcional, un programa interprete de un lenguaje funcional es un evaluador que calcula las funciones que le

Page 4: estilos de programacion

introducimos. La tarea del evaluador es simplificar la expresión de una función hasta alcanzar una forma irreductible, que se muestra como solución o respuesta. Cada uno de los pasos que da el evaluador en el proceso de simplificación se llama reducción, y lo denotaremos con el símbolo). En cada paso de reducción, el evaluador reconoce una parte de la expresión, llamada redex (del inglés reducible expresión), y la simplifica. 1.2 EVALUACIÓN DE EXPRESIONESEs una subrutina o subprograma (también llamada procedimiento, función o rutina), como idea general, se presenta como un sub-algoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica. 1.3 DEFINICIÓN DE FUNCIONESEn programación, una función es una sección de un programa que calcula un valor de manera independiente al resto del programa.Una función tiene tres componentes importantes:Los  parámetros, que son los valores que recibe la función como entrada;El  código de la función, que son las operaciones que hace la función; yEl  resultado (o valor de retorno), que es el valor final que entrega la función.En esencia, una función es un mini-programa. Sus tres componentes son análogos a la entrada, el proceso y la salida de un programa. 1.3 DEFINICIÓN DE FUNCIONESLas declaraciones de funciones generalmente son especificadas por: Un nombre único en el ámbito: Nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos). Un tipo de dato de retorno: tipo de dato del valor que la función devolverá al terminar su ejecución.Una lista de parámetros: Especificación del conjunto de argumentos (pueden ser cero, uno o más) que la función debe recibir para realizar su tarea. El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe ejecutar la función.1.3 DEFINICIÓN DE FUNCIONES