domingo, 31 de enero de 2010

Trabajo (Vectores)

El trabajo W realizado por una fuerza constante F cuando su punto de aplicación se desplaza a lo largo del vector PQ viene dada por una de estas expresiones:

1. W = ||proy pq F|| ||PQ||
2. W = F * PQ.

Realizar a continuación los siguientes ejercicios:

Se arrastra 10 pies por el suelo un objeto aplicando una fuerza de 85 libras. Calcular el trabajo realizado si la dirección de la fuerza forma un ángulo de 60° con la horizontal.

Datos:
Fuerza = 85 libras
ángulo = 60°
Desplazamiento: –> : 10 Pies

Usando la formula 1 se tiene:

W=cos(60) *||F|| ||PQ||
W=cos(60)*||85|| ||10||

W= 425 libras-pies


Un vagón de juguete es arrastrado por un niño que tira con una fuerza de 15 libras de una varilla que forma 30° con la horizontal. Calcular el trabajo realizado al arrastrarlo 50 pies.

Datos:
Fuerza = 15 libras
ángulo = 30°
Desplazamiento: 50 pies.

Usando 1

W = cos (30) * ||F|| ||PQ||
W = cos(30)*(15)(50)

W=649.5191 libras-pies

Escribir un Script dinámico en Mathematica que permita calcular esta formula conociendo los datos Fuerza, Ángulo, Desplazamiento.

Panel[DynamicModule[{v = ((fuerza)*(desplazamiento))* Cos [angulo],
   fuerza = 1, desplazamiento = 1, angulo = 0},
  Panel[Grid[{{Style["Calculadora de Fuerza", Bold],
      SpanFromLeft}, {"Escribe la Fuerza:",
      InputField[Dynamic[fuerza], FieldSize -> 10],
      "Escribe Desplazamiento:",
      InputField[Dynamic[desplazamiento],
       FieldSize -> 10]}, {"Escribe Ángulo:",
      InputField[Dynamic[angulo],
       FieldSize -> 5]}, {"Trabajo Realizado:",
      InputField[Dynamic[v], Enabled -> False]}}]]]]


miércoles, 20 de enero de 2010

Creando mapas con Bing Maps y Silverlight

Recientemente he tenido la necesidad de aprender a manejar un poco más el uso de los mapas que ofrece Google, Microsoft o Yahoo!.

Uno de los principales objetivos que estoy buscando es el diseñar una aplicación sencilla para la búsqueda de productos en una determinada zona del usuario.

Por ejemplo yo vivo en las coordenadas: 20.958705,-89.632247 y me gustaría saber que servicios (entiéndase tiendas, escuelas, etc) hay cerca de donde yo vivo y el tiempo estimado que puedo hacer caminando o viajando en coche para llegar a ese servicio.

En este post realizaremos un mapa básico (Mostrar un mapa en una página web) utilizando silverlight.

Lo que necesitamos:

  1. Microsoft Visual Studio 2008 con Service Pack 1 (También funciona la versión Express).
  2. Las herramientas de desarrollo de Silverlight para C#.
  3. El SDK de Bing Maps que podemos descargar de aquí.
  4. Una cuenta .NET (Windows Live o Hotmail)
  5. Una Key para poder utilizar los mapas en nuestras aplicaciones Silverlight la cual podemos crear aquí.

Creando una cuenta Maps Account para Bing.

Primero hay que ir a: https://www.bingmapsportal.com/

Seguidamente si disponemos de una cuenta @live. @msn, @hotmail.com, si no es nuestro caso, tendremos que crear una.

websiteBuscamos en la parte superior derecha la opción que dice Log On, aparecerá la opción de logueo con la cuenta Live / hotmail.

web2

Si es la primera vez que no damos de alta en el servicio, tendremos que llenar una serie de información, como dato adicional no es necesario colocar el nombre de la compañía o un número de teléfono si vamos a utilizar las id con fines educativos.

keyCuando vayamos a crear una Key tendremos que rellenar dos campos. El primero define el nombre de la aplicación y el segundo la URL, como yo trabajare en localhost (utilizando Apache) colocare http://localhost como URL.

Una vez que hayamos colocado los datos que se nos pide, se nos generara una KEY que necesitaremos para la ejecución del API de BING MAPS. 

