0% encontró este documento útil (0 votos)
70 vistas10 páginas

5 - Guía Intro Java-3

El documento describe las funciones básicas de la clase Math en Java, como min(), max(), pow(), random(), round(), sqrt() y floor(), así como conceptos sobre vectores, matrices, subprogramas y bucles para manipular arreglos.

Cargado por

Picasso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas10 páginas

5 - Guía Intro Java-3

El documento describe las funciones básicas de la clase Math en Java, como min(), max(), pow(), random(), round(), sqrt() y floor(), así como conceptos sobre vectores, matrices, subprogramas y bucles para manipular arreglos.

Cargado por

Picasso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

min(double a, double b) Devuelve el menor de dos valores double.

min(int a, int b) Devuelve el menor de dos valores enteros.

min(long a, long b) Devuelve el menor de dos valores long.

pow(double a, double b) Devuelve el valor del primer argumento elevado a la potencia del
segundo argumento.

random() Devuelve un double con un signo positivo, mayor o igual que 0.0 y
menor que 1.0.

round(double a) Devuelve el long redondeado más cercano al double introducido.

sqrt(double a) Devuelve la raíz cuadrada positiva correctamente redondeada de


un double.

floor(double a) Devuelve el entero más cercano por debajo.

Metodo random() de la clase Math


El método random podemos utilizarlo para generar números al azar. El rango o margen con
el que trabaja el método random oscila entre 0.0 y 1.0 (Este último no incluido)

Por lo tanto, para generar un número entero entre 0 y 9, hay que escribir la siguiente
sentencia:

int numero = (int) (Math.random() * 10);

Proyecto con ejemplos de las funciones de la clase String y Math

SUBPROGRAMAS
Un método muy útil para solucionar un problema complejo es dividirlo en subproblemas —
problemas más sencillos— y a continuación dividir estos subproblemas en otros más
simples, hasta que los problemas más pequeños sean fáciles de resolver. Esta técnica de
dividir el problema principal en subproblemas se suele denominar “divide y vencerás”.

20
El problema principal se soluciona por el correspondiente programa o algoritmo principal,
mientras que la solución de los subproblemas será a través de subprogramas, conocidos
como procedimientos o funciones. Un subprograma es un como un mini algoritmo, que
recibe los datos, necesarios para realizar una tarea, desde el programa y devuelve los
resultados de esa tarea.

FUNCIONES
Las funciones o métodos son un conjunto de líneas de código (instrucciones),
encapsulados en un bloque, usualmente según los parámetros definidos en la función,
esta recibe argumentos, cuyos valores se utilizan para efectuar operaciones y
adicionalmente retornan un valor. En otras palabras, una función según sus parámetros,
puede recibir argumentos (algunas no reciben nada), hace uso de dichos valores
recibidos como sea necesario y retorna un valor usando la instrucción return, si no
retorna es otro tipo de función. Los tipos que pueden usarse en la función son: int, doble,
long, boolean, String y char.
A estas funciones les vamos a asignar un tipo de acceso y un modificador. Estos dos
conceptos los vamos a ver mejor más adelante, pero por ahora siempre vamos a crear
las funciones con el acceso public y el modificador static. Para saber más sobre estos
dos temas, leer la explicación del método main.

[acceso][modificador][tipo] nombreFuncion([tipo] nombreArgumento, …….){

/*
* Bloque de instrucciones
*/

return valor;
}

PROCEDIMIENTOS (Funciones sin retorno)


Los procedimientos son básicamente un conjunto de instrucciones que se ejecutan sin
retornar ningún valor, hay quienes dicen que un procedimiento no recibe valores o
argumentos, sin embargo, en la definición no hay nada que se lo impida. En el contexto de
Java un procedimiento es básicamente una función cuyo tipo de retorno es void, los que
indica que devuelven ningún resultado.

