Vous êtes sur la page 1sur 13

1) Escribe el cdigo de un programa Java que implemente la clase Rectangulo:

Public class CRectangulo{7 Double hipotenusa; Double cateto1; Double cateto2; Public static doubl Rectangulo(Double cateto1, double cateto2) Return cateto1*cateto2 //otro metodo que realizara lo mismo Public static doubl Area() Return Rectngulo(); } 2) Qu significa que un mtodo sea recursivo? es la forma en la cual se especifica un proceso basado en su propia definicin.

3) Dibuja el rbol binario que resulta de agregar uno a uno los nmeros 4, 7, 1, 10, 3, 11, 10 con la regla: izquierdo <= derecho.
4 1 3 7 10 11

4) Escribe la salida del siguiente cdigo si la aplicas al rbol que construiste en 2:


public static void ImprimeInorden(CNodo Nodo) { if(Nodo!=null) { System.out.print(Nodo.info + ; ); ImprimeInorden(Nodo.izq); ImprimeInorden(Nodo.der); } } R= (1,3,4,7,10,11)

5) Si se hace la llamada metodo1(4) Qu resultado regresa?

public int metodo1(int n) { if (n==1) return 1; else return n * metodo1(n-1); } Regresa 24: La corrida es 5*metodo1(4)*metodo1(3)*metodo1(2)*metodo1(1)

6) Construye el cdigo recursivo en Java: de un mtodo que imprima los nmeros naturales desde n hasta 1: n, n-1, n-2, , 1.
6) public int imprime(int n) { if (n==1) return 1; else return "n" + imprime(n-1); }

7) Escribe los diagramas de clase de Nodo y de ArbolBinario.

CLASE NODO CNodo N; Int i; Inf info; imprimeNodo(); CNodo(); CLASE ARBOL BINARIO Int Info; CNodo N; InOrden(); Reordena(); Inserts(); Imprime(); 8) Menciona cinco clases de la librera API de Java. Array, Char, String Integer, Date.
java.lang java.io, java.util, java.net

9) Escribe el cdigo Java del mtodo valor_y que calcula el valor y de la recta y recibe como parmetros el valor de m, b , x
public int valor_y(int m, int b, int x){ return (m*x)+n; } 10) Cuntos nodos tiene un rbol binario balanceado de nueve niveles? log2 X=9 El rbol tiene a lo mas 512 nodos

EN REALIDAD ES ESTO: Es el numero de nodos de n-esimo nivel 2 =511 11) Qu es un rbol? Es una estructura de datos, existen varios tipos, de los cuales los arboles binarios de bsqueda son muy utilizados, cumplen con caractersticas como: Cada nodo tiene a lo ms 2 hijos El valor del nodo del hijo izquierdo del nodo padre es menor Si el nodo no tiene hijos se llama hoja El valor del nodo del hijo derecha del nodo padre es mayor 12) Dibuja el rbol binario que resulta de agregar uno a uno los nmeros 8, 5, 2, 3, 10, 9, 3 con la regla: izquierdo <= derecho.
8 5 2 3 9 10

13) Escribe la salida del siguiente cdigo si la aplicas al rbol que construiste en el ejercicio anterior:
public static void ImprimeInorden(CNodo Nodo) { if(Nodo!=null) { System.out.print(Nodo.info + "; "); ImprimeInorden(Nodo.izq); ImprimeInorden(Nodo.der); } } R= (3, 2, 5, 8, 9, 10)

14) Si se hace la llamada metodo1 qu resultado regresa? public int metodo1(int n) { if (n==0) return 0; else return n + metodo1(n-1); }
R= Este metodo nos regresa la suma de los primeros n- nmeros naturales.

15) Construye el cdigo recursivo en Java: de un mtodo que regrese el producto de los n primeros nmeros naturales recursiva. (Hay que observar que esta es la definicin de el Factorial)
public int factorial(int n) { if (n==1) return 1; else return "n" + factorial(n-1); }

en forma

16) Dibuja el diagrama de clase: de una clase de nodo de un rbol ternario. 6.b) Escribe el pseudocdigo del mtodo que lo imprime

17) Qu tipo de nombre reciben las siguientes estructuras: a) arbol binario (faltan dibujitos) b) arbol ?? c) (AVL) arbol binario balanceado

