semana6_lp1_2014_i

36
Semana 6 Docente: Carlos Jara Alva Lenguaje de programación I

Upload: jcb1987

Post on 04-Dec-2015

9 views

Category:

Documents


2 download

DESCRIPTION

semana 6 lp1

TRANSCRIPT

Page 1: semana6_LP1_2014_I

Semana 6

Docente: Carlos Jara Alva

Lenguaje de programación I

Page 2: semana6_LP1_2014_I

Temas a tratar

Matrices bidimensionales Ejercicios de matrices bidimensionales Polimorfismo. Ejercicios. Método burbuja.

Page 3: semana6_LP1_2014_I

Matrices Bidimensionales

Page 4: semana6_LP1_2014_I

Conceptos básicos

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional está simultáneamente en una fila y en una columna.

En matemáticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en problemas de Ingeniería.

En un arreglo bidimensional, cada elemento tiene una posición que se identifica mediante dos índices: el de su fila y el de su columna.

Page 5: semana6_LP1_2014_I

Declaración de matrices

Una MATRIZ tiene forma de tabla, y como tal, está dividida en FILAS y COLUMNAS.

Bien, una vez aclarado la forma que debe tener una MATRIZ, veamos su formato:

tipoDato [ ] [ ] nombreVariable=new tipoDato[  tamañoFILA ] [ tamañoCOLUMNA ];

En primer lugar elegimos el tipo de dato (int, float, String...), seguido de 2 corchetes "[ ] [ ] ", es muy importante que la matriz lleve 2 corchetes, ya que tenemos que almacenar FILAS y COLUMNAS.

Page 6: semana6_LP1_2014_I

Declaración de matrices

Elegimos un nombre para nuestra MATRIZ, a vuestra elección.

Creamos el objeto de la MATRIZ (Al igual que el ARRAY o VECTOR, la MATRIZ es una clase) con la linea "new tipoDato", donde tipoDato es el tipo que habéis elegido.

Por último agregamos los 2 corchetes "[ ] [ ]", y le damos un tamaño, al igual que el tamaño de los ARRAYS o VECTORES, el tamaño estará compuesto por un número entero.

Page 7: semana6_LP1_2014_I

Declaración de matrices La forma de rellenar una MATRIZ es muy parecida a

la del ARRAY y hay distintas formas: Creamos una MATRIZ de 2 FILAS y 2 COLUMNAS,

(como hemos descrito arriba) y la rellenamos uno por uno: int [ ] [ ] numEnteros=new int [2] [2]; numEnteros[0][0]=1; numEnteros[0][1]=2; numEnteros[1][0]=3; numEnteros[1][1]=4;

Page 8: semana6_LP1_2014_I

Matrices multidimensionales

Page 9: semana6_LP1_2014_I

Ejercicio 1

Desarrollar un programa en java que me permita implementar un arreglo bidimensional que almacene los siguientes elementos:

20 12

200 11 Sabiendo que todos estos elementos están

guardados en el arreglo , recorrer todos los espacios de memoria e ir visualizando todos los elementos.

Page 10: semana6_LP1_2014_I

Declarando un arreglo bidimensional de orden 2 x 2, con elementos debidamente asignados

A través de los bucles anidados estamos recorriendo todas las posiciones de memoria y mostrando los elementos guardados del arreglo bidimensional

Page 11: semana6_LP1_2014_I

Ejercicio 2

Desarrollar un programa en java que me permita implementar un arreglo bidimensional de 2 filas y 2 columnas , los elementos numéricos, tendrán que ingresarse por teclado, hasta llenar totalmente el arreglo.

Sabiendo que todos estos números están guardados en el arreglo , recorrer todos los espacios de memoria e ir visualizando los números almacenados.

Page 12: semana6_LP1_2014_I

Declarando una variable (numCad) de tipo de dato String .además estamos implementando dos bucles anidados con la finalidad de recorrer todas las posiciones de memoria del arreglo unidimensional e ir añadiendo los datos ingresados por el teclado.

Page 13: semana6_LP1_2014_I

Declarando una variable (acumCad), además implementamos bucles anidados (for) con la finalidad de recorrer todos los espacios de memorias del arreglo unidimensional e ir concatenándolo en una variable de tipo cadena.

Mostrando por pantalla los elementos del arreglo

Page 14: semana6_LP1_2014_I

Ejemplo 3

Desarrollar un programa en java que me permita implementar un arreglo unidimensional de tamaño 3 .Al arreglo se le tiene que asignar los siguientes elementos : 3 , 6 , 1

El programa tiene que buscar un elemento al arreglo, el número a buscar se tiene que ingresar por el teclado.

Además el programa tiene que mostrar un mensaje de confirmación de la búsqueda.

Page 15: semana6_LP1_2014_I

Después que hemos ingresado el dato numérico a buscar , implementamos un bucle que me permita recorrer todos los espacios de memoria del arreglo unidimensional, con la finalidad de buscar el valor numérico que previamente se ha ingresado por el teclado.Cuando el bucle recorre todos los espacios de memoria , la condicional simple que se ha implementado dentro del bucle , logra buscar el elemento y si lo encuentra simplemente invoca a una sentencia break , logrando parar el bucle en la posición de memoria donde se encuentra el elemento encontrado.

Page 16: semana6_LP1_2014_I

