Sie sind auf Seite 1von 15

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

UNIVERSIDAD TECNOLOGICA DE NEZAHUALCOYOTL

Materia: DESARROLLO DE APLICACIONES

Profesor: Adriana Garcia Valdespino Alumno: Suarez Hernandez Oscar De Jesus

3 Cuatrimestre

Grupo 34

TAREA DE INVESTIGACION

Fecha de entrega 08-08-2011

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

INDICE
1. ntroduccion.. 2 2. Desarrollo ...3 3. Paradigmas de la programacin.. .4 4. Paradigmas de la programacin estructurada...5 5. Paradigmas de la programacin orientada a objetos...6,7 6. Java ....8,9,10,11,12,13 7. conclusiones 14 8. Bibliografa anexos y referencias15

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

INTRODUCCION
En este trabajo de investigacin vamos a observar los paradigmas de la programacin y vamos a aprender de JAVA, por lo que veremos en varios puntos del documento basados a Metodologas de programacin, observaremos que paradigma se refiere a proceso y en este caso (informtica), a modelos de procesos. Esta afirmacin da a entender que el paradigma OO es independiente de otros paradigmas y el hecho es que usar OOP implica usar automticamente al menos dos paradigmas que conozco: el de Programacin Estructurada y Programacin Modular.

El estudio de los lenguajes de programacin, es llamado a veces lingstica de la programacin, por analoga con la lingstica de los lenguajes naturales. La analoga se basa en el hecho en que ambos; lenguajes naturales y lenguajes de programacin, poseen sintaxis (forma) y semntica (significado). La analoga no puede tomarse en todo el contexto, Los lenguajes de programacin no pueden ser comparados con los lenguajes naturales en trminos de su rango de expresividad y subjetividad. Por otro lado, un lenguaje natural no es ms ni menos que un grupo de personas que hablan y escriben, as que la lingstica natural est restringida al anlisis de los lenguajes existentes; mientras que los lenguajes de programacin son concienzudamente diseados y se pueden implementar en computadoras.

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

DESARROLLO
1.- Paradigmas de la programacin
Un paradigma de programacin es una propuesta tecnolgica que es adoptada por una comunidad de programadores cuyo ncleo central es incuestionable en cuanto a que unvocamente trata de resolver uno o varios problemas claramente delimitados. La resolucin de estos problemas debe suponer consecuentemente un avance significativo en al menos un parmetro que afecte a la ingeniera de software. Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su momento de definicin. Un paradigma de programacin est delimitado en el tiempo en cuanto a aceptacin y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
Para que una computadora realice una tarea, debe programrsela para que lo haga colocando en la memoria principal un algoritmo apropiado el cual es expresado en lenguaje mquina. En los inicios de la programacin, esta tarea era onerosa por lo laborioso y difcil de disear cada algoritmo (sin contar los errores en que se podra incurrir). El gran paso se dio cuando se empez a dar mnemnicos a los diversos cdigos de operacin y a los operandos del lenguaje de mquina. Con esto, los programadores pudieron aumentar considerablemente la comprensibilidad de las secuencias de instrucciones mquina. El paradigma por procedimientos, es tal vez el ms conocido y utilizado en el proceso de programacin, donde los programas se desarrollan a travs de procedimientos. Pascal C y BASIC son tres de los lenguajes imperativos ms importantes. La palabra latina imperare significa "dar instrucciones". El paradigma se inici al principio del ao 1950 cuando los diseadores reconocieron que las variables y los comandos o instrucciones de asignacin constituan una simple pero til abstraccin del acceso a memoria y actualizacin del conjunto de instrucciones mquina. Debido a la estrecha relacin con la arquitectura de la mquina, los lenguajes de programacin imperativa pueden ser implementados muy eficientemente, al menos en principio. El paradigma imperativo an tiene cierto dominio en la actualidad. Una buena parte del software actual ha sido desarrollado y escrito en lenguajes imperativos. La gran mayora de programadores profesionales son principalmente o exclusivamente programadores imperativos (Hay que aadir que los paradigmas de la programacin concurrente y orientada al objeto son en realidad sub-paradigmas de la programacin imperativa, as que sus adeptos tambin son programadores imperativos). El paradigma declarativo o paradigma de programacin lgica se basa en el hecho que un programa implementa una relacin antes que una correspondencia. Debido a que las relaciones son ms generales que las correspondencias (identificador direccin de memoria), la programacin lgica es potencialmente de ms alto nivel que la programacin funcional o la imperativa. El lenguaje ms popular enmarcado dentro de este paradigma es el lenguaje PROLOG. El auge del paradigma

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