CREANDO NUESTRO PRIMER MAPA BÁSICO.

Ejecutamos Visual Studio 2008

Creamos un nuevo proyecto Visual C# Silverlight de tipo Silverlight Application.

s1El tipo de Selección para el proyecto lo pondré como Automatically, ya que tenemos la aplicación cargada, agregaremos una nueva referencia dándole clic con el botón derecho del mouse al Folder References y a la opción del menú contextual “Add Reference”.  

En el cuadro de diálogo que nos aparece, seleccionamos la pantalla Browse (Explorar), buscamos la dll. Microsoft.Maps.MapControl que esta instalada en C:\Archivos de Programas\Bing Maps Silverlight Control\V1\Libraries\  Esta ruta es opcional ya que depende donde la hayas instalado tu.

Cuando la librería este cargada deberá de aparecer en el árbol de referencias.

treeAhora nos dirigimos a nuestra aplicación silverlight agregando el siguiente código en la parte xmlns:

xmlns:mapa="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"

Donde mapa es una variable

A continuación agregamos la siguiente línea de código dentro del Grid

<mapa:Map CredentialsProvider="TU KEY"/>

Recuerda que “mapa” es el nombre de mi variable. y TU KEY es el número generado en la página de BING MAPS.

Al compilar la aplicación y colocarla en el directorio httdocs de Apache podemos genera el resultado:

funcion

 

Si quieres agregar más zoom puedes utilizar la función ZoomLevel =”valor” dentro de la etiqueta del mapa que colocamos en el GRID y si quieres que el mapa tenga una determinada coordenada o este centrado en un punto utilizamos la función center =”puntoX,PuntoY”

De forma que quedaría así:

<mapa:Map CredentialsProvider="TU KEY" ZoomLevel="17" Center="20.958705,-89.632247"/>

casaY así por ejemplo se genera una nueva vista, en la imagen superior se muestran las calles o manzanas de la colonia en la que vivo en Mérida, Yucatán México. xD. 

domingo, 17 de enero de 2010

Experimentando con HP 9G

 

Pues como trae el modo de programación, he empezado a usarlo, aunque es muy rustico aparte de que los programas no los puedo salvar en un disco o memoria xD, de más al menos servirá para algunas cosas rutinarias que se ocupe hacer un determinado número de veces.

Este modelo de programación me recuerda a las primeras computadoras, bueno en mi ociosidad como siempre haremos el mismo programa del post anterior.

Hacer un programa que calcule una distancia dado el tiempo en minutos y la rapidez en Km/h.

Bien, lo primero que hay que hacer es lógico, encender la calculadora si esta no se encuentra encendida.

Después seleccionar el modo programación, posteriormente el tipo de programa en modo MAIN, luego seleccionar el área de programación, yo trabajare en la 0.

INPUT R;
INPUT T;
D = ((R/60)*T);
PRINT “Distancia: “, D;
END;

Y esto es un programa xD.

jueves, 14 de enero de 2010

Minizando el MSN en la barra de Notificación del Sistema.

:

Ya era un tiempo de encontrar una manera de poner el Icono del MSN en la barra de notificaciones del sistema  al costado del reloj, ya me estaba enfadando de tenerlo diario ocupando un espacio más.

1. Ir al icono del MSN y darle click con el boton derecho del mouse seleccionar propiedades.
msn1
En el cuadro de propiedades buscar la pestaña Compatibilidad, y seleccionar "Ejecutar el programa con compatibilidad para": Windows XP (Service Pack 3)

msn2

Luego damos clic en aplicar y posteriormente en aceptar.


Ahora cuando ejecutemos el msn y le demos clic al botón cerrar, este se colocará en el área de notificaciones del Sistema junto al Reloj.

msn3


Si tienes un sueño haslo realidad ¡Qué nada te detenga!.

lunes, 11 de enero de 2010

Programación, Lógica y Adaptación.

 

Mucho se habla de programar, de que somos buenos en X, Y o Z lenguaje, sin embargo ¿Realmente sabemos programar?