Aquí es donde implementamos una condicional doble que me permita validar la variable flag.

Sabemos que la variable flag permite definir cuando un valor numérico ha sido encontrado

Page 17: semana6_LP1_2014_I

Método de la burbujaEl algoritmo de la burbuja es uno de los métodos de ordenación más conocidos y uno de los primeros que aprenden los programadores.

Consiste en comparar pares de elementos adyacentes en un array y si están desordenados intercambiarlos hasta que estén todos ordenados.

Page 18: semana6_LP1_2014_I

Método de la burbuja

Page 19: semana6_LP1_2014_I

Método de la burbuja

Page 20: semana6_LP1_2014_I

GUI en Java

Ofrecen al usuario ventanas, cuadros de dialogo, barras de herramientas, botones, listas desplegables y muchos otros elementos con los que siempre se utilizan diariamente.

Las aplicaciones son conducidas por eventos y se desarrollan haciendo uso de las clases que para ello nos ofrece la API de

Page 21: semana6_LP1_2014_I

¿Qué es una API?

Interfaz de Programación de Aplicaciones. Grupo de rutinas (conformando una interfaz) que provee un sistema operativo, una aplicación o una biblioteca, que definen cómo invocar desde un programa un servicio que éstos prestan. En otras palabras, una API representa un interfaz de comunicación entre componentes software.

Page 22: semana6_LP1_2014_I

API en Java Proporciona una biblioteca de clases para el

desarrollo de Interfaces graficas de usuario. La biblioteca proporciona un conjunto de

herramientas para la construcción de interfaces graficas que tienen una apariencia y se comportan de forma semejante en todas las plataformas en la que se ejecuten.

La estructura básica de la biblioteca giran en torno a componentes y contenedores. Los contenedores contienen componentes y son componentes a su vez, de forma que los eventos pueden tratarse tanto en contenedores como en componentes.

Page 23: semana6_LP1_2014_I

Jerarquía de ventanas en Java

Page 24: semana6_LP1_2014_I

Jerarquía de ventanas en Java

Page 25: semana6_LP1_2014_I

Comandos mas usados en GUI JAVA JAVA Frame es el componente, control u objeto

principal de una aplicación visual o grafica en java.

Es el equivalente a FORM1 en los demás lenguajes visuales, como todos ellos Frame es un objeto normal que se deriva de una clase apropiada, tiene sus propiedades y se le pueden asociar sus eventos.

Page 26: semana6_LP1_2014_I

Comandos mas usados en GUI JAVA JButton. Este control visual muestra un botón. El proceso para añadir botones a un control JFrame es

similar a añadir controles de tipo JLabel. La mecánica para atrapar el clic del objeto de la clase

JButton se hace mediante la implementación de una interface. Una interface es un protocolo que permite la comunicación entre dos clases. Una interface contiene uno o más cabecera de métodos, pero no su implementación. Por ejemplo la interface se llama ActionListener. Ejemplo:

public class Formulario extends JFrame implements ActionListener

Page 27: semana6_LP1_2014_I

Comandos mas usados en GUI JAVA SetBounds. Es un método en Java que

mueve y cambia el tamaño de un componente para caber dentro de los parámetros de un rectángulo delimitador especificado (Formulario).

Estos parámetros incluyen los tipos de datos enteros x, y, anchura y altura.

Page 28: semana6_LP1_2014_I

Comandos mas usados en GUI JAVA getContentPane. Para añadir, por ejemplo, un

botón, debemos pedir el Container a la ventana y añadirle el botón. Para obtener el Container se llama al método getContentPane() de la ventana. Luego, llamamos al método add() de ese Container para añadirle botones y demás. El código es como este:

v.getContentPane().add(elBoton);

Page 29: semana6_LP1_2014_I

Ejemplo 1: Formulario y etiquetas

Se asigna un tamaño de 500 horizontal por 500 de vertical en pixeles

Hacemos visible la ventana con true

setLayout. Esta clase es la que decide en qué posición van los botones y demás componentes, si van alineados, en forma de matriz, cuáles se hacen grandes al agrandar la ventana, etc.

Page 30: semana6_LP1_2014_I

Ejemplo 2: Campos de texto

Page 31: semana6_LP1_2014_I

Ejemplo 3: Botones

Page 32: semana6_LP1_2014_I

Ejemplo 4: Áreas con barras desplaz.

Page 33: semana6_LP1_2014_I

Ejercicio con bonificación

Para los 4 primeros alumnos en terminar, se le aumentaran +2 puntos en la practica que viene.

Page 34: semana6_LP1_2014_I

Menu de barras en Java

Un menú en una aplicación no es más que un MenuBar en el que hay varios menús.Pensemos en un programa cualquiera con las voces de menú File Edit y Help. Estas tres voces en Java son unos objetos de la clase Menú y se tienen que añadir a un objeto de la clase MenuBar que se une a la ventana. 

Page 35: semana6_LP1_2014_I

Recursividad de un JMenu

• Crear los objetos MenuItem.• Crear los objetos menú y pegarles los MenuItem.• Crear una MenuBar y pegarles los Menús.

Page 36: semana6_LP1_2014_I

Estamos declarando una objeto llamado JMenuBar con la variable mb,

Estamos declarando un objeto JMenu con la variable menu1

Estamos declarando un objeto JMenuItem con la variables: mi1, mi2, mi3.