Archive for noviembre 2014
November 28th, 2014
SDP03 Exercise 25
En esta aplicación lo principal fue el conteo de tiempo de ejecución de los programas en tres clases GameArray donde los datos fueron obtenidos y acomodados.
Nos pudimos dar cuenta de las herramientas usadas en JAVA para el conteo del tiempo del sistema; características cuya importancia reside en que obtenemos el tiempo de
eficiencia de un programa, invitándonos a programar de la manera más lógica posible y lograr así mejor rendimiento en los programas.
November 28th, 2014
SDP03 Exercise 24
En este ejercicio trabajamos en solo una clase donde lo principal fue realizar algunos cálculos mediante datos obtenidos
de un archivo llamado data.txt.
Los conceptos de columnas y renglones fueron necesarios, además de las estructuras for y manejo de streams.
Se leen los valores y se asignan a un arreglo, posteriormente se promedian y suman, además de que se muestran
al usuario ordenados en una cuadrícula. Semejante a los principios que nos permitieron el manejo de datos en ejercicios anteriores.
SDP03 Exercise 24
En este ejercicio trabajamos en solo una clase donde lo principal fue realizar algunos cálculos mediante datos obtenidos
de un archivo llamado data.txt.
Los conceptos de columnas y renglones fueron necesarios, además de las estructuras for y manejo de streams.
Se leen los valores y se asignan a un arreglo, posteriormente se promedian y suman, además de que se muestran
al usuario ordenados en una cuadrícula. Semejante a los principios que nos permitieron el manejo de datos en ejercicios anteriores.
November 28th, 2014
SDP03 Exercise 23
¿Qué preguntas tienes sobre el material que hemos cubierto en la clase?
Hemos aprendido mucho sobre programación a lo largo del curso. A lo largo de éste hemos ido resolviendo nuestras dudas y cada vez nos hemos podido
hacer preguntas más complicadas. Hemos investigado y analizado los comentarios de las aplicaciones para comprender, de manera particular hemos buscado alternativas
para algunos ejercicios.
¿Qué has aprendido en semestre hasta ahora?
Hemos aprendido mucho acerca de arreglos y otras estructuras de datos. A la par hemos podido comprender la gran aplicación que tienen en una gran cantidad de
programas y como ejemplos podemos considerar los ejercicios que hemos realizado. Ahora conocemos más funciones y sabemos cómo hacer uso de ellas para la resolución de
problemas.
SDP03 Exercise 23
¿Qué preguntas tienes sobre el material que hemos cubierto en la clase?
Hemos aprendido mucho sobre programación a lo largo del curso. A lo largo de éste hemos ido resolviendo nuestras dudas y cada vez nos hemos podido
hacer preguntas más complicadas. Hemos investigado y analizado los comentarios de las aplicaciones para comprender, de manera particular hemos buscado alternativas
para algunos ejercicios.
¿Qué has aprendido en semestre hasta ahora?
Hemos aprendido mucho acerca de arreglos y otras estructuras de datos. A la par hemos podido comprender la gran aplicación que tienen en una gran cantidad de
programas y como ejemplos podemos considerar los ejercicios que hemos realizado. Ahora conocemos más funciones y sabemos cómo hacer uso de ellas para la resolución de
problemas.
November 28th, 2014
SDP03 Exercise 22
En este ejercicio continuamos mejorando el comportamiento de nuestra aplicación ejecutando las reglas del juego.
Generamos varias rutinas en nuestro código para administrar los valores y cómo se activarán los métodos de acuerdo a las acciones de los usuarios.
Se validaron los movimientos y la manera de interpretar los desplazamientos y asignación de los dígitos.
Se definieron los valores y los valores contenidos en las cajas de texto y los valores de los ComboBox.
SDP03 Exercise 22
En este ejercicio continuamos mejorando el comportamiento de nuestra aplicación ejecutando las reglas del juego.
Generamos varias rutinas en nuestro código para administrar los valores y cómo se activarán los métodos de acuerdo a las acciones de los usuarios.
Se validaron los movimientos y la manera de interpretar los desplazamientos y asignación de los dígitos.
Se definieron los valores y los valores contenidos en las cajas de texto y los valores de los ComboBox.
November 28th, 2014
SDP03 Exercise 21
A partir de este momento empezamos a utilizar la parte gráfica del programa para el juego de SUDOKU. Es importante porque esta es la parte
que puede resultar atractiva para el usuario. De igual manera, lo anterior es indispensable para coordinar las acciones del programa y las reglas lógicas
que regirán la aplicación mientras el usuario lo esté usando.
Para iniciarlo se dispone de una caja de texto donde el usuario escribe manualmente el nombre del archivo XML y los números por defecto son agregados en
las casillas de selección múltiple o ComboBox de la GUI.
En la clase Puzzle se manejan otras características del aspecto gráfico de la aplicación manejando los números y administrando la disposición de los dígitos acorde
a una cuadrícula e interfaz gráfica del juego.
SDP03 Exercise 21
A partir de este momento empezamos a utilizar la parte gráfica del programa para el juego de SUDOKU. Es importante porque esta es la parte
que puede resultar atractiva para el usuario. De igual manera, lo anterior es indispensable para coordinar las acciones del programa y las reglas lógicas
que regirán la aplicación mientras el usuario lo esté usando.
Para iniciarlo se dispone de una caja de texto donde el usuario escribe manualmente el nombre del archivo XML y los números por defecto son agregados en
las casillas de selección múltiple o ComboBox de la GUI.
En la clase Puzzle se manejan otras características del aspecto gráfico de la aplicación manejando los números y administrando la disposición de los dígitos acorde
a una cuadrícula e interfaz gráfica del juego.
November 28th, 2014
SDP03 Exercise 20
In this exercise we continued to improve the behavior of our program to play SUDOKU considering how important is to order the numbers
and to know how they must act according to the user movements.
There were some methods that were modified, in whichSquare() we wrote some useful lines to be able to locate the numbers according to the
square that they could be in. We use the row and column values to identify the digit position.
There's other method named isValidCell() in which we wrote the code lines in order to verify if the cell is valid since it must not be repeated.
We tried to use the for iterative structures so far, but we later changed to lists or sets that keep data collections so that they are better managed.
SDP03 Exercise 20
In this exercise we continued to improve the behavior of our program to play SUDOKU considering how important is to order the numbers
and to know how they must act according to the user movements.
There were some methods that were modified, in whichSquare() we wrote some useful lines to be able to locate the numbers according to the
square that they could be in. We use the row and column values to identify the digit position.
There's other method named isValidCell() in which we wrote the code lines in order to verify if the cell is valid since it must not be repeated.
We tried to use the for iterative structures so far, but we later changed to lists or sets that keep data collections so that they are better managed.
November 28th, 2014
SDP03 Exercise 19
In this exercise the aim was to write the correct method in order to display the data read or scanned from
the XML file in order of 9 squares with 9 numbers in each square, so that they're 81 numbers wich form the
game known as SUDOKU.
The most important thing was to detect, in the class GameArray, how the program read the data through for structures, after that we
wrote some lines to order the numbers or digits from 0 to 9 in the corresponding squares.
We used several arrays and methods to get the values, the main method that we modified was "gameToString()" because
in it we ordered the information using functions like append to get the characters of the numbers read from the XML file
through a stream.
SDP03 Exercise 19
In this exercise the aim was to write the correct method in order to display the data read or scanned from
the XML file in order of 9 squares with 9 numbers in each square, so that they're 81 numbers wich form the
game known as SUDOKU.
The most important thing was to detect, in the class GameArray, how the program read the data through for structures, after that we
wrote some lines to order the numbers or digits from 0 to 9 in the corresponding squares.
We used several arrays and methods to get the values, the main method that we modified was "gameToString()" because
in it we ordered the information using functions like append to get the characters of the numbers read from the XML file
through a stream.
SDP04 Project 01
Square Root of Two
November 21st, 2014
After solving the before four exercises, we could solve the first SDP04 project
that could only be solved applying the previous knowledge and abilities (also examples).
In this project we started with an application that solved the square root of the number two (2), nevertheless, there are some things that we've got to change in order to get our application solve square root of other numbers using the Newton's method.
When we had just started to read the problem, we noticed that the problem was working effectively in some situations but, on the other hand, the results were wrong when we wrote numbers that have a exact square root.
Our instructor gave us some advices to notice what we had got to do.
The first thing that we did was to modify the UNumber class by adding a public method named sqr with a parameter named decimales.
We modified the three first variables changing the mantissa, the characteristic, and the sign, for example; creating the variable sig, we noticed that it was necessary to change values in the constructor because the number in the characteristic depends on decimales parameter.
We also need precision, so that we added ten units to each line in which we used the variable decimales.
Then, we wrote the code that we've been using to calculate the Square Root according to Newton's method. We only had to change some values using the variables dp (that's named after decimal point), s (that's named after sign), and d (according to the mantissa dimension).
Once done this, we create an object from UNumber class into TestMainline class to call
the method that we created in UNumber class, remembering that we have modified the method and we have to give a type int parameter on calling the method.
We finally wrote a line that shows the result of the operation onto the screen.
After that, we proved the app and we noticed that it works correctly, now it doesn't only calculates the square root of two but of other numbers, this was thanks to the variable decimales that helps the computer to calculate the solution for a lot of numbers, giving the most close numbers as result .
SDP04 - Ejercicio 05
Miércoles 12 de noviembre de 2014
PROPÓSITO
El propósito de este ejercicio es calcular con un programa en C para la medición del
desempeño.
En este ejercicio utilizamos tanto las implementaciones de C y Java del
programa que calcula la raíz cuadrada de un número usando dobles.
Resultados
C es más rápido que Java.
Los Puntos de Referencia
Contra toda lógica, la única área en la que Java puede ser
tan rápido como C ++ es un punto de referencia típica. Si usted necesita para
calcular número enésimo de Fibonacci o ejecutar Linpack, no hay ninguna razón
por qué Java no puede ser tan rápido como C ++. Mientras todo el cálculo se
queda en una clase y sólo utiliza los tipos de datos primitivos como int y
doble, el compilador Java es en igualdad de condiciones con el compilador de C
++.
En el mundo real
En el momento de empezar a usar objetos en su programa, Java
pierde el potencial de optimización. En esta sección se enumeran algunas de las
razones por qué.
1. Todos los objetos se asignan en el montón
Java sólo asigna los tipos de datos primitivos como int y
referencias dobles y objeto en la pila. Todos los objetos se asignan en el
montón.
Para objetos grandes que normalmente tienen la semántica de
identidad, esto no es una desventaja. Programadores de C ++ también asignar
estos objetos en el montón. Sin embargo, para objetos pequeños con semántica de
valor, esta es una importante causa de muerte rendimiento.
2. Muchos de los yesos
Con el advenimiento de las plantillas, los programadores
buena C ++ han sido capaces de evitar yesos casi completamente en programas de
alto nivel. Por desgracia, Java no tiene plantillas, por lo que el código de
Java es normalmente llena de moldes.
3. Aumento de la memoria Uso
Programas Java utilizan casi el doble de la memoria de
programas comparables C ++ para almacenar los datos. Hay tres razones para
ello:
Los programas que utilizan la recolección de basura
automática suelen utilizar aproximadamente un 50% más de memoria que los
programas que hacen la gestión de memoria manual.
Muchos de los objetos que se asignan en la pila en C ++ se
asignarán en el montón de Java.
Objetos Java serán más grandes, debido a todos los objetos
que tienen una tabla virtual además de soporte para primitivas de
sincronización.
Una huella de memoria más grande aumenta la probabilidad de
que las partes del programa se pueden intercambiar en el disco. Y el uso del
archivo de intercambio mata la velocidad como ninguna otra cosa.
4. La falta de control sobre los detalles
Java fue diseñado intencionalmente para ser un lenguaje
sencillo. Muchas de las características disponibles en C ++ que le dan el
control del programador sobre los detalles fueron despojados deliberadamente de
distancia.
Por ejemplo, en C ++ se puede implementar esquemas que
mejoren la localidad de referencia. O asignar y muchos objetos libres de una
vez. O jugar trucos punteros para hacer el acceso más rápido miembro. Etcétera
Ninguno de estos sistemas están disponibles en Java.
5. No hay optimizaciones de Alto Nivel
Los programadores lidiar con conceptos de alto nivel. A
diferencia de ellos, los compiladores se ocupan exclusivamente de los de bajo
nivel. Para un programador, una clase llamada Matrix representa un concepto de
alto nivel diferente de una clase denominada Vector. Para un compilador, esos
nombres son sólo las entradas en la tabla de símbolos. Lo que le importa son
las funciones que contienen esas clases, y las sentencias dentro de esas
funciones.
Conclusión
Java, con las características del lenguaje actual, nunca
será tan rápido como C ++. Esto más o menos significa que no es una buena
opción para el software de alto rendimiento y la arena COTS altamente
competitivo. Pero su pequeña curva de aprendizaje, su perdón y su gran
biblioteca estándar la convierten en una buena opción para algunos programas de
pequeño y mediano tamaño de la casa y hecha a la medida.
SDP04 - Exercise 04
November 11th, 2014
The activity we've done today was about calculating the square root of the number 2 using the Newton's method. This consists in getting closer and closer to the correct number through for iterations and number conversions.
We used some code lines that are found in last projects, which helped us to write the program; we could just rewrite the code according to the C++ programming language.
The result was correct and, it even showed us the most significant digits that are considered by the program in solving the problem.
SDP04 - Ejercicio 03
Martes 11 de noviembre de 2014
El ejercicio 03 fue una actividad en la que continuamos con el empleo de las variables y operadores de las que el lenguaje de programación C++ y C disponen para realizar diferentes cálculos y operaciones útiles en las operaciones correspondientes.
También notamos la gran utilidad de los signos de operación y de asignación empleados para generar un flujo de programa.
El programa consta de un ciclo que va desde 0 hasta ser igual o menor a 10, por lo que se repite 11 veces, durante ese ciclo una variable (sum) va incrementandose en la cantidad del contador y sólo se muestran en pantalla los resultados cuyo resultado al ser divididos entre 3 sea idéntico a 0.
Para terminar la aplicación, se suman todos los valores que cumplen la condición anterior y el resultado se muestra en pantalla.
El resultado lo podemos visualizar en la siguiente pantalla:
SDP04 - Ejercicio 02
Martes 11 de noviembre de 2014
Iniciando curso de iCarnegie Software Development Program (SDP) 04, que analiza estructuras de datos e implementa aplicaciones sobre la misma.
El ejercicio 02 es corto pero tuvo como finalidad nuestra introducción a este Lenguaje de Programación (C++) a partir del cual se diseñó Java, ambos son lenguajes de programación de alto nivel y hacen uso de la POO (Programación Orientada a Objetos).
Analizamos ejemplos de sintaxis y creamos el tan recurrido programa para imprimir en pantalla el mensaje "¡Hola Mundo!".
Vimos elementos del programa; la llamada a librerías y las sentencias y comandos que nos proporcionan las librerías que se pueden importar.
Inexact Unit Calculator
November 04, 2014
El proyecto 2 fue una evaluación que contenía pruebas en forma de pequeños problemas reunidos de todos los ejercicios evaluados anteriormente.
La declaración de los método de covertOperando fue necesario modificaros a una variable para almacenar un conjunto de operaciones de clase UNumber: private UNumber mediante la sintaxis siguiente:
private UNumber convertOperand2()
{
return new UNumber );
}
Fue necesario modificar el arreglo de igual manera a un formato new UNumber (1", -50, true) a una variable para almacenar un conjunto de operaciones de clase UNumber y resolver el problema. Despues agregamos un If (limit.greaterThat(theoperando))
Pero nos encontramos a un problema, el cual fue que la calculadora no podia dividir, volvimos al código y cambiamos el operando de la divisiónn se declara de una forma diferente con base en los parámetros que acepta el método correspondiente para realizar las operaciones empleando valores UNumber.
Otro aspecto importante a considerar fue el manejo de los tipos de datos UNumber que muestra valores más exactos acorde a los criterios definidos por el usuario.
Otro aspecto importante a considerar fue el manejo de los tipos de datos UNumber que muestra valores más exactos acorde a los criterios definidos por el usuario.