Para mí el programar no es nada más sentarme frente al ordenador y empezar a escribir código en un lenguaje de programación en concreto, la programación va más haya de un simple lenguaje en concreto en el que nos especializamos: Java, C#, F#, Perl, Python,  entre otros, tiende a ser un vinculo entre el pensamiento del programador y el lenguaje.

La lógica, es algo que desarrollas con la práctica, es la motivación que tienes para resolver los problemas.

La adaptación viene después, adaptar nuestras ideas a diferentes lenguajes nos abre un camino de oportunidades en un campo tan competitivo, explorar y aprender, el ver hasta donde somos capaces de llegar con nuestra creatividad puede conducirnos por senderos inexplorados abriéndonos nuevas puertas y un nuevo conocimiento que nos enriquece como personas y profesionales.

La adaptación es algo a lo que tenemos que estar acostumbrados en este campo, en las corporaciones se tienden a desarrollar proyectos no solo en un lenguaje en concreto, siempre se busca el mejor lenguaje para solventar el proyecto, un buen programador se caracteriza por poder resolver un problema sin gastar tantos recursos de la corporación, si es que trabajamos en una.

La adaptación es algo que va acompañada de los cambios, si no eres capaz de asumir un rápido cambio y adaptarte a las exigencias, seras por el resto de tu vida un retrasado informático.

Cuando llegues a una empresa nunca le digas a tu superior “Eso no lo aprendí en la escuela”, si tienes suerte tal vez te enseñen, si no te darán calle. Recuerda que a veces de nada sirve un 100 y no saber hacer las cosas (no practicar) a un 75 pero sabes como adaptar lo que aprendisteis al mundo real.

Para finalizar.

El mejor lenguaje de programación será aquel que te permita resolver un problema en concreto en menos tiempo y que se adapte al proyecto que este llevando acabo ;)

 

Un ejemplo de todo este artículo:

Hacer un programa que calcule una distancia dado el tiempo en minutos y la rapidez en Km/h.

El programa usando Mathematica 7.

Pane[DynamicModule[{d = ((tiempo/60)*distancia), distancia = 0,
   tiempo = 0},
  Panel[Grid[{{"Distancia:",
      InputField[Dynamic[tiempo], FieldSize -> 5]}, {"Tiempo:",
      InputField[Dynamic[distancia],
       FieldSize -> 5]}, {"Distancia Recorrida:" InputField[
        Dynamic[d], FieldSize -> 5]}}]]]]image 

 

El programa usando lenguaje D:

import std.conv;
import std.cstream;
import std.stdio;

void main ()
{
    double distancia, tiempo, rapidez;
    string n;
    writef("Escriba la Rapidez en Km/h: ");
    n = din.readLine();
    rapidez = toFloat(n);
    writef("Escribe el tiempo en Minutos: ");
    n = din.readLine();
    tiempo = toFloat(n);
    //Formula
    distancia=((tiempo/60)*rapidez);
    writef("La distancia recorrida es: ",distancia," Km");
}

image

lunes, 4 de enero de 2010

Hasta donde te puede llevar tu imaginación

 

No conforme con los lenguajes de programación, me he dado un brinco al uso del Software Mathematica (aunque la verdad llevo algo más de 2 meses usándolo), a nivel programador.

Mathematica para los que no sepan, se trata de un software de Cálculo matemático utilizado a nivel ingeniería, economía y en los sectores donde se pueda aplicar el cálculo y la matemática. Potente software utilizando en el campo de la investigación de nuevas tecnologías, este software me ha dejado maravillado con el potencial de cálculo que ofrece y con la variedad de Scripts que se pueden programar en él.

Fanático de Ragnarok OnLine y de cualquier juego en línea que utilice matemática (aplicación del cálculo al juego xD), adapte la Formula de la popular skill Acid Demostration de manera básica y primitiva, esto debido a que le hacen falta cierto modificadores ^^, pero para mí es un pequeño logro en lo que a programación de Scripts utilizando el Software Mathematica refiere

imageFigura del Script Funcionando.

No es la gran cosa comparado con algunas calculadoras que circulan por la red, aunque si es más preciso, y espero con más tiempo poder hacer más mejoras que las calculadoras actuales ofrecen. Para hacer funcionar este Script lógico, se requiere el software Mathematica

Descargar Script – Alpha -