viernes, 12 de octubre de 2012

PARADIGMA DE PROGRAMACION


¿QUE ES PARADIGMA DE PROGRAMACION?

Es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente 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. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.

PRINCIPALES PARADIGMAS:

Paradigma imperativo:

 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. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas 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 máquina nativo del computador (por ejemplo el lenguaje ensamblador).

Paradigma 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.

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áticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresión depende únicamente del significado de sus su expresiones), y por tanto, la carencia total de efectos colaterales.

Paradigma lógico:

La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o relacionada: sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre algún dominio de conocimiento.

La programación lógica también se utiliza en aplicaciones más "mundanas" pero de manera muy limitada, ya que la programación tradicional es más adecuada a tareas de propósito general.

Paradigma orientado a objetos:

Es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

Posee como idea principal encapsular estad y operaciones en objetos. Estos objetos pueden comunicarse entre sí, poseen clases y herencias. Se puede destacar como ventaja la facilidad de reutilización de código.

Paradigma estructurado:
El código se divide en bloques, estructuras que pueden o no comunicarse entre sí. Este software se controla con secuencias, selección e interacción, otorga una mejor compresión del código y permite su reutilización de una forma más fácil.

MAPA COMPARATIVO

MAPA COMPARATIVO DE:
Programacion estructurada, programacion funcional, programacion orientada a objetos y programacion orientada a eventos.
NOMBRE
CARACTERISTICAS
FUNCION
 
Programación estructurada
Utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores. Incorpora: diseño descendente, recursos abstractos, estructuras básicas que son secuenciales, selectivas y repetitivas.
·Los programas son más fáciles de entender.
·Se reduce la complejidad de las pruebas.
·Aumenta la productividad del programador.
· Los programas quedan mejor documentados internamente.
 
Programación funcional
Están constituidos únicamente por definiciones de funciones.
No existen asignaciones de variables y la falta de construcciones estructuradas como la secuencia y la iteración.
·Ausencia de efectos colaterales.
·Proceso de depuración menos problemática.
·Pruebas de unidades más confiables.
·Mayor facilidad para la ejecución concurrente.
Programación orientada a objetos (POO)
El polimorfismo y la herencia son una de sus principales características. El elemento principal es el objeto.
·Aumenta considerable mente la velocidad de desarrollo de programas.
·Se pueden hacer los programas de formas distintas.
Programación orientada a eventos
La estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.
·Acciones dependientes de usuarios.
·Puede manipular los eventos.
·Permite tener contacto con el empleo de los objetos.
·Es el usuario quien decide.

miércoles, 12 de septiembre de 2012

lenguajes de programación

¿DEFINE QUE ES UN LENGUAJE DE PROGRAMACION?

Es un idioma artificial diseñado para expresar procesos que puedan ser llevados acabo para máquinas, como las computadoras. Se pueden usar para crear programas que controlen el comportamiento fisico y logico de una máquina para expresar algoritmos con presición o como modo de comunicación humana.

ELEMENTOS DE UN LENGUAJE DE PROGRAMACIÓN:


Variables y Vectores. La variables podrian clasificarse como contenedores de datos y por ello se diferencian según el tipo de dato que son capaces de almacenar,

Variables de tipo char: contienen unico caracter, una letra, un signo o número.

Variable tipo int: contiene un número entreo.

Variable tipo float: contiene un numero decimal.

Variable tipo string:contiene cadenas de texto, es un vector.

Vareables tipo Boolean: solo puede contener un 0 o 1

CONDICIONES:

Son estructuras de codigo indican que para que cierta parte del programa se ejecute, deben cumplirse cierta premisas.

CONDICIONANTES MAS COMUNE Y EMPLEADAS:

IF: indica una condicion para que se ejecute una parte del programa.

Else if: va precedido de un if, indica una condicion para que se ejecute una parte del programa siempre que no cumpla la condicion del if previo.

Else: siempre precedido de if y en ocaciones de else if, indica que debe ejecutarse cuando no se cumplan las condiciones previas.

