P8. Algoritmia 3

Publicado en General el Mayo 6, 2008 por suarezbarroso

Saludos a todos otra semana más. Ya va quedando menos para el fin del cuatrimestre se nota ya las primeras tensiones y agobios por parte de los compañeros ya se empieza a emplear la gente como nunca después de haber pasado un puente movidito y para otros no tanto.

La práctica 8, el último bloque de algritmia,trataba en primer lugar de las Hast table y la recursividad concepto muy bien asimilado en las clases de practicas gracias a el ejemplo de las muñecas rusas que creo recordar se llaman matriuska (corregidme si me equivoco). El primer ejercicio y practicamente el unico que nos dio tiempo a hacer trataba de usar las tablas hash (se que a otros no les sonará a tablas de programación…. XD), para dar en un videojuego unos trucos para desbloquear ciertas opciones del juego como el desbloqueo de armas, personajes etc… En este momento mi compañera que tube esa mañana Fani [ya que claudio no estubo :-(     ] empezamos a comentar de que si en cierta manera los trucos de los juegos estaban hechos a drede o serian combinaciones de botones que producian fallos en el desarrollo del juego y llegamos a la conclusion de que algunos trucos, como recuerdo en el Tomb Raider la lista de botones era increiblemente grande que debias hacer para conseguir unas poquitas de armas yesto sugeria que podria ser un fallo, otros sin embargo lo hacian los propios programadores del juego. Empezamos a programar y cuando hicimos la lista implementamos en el programa 10 trucos con la hash table de los cuales recordamos algunos de algunos juegos que habiamos estado jugando; y los definimos por una cadena de caracteres del 710-720 enseguida vimos la gran utilidad de estas tablas para llegar al truco rapidamente con la cadena.

Por último no nos dio mucho tiempo a hacer el factorial pero mas o menos lo discurrimos en papel en el cual este es un claro ejemplo de recursividad. de no haber ocupado todo nuestro tiempo el ejercicio anterior hubieramos realizado este en java ya que parecía bastante sencillo.

Práctica 7

Publicado en General el Abril 27, 2008 por suarezbarroso

Buenas, ya es tonteria disculparse por la tardanza, puesto que siempre tardamos ..:P, esta práctica trata de colas dinamicas.

En esta práctica en lugar de utilizar un array con respecto a la práctica anterior (Tetris) , utilizamos unos conceptos nuevos, el de nodo y el de lista entrelazada. La clase nodo tendra un atributo de la clase pieza y otro atributo de la propia clase. Cuando creemos una nueva pieza, se creará un nuevo objeto de la clase nodo y se pondra al final de la cola. Mientras el anterior pasara a tener en el atributo nodo la referencia al nuevo nodo que acabamos de crear. Todo esto se lleva a cabo en la clase Cola, introduciendo tambien en esta clase un atributo que nos diga cual es el primer nodo. Un iterador es una clase diseñada para recorrer y devolver ordenadamente los elementos de algún tipo de contenedor de objetos, o eso nos han dado a entender, por ello lo introduciremos en la Cola. La verdad es que nos está resultando un poco díficil esta parte de la teoria, pero por lo que veo no somos los unicos.

Si supiérais algo que nos pudiera hacer entender mejor esta parte de la teoría. Hasta la próximaa!

Práctica 6, Algoritmia de Tetris

Publicado en General el Abril 25, 2008 por suarezbarroso

Hola muy Buenas a todos…aunque seran pocos XD

En primer lugar perdon por el retraso que hemos sufrido con las prácticas de OCA, ambos compañeros hemos estado trabajando en otras asignaturas y no hemos tenido mucho tiempo para “blogear”, os pido disculpas.

Como primer punto quiero decir que a la práctica no pude acudir a tiempo y la hice deprisa y corriendo luego tuve tiempo de revisarla en casa asique no se del todo si estará muy bien pero bueno algo es algo…

Empece a leer la práctica la mañana del dia 4 de abril y vi que ya empezabamos a programar algoritmos y que suerte la mía es para mi lo mas costoso de teoria pufff… después vi que trataba de programar clases del juego TETRIS es aqui cuando mi moral subio porque recorde la típica musica de tetris y dije que coño a programar se ha dicho… y respondiendo a las preguntas planteadas mi compañero y yo pensamos que estamos dando java y este es nuestro ejercicio entonces porque no se podría hacer con POO pues claro y apartir de aqui empezamos a pensar en el problema decidimos que podriamos crear la pantalla como un array bidimensional en la que irian callendo una serie de piezas todos conocidos por tetris que irian sacandose de una cola…bueno por algo se empieza.

empezamos a programar la clase pieza y dimos unos valores a cada pieza posible O al “cuadrado” I a la “recta” Z a la “forma escalonada” S a la “forma escalonada al reves” L a la “pieza con forma en ele” J a la pieza con forma de jota (ele inversa)” y T a la piez con tal forma; para ello hicimos un switch con distintos case tantos como piezas.Despues implementariamos la cola para que fuera sacando los elementos para ello creamos la cola con todos los metodos dados en la clase de teoria “encolar”, “desencolar”, “estaVacia” “estaLlena”y “numElementos”

 

 

 

 

 

 

 

 

 

 

 

public

void encolar(Pieza p){contenido[indice]=p;

indice++;

}

 

 

public Pieza desencolar(int ind){ 

 

return contenido[ind];}

 

 

public boolean estaVacia(){ 

 

boolean s=true; 

 

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

 

if (contenido[i].tipo!=‘ ‘) s=false;}

 

 

return s;}

 

 