declarativo se debe a que el rea de la lgica formal de las matemticas ofrece un sencillo algoritmo de resolucin de problemas adecuado para, usarse en un sistema de programacin declarativo de propsito general.

2. Paradigmas de programacion estructurada


El trmino programacin estructurada se refiere a un conjunto de tcnicas que han ido evolucionando desde los primeros trabajos de Edgar Dijkstra. Estas tcnicas aumentan considerablemente la productividad del programa reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los programas y, por consiguiente, reducen los errores; hacen los programas ms fciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una estructura. La programacin estructurada es el conjunto de tcnicas que incorporan: Recursos abstractos, Diseo descendente (top-down), Estructuras bsicas. Recursos abstractos consiste en descomponer una determinada accin compleja en trminos de un nmero de acciones ms simples capaces de ejecutarlas. El diseo descendente es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodologa descendente consiste en efectuar una relacin entre las sucesivas etapas de estructuracin de modo que se relacionasen unas con otras mediante entradas y salidas de informacin. Es decir, que se descompone el problema en etapas o estructuras jerrquicas, de modo que se puede considerar cada estructura desde dos puntos de vista: qu hace? y cmo lo hace? Las estructuras de control de un lenguaje de programacin son mtodos de especificar el orden en que las instrucciones de un algoritmo se ejecutarn. El orden de ejecucin de las sentencias (lenguaje) o instrucciones determinan el flujo de control. Estas estructuras de control son, por consiguiente, fundamentales en los lenguajes de programacin y en los diseos de algoritmos especialmente los pseudocdigos. Las tres estructuras de control bsico son: Secuencia Seleccin Repeticin La programacin estructurada hace los programas ms fciles de escribir, verificar, leer mantener, utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los problemas.

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

3. Paradigmas de la programacion orientada a objetos


Tal como los paradigmas afectan la vida de las personas en muchos sentidos, los paradigmas de programacin afectan en buena medida la forma de programar, y por tanto de desarrollar software, de muchos ingenieros y programadores. Entre los diferentes paradigmas que existen encontramos el Paradigma de la Programacin Orientada a Objetos (POO); a continuacin se tratar de forma breve en qu consiste dicho paradigma y sus ventajas frente al estructurado (usado en forma comn). Caractersticas de POO: El POO se enfoca en la identificacin de entidades (en el sistema a considerar), su estructura, clasificacin y comportamiento dentro del sistema. Teniendo esto presente, tras hacer un modelado de un sistema utilizando este paradigma es analista deber identificar: Objetos: Los objetos son cosas reales dentro de un sistema que ocupan un lugar y espacio determinado, pueden ser tangibles e intangibles. Los objetos llegan a ser aquellas entidades que se mencionan al principio. Los objetos un papel bien definido en el dominio del problema (SMITH Y TOCKEY. Citado por: BOOCH, Grady. Ibd., P. 96.). Clases: Las clases son un conjunto de reglas bajos que hacen las veces de dominios (o campo de actividad) para un objeto. En otras palabras las clases estn compuestas por objetos de las mismas caractersticas. Las clases como tales no existen, solo nos aportan los datos de cules son los mtodos que pueden implementar los objetos que se contienen en ella, cual es su comportamiento y cual relacin poseen con otros objetos. Sin embargo el paradigma no se limita a identificarlos, hay elementos que intervienen en este proceso: - Abstraccin: Es el proceso en el que el desarrollador lleva la realidad a un modelo computacional que le permite desarrollar un software que satisfaga las necesidades del sistema tratado. En POO esto es identificar los objetos y las clases involucradas en el sistema. Pero para hacerlo de forma ordenada ha de seguir un lineamiento adecuado, pues, en el caso de sistemas grandes y complejos, la tarea puede volverse abrumadora. La Clasificacin por Categorizacin clsica (agrupar elementos con propiedades similares), Agrupamiento conceptual (agrupar entidades que compartan significado conceptual, es decir para que sirven) y Teora de prototipos pueden ayudar mucho. Tambin es adecuado recordar que no debe pretenderse realizar una sola abstraccin, mejor es realizar varias, y en cada una de ellas plasmar una parte del problema. Mediante la abstraccin podemos identificar todos los elementos de un objeto: su identidad (propiedades), sus estados (los valores de las propiedades), comportamiento (los mtodos que realiza). - Encapsulacin: Todas las clases poseen mtodos, es decir las acciones que definen el comportamiento de los objetos que se encuentran en ella. Sin embargo, aunque los usuarios de los objetos podemos saber cuales son estos mtodos, no es necesario que nos enteremos acerca de cmo hace la clase para implementarlos. A esta propiedad se la denomina encapsulamiento. Esto es permitir que se perciba la visin externa de una clase y no su implementacin o visin interna.

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

- Modularidad: Con este trmino se conoce la propiedad de todo sistema de ser dividido en varias partes de estudio a fin de comprenderlo mejor, trabajarlo eficazmente y no abrumarse con tanta informacin. De esta manera se puede extraer, mediante abstraccin, una parte de este, comprenderla y, al codificar y correr el programa, se puede hacer por mdulos. - Jerarquizacin: Proceso que consiste en agrupar jerrquicamente las clases que se obtuvieron de las abstracciones realizadas. Esta agrupacin consiste en identificar clases que contengan a otras; as se llega al concepto de Sper-Clase y Sub-Clase, de donde una sper-clase es una clase que contiene a una o mas clases (por ejemplo: La clase Medios de trasporte es una sper-clase que contiene otras, como Medios terrestres, Medios Acuticos. As mismo la clase Medios terrestres contiene otras como: Automviles, Trenes, etc.) y las sub-clases son aquellas contenidas en clases mayores (como en el caso de la clase Automvil en el ejemplo). Cuando se da aplica en concepto de Jerarqua en las clases, aparecen otros como Herencia simple (cuando una sub-clase hereda los mtodos, estructura y comportamiento de una sper-clase), Herencia mltiple (cuando una sub-clase hereda los mtodos, estructura y comportamiento de varias sper-clases) y Agregacin (el concepto de herencia pero visto en sentido inverso; es decir que una sub-clase es parte de [est agregada a] una sper-clase), conceptos que tienen mucho que ver con los tipos de relaciones que hay entre las clases. En los objetos tambin puede observarse la relacin de agregacin que en este caso es como un objeto puede estar formado por otros (otra relacin de los objetos es la de enlace con la que se percibe envo de mensajes entre los objetos que es algo parecido a las relaciones de uso entre las clases). Para establecer cuanto puede heredar una sub-clase de una superior se ha determinado que la creacin de clases valla acompaada de una especificacin de permisos de acceso. Esto puede notarse el construir clases de tipo privado (solo tiene acceso la clase), pblico (puede tener acceso cualquiera) y protegido (tambin tienen acceso las sub-clases). - Tipificado: A grosso modo esta expresin hace referencia a la coaccin de una clase referente determinado objeto. Todo objeto pertenece a una clase, por lo que: en todo objeto se encontrarn caractersticas que lo identifican y lo asocian a un grupo de semejantes. Lo antedicho puede hacerse gracias a una de las propiedades de los objetos: la identidad. Esta propiedad nos indica que todo objeto acta en un escenario determinado (con fronteras), es decir: si hablamos de un objeto de la clase autos (mi_auto), este tendr cosas en particular que lo diferenciarn de otros como mi_barco (de la clase barcos). - Concurrencia y Persistencia: Con estos trminos se desea trasmitir la idea de cmo en la POO se puede hacer uso de hilos de control para realizar operaciones simultneas sin que el sistema se concentre sobre determinado objeto, as diferentes objetos actuarn al mismo tiempo. Adems los objetos tienen la propiedad de ser persistentes con el paro del tiempo, con eso consiguen existir aunque su creador ya no. Como puede observarse la POO no es en s una forma de programar, no es un lenguaje de programacin, ms bien es todo un Paradigma que se orienta a la localizacin de entidades, su clasificacin y su funcionamiento dentro del sistema analizado.

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

4.JAVA
Java es toda una tecnologa orientada a la programacin de software con el cual podemos realizar cualquier tipo de programas. Hoy en da, la tecnologa Java ha cobrado mucha importancia en el mbito de Internet gracias a su plataforma J2EE. Pero Java no se queda ah, ya que en la industria para la programacin dispositivos mviles tambin usa en gran medida este lenguaje. La tecnologa Java est compuesta bsicamente por 2 elementos: el lenguaje Java y su plataforma. Con plataforma nos referimos a la mquina virtual de Java (Java Virtual Machine). Una de las principales caractersticas que favoreci el crecimiento y difusin del lenguaje Java es su capacidad de que el cdigo fuente funcione sobre cualquier plataforma de software y hardware, es decir, un mismo programa puede ejecutarse en varios sistemas sin tocar el cdigo fuente. Por ejemplo: Unos programas en java escritos para Linux pueden ser ejecutados en Windows sin ningn problema. Adems es un lenguaje orientado a objetos que resuelve los problemas en la complejidad de los sistemas, entre otras. Finalmente concluimos que Java nos brinda una solucin para la programacin de en todo tipo de plataformas. Cuando se programa en Java, se coloca todo el cdigo en mtodos, de la misma forma que se escriben funciones en lenguajes como C.

Comentarios
En Java hay tres tipos de comentarios: // comentarios para una sola lnea

/* comentarios de una o ms lneas */

/** comentario de documentacin, de una o ms lneas */ Los dos primeros tipos de comentarios son los que todo programador conoce y se utilizan del mismo modo. Los comentarios de documentacin, colocados inmediatamente antes de una declaracin (de variable o funcin), indican que ese comentario ha de ser colocado en la documentacin que se genera automticamente cuando se utiliza la herramienta de Java, javadoc. Dichos comentarios sirven como descripcin del elemento declarado permitiendo generar una documentacin de nuestras clases escrita al mismo tiempo que se genera el cdigo.

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

En este tipo de comentario para documentacin, se permite la introduccin de algunos tokens o palabras clave, que harn que la informacin que les sigue aparezca de forma diferente al resto en la documentacin. Identificadores Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite identificar o usar. En Java, un identificador comienza con una letra, un subrayado (_) o un smbolo de dlar ($). Los siguientes caracteres pueden ser letras o dgitos. Se distinguen las maysculas de las minsculas y no hay longitud mxima. Seran identificadores vlidos: identificador nombre_usuario Nombre_Usuario _variable_del_sistema $transaccion y su uso sera, por ejemplo: int contador_principal; char _lista_de_ficheros; float $cantidad_en_Ptas;

Palabras

clave Las siguientes son las palabras clave que estn definidas en Java y que no se pueden utilizar como indentificadores: abstract boolean break byte byvalue case catch char class const continue default do double else extends false final finally float if for goto new null package switch synchronized this threadsafe throw transient true try void while

implements private import protected

instanceof public int interface long native return short static super

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

Palabras Reservadas Adems, el lenguaje se reserva unas cuantas palabras ms, pero que hasta ahora no tienen un cometido especfico. Son: cast future operator generic inner outer rest var

Literales
Un valor constante en Java se crea utilizando una representacin literal de l. Java utiliza cinco tipos de elementos: enteros, reales en coma flotante, booleanos, caracteres y cadenas, que se pueden poner en cualquier lugar del cdigo fuente de Java. Cada uno de estos literales tiene un tipo correspondiente asociado con l. Enteros: byte short int long Por ejemplo: 32 bits 64 bits 21 077 8 bits 16 bits complemento a dos complemento a dos complemento a dos complemento a dos 0xDC00

Reales en coma flotante: float double Por ejemplo: Booleanos: true false Caracteres: Por ejemplo: Cadenas: Por ejemplo: "Esto es una cadena literal" a \t \u???? [????] es un nmero unicode 32 bits 64 bits 3.14 2e12 IEEE 754 IEEE 754 3.1E12

Arrays Se pueden declarar en Java arrays de cualquier tipo: char s[];

10

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34


int iArray[]; Incluso se pueden construir arrays de arrays: int tabla[][] = new int[4][5];

13/09/2011

Los lmites de los arrays se comprueban en tiempo de ejecucin para evitar desbordamientos y la corrupcin de memoria. En Java un array es realmente un objeto, porque tiene redefinido el operador []. Tiene una funcin miembro: length. Se puede utilizar este mtodo para conocer la longitud de cualquier array. int a[][] = new int[10][3]; a.length; a[0].length; /* 10 */ /* 3 */

Para crear un array en Java hay dos mtodos bsicos. Crear un array vaco: int lista[] = new int[50]; o se puede crear ya el array con sus valores iniciales: String nombres[] = { "Juan","Pepe","Pedro","Maria" }; Esto que es equivalente a: String nombres[]; nombres = new String[4]; nombres[0] = new String( "Juan" ); nombres[1] = new String( "Pepe" ); nombres[2] = new String( "Pedro" ); nombres[3] = new String( "Maria" ); No se pueden crear arrays estticos en tiempo de compilacin: int lista[50]; // generar un error en tiempo de compilacin Tampoco se puede rellenar un array sin declarar el tamao con el operador new: int lista[]; for( int i=0; i < 9; i++ ) lista[i] = i;

11

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

Es decir, todos los arrays en Java son estticos. Para convertir un array en el equivalente a un array dinmico en C/C++, se usa la clase vector, que permite operaciones de insercin, borrado, etc. en el array.

Operadores
Los operadores de Java son muy parecidos en estilo y funcionamiento a los de C. En la siguiente tabla aparecen los operadores que se utilizan en Java, por orden de precedencia: . ++ ! * + << < & && ? : = op= (*= /= %= += -= etc.) , ~ / >> > ^ || >>> <= | >= == != [] -instanceof % ()

Los operadores numricos se comportan como esperamos: int + int = int Los operadores relacionales devuelven un valor booleano. Para las cadenas, se pueden utilizar los operadores comparaciones adems de + y += para la concatenacin: String nombre = "nombre" + "Apellido"; El operador = siempre hace copias de objetos, marcando los antiguos para borrarlos, y ya se encargar el garbage collector de devolver al sistema la memoria ocupada por el objeto eliminado. Separadores Slo hay un par de secuencias con otros caracteres que pueden aparecer en el cdigo Java; son los separadores simples, que van a definir la forma y funcin del cdigo. Los separadores admitidos en Java son: relacionales para

12

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

() - parntesis. Para contener listas de parmetros en la definicin y llamada a mtodos. Tambin se utiliza para definir precedencia en expresiones, contener expresiones para control de flujo y rodear las conversiones de tipo. {} - llaves. Para contener los valores de matrices inicializadas automticamente. Tambin se utiliza para definir un bloque de cdigo, para clases, mtodos y mbitos locales. [] - corchetes. Para declarar tipos matriz. Tambin se utiliza cuando se referencian valores de matriz. ; - punto y coma. Separa sentencias. , - coma. Separa identificadores consecutivos en una declaracin de variables. Tambin se utiliza para encadenar sentencias dentro de una sentencia for. . - punto. Para separar nombres de paquete de subpaquetes y clases. Tambin se utiliza para separar una variable o mtodo de una variable de referencia.

13

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

CONCLUSIONES

Se debe recordar que estos 3 paradigmas se complementan y fueron resultado de la evolucin, por lo que cuando se programa con el paradigma Modular se usan las tcnicas de la programacin estructurada y cuando se programa OO se usan las tcnicas de la programacin modular. En el fondo es lgico pensar que haya 3 paradigmas de programacin, ya que son 3 las principales fuerzas que modelan la computacin. Estos son datos, procesos y procesador. El paradigma declarativo se decanta por pensar en los datos como aquello verdaderamente importante, el paradigma imperativo en cambio lo hara por los procesos (del diseo descendente y la funcin principal o cima), por ltimo el orientado a objeto encapsula datos y procesos como un algo (objeto) inseparable, por lo que es el procesador lo verdaderamente importante (es ms un objeto se podra ver como un procesador de nivel de abstraccin superior y ms especfico a cierta rea del problema.

14

SUAREZ HERNANDEZ OSCAR DE JESUS GPO 34

13/09/2011

BIBLIOGRAFIA, ANEXOS Y REFERENCIAS


es.wikipedia.org/wiki/Paradigma_de_programacin sisbib.unmsm.edu.pe Coleccin digital yaqui.mxl.uabc.mx/~aflores/nueva_pagina/.../unidad1 ronaldcorrea.nireblog.com/.../el-paradigma-de-la-programa... sunsite.dcc.uchile.cl/java/docs/JavaTut/Cap1/progra.html es.wikipedia.org/wiki/Java_(lenguaje_de_programacin)

15

Das könnte Ihnen auch gefallen