[acceso][modificador] void nombreFuncion([tipo] nombreArgumento.){

/*
* Bloque de instrucciones
*/

Acerca de los argumentos o parámetros:

Hay algunos detalles respecto a los argumentos de un método, veamos:


* Una función, un método o un procedimiento pueden tener una cantidad infinita de
parámetros, es decir pueden tener cero, uno, tres, diez, cien o más parámetros. Aunque
habitualmente no suelen tener más de 4 o 5.

21
* Si una función tiene más de un parámetro cada uno de ellos debe ir separado por una
coma.
* Los argumentos de una función también tienen un tipo y un nombre que los identifica. El
tipo del argumento puede ser cualquiera y no tiene relación con el tipo del método.
* Al recibir un argumento nada nos obliga a hacer uso de éste al interior del método, sin
embargo, para que recibirlo si no lo vamos a usar.

Consejos acerca de return:

* Cualquier instrucción que se encuentre después de la ejecución de return NO será


ejecutada. Es común encontrar funciones con múltiples sentencias return al interior de
condicionales, pero una vez que el código ejecuta una sentencia return lo que haya de allí
hacia abajo no se ejecutará.
* El tipo de valor que se retorna en una función debe coincidir con el del tipo declarado a la
función, es decir si se declara int, el valor retornado debe ser un número entero.
* En el caso de los procedimientos (void) podemos usar la sentencia return pero sin ningún
tipo de valor, sólo la usaríamos como una manera de terminar la ejecución del
procedimiento.

ARREGLOS: VECTORES Y MATRICES


Un arreglo es un contenedor de objetos que tiene un número fijo de valores del mismo tipo.
El tamaño del arreglo es establecido cuando el arreglo es creado y luego de su creación su
tamaño es fijo, esto significa que no puede cambiar. Cada una de los espacios de un
arreglo es llamada elemento y cada elemento puede ser accedido por un índice numérico
que arranca desde 0 hasta el tamaño menos uno. Por ejemplo, si tenemos un vector de 5
elementos mis índices serian: 0-1-2-3-4

Al igual que la declaración de otros tipos de variables, la declaración de un arreglo tiene


dos componentes: el tipo de dato del arreglo y su nombre. El tipo de dato del arreglo se
escribe como tipo[], en donde, tipo es el tipo de dato de cada elemento contenido en él.
Los corchetes sirven para indicar que esa variable va a ser un arreglo. El tamaño del arreglo
no es parte de su tipo (es por esto que los corchetes están vacíos).

Una vez declarado un arreglo hay que crearlo/dimensionarlo, es decir, hay que asignar al
arreglo un tamaño para almacenar los valores. La creación de un arreglo se hace con el
operador new. Recordemos que las matrices son bidimensionales por lo que tienen dos
tamaños, uno para las filas y otro para las columnas de la matriz.

Declaración y creación de un Vector

tipo[] arregloV = new tipo[Tamaño];

Declaración y creación de una Matriz

tipo[][] arregloM = new tipo[Filas][Columnas];

22
ASIGNAR ELEMENTOS A UN ARREGLO
Cuando queremos ingresar un elemento en nuestro arreglo vamos a tener que elegir el
subíndice en el que lo queremos guardar.
Una vez que tenemos el subíndice decidido tenemos que invocar nuestro vector por su
nombre y entre corchetes el subíndice en el que lo queremos guardar. Después,
pondremos el signo de igual (que es el operador de asignación) seguido del elemento a
guardar.
En las matrices vamos a necesitar dos subíndices y dos corchetes para representar la
posición de la fila y la columna donde queremos guardar el elemento.

Asignación de un Vector

vector[0] = 5;

Asignación de una Matriz

matriz[0][0] = 6;

Esta forma de asignación implica asignar todos los valores de nuestro arreglo de uno en
uno, esto va a conllevar un trabajo bastante grande dependiendo del tamaño de nuestro
arreglo.
Entonces, para poder asignar varios valores a nuestro arreglo y no hacerlo de uno en uno
usamos un bucle Para. El bucle Para, al poder asignarle un valor inicial y un valor final a una
variable, podemos adaptarlo fácilmente a nuestros arreglos. Ya que, pondríamos el valor
inicial de nuestro arreglo y su valor final en las respectivas partes del Para. Nosotros,
usaríamos la variable creada en el Para, y la pasaríamos a nuestro arreglo para representar
todos los subíndices del arreglo, de esa manera, recorriendo todas las posiciones y
asignándole a cada posición un elemento.
Para poder asignar varios elementos a nuestra matriz, usaríamos dos bucles Para anidados.,
ya que un Para recorrerá las filas (variable i) y otro las columnas (variable j).

Asignación de un Vector

for (int i = 0; i < 5; i++) {

vector[i] = 5;

Asignación de una Matriz

for (int i = 0; i < 3; i++) {

for (int j = 0; j < 3; j++) {

matriz[i][j] = 6;

Proyecto con ejemplos de vector y matrices

23
VECTORES Y MATRICES EN SUBPROGRAMAS
Los arreglos se pueden pasar como parámetros a un subprograma (función o
procedimiento) del mismo modo que pasamos variables, poniendo el tipo de dato delante
del nombre del vector o matriz, pero deberemos sumarle las llaves para representar que es
un vector o matriz. Sin embargo, hay que tener en cuenta que la diferencia entre los
arreglos y las variables, es que los arreglos siempre se pasan por referencia.

public static void llenarVector(int[] vector){

}
public static void mostrarMatriz(int[][] matriz){

A diferencia de Pseint, en Java si podemos devolver un vector o una matriz en una función
para usarla en otro momento. Lo que hacemos es poner como tipo de dato de la función, el
tipo de dato que tendra el vector y asi poder devolverlo.

public static int devolverVector(){

int[] vector = new int[5];

return vector;

24
PREGUNTAS DE APRENDIZAJE
1) El archivo de texto plano en Java debe terminar con la extensión de archivo:
a) .class
b) .java
c) .jar
d) Ninguna de las anteriores

2) Cuando se compila un programa en Java, el archivo producido por el compilador