18) Menciona cinco conceptos: que se refieran estrictamente a la programacin orientada a objetos.
Encapsulamiento de datos: Se trata de ocultar los datos al usuario, protegiendolos, generalmente se hace

utilizando los metodos get y set de cada atributo. Herencia: Las clases se relacionan entre si, existe una superclase de la cual heredan las subclases los atributos y comportamientos de esta. Polimorfismo: se refiere a que se puede tener comportamientos diferentes asociados a objetos distintos, estos comportamientos pueden tener el mismo nombre, pero al llamarlos por cada objeto se utilizara el comportamiento correspondiente al objeto que se este usando.

19) Escribe el cdigo Java: del mtodo valor_y que calcula el valor y de la recta y recibe como parmetros los valores de m, b , x (pendiente, ordenada al origen, abscisa).
public int valor_y(int m, int b, int x){ int y=(m*x)+n; return y; }

20) Cul es el nmero mximo de pasos para buscar un nodo en un rbol binario ordenado que tiene 20 niveles y cinco mil nodos? log2 X=20 21) Escribe el cdigo Java: de un programa Java que implemente la clase Malthus: P(t) = P0 ert P(t) = Poblacin en el tiempo t; P0 = Poblacin inicial; r= tasa de crecimiento; t = tiempo Malthus int P0; double r; Malthus(int P0, double r) double Poblacion(int t) double Tiempo_mil() //tiempo en el que la

poblacin = 1000 public class Malthus { // instance variables - replace the example below with your own private int p0; private double r; /** * Constructor for objects of class Malthus */ public Malthus(int p0,double r) { // initialise instance variables this.p0=p0; this.r=r; } public double poblacion(){

return this.p0;

public double tiempo_mil(){ return this.p0*Math.pow(Math.E,this.r*1000); } }

22) Escribe el cdigo Java de un programa que implemente la clase Circulo: Circulo double radio; Circulo(double radio) double Area() double Perimetro()
public class Circulo { double radio;

// Constructor for objects of class Circulo

public Circulo(double radio) { this.radio=radio; } public double area(){ return Math.PI*(radio*radio); } public double perimetro(){ return Math.PI*radio*2; } }

23) Qu es una pila? Es una estructura de datos en la cual se tienen los comportamientos push() y pop() el tipo de acceso es LIFO el cual quiere decir que el ultimo en entrar es el primero en salir el mtodo push() inserta un elemento en el tope de la pila y el mtodo pop saca el elemento que se encuentra en el tope de la pila. Estos mtodos tienen complejidad de O(1). 24) Indica el nombre de 4 tipos de datos abstractos. Pila, Lista, Cola, Arbol, Arbol binario, Cola circular, Pila con centinelas, Arboles kd. 25) Qu diferencia existe entre Integer e int en Java? Integer es una clase que encapsula a un int, \n mientras que un int es un tipo basico de java, es decir, no e sobjeto por lo tanto no tiene metodos. 26) Qu es un constructor? Es un metodo especial de una clase con el cual se pueden crear instancias u objetos de dicha clase 27) Para qu sirve la instruccin new en Java? new es una palabra reservada, no se puede usar como nombre de variable, sirve para indicar que se esta invocando al constructor de la clase La instruccin new sirve para crear nuevos objetos
Ejemplo: Nombre lista = new Nombre ();

28) Dibuja la pila en los dos momentos: push(1) push(2) pop() push(3) momento 1 push(4) pop() pop() momento 2

29) Indica la sentencia Java para crear una lista de enteros.


LinkedList <lista> = new LinkedList();

