2
Practica 04 SUDOKU 9*9 JAVA Miguel Angel Garcia Wha 1 1 Universidad Polit´ ecnica de Victoria, Avenida Nuevas Tecnolog´ ıas 5902, Parque Cient´ ıfico y Tecnol´ ogico de Tamaulipas (TECNOTAM), Ciudad Victoria, Tamaulipas Resumen: En este art´ ıculo se analiza el caso de la practica que mediante un sorteo hecho en clase se basa en realizar la PRACTICA 4 que es la programacion en bash mezcclado con algo de progrogramacion en JAVA que la practica se basa en programar el juego del SUDOKU de manera completa utilizando las herramientas y metodos de JAVA que son herencia,polimorfismo,encapsulamiento y la programacion orientada a objetos y algo de programacion por consola, utilizando a su vez la consola o terminal de bash para correr mediante un script el codigo en java. .[1] Palabras Clave—Programaci´ on, Java, Bash, Metodos, Herramientas, Objetos. I. I NTRODUCCI ´ ON E N este proyecto se va a mencionar como se empieza la programacion en bash para desarollar diferentes tipos de scripts que son archivos que generan sentencias que se encargan de realizar las funciones correspondientes de dicho script, a igual que a su vez se va a mencionar como se va a programar en el paradigma de la programaci´ on orientada a objetos en el lenguaje JAVA ya que este lenguaje fue el que se presento en clase y se menciono para utilizar en este lenguaje, tomando como base el conocimiento de la programaci´ on y el uso de ambos lenguajes para poder acoplar este proyecto a algo ´ util a la vida. .[2] II. DESCRIPCI ´ ON DEL PROYECTO Trabajo Solicitado: Inheritance and Polymorphism with Sudoku Object-oriented programmers agree that using objects can be easy, but design- ing effective objectoriented programs is relatively difficult. It is like cabinet making from years gone by: the wood- crafting artistry required to build beautiful and equally func- tional cabinets took years of practice and study with master craftsmen. Yet using the cabinets produced by these artists was, and is, easy. Today, welldesigned class libraries are easy to read, understand, and use for the creation of new programs. But the design of these easy-to-use libraries requires the code craftsmen of today. It is our hope that our students will begin their move toward the mastery of code production by learning the important concepts related to the field of object-oriented programming. This article will discuss inheritance and polymorphism as they relate to the Java interface. Inheritance is a powerful mechanism that allows programmers to create new code from existing code by building upon shared attributes and functionality identified among related program concepts. The abstraction of important program concepts allows for safe modification of programs that require fewer code changes. Fig. 1. Figura 1. Juego Sudoku We will explore inheritance using the Java interface mech- anism by looking at a particular programming problem: the Sudoku board game. Sudoku is a game that requires players to determine missing digits in a 9 by 9 grid until all 81 values are revealed. The digits used in the game are the consecutive integers 1 through 9. The grid has logical groups of numbers that must contain each of the 9 possible digits without repetition. These logical groups consist of the nine rows, nine columns, and nine 3 by 3 grids, know as regions, as shown below. All of these groups will be referred to by the term section. III. DESAROLLO DEL PROYECTO Se mencionara a continuaci´ on los pasos que se siguieron para la realizaci´ on de este proyecto: Primero se creo un script en lenguaje bash que contendra las sentencias para poder manejar las sentencias de dicho lenguaje. Por lo tanto ya programado el script se ejecuto mediante la terminal de linux para su funcionamiento. A continuaci´ on se programo en el lenguaje en java para sacar el juego del sudoku checando cada uno de las herramientas y metodos mencionados. Se paso en el script de bash algo de las sentencias del codigo de java para que este corriera o se ejecutora mediante el script.

Articulo angelwha SUDOKU

Embed Size (px)

Citation preview

Page 1: Articulo angelwha SUDOKU

Practica 04 SUDOKU 9*9 JAVA

Miguel Angel Garcia Wha1

1Universidad Politecnica de Victoria,Avenida Nuevas Tecnologıas 5902,

Parque Cientıfico y Tecnologico de Tamaulipas (TECNOTAM),Ciudad Victoria, Tamaulipas

Resumen: En este artıculo se analiza el caso de la practica que mediante un sorteo hecho en clase se basa en realizar la PRACTICA4 que es la programacion en bash mezcclado con algo de progrogramacion en JAVA que la practica se basa en programar el juegodel SUDOKU de manera completa utilizando las herramientas y metodos de JAVA que son herencia,polimorfismo,encapsulamientoy la programacion orientada a objetos y algo de programacion por consola, utilizando a su vez la consola o terminal de bash paracorrer mediante un script el codigo en java. .[1]

Palabras Clave—Programacion, Java, Bash, Metodos, Herramientas, Objetos.

I. INTRODUCCION

EN este proyecto se va a mencionar como se empiezala programacion en bash para desarollar diferentes tipos

de scripts que son archivos que generan sentencias que seencargan de realizar las funciones correspondientes de dichoscript, a igual que a su vez se va a mencionar como se vaa programar en el paradigma de la programacion orientada aobjetos en el lenguaje JAVA ya que este lenguaje fue el que sepresento en clase y se menciono para utilizar en este lenguaje,tomando como base el conocimiento de la programacion y eluso de ambos lenguajes para poder acoplar este proyecto aalgo util a la vida. .[2]

II. DESCRIPCION DEL PROYECTO

Trabajo Solicitado:Inheritance and Polymorphism with Sudoku Object-oriented

programmers agree that using objects can be easy, but design-ing effective objectoriented programs is relatively difficult.

