Archive for noviembre 2014

SDP03 Exercise 25

sábado, 29 de noviembre de 2014
Posted by Unknown

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.


SDP03 Exercise 24

Posted by Unknown
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 23

Posted by Unknown
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 22

Posted by Unknown
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 21

Posted by Unknown
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 20

Posted by Unknown
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 19

Posted by Unknown
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.
domingo, 23 de noviembre de 2014
Posted by Unknown

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 ZavalaZavala

miércoles, 12 de noviembre de 2014
Posted by Unknown

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.


martes, 11 de noviembre de 2014
Posted by Unknown

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.
martes, 4 de noviembre de 2014
Posted by Unknown

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.
Welcome to My Blog

Popular Post

Blogger templates

Con tecnología de Blogger.

- Copyright © Zavala Zavala - Computing and Problem Solving -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -