viernes, 10 de noviembre de 2017

Tema U3.- POO (clases y objetos)

CLASES Y OBJETOS:

En la vida diaria podemos pensar en objetos como una manzana o un libro y podemos distinguir clases de cosas: por ejemplo, clases de plantas. Sin embargo, en programación el término objeto y el término clase no guardan una correlación exacta con el significado de estas palabras en la vida diaria. Podemos buscar ciertas similitudes e incluso hacer analogías didácticas. Pero no trates de buscar siempre equivalencias entre objetos y clases en programación con objetos y clases de la vida diaria porque esa correspondencia exacta no existe y te llevará a confusión. Al escribir un programa en un lenguaje orientado a objetos tratamos de modelar un problema del mundo real pensando en objetos que forman parte del problema y que se relacionan entre sí.
Objeto: Entidad existente en la memoria del ordenador que tiene unas propiedades (atributos o datos sobre sí mismo almacenados por el objeto) y unas operaciones disponibles específicas (métodos).
Clase: Abstracción que define un tipo de objeto especificando qué propiedades (atributos) y operaciones disponibles va a tener.
Estas definiciones son quizás poco clarificadoras. Con un ejemplo vamos a entenderlo mejor. En primer lugar, pensemos en un programa que trata de gestionar datos sobre los vehículos de transporte público de una ciudad, por ejemplo, México D.F.

Tema U3.- POO (programación orientada a objetos)

CONCEPTOS GENERALES:

¿Qué es Programación Orientada a Objetos (P.O.O.) y qué ventajas tiene?

Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas de ordenador. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.

La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

¿Qué es un Objeto en Programación?

Un objeto es en realidad un conjunto de métodos (funciones y procedimientos), todos ellos relacionados con un determinado concepto del mundo real. Los objetos son entidades que combinan estado (atributo), comportamiento (método) e identidad: El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).

El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él la identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).

Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos. Los objetos disponen de mecanismos de interacción llamados métodos, que favorecen la comunicación entre ellos. Esta comunicación favorece el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separa el estado y el comportamiento el estado de un objeto es como describir todos los detalles de cierto objeto en un instante determinado así que cada vez que los atributos cambian, se puede decir que el objeto cambia de estado.

¿Qué son los Métodos y los Atributos?

Los métodos (comportamiento) y atributos (estado) están estrechamente relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase requiere de métodos para poder tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos, sin separar ni darle mayor importancia a alguno de ellos, ya que al hacerlo podría producir un hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen a las primeras por el otro. De esta manera se estaría realizando una programación estructurada camuflada en un lenguaje de programación orientado a objetos.

Tema U2 matrices (tipos)

MATRIZ SIMÉTRICA:


Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos representar una matriz como una tabla de n filas y m columnas cuyos elementos son todos del mismo tipo.



MATRIZ TRANSPUESTA:

 La matriz transpuesta, esto quiere decir que las filas de una matriz se convertirán en las columnas de la matriz a crear y las columnas de la matriz dada se convertirán en las filas de la matriz transpuesta.
Ejemplo:

Tema U2 matrices (Definición)

DEFINICIÓN:

Un array en Java puede tener más de una dimensión. El caso más general son los arrays bidimensionales también llamados matrices o tablas.
La dimensión de un array la determina el número de índices necesarios para acceder a sus elementos.
Los vectores que hemos visto en otra entrada anterior son arrays unidimensionales porque solo utilizan un índice para acceder a cada elemento.
Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos representar una matriz como una tabla de n filas y m columnas cuyos elementos son todos del mismo tipo.

La siguiente figura representa un array M de 3 filas y 5 columnas:


AQUÍ UN EJEMPLO:

Tema U1 Arreglos (búsqueda secuencial)

BUSQUEDA SECUENCIAL:

Es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo.

Para efectos de esta explicación visualice el arreglo como una serie de cajas unidas donde podemos almacenar datos del mismo tipo, los arreglos están indexados con una serie de números de van de menor a mayor y que sirven para hacer referencia a cada una de las cajas dentro del arreglo, en java esta índices comienzan en 0.




Tema U1.- Arreglos (métodos)

MÉTODO BURBUJA:

El funcionamiento del algoritmo es bastante fácil, únicamente va recorriendo los elementos del arreglo comparando si es más grande o más chico un elemento que el de al lado, dependiendo si queremos ordenar de forma ascendente o descendente, se realizan las cantidad de vueltas necesarias hasta tener todos los elementos ordenados.





MÉTODO INSERCIÓN:

Consiste en ir insertando un elemento de la lista ó un arreglo en la parte ordenada de la misma, asumiendo que el primer elemento es la parte ordenada, el algoritmo ira comparando un elemento de la parte desordenada de la lista con los elementos de la parte ordenada, insertando el elemento en la posición correcta dentro de la parte ordenada, y así sucesivamente hasta obtener la lista ordenada.


viernes, 3 de noviembre de 2017

Tema U1 .-Arreglos(Definición)

                                   Tema U1.- Arreglos

DEFINICIÓN:

Arreglos:

Los arreglos se pueden definir como objetos en los que podemos guardar mas de una variable, es decir, al tener un único arreglo, este puede guardar múltiples variables de acuerdo a su tamaño o capacidad, es importante recordar que las variables guardadas deben ser del mismo tipo, por ejemplo: Si tenemos un arreglo de tipo Numérico que puede almacenar 10 variables, solo podrá almacenar 10 números diferentes, no otras variables como caracteres o Strings.
Existen 2 tipos de arreglos, los unidimensionales, y los multidimensionales(generalmente 2 dimensiones y se les denomina matrices), en esta lección veremos como declarar y utilizar los arreglos unidimensionales, estos son mas sencillos y fáciles de comprender, y pueden servirnos para muchas aplicaciones.
ejemplo:















¿COMO LLENAR UN ARREGLO?
La estructura de declaración de un arreglo es la siguiente:
tipo_de dato [] nombre_variable;  //también puede declararse “tipo_de dato nombre_variable[];”
BUCLE FOR  EACH:
Una de las cosas que incorporó java fue el bucle for-each en java. Esta estructura nos permite recorrer una Colección o un array de elementos de una forma sencilla. Evitando el uso de Iteradores o de un bucle for normal