30) A qu se refieren los trminos FIFO y LIFO? FIFO el primero en entrar es el primero en salir (como en la fila de una caja) LIFO el ultimo en entrar es el primero en salir 31) Dibuja la pila en cada momento: para evaluar la siguiente expresin en notacin posfija: 2,1,+,3,* paso1. Push(2) paso2. Push(1) paso3. Pop() y hace 2+1=3 paso4. Me da ahora 3 y push(3) paso5. Pop() y hace 3*3 =9. 32) Escribe el cdigo Java: del mtodo raiz_positiva que resuelve la ecuacin: la ecuacin de segundo orden y acepta como parmetros a los coeficientes a, b y c.
import java.util.*; public class SegundoGrado { double x1, x2, x; public double Raiz_Positiva(double a; double b; double c){ if ((b*b)-(4*a*c);>0){ //existen 2 raices reales x1 = (-b/(2*a) + Math.sqrt(discriminante))/(2*a); x2 = (-b - Math.sqrt(discriminante))/(2*a); System.out.println(a + "x + " + b + "x + " + c); System.out.println("el valor x1 es :"+x1); System.out.println("el valor x2 es :"+x2); }

33) Qu es una cola? Estructura de datos que cumple con FIFO, se puede ver como una secuencia de elementos en la cual el mtodo push() se realiza por un extremo (el final) y el mtodo pop() se realiza por el otro extremo (el principio). 34) Qu ventajas tiene una lista ligada frente a un arreglo? Los elementos se pueden insertar en una lista indefinidamente mientras que un array tarde o temprano es finito. 35) Escribe el cdigo de una clase de nodo que almacene: - el nombre del trabajador; - el nmero de horas que trabaja a la semana; - el salario por hora
public class Nodo { private String nombre; public int horas; public Double salario; public Nodo(String nombre; int horas; double salario){

} }

36) Indica los nombres de los mtodos constructores de las siguientes clases:
- Stack (Pila) es una estructura de datos de elementos ordenados de tal manera que los artculos pueden ser insertados y removedor slo en un extremo (llamado superior). El Constructor para ObjetosStack Public ObjectStack() Integer La clase entera se envuelve un valor del tipo int primitivo en un objeto. Un objeto de tipo Integer contiene un solo campo cuyo tipo es int
El constructor para Objetos Integer

public Integer(int value)

37) Construye el diagrama de clase: de la clase CTrianguloRectangulo que almacena los valores de dos catetos, calcula el rea, el permetro y la hipotenusa. CLASE TRIANGULORECTANGULO CTRIANGULORECTANGULO TR; Int c1; Inf c2; Calcula area(); Calcula perimetro(); Calcula hipotenusa(); 38) Dibuja la lista en los dos momentos: addFirst(1) addFirst(2) addLast(3) momento 1 addLast(4) addFirst(5) momento 2 39) Indica la sentencia Java para crear una pila de caracteres. Public class Pila{ Public static int lista[ ]= {0,0,0,.}; Public static int tope=0;

40) Dibuja la pila en cada momento: para evaluar la siguiente expresin en notacin posfija: 2,1,3,*,+
paso1. Entra 2 a la pila con push() paso2. Entra 1 a la pila y queda arriba de 2 paso3. Se multiplican 1*2 con un pop()+pop() =2 paso4. Se convierte en 2 y se agrega 3 con el push() paso5. se suman 2+3 con un pop() + pop().

41) Escribe el cdigo Java: del mtodo hipotenusa que calcula el valor de la hipotenusa y recibe como parmetros el valor de dos catetos.
public doubl Hipotenusa (doubl catetoA; doubl catetoB){ double hip= Math.sqrt((catetoA*catetoA)+(catetoB*catetoB)); return hip; }

42) Escribe un mtodo Java que implemente el mtodo de ordenacin por burbuja public static void Burbuja() { int temp; for (int j=0; j<10-1; j++) for (int i=0; i<10-1; i++) if (Arreglo[i] > Arreglo[i+1]) { temp=Arreglo[i]; Arreglo[i]=Arreglo[i+1]; Arreglo[i+1]=temp; } } 43) Cul de los siguientes algoritmos es el ms rpido y cul el ms lento? Burbuja Insercin QuickSort Burbuja es mas lento con respecto al metodo Quick sort que es el mas rpido. 44) Cul de los siguientes algoritmos depende su rapidez slo del tamao del arreglo y cules dependen, adems, de la manera en que estn acomodados los valores?
El metodo burbuja depende de cmo estn acomodados los elementos del arreglo mientras los otros 2 dependen del numero de elementos del arreglo

45) A qu algoritmo pertenece el siguiente fragmento de pseudocdigo desde i=inicio hasta i=fin, repetir: desde j=inicio hasta j=fin-1, repetir: si elemento A(j) con A(j+1) entonces: intercambiar elementos A(j) con A(j+1)
R=es el metodo Burbuja.

46) A qu algoritmo pertenece el siguiente fragmento de pseudocdigo


Ordena(izq, der) { elemento = parte_en_dos(izq, der); si (izq < elemento - 1) entonces: Ordena(izq, elemento - 1); si (elemento < der) entonces Ordena(elemento, der); }

