Anda di halaman 1dari 17

Programacin Avanzada y Mtodos Numricos

Prcticas de Laboratorio
2 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Ejercicio 1: Construccin de una tabla pitagrica


Escriba un programa que primero lea un nmero entero n menor a 10 y
luego nos regrese una tabla de multiplicar para los nmero del 1 hasta n. Los
posibles errores deben ser checados. Por ejemplo, si n es igual a 3, el
programa debe mostrar:

1 2 3

1 1 2 3

2 2 4 6

3 3 6 9

Tarea 1 Crear la clase Tabla


Usando un editor de textos (Notepad++), cree el archivo Tabla. Realice lo
siguiente:

1. Declare la clase Tabla.


2. Agregue el mtodo main.
a. Cree una variable de tipo entera y asgnele el primer parmetro
que se le pasa por lnea de comandos.

int n;
n = Integer.parseInt(args[0]);

b. Imprima con ayuda del mtodo printf de System.out la


tabla solicitada arriba, aydese con las estructuras de control
necesarias.

Tarea 2 Compilar el programa Tabla


Desde la lnea de comandos, use el comando javac para compilar el
programa.

javac Tabla.java

Tarea 3 Ejecutar el programa Tabla

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


3 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Desde la lnea de comandos, use le programa java para correr el programa.

java Tabla

La salida debe ser similar a la tabla mostrada arriba.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


4 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Ejercicio 2: Arreglos
Escriba un programa con un arreglo nums definido e inicializado como sigue

int nums[20] = {1, 3, 5};

Aunque el arreglo puede almacenar 20 nmeros, slo los tres primeros


elementos han sido inicializados. Su programa debe guardar nmeros
enteros en los elementos que no han sido inicializados de acuerdo a la
siguiente frmula:
nums[ i ] = nums[ 0 ] + nums[ 1 ] + + nums[ i 1 ]
Por ejemplo, para i = 3
nums[ 3 ] = nums[ 0 ] + nums[ 1 ] + nums[ 2 ] = 1 + 3 + 5 = 9

Tarea 1 Crear la clase Arreglo


Usando un editor de textos (Notepad++), cree el archivo Tabla. Realice lo
siguiente:

1. Declare la clase Arreglo.


2. Agregue el mtodo main.
a. Cree un arreglo de 20 enteros.

int [] nums = new int[20] ;

b. Inicialice los tres primeros elementos como indican las


instrucciones.

nums[0] = 1;
nums[1] = 3;
nums[2] = 5;

c. Por medio de alguna estructura de control, inicialice el resto de


los elementos del arreglo de manera adecuada.
d. Imprima con ayuda del mtodo printf de System.out el
arreglo completo.

Tarea 2 Compilar el programa Arreglo


Desde la lnea de comandos, use el comando javac para compilar el
programa.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


5 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

javac Arreglo.java

Tarea 3 Ejecutar el programa Arreglo


Desde la lnea de comandos, use le programa java para correr el programa.

java Arreglo

La salida debe ser similar a la tabla mostrada arriba.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


6 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Ejercicio 3: Creacin de un programa de prueba


En este ejercicio crear un programa de prueba para ejecutar una clase ya
creada. La figura que sigue muestra la definicin de la clase Punto utilizando
UML.

Tarea 1 Crear la clase Punto


Cree la clase Punto, tal como se muestra en el diagrama de arriba. Esta clase
debe ser pblica y no debe contener mtodo main.

Tarea 1 Crear la clase TestPunto


Usando un editor de textos (Notepad++), cree el archivo TestPunto. Este
programa ser usado para crear objetos de la clase Punto.

Cree dos puntos y obtenga la distancia entre ambos puntos. Finalmente


muestre el resultado en la pantalla.

Tarea 2 Compilar el programa TestPunto


Desde la lnea de comandos, use el comando javac para compilar el
programa.

javac TestPunto.java

Tarea 3 Ejecutar el programa TestPunto


Desde la lnea de comandos, use le programa java para correr el programa.

java TestPunto

La salida debe ser similar a la tabla mostrada arriba.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


7 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

LABORATORIO

Clases, objetos y mtodos.


Antes de que pueda continuar ms a profundidad con su estudio del lenguaje Java,
necesita obtener el conocimiento necesario acerca de las clases. Las clases son la esencia
de Java. Es la unidad base a partir de la cual est construido el lenguaje ya que las clases
definen la naturaleza de los objetos. Por tanto, las clases forman la base de la
programacin orientada a objetos para Java. Dentro de una clase estn definidos
informacin y cdigo el cual acta sobre esa informacin. El cdigo est contenido en
mtodos. Ya que las clases, objetos y mtodos son fundamentales para Java, en esta
prctica se desarrolla una introduccin a esos conceptos. Tener un entendimiento bsico
de estas caractersticas le permitir escribir programas muchos ms sofisticados.