termina con la extensión:
a) .class
b) .java
c) .jar
d) Ninguna de las anteriores

3) ¿Qué es el bytecode en Java?


a) El formato de intercambio de datos
b) El formato que obtenemos tras compilar un código fuente .java
c) Un tipo de variable
d) Un depurador de código

4) Una aplicación ejecutable que representa un procesador genérico sobre el cual se


ejecutan los bytecodes de Java es:
a) La máquina virtual de Java (JVM)
b) Ambiente de ejecución de Java
c) Librerías de clases Java
d) Ninguna de las anteriores

5) ¿Con qué se comienza la ejecución de un programa Java?


a) Con package
b) Con códigos
c) Con el programa o método main()
d) Todas las anteriores

6) Teniendo en cuenta que los paquetes y las clases son análogos a las carpetas y
archivos utilizados por el sistema operativo, ¿el nombre de la clase debe ser
diferente al del paquete?
a) Siempre
b) Nunca
c) No importa
d) Ninguna de las anteriores

7) ¿El llamado a una librería se hace haciendo uso de la sentencia:


a) String
b) Continue
c) Package
d) Import

25
8) El double se aplica para datos tipo:
a) Entero
b) Decimal
c) Carácter
d) Ninguno de los anteriores

9) Para mostrar mensajes por pantalla se usa:


a) System.out.printer()
b) System.out.prin()
c) System.out.println()
d) Ninguna de las anteriores

10) ¿Cuáles son las sentencias de iteración?


a) El Bucle for, while y do/while
b) Bucle for e if/else
c) Bucle while y switch
d) Ninguna de las anteriores

11) ¿Cuáles son las sentencias de salto?


a) Try y break
b) Break y continue
c) Continue y switch
d) While y break

12) ¿Qué diferencia hay entre un bucle while y un bucle for?


a) El bucle for puede llegar a ejecutarse nunca pero el while siempre se ejecuta al
menos una vez.
b) El bucle for se ejecuta un número determinado de veces y el while un número
indeterminado de veces
c) El bucle for no puede convertirse en un bucle while, pero sí al contrario.
d) El bucle while permite su inicialización, pero el bucle for no lo permite.

PREGUNTAS EXTRA:
Investigar la documentación de la clase System y responder:

• ¿Que representa la clase System?


• ¿Para qué sirve el atributo out de la clase System?
• ¿Para qué sirve el atributo in de la clase System?
• ¿Para qué sirve el atributo err de la clase System?

26
EJERCICIOS DE APRENDIZAJE

PRIMEROS PASOS
1. Instalando Java: La primera tarea que tenemos que llevar adelante es la instalación
del entorno de desarrollo.

Kit de Desarrollo Java

Lo primero que haremos será instalar Java en nuestras computadoras. Para ello debemos
descargarlo a través del siguiente link:

Java SE Development Kit 8 Downloads

Una vez instalado vamos a corroborar de que el entorno ha sido instalado de manera
correcta. En la consola ejecutaremos el siguiente comando:

java -version

Si todo se instaló correctamente deberíamos obtener una respuesta como esta:

java version "1.8.0_211"


Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

ENTORNOS DE DESARROLLO

Una vez instalado Java procedemos a instalar un entorno de desarrollo que proporciona
una serie de servicios y herramientas integrales que tienen como fin facilitar las tareas de
desarrollo, testing e implementación de software. Para llevar adelante el curso
recomendamos instalar NetBeans, pero se puede utilizar cualquiera de los siguientes IDEs:

NetBeans IDE