It is like cabinet making from years gone by: the wood-crafting artistry required to build beautiful and equally func-tional cabinets took years of practice and study with mastercraftsmen. Yet using the cabinets produced by these artistswas, and is, easy. Today, welldesigned class libraries are easyto read, understand, and use for the creation of new programs.But the design of these easy-to-use libraries requires the codecraftsmen of today. It is our hope that our students will begintheir move toward the mastery of code production by learningthe important concepts related to the field of object-orientedprogramming.

This article will discuss inheritance and polymorphism asthey relate to the Java interface. Inheritance is a powerfulmechanism that allows programmers to create new codefrom existing code by building upon shared attributes andfunctionality identified among related program concepts. Theabstraction of important program concepts allows for safemodification of programs that require fewer code changes.

Fig. 1. Figura 1. Juego Sudoku

We will explore inheritance using the Java interface mech-anism by looking at a particular programming problem: theSudoku board game. Sudoku is a game that requires playersto determine missing digits in a 9 by 9 grid until all 81values are revealed. The digits used in the game are theconsecutive integers 1 through 9. The grid has logical groupsof numbers that must contain each of the 9 possible digitswithout repetition. These logical groups consist of the ninerows, nine columns, and nine 3 by 3 grids, know as regions,as shown below.

All of these groups will be referred to by the term section.

III. DESAROLLO DEL PROYECTO

Se mencionara a continuacion los pasos que se siguieronpara la realizacion de este proyecto:• Primero se creo un script en lenguaje bash que contendra

las sentencias para poder manejar las sentencias de dicholenguaje.• Por lo tanto ya programado el script se ejecuto mediante

la terminal de linux para su funcionamiento.• A continuacion se programo en el lenguaje en java

para sacar el juego del sudoku checando cada uno de lasherramientas y metodos mencionados.• Se paso en el script de bash algo de las sentencias del

codigo de java para que este corriera o se ejecutora medianteel script.

Page 2: Articulo angelwha SUDOKU

Fig. 2. Codigo Java matriz de sudoku sin llenar y con las dimensiones de9*9

Fig. 3. Codigo Java de sudoku con datos ya ingresados en la matriz de 9*9

Fig. 4. Codigo Java de sudoku con datos ya ingresados en diagonal en lamatriz de 9*9

• Para finalizar se veran reflejados los resultados de estosen la misma terminal de linux por modo consola.

• Por ultimo como anexo se crea un articulo hecho en latexpara plasmar todo lo relacionado al proyecto asignado por elmaestro. .[3]

IV. IMPLEMENTACION DEL PROYECTO

Gracias a toda la documentacion conservada sobre estelenguaje de programacion en bash, se puede tomar comoreferencia para la realizacion de este programa que tiene comoresultado el uso de las sentencias o herramientas que propor-ciona este lenguaje de scripting, al igual que se programo enjava para que se utilizaran las herramientas y metodos de elparadigma o la sintaxis que se fuera a utilizar, para poder

acoplar ambos lenguajes en uno solo, y mientras tanto de laterminal para la ejecuccion de programas muy sencillos o ensu mayoria complejos, tomando como base el paradigma debash y java.

A. Resultados del proyecto

Como resultados del proyecto se concluye, que este sefinalizo con exito ya que se cubrieron los puntos que semencionaron en el proyecto a realizar, partiendo desde elconocimiento de la programacion basica en bash y java, hastala avanzada y de lo relacionado que se vio en clase, asi queel manejo de todo lo relacionado con java y al final mezclartodos los dos lenguajes para algo nuevo pero al final se pudoconcluir esto de manera exitosa, con resultados esperados.

V. CONCLUSIONES Y TRABAJO FUTURO

Como conclusion se puede mencionar el uso del paradigmay lenguaje en bash como en java ya que fue algo nuevo, que seaplico al maximo los conocimientos basicos como avanzadospara la realizacion del proyecto, tanto que todo partio desde lassentencias que se manejan para el manejo de scripts hasta loque es la programacion mas avanzada en el lenguaje en JAVA,como trabajo futuro se puede mencionar que se puede mejorareste proyecto ya que se cubrio cierta parte, pero se puede hacermas complejo y con mucho mejor funcionamiento tanto comopara el codigo u algoritmo ya que es muy importante paratodo aquello que se requiera manejar en distintas practicas oproyectos.

AGRADECIMIENTOS

Un agradecimiento enorme y especial a mis maestros dela Universidad Politecnica de Victoria que me ensenaronconocimientos basicos, intermedios y avanzados al igual unabuena formacion en mi carrera profesional, a mis companerosestudiantes que me dieron su amistad y apoyo incondicionalque siempre me animaron a lo largo de mis ultimos momentosfinales y contando con su enorme apoyo y amistad para seguiradelante en mi carrera y en vida.

Gracias tambien a mi maestro Institucional, Dr. MarcoAurelio Nuno Maganda, que con su experiencia fue pieza clavepara la realizacion de este articulo hecho en latex; ası como ael Dr. Ruben Machucho Cadena, que siempre estuvo dispuestoa apoyarme en cualquier asesoria de ingenieria o maestria queestudiara.

A todos muchas gracias.

REFERENCIAS

[1] Daniel de la Casa Riballo y Maria del Rocıo Casco Muga, “SUDOKU.”http://www.it.uc3m.es/jvillena/irc/practicas/12-13/01mem.pdf, 2010. On-line.

[2] Michael Mepham, “SOLVING SUDOKU.” http://www.sudoku.org.uk/PDF/Solving Sudoku.pdf,2002.

[3] Armando Cabrera Pacheco, Edwin Meneses Rodr´ıguez y Roger PachecoCastro, “Un algoritmo sencillo de Sudokus de 9 × 9 .” http://www.it.uc3m.es/jvillena/irc/practicas/12-13/01mem.pdf, 2009. Online.