Objetivos

Al concluir este laboratorio, usted debe ser capaz de:


Conocer los fundamentos de las clases
Entender cmo son creados los objetos
Crear mtodos, regresar valores y usar parmetros
Utilizar constructores
Entender la palabra reservada new
Utilizar la palabra this
Utilizar el API de Java para buscar clases y mtodos

1. Clase Coche

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


8 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Tarea 1 Crear la clase Coche


Usando un editor de textos (Notepad++), cree el archivo Coche. Agregue
cada uno de los atributos y mtodos que se muestran en el diagrama UML
anterior.

La clase cuenta el mtodo constructor Coche que se encuentra


sobrecargado, debe implementar cada uno de esos mtodos inicializando los
valores que se le pasan al mtodo. Para el constructor vaco, inicialice todos
los atributos a su valor por defecto.

El mtodo cambios debe realizar el cambio de velocidades cada n segundos


que se le pasan como parmetros, esto se debe hacer de manera automtica.
Investigue en el API de Java como lograr parar la ejecucin del programa
durante n segundos. Se recomienda declarar el mtodo como sigue:

Este mtodo debe mostrar en pantalla algo como lo siguiente:

Cambiando a primera velocidad

Cambiando a segunda velocidad

Cambiando a quinta velocidad

Reversa

RECUERDE: debe haber un retardo de n segundos entre mensaje y mensaje.

Finalmente, el mtodo litrosGasolina debe indicar a partir del valor


km que se le pasa como parmetro (nmero de km a recorrer) y de los
atributos gasolina y kmlg de la clase si con esa cantidad de gasolina se
pueden recorrer los km kilmetros, tomando en cuenta que el coche gasta
un litro de gasolina por cada kmlg kilmetros.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


9 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

Tarea 2 Crear la clase TestCoche


Usando un editor de textos (Notepad++), cree el archivo TestCoche. Esta
clase ser utilizada para crear objetos de la clase Coche.

Cree tantos objetos como mtodos constructores haya y muestre su


informacin. Y para uno de esos objetos (eleccin libre) ejecute sus mtodos
cambios y litrosGasolina y muestre la salida en pantalla.

Tarea 3 Compilar el programa TestCoche


Desde la lnea de comandos, use el comando javac para compilar el
programa.

javac TestCoche.java

NOTA: En este punto ya debe tener compilada la clase Coche.

Tarea 3 Ejecutar el programa TestCoche


Desde la lnea de comandos, use le programa java para correr el programa.

java TestCoche

La salida debe ser similar a la tabla mostrada arriba.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


10 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

REFERENCIA

Operadores, tipos de datos y palabras reservadas en


Java.
Java soporta una gran cantidad de tipos de datos y operadores, los operadores y tipos de
datos definen en gran medida las capacidades y lmites de un lenguaje de programacin.

Los operadores y tipos de datos son un tema extenso, aqu se muestra un compendio de
todos los operadores y tipos de datos que soporta el lenguaje. Ver que la sintaxis de
declaracin de variables es prcticamente igual al lenguaje de programacin C y que los
operadores tambin los mismos que podemos encontrar en la programacin modular.

1. Tipos de datos primitivos de Java

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


11 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

2. Enteros

3. Punto flotante

Type Width in Bits Examples of Allowed Literal Values


float 32 99F
-32745699.01F
double 64 -1111
2.1E12

4. Textuales y lgicos

Type Width in Bits Examples of Allowed Literal Values


char 16 A
1
boolean 16 True
false

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


12 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

5. Secuencias de escape

6. Operadores aritmticos

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


13 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

7. Operadores relacionales y lgicos

8. Operadores de asignacin

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


14 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

9. Precedencia de operadores

La siguiente tabla muestra el orden de precedencia de todos los operadores de Java,


desde la mayor precedencia a la menor precedencia.

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


15 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

10. Palabras reservadas

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


16 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

REFERENCIA

Estructuras de control.
Las estructuras de control son las sentencias que controlan el flujo de ejecucin de un
programa. Existen tres tipos de estructuras de control: sentencias de seleccin, sentencias
de iteracin y sentencias de salto (break, continue y return).

1. Sentencia if

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx


17 Facultad de Ingeniera
Laboratorio de Programacin Avanzada y Mtodos Numricos

2. Sentencia switch

3. Ciclo for

4. Ciclos while / do-while

Eric Ulises Garca Cano Castillo gcc@unica.unam.mx

Anda mungkin juga menyukai