27
A partir de ahora comenzaremos a aprender cómo los mismos algoritmos que diseñamos
en PSeInt podemos escribirlos también en Java, simplemente haciendo una traducción de
cada una de las estructuras de control vistas en PSeInt a Java.

Si bien en esta guía se proponen nuevos problemas, se sugiere que los mismos ejercicios
ya implementados en PSeInt sean traducidos al lenguaje de programación Java.

VER VIDEO: Primer programa en Java con Netbeans

Para la realización cada uno de los siguientes ejercicios se debe definir una clase y colocar
toda la implementación dentro del método main() de dicha clase, tal cual se indica en el
video.

Dificultad Baja Dificultad Media Dificultad Alta

2. Escribir un programa que pida dos números enteros por teclado y calcule la suma
de los dos. El programa deberá después mostrar el resultado de la suma

3. Escribir un programa que pida tu nombre, lo guarde en una variable y lo muestre


por pantalla.

4. Escribir un programa que pida una frase y la muestre toda en mayúsculas y


después toda en minúsculas. Nota: investigar la función toUpperCase() y
toLowerCase() en Java.

5. Dada una cantidad de grados centígrados se debe mostrar su equivalente en


grados Fahrenheit. La fórmula correspondiente es: F = 32 + (9 * C / 5).

6. Escribir un programa que lea un número entero por teclado y muestre por pantalla
el doble, el triple y la raíz cuadrada de ese número. Nota: investigar la función
Math.sqrt().

VER VIDEO: Condicionales en Java

7. Implementar un programa que dado dos números enteros determine cuál es el


mayor y lo muestre por pantalla.

8. Crear un programa que dado un numero determine si es par o impar.

9. Crear un programa que pida una frase y si esa frase es igual a “eureka” el programa
pondrá un mensaje de Correcto, sino mostrará un mensaje de Incorrecto. Nota:
investigar la función equals() en Java.

10. Realizar un programa que solo permita introducir solo frases o palabras de 8 de
largo. Si el usuario ingresa una frase o palabra de 8 de largo se deberá de imprimir
un mensaje por pantalla que diga “CORRECTO”, en caso contrario, se deberá
imprimir “INCORRECTO”. Nota: investigar la función Lenght() en Java.

28
11. Escriba un programa que pida una frase o palabra y valide si la primera letra de esa
frase es una ‘A’. Si la primera letra es una ‘A’, se deberá de imprimir un mensaje por
pantalla que diga “CORRECTO”, en caso contrario, se deberá imprimir
“INCORRECTO”. Nota: investigar la función Substring y equals() de Java.

12. Considera que estás desarrollando una web para una empresa que fabrica motores
(suponemos que se trata del tipo de motor de una bomba para mover fluidos).
Definir una variable tipoMotor y permitir que el usuario ingrese un valor entre 1 y 4.
El programa debe mostrar lo siguiente:

o Si el tipo de motor es 1, mostrar un mensaje indicando “La bomba es una


bomba de agua”.
o Si el tipo de motor es 2, mostrar un mensaje indicando “La bomba es una
bomba de gasolina”.
o Si el tipo de motor es 3, mostrar un mensaje indicando “La bomba es una
bomba de hormigón”.
o Si el tipo de motor es 4, mostrar un mensaje indicando “La bomba es una
bomba de pasta alimenticia”.
o Si no se cumple ninguno de los valores anteriores mostrar el mensaje “No
existe un valor válido para tipo de bomba”

VER VIDEO: Bucles y sentencias de salto break y continue

13. Escriba un programa que valide si una nota está entre 0 y 10, sino está entre 0 y 10
la nota se pedirá de nuevo hasta que la nota sea correcta.

14. Escriba un programa en el cual se ingrese un valor límite positivo, y a continuación


solicite números al usuario hasta que la suma de los números introducidos supere
el límite inicial.

15. Realizar un programa que pida dos números enteros positivos por teclado y
muestre por pantalla el siguiente menú:

MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
5. Salir
Elija opción:

El usuario deberá elegir una opción y el programa deberá mostrar el resultado por
pantalla y luego volver al menú. El programa deberá ejecutarse hasta que se elija la
opción 5. Tener en cuenta que, si el usuario selecciona la opción 5, en vez de salir
del programa directamente, se debe mostrar el siguiente mensaje de confirmación:
¿Está seguro que desea salir del programa (S/N)? Si el usuario selecciona el
carácter ‘S’ se sale del programa, caso contrario se vuelve a mostrar el menú.

29

También podría gustarte