public boolean estaLlena(){ 

 

boolean s=false; 

 

if (indice==29) s=true; 

 

return s;

}

Y por último pusimos una tercera clase para que se pudiera ejecutar tal programa que nos sacara de una cola las distintas piezas.

Práctica 5, Orientacion a Objetos III

Publicado en General el Abril 9, 2008 por suarezbarroso

Antes de nada quiero disculparme por el retraso de la entrada del blog, sobre todo a Victor que me tiene que soportar :p. Bueno, la verdad esk esta práctica me ha ayudado a comprender por fin que es una interfaz y para que se utiliza.Por lo que he entendido es una clase que obliga a quien la implemente a declarar obligatoriamente los metodos y atributos que haya en dicha  interfaz, como un control de la clase, NO? Si no es asi explicarme como es ;) que llevo todo el curso intentando saber para que sirve :) .  En la primera parte nos explica que toda clase deriva en su raiz de la clase Object , y se centra sobre todo en el metodo toString() el cual ya lo tiene la clase Object aunque se puede sobreescribir.El resto de la practica es una entradita a la bibliteca swing para entorno grafico, creo k lo he entendido bastante bien. Ya hice algunas cosillas antes con java , asi k si teneis alguna duda preguntarmela, de todas formas me pasare por los blogs para ver k se cuece ;) . Hasta la proximaaa

Práctica 4, Herencia

Publicado en General el Marzo 19, 2008 por suarezbarroso

Hola a todos:

Esta última semana en la práctica de OCA aprendimos como usar la herencia simple que se usa en java para ello aprendimos a usar la palabra reservada “extends” y tambien la palabra “super”. Comentando los ejercicios pienso que los primeros eran sencillos y creo que llegamos todos a la solución bastante facilmente pues era implementar un constructor muy sencillito e implementar el metodo toString, aunque cuando llegue al ejercicio 5 se me complicaron las cosas y desconecte un rato para escuchar las explicaciones que daba el profesor una de ellas no la entendi muy bien, y me gustaria si alguien pudiera acerme un resumen de porque se usa “stringbuffer” en vez de la funcion return. Una cosa que no cogi muy bien fue porque en el esquema de miembro constructor dijo que podia ser mejor el padre de metodo y no al reves como estaba escrito, SI ALQUIEN PUDIERA RESPONDERME A ESTAS CUESTIONES SE LO AGRADECERIA.