BUCLES:Son partes cercanas de los condicionantes, pero ejecutan un código mientras se cumpla una determinada condición. Los mas frecuentes son:

For: ejecuta un codigo mientras una variable se encuentre entre 2 determinados parametros.

While: ejecutan un código mientras se cumpla la condición que solicita.

FUNCIONES: Se crea para evitar tener que repetir constantemente fragmentos de código.

SINTAXIS: Es la forma visible de un lenguaje de programación. Describen las combinaciones posibles del os simbolos que forman un programa sintacticamente correcto.

SEMANTICA ESTATICA: Define las restricciones sobre las estructuras de los textos válidos que resultan imposible o muy dificil de expresar.

SISTEMAS DE TIPOS: Define la manera en la cual un lenguaje de programación clasifica los valores y expresiones de tipos.

TIPOS DE CÓDIGO EN LENGUAJE DE PROGRAMACIÓN:


LENGUAJES DE BAJO NIVEL:

LENGUAJE MÁQUINA: ordena a al máquina las operaciones fundamentales para su funcionamiento. Consisten en la combinación de O's y 1's. Este lenguaje es más rapido que los lenguajes de alto nivel. Son bastante dificiles de manejar y usar.

LENGUAJE ENSAMBLADOR: Es un derivado del lenguaje máquina y esta formado por abreviaturas de letras y números llamados minemotécnicas.

LENGUAJES DE ALTO NIVEL:

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Estan dirigidos a solucionar problemas mediante el uso de EDD'S.

EDD'S: Estructuras dinamicas de datos. son estructuras que pueden cambiar el tamaño durante la ejecución de programa.

LENGUAJES DE MEDIO NIVEL:

Dentro de estos lenguajen podria situarce C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas caracterisadas del lenguaje de bajo nivel y a la vez realizan operaciones de alto nivel.

INTERPRETES:

Es un programa informatico capaz de analizar y ejecutar otros programas escritos en un lenguaje de alto nivel. Usando un interprete un solo archvo fuente puede producirresultados iguales incluso en sistemas sumamente diferentes.

UTILIDAD DEL CODIGO INTERMEDIO:

Codigo abstracto independiente de la máquina para generar el código objeto. Debe se facil de producir a partir de analisis sintactico facil de traducir al lenguaje objeto.

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN:

Generación: 1a 2da 3ra 4ta

Nivel: alto bajo

proposito: general especifico

Orientacion: procedual eventos objeto

PRIMERA GENERACIÓN: Codigo maquina

SEGUNDA GENERACIÓN: Lenguaje ensamblador

TERCERA GENERACIÓN: La mayotia de los lenguajes

CUARTA GENERACION: Diseñados con un proposito concreto, para abordar un tipo concreto de problemas.

QUINTA GENERACION: Establece que problema a de ser resuelto

NIVEL: Alto y Bajo

PROGRAMACION

¿QUE ES PROGRAMACIÓN?

Es el proceso de diseñar, codificar depurar, y mantener el codigo fuente de programas computacionales.

¿QUE ES UN PROGRAMA?

Es el conjunto de instrucciones que una vez ejecutados realizan una o varias tareas en una computadora. Sin programas esta maquina no puede funcionar.

¿QUE ES UN SISTEMA?

Conjunto de partes o elementos organizados y relacionados que interactuan entre si para lograr un objetivo. Un sistema puede ser fisico o concreto( una computadora, un televisor, un humano) o puede ser abstracto o conceptual ( un software).

¿QUE ES UN SOFTWARE?

Se conoce como software al equipamiento logico o soporte logico de un sistema informatico, comprende el conjunto de los componentes logicos necesarios que hacen posible la relacion de tareas espesificas, en composicion a los componentes fisicos que son llamados hardware.

¿QUE ES UN LENGUAJE DE PROGRAMACIÓN?

Es un idioma artificial diseñado para expresar procesos que pueden ser llevsdos a cabo por máquinas como las computadoras. Pueden usan para hacer programas que controlen el comportamiento fisico y logico de una maquina para expresar algoritmos de precisión como modo de comunicación humana.