R= Es el metodo Quick Sort

47) Cul de los siguientes algoritmos se suele programar de manera recursiva? Burbuja Insercin QuickSort 48) Cul es la palabra reservada de Java para crear objetos? new es una palabra reservada, no se puede usar como nombre de variable, sirve para indicar que se esta invocando al constructor de la clase La instruccin new sirve para crear nuevos objetos
Ejemplo: Nombre lista = new Nombre ();

49) Cules mtodos pertenecen a la clase Stack: addFirst() addLast() add() clear() push() pop() 50) Cul es la clase Java para implementar listas ligadas La clase LinkedList de Java implementa un tipo de dato con caractersticas muy similares al TDA lista. Algunas de esas caractersticas de LinkedList son: La lista puede crecer de tamao dinmicamente. Se pueden insertar elementos en la lista al inicio, al final o en medio. Se pueden eliminar elementos de la lista: el primero, el ltimo, o alguno intermedio. La lista tiene una cabeza, que es el primer elemento. Se conocer en cualquier momento el tamao de la lista. 51) Cul es la clase Java para implementar rboles binarios
Tree BinaryTree

No hay una clase Java que implemente rboles binarios

52) A qu paquete pertenece la clase Stack? Serializable,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess 53) Cul es nombre de la clase Java de la que heredan todas las clases? La clase Object. 54) Qu clases contienen al mtodo toString()? El metodo toString(), es un metodo que heredan todos los objetos en Java, ya que todos heredan de la super clase "Object" y tienen diferente comportamiento. Class Empleado Private String Nombre; Private String Apellido;

55) Para qu sirve el mtodo toString()? El metodo toString(), es un metodo que heredan todos los objetos en Java, ya que todos heredan de la super clase "Object" y tienen diferente comportamiento.

55) Escribe un cdigo Java que implemente la siguiente clase: Alumno String nombre Double promedio Alumno(double p) String toString() 56) Menciona tres mtodos de la clase Math: Math.pow Math.sqrt Math.random Math.max.etc 57) Menciona dos variables de clase de la clase Math: Pi() devuelve el numero pi E()devuelve el numero de Euler SQRT2()devuelve la raz cuadrada de dos LN2() devuelve el logaritmo naturaral de 2 58) Escribe un mtodo Java: que implemente una lista ligada de enteros y agregue a la lista los nmeros 123,124 y 125.
public class CListaLigada { private static LinkedList<Integer> lista = new LinkedList<Integer>(); //o tambien podemos poner en ves de lo de arriba : public static int lista[ ]={1,9,6,n} lista.addFirst(123); lista.addFirst(124); lista.addFirst(125); }

59) Escribe un mtodo Java: que implemente una pila y haz las siguientes operaciones en la pila:
public class CPila { public Stack pila = new Stack(); //INGRESANDO ELEMENTOS A LA PILA En este caso se agregaran los numeros 1, 2 hasta 7 public void ingresar() { for (int x=1;x<=7;x++) { pila.push(Integer.toString(x)); } } //o tambien podemos poner en ves de lo de arriba : public static int lista[ ]={1,5,6,n}

Mete -> 1 Pila.push(1); Mete -> 2 Pila.push(2); Saca pila.pop()); Mete-> 3 Pila.push(3); Saca pila.pop()); muestra imprime();

60) Explica cmo se puede evaluar la expresin en notacin posfija [1, 2, 3, +, +, 1, -] usando una pila public void ejercicio60(String formula){ Stack pila = new Stack(); Character c,c1,c2; int i=0; int r; for(int i=0;i<formula.length();i++){ if(!pila.empty()){ c = new Character(formula.charAt(i)); if(c.isDigit()){ pila.push(c); }else{ //sacamos los dos enteros de la pila c1 = (Character)pila.pop(); c2 = (Character)pila.pop(); if(c.charValue()=='+')

} }else{ pila.push(new Character(formula.charAt(i))); i++; } } } }

61) Qu ventajas tiene una lista ligada con respecto a un arreglo? Los elementos se pueden insertar en una lista indefinidamente mientras que un array tarde o temprano es finito.

62) Escribe el nombre de seis tipos primitivos de Java Boolean, int, char, doubl, float, long, short, byte.

Vous aimerez peut-être aussi