Java Talleres cap 3 al 6 deitel final

Anuncio
Talleres Libro Guía “Como programar en JAVA”
ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Fichas: 581708 y 600182
Instructor: IVAN DANIEL VELA MONTENEGRO
Al seguir como libro Guía el texto “Como programar en JAVA” encontramos una serie de
ejercicios Propuesto que nos permitirán afianzar las lecturas de los capítulos propuestos en el
libro, inicialmente se desarrollaran los siguientes ejercicios que le permitirán al aprendiz
apropiarse de conceptos y definiciones para posteriormente aplicarlos al desarrollo de código
específico. Por esta razón es necesario que basados en las lecturas del capítulo respondan los
siguientes cuestionarios:
Ejercicios Propuestos:
Capítulo 3: ejercicios 3.5 a 3.10
3.5 ¿Cuál es el propósito de la palabra clave new? Explique lo que ocurre
cuando se utiliza en una aplicación.
La palabra clave new crea un nuevo objeto de la clase especificada a la
derecha de la palabra clave.
3.6 ¿Qué es un constructor predeterminado? ¿Cómo se inicializan las variables
de instancia de un objeto, si una clase sólo tiene un constructor
predeterminado?
Los paréntesis a la derecha del objeto son obligatorios, esos paréntesis en
combinación con el nombre de una clase representan una llamada a un
constructor , que es similar a un método, pero se utiliza sólo cuando se crea
un objeto, para inicializar los datos de éste.
Cada clase que usted declare puede proporcionar un constructor, el cual puede
utilizarse para inicializar un objeto de una clase al momento de crear ese
objeto. De hecho, Java requiere una llamada al constructor para cada objeto
que se crea.
La palabra clave new llama al constructor de la clase para realizar la
inicialización. La llamada al constructor se indica mediante el nombre de la
clase, seguido de paréntesis; el constructor debe tener el mismo nombre que la
clase.
Cuando una clase sólo tiene el constructor predeterminado, sus variables de
instancia se inicializan con sus valores predeterminados. Las variables de los
tipos char, byte, short, int, long, float y double se inicializan con 0, las variables
de tipo boolean se inicializan con false, y las variables de tipo por referencia se
inicializan con null.
3.7 Explique el propósito de una variable de instancia.
Guardar los atributos de un objeto.
3.8 La mayoría de las clases necesitan importarse antes de poder utilizarlas en
una aplicación ¿Por qué cualquier aplicación puede utilizar las clases System y
String sin tener que importarlas primero?
La mayoría de las clases que utilizará en los programas de Java deben
importarse. Las clases System y String están en el paquete java.lang, que se
importa de manera implícita en todo programa de Java, por lo que todos los
programas pueden usar las clases del paquete java.lang sin tener que
importarlas de manera explícita.
3.9 Explique cómo utilizaría un programa la clase Scanner, sin importarla del
paquete java.util.
La declaración import no es obligatoria si siempre hacemos referencia a la
clase Scanner como java.util.Scanner, que incluye el nombre completo del
paquete y de la clase.
3.10 Explique por qué una clase podría proporcionar un método establecer y un
método obtener para una variable de instancia.
El método establecer, almacena el nombre de un curso en un objeto. El método
obtener, obtiene el nombre del curso de un objeto.
Capítulo 4: ejercicios 4.10 a 4.14
4.10 Compare y contraste la instrucción if de selección simple y la instrucción
de repetición while. ¿Cuál es la similitud en las dos instrucciones? ¿Cuál es su
diferencia?
La similitud esta en que los dos necesitan una condición para cumplir con
unas instrucciones , la diferencia esta en que el if necesita la condición para
ejecutar las instrucciones y el while ejecutara las instrucciones (MIENTRAS) la
condición se cumpla , se podría decir que se itera infinitamente , si la
condición no se cumple este llega a su fin .
La instrucción if es una instrucción de selección simple, ya que selecciona o
ignora una sola acción o un solo grupo de acciones.
La instrucción while realiza la acción (o grupo de acciones) en su cuerpo, cero
o más veces; si la condición de continuación del ciclo es inicialmente falsa no
se ejecutará la acción (o grupo de acciones).
4.11 Explique lo que ocurre cuando un programa en Java trata de dividir un
entero entre otro. ¿Qué ocurre con la parte fraccionaria del cálculo? ¿Cómo
puede un programador evitar ese resultado?
Al dividir dos enteros se produce una división entera (int): se pierde cualquier
parte fraccionaria del cálculo (es decir, se trunca).
Para evitar esto, el programador debe definir las variables como punto flotante
(float).
4.12 Describa las dos formas en las que pueden combinarse las instrucciones
de control.
Están las instrucciones de selección , las cuales ay sencillas if , las ay dobles if
– else que es para una doble condición y las ay multiples switch , la cual tiene
que llevar un break seguido y terminar en un default .
Estan las instrucciones de repetición , como son : while , Do- while y for que
cumplen funciones parecidas de diferentes formas
4.13 ¿Qué tipo de repetición sería apropiada para calcular la suma de los
primeros 100 enteros positivos? ¿Qué tipo de repetición sería apropiada para
calcular la suma de un número arbitrario de enteros positivos? Describa
brevemente cómo podría realizarse cada una de estas tareas.
Para la primera tarea lo más conveniente es usar un ciclo de iteración while
ya que es este puede decirse que mientras n sea menor a cien se
incrementaran nuestros valores de 1 en 1 hasta llegar a este valor , y se podría
anidar a un if para condicionarlo luego de 100 y que nos sume todos los valores
pero esta tarea también se puede llevar a cabo con cualquier otro ciclo
iterativo , ya se dowhile o for
4.14 ¿Cuál es la diferencia entre preincrementar y postincrementar una
variable?
Básicamente es el orden del la operación , ya que en el resultado esto no tiene
ninguna diferencia
Capítulo 5: ejercicios 5.5 a 5.8
5.5 Describa los cuatro elementos básicos de la repetición controlada por
contador.
5.6 Compare y contraste las instrucciones de repetición while y for.
Las instrucciónes de repetición while y for cumplen funciones muy similares
solo que ejecutadas de distinta forma , podemor ver que una es mientras y la
otra para , entonces podríamos decir que la diferencia radica en que en el
while mientras una condición se cumpla el ciclo iterativo permanece
funcionando , mientras que en el for para que se cumpla el bloque de
instrucciones tiene que cumplir con la condición y predefinir un valor tope para
el contador
5.7 Hable sobre una situación en la que sería más apropiado usar una
instrucción do...while que una instrucción
while. Explique por qué.
La instrucción do .. se utiliza en situaciones donde necesitamos que la
iteración del bucle se lleve a cabo por lo menos una ves antes de llegar a la
condición .
como un programa que nos tome un valor inicial y siga la secuencia a partir
del mismo hasta un limite puesto en la condición que se ejecutara después del
bloque de instrucciones .
5.8 Compare y contraste las instrucciones break y continue.
El break y el continue se diferencian en que el break se utiliza para dar un
descanzo o finalizar un bloque de instrucciones por un case de un switch y el
continue se utiliza para pasar al siguiente bloque de instrucciones
Capítulo 6: ejercicios 6.7 a 6.14
6.7 = a) x = Math.abs( 7.5 ); = 7.5 b) x = Math.floor( 7.5 ); = 7.0 c) x = Math.abs( 0.0 ); = 0.0 d) x =
Math.ceil( 0.0 ); = 0.0 e) x = Math.abs( -6.4 ); = 6.4 f) x = Math.ceil( -6.4 ); = 7.0 g) x = Math.ceil( Math.abs( -8 + Math.floor( -5.5 ) ) ); floor -5.5= -6.0 abs -8.0= 8.0 ceil 2.0 = 2.0 rta: 2.0
6.10 = import java.lang.Math;
import java.util.Scanner;
public class ejercicio610 {
public static void main(String []args){
float total=0;
Scanner XD = new Scanner(System.in);
System.out.println("Digite un numero de 4 cifras");
float num = XD.nextFloat();
System.out.println("Digite una opcion");
System.out.println("1.redondeo 1 cifra");
System.out.println("2.redondeo 2 cifras");
System.out.println("3.redondeo 3 cifras");
System.out.println("4.redondeo 4 cifras");
int opcion = XD.nextInt();
switch (opcion)
{
case 1:{
System.out.println("Total: "+Math.floor(num+0.5));
break;
}
case 2:{
System.out.println("Total: "+Math.floor(num*10+0.5)/10);
break;
}
case 3:{
System.out.println("Total: "+Math.floor(num*100+0.5)/10);
break;
}
case 4:{
System.out.println("Total: "+Math.floor(num*1000+0.5)/10);
break;
}
}
}
}
6.11 = a) .Que signifi ca elegir numeros “al azar”? rta = cuando se escoge cualquier numero de los que
uno tiene b) .Por que es el metodo nextInt de la clase Random util para simular juegos al azar? Rta= por
que se escoge es un numero entero para el juego y este método impre números enteros. c) .Por que es a
menudo necesario escalar o desplazar los valores producidos por un objeto Random? Rta= para tener un
parámetro para poder hacer el random
6.12 = Incompleto
import java.lang.Math;
import java.util.Random;
import java.util.Scanner;
public class ejercicio610 {
public static void main(String []args){
double total;
Scanner XD = new Scanner(System.in);
System.out.println("Digite una opcion");
System.out.println("1.1 <= n <= 2");
System.out.println("2.1 <= n <= 100");
System.out.println("3.0 <= n <= 9");
System.out.println("4.1000 <= n <= 1112");
System.out.println("5.-1 <= 1");
System.out.println("6.-3 <= 11");
Random rdn = new Random();
int opcion = XD.nextInt();
switch (opcion)
{
case 1:{
System.out.println("resultado: "+rdn.nextInt(1)+2);
break;
}
case 2:{
System.out.println("Total: "+rdn.nextInt(100)+1);
break;
}
case 3:{
System.out.println("Total: "+rdn.nextInt(2));
break;
}
case 4:{
System.out.println("Total: ");
break;
}
}
}
}
clase y se debe entregar al instructor individualmente y de forma escrita.
Descargar