Un saludo a todos y que paseis una buena semana santa, que no se vosotros pero me pienso hinchar de torrijas XD.

Pratica 03, Orientación a Objetos I

Publicado en General el Marzo 11, 2008 por suarezbarroso

Bueno, como una semana más, redactamos un pequeño artículo sobre la práctica de la semana anterior, en este caso la práctica 03 que trata, dentro del bloque de orientacion a objetos, los tipos de modificadores de acceso y como implementar Atributos que a su vez son clases al igual que metodos , es decir, herencia. Es un un paso más es la programación que ya sabiamos, puesto que antes los atributos prácticamente los eran de tipo primitivos, o establecidos ya por el lenguaje java.

En cuanto a los ejercicios no hemos tenido problemas, pero si uno hubiera que decir, sería de nuevo el tiempo, ya que tampoco a vuelto a dar tiempo terminarla. Los ejercicios pedían que atraves del objeto principal Clase, se puedieran llamar a las distintas clases de las que dependian (Atributo, Método…), para que impriera en la pantalla los valores de dicho objeto. Simplemente se llama al método toString de cada clase de la jerarquia de las clases, el cual hemos definido para que devuelva la informacion del esa clase [Por ejemplo, "System.out.print(NombreObjeto.NombreMetodo.toString())" esto imprimira la cadena que devuelve el metodo toString, que debería ser la información de dicha clase o de lo que queramos que devuelva]. No se si me explico bien, de todas formas si quereis dejar algún comentario, lo responderé ;) . No se si se me queda algo más, pero básicamente, lo principal es lo comentado. Hasta la próxima!!!

PD: El método toString no tiene “nada” especial, simplemente lo llamamos así, perfectamente lo podriamos llamar Pepito e implementarle el codigo para que devuelva la informacion del objeto. Seria una cosa así (“System.out.println(NombreObjeto.NombreMetodo.Pepito();”).

UN SALUDETE!

Claudio

Práctica 2, de vuelta a Java.

Publicado en General el Marzo 5, 2008 por suarezbarroso

Hola, muy buenas a todos:

Bienvenidos otra semana más al blog de Claudio Barroso y Víctor Suarez. Esta semana me toca comentar a mi Víctor, aunque todavía no me apaño muy bien con los blogs ya que nunca tuve uno, voy aprendiendo cosas nuevas y esto siempre es bueno.

En referencia a la práctica matutina de los viernes de java, comentaros que cuando llegue (un poco tarde todo hay que decirlo) note a la gente con un poco de estrés, como después descubrí no era para menos, en la práctica 2 ya estábamos viendo cosas tan extrañas como las “aserciones” o “trazas de depuración” que debido a los pocos conocimientos que tengo sobre la asignatura, la falta de compañero (Claudio no vuelvas a faltar L ), encima para colmo estaba en la última fila donde la maldita pizarra blanca no se leía nada, en parte por mi gran agudeza visual…XD , bueno debido a estas razones desconecte de las explicaciones del profesor y me puse a investigar, sobre el API y en Wikipedia, la mayoría de este vocabulario q no entendía, más o menos así fui enterándome de las cosas. Cuando lo vi todo perdido estuve a punto de apagar e irme pero entonces vi un compañero que está en 5ª convocatoria y me puse con él para que me ayudara en algunos aspectos, gracias Julio. Con él me cundió mucho mas la clase pues me iba explicando paso por paso cada palabra que escribía, y así el ejercicio 2 y 3 los resolvimos sin grandes dudas, en lo que más nos atascamos fue en generar los objetos de tipo “File” que nos liamos mucho buscando en el API. Después de esto me salí de la clase porque ya era la hora y fui a la última clase de la semana, deseando tener un poquito de descanso de este vertiginoso 2º cuatrimestre.

P.D.: No entendí muy bien el ejercicio 1 ¿porque había que cambiar el directorio de classpath? ¿Era para crear un archivo temporal?