jueves, 18 de noviembre de 2010

Números Pseudoaleatorios.

Hola a todos, en esta entrada les hablaré un poco acerca de los números pseudoaleatorios.

Los números pseudoaleatorios son una sucesión de números en el intervalo [0,1], el cual tiene las mismas propiedades estadísticas que una sucesión de números aleatorios. La forma de obtener números pseudoaleatorios es a partir de una conjunto de n números  y aplicar una función.

Estos números son necesarios cuando se utiliza un modelo de simulación, para así obtener observaciones aleatorias a través de distribuciones de probabilidad.
Los números aleatorios que se generan mediante una computadora, normalmente son números aleatorios enteros. Estos números generados por la computadora no se deben de llamar números aleatorios, ya que son predecibles, por ello algunas veces se les llama números pseudoaleatorios.

Se le llama generador de números aleatorios al procedimiento utilizado por una computadora para generar números aleatorios. Un generador de números aleatorios es un algoritmo que produce secuancias de números y tienen apariencia de que son aleatorios.

Esta secuencia de números generados debe cumplir con lo siguiente:
  • Tener una distribución uniforme
  • Ser independientes (no correlacionados)
  • Además también son importantes estos aspectos:
  • Las subsecuencias también deben cumplir con lo mencionado anteriormente
  • Las secuencias deben de ser largas y sin huecos
  • Tener algoritmos rápidos y que no ocupen demasiada memoria


Bueno en C, para obtener números aleatorios se utiliza la función rand(). Esta función, cada vez que la llamamos, nos devuelve un número entero aleatorio entre 0 y el RAND_MAX (un número muy grande). 

¿Y si queremos un número aleatorio con decimales?.  Para esto existe la función drand48(), la cual nos devuelve un número aleatorio con decimales entre 0.0 (incluido, puede salir el 0,0) y 1.0 (no incluyendo el 1.0). 

En el caso de Java,  con Random(), se pueden obtener números aleatorios.

Bueno esto es todo, espero que les haya ayudado, saludos a todos:)

martes, 16 de noviembre de 2010

Instalar GO en UBUNTU :)

Lenguajes de Programación. PUNTOS EXTRA

Hola compañeros, en esta entrada les explicaré como instalar go en Ubuntu. Recuerden que es para el útlimo reporte de la clase de Lenguajes de Programación.

Primero que nada tienes que editar el archivo oculto .bashrc (para poder definir las variables como globales para todos los usuarios). Escribimos en el terminal





y añadimos las siguientes líneas









GOROOT. Es el directorio donde se guardará el código fuente.
GOOS. Es el sistema operativo que estas usando.
GOARCH. Tiene que ver con la arquitectura y puede tener los valores de amd64, 386 y arm.
GOBIN. Es el directorio destino de los binarios.
PATH. Para compilar en cualquier directorio donde nos encontremos.

Actualizamos las variables con:





Instalamos Mercurial, el cual es el cliente para el control de versiones:





Tienes que asegurarte que tengas instalados los siguientes paquetes:





Ahora vamos a descargar Go. En esta parte se tarda un poco para que no piensen que se quedó trabado o que no se esta descargando, porque parece como si se trabara pero no se desesperen, se tarda un poco.





Compilamos






Después de esto se tarda unos minutos, y después te tiene que imprimir algo asi:

— cd ../test/bench
fasta
reverse-complement
nbody
binary-tree
binary-tree-freelist
fannkuch
regex-dna
spectral-norm
k-nucleotide
mandelbrot
meteor-contest
pidigits
threadring
chameneosredux
— cd ../test
0 known bugs; 0 unexpected bugs


Bueno, así es como se descarga, les dejó la página donde encontré esto, ahí viene también como se compila. Espero que les sirva, saludos:)

lunes, 15 de noviembre de 2010

PRESENTACION. Tipos de Datos

Presentación de Tipos de Datos.

Hola a todos, aquí les dejo mi video de la presentación 4 de tipos de datos. Espero que este entendible y clara. Cualquier duda, sugerencia o comentario no duden en comentar.






Bueno, aquí les dejo screenshots de mi código en c de Inventario de Autos. Para descargarlo hay un link al final de esta entrada. 



Bueno lo que hice fue hacer un menú donde puedas agregar Automoviles al inventario y otro donde puedas ver lo que esta en el registro. Utilice un archivo inventario.txt para esto y fui almacenando los datos con entrada de teclado, espero que sea entendible como quiera ya saben que cualquier duda comenten:).

Aquí les muestro la ejecución del programa.



Para descargar click aquí.

Lenguajes Imperativos. Lenguaje BASIC y PASCAL

Lenguajes de Programación - PUNTOS EXTRA

Bueno, vamos ahora a ver como se declaran las funciones o rutinas. Aquí tenemos un programa dentro de una función.


Bueno, aquí se declaro una función con declare sub, la podemos llamar como nosotros queramos, yo en este caso la llamé main, como en lenguaje C tienes que llamar a esta función para que realice su función, por eso como verán, abajo de declare sub puse main, que es como si estuviera llamando a esta funcion. Ahora declare la variable calificacion de tipo número, y una entrada de teclado para que ingresen su calificación final. Después entra a una condición if que si su calificación es mayor o igual a 70 entonces imprime "Felicidades! Haz aprobado el curso", en caso contrario imprimirá "Lo siento, reprobaste el curso :(" y al terminar el if tienes que cerrarlo con end if, así como también tienes que cerrar la función con end sub. La ejecución de este programa es la siguiente.



Como ven, si le pones un número mayor o igual a 70 te imprime que aprobaste el curso, si es menor a 70 te imprime que reprobaste.

Ahora un programa con arreglos. Veamos el código.


Declaramos el arreglo como se declaran las variables, solo que tenemos que agregar entre paréntesis (), de cuantos números en este caso será el arreglo, yo declaré el arreglo de 10 números. Declaré tambien i para el for y n que será el número que introduzcas. Ahora entra un ciclo for desde 1 hasta 10 donde va a ir multiplicando el número que ingresaste por i, y te lo va a imprimir, esto es para imprimir los primeros 10 números de la tabla del número que ingresaste. La ejecución de este programa es la siguiente:


Como ven nos muestra los primeros 10 números de la tabla del 25, que fue el número que ingresé. 



Bueno, siguiendo ahora con Pascal hice otro programa que te dice que número es mayor. Les dejo el código.

 
Al igual que el programa anterior este programa usa condiciones, a diferencia que este utiliza dos variables, las cuales son de entrada de teclado y se almacenan en num1 y num2. Ahora comparamos los números para ver cual es mayor e imprimimos el resultado. La ejecución de este programa es.



Pascal en ubuntu

Lenguajes de Programación - Puntos extra

Hola a todos, ahora les explicaré como tener el compilador de Pascal en ubuntu.

Solo tienen que abrir su terminal y escribir lo siguiente:

sudo apt-get install fp-compiler fp-docs fp-ide fp-units-base fp-units-db fp-units-fcl fp-units-gfx fp-units-gnome1 fp-units-gtk fp-units-gtk2 fp-units-misc fp-units-net fp-units-rtl fp-utils

Ya que se haya terminado de descargar vamos a abrir el programa de la siguiente forma, solo tienen que poner en la terminal: fp
Con esto se les abrirá Free Pascal en la misma terminal y ya pueden empezar a utilizarlo. Les debe aparecer una pantallita azul que se ve como que distorcionada, solo tienen que darle donde dice File con el mouse ya que si presionan Alt + F se abrirá el menú de la terminal. Seleccionan New y listo! tienen que obtener una pantalla como esta.



Les comento que al momento que lo descargué y quise probarlo haciendo un programa sencillo solo para ver como funcionaba y al momento de compilar me marcaba, Fatal error! y no sabia a que se debia, pensé que era porque estaba mal algo en el programa pero estuve buscando este error en la web y encontré que debia instalar un paquete. Lo instalé y ya compilo perfectamente. Para descargar el paquete deben abrir la terminal y poner.

sudo apt-get install fp-units-gfx
Y con esto ya no tendrán ningun problema, bueno a mi me funcionó :D gracias por tomarse el tiempo de leer mis entradas, espero que les sirva esto, saludos a todos!

Lenguajes Imperativos. Reporte 7 ENTRADA SIN TERMINAR

Lenguajes de Programación - Reporte 7

Hola a todos, en esta entrada iniciaré mi reporte de lenguajes imperativos.

BASIC

Bueno empezaré de lo más sencillo, un programa que te pide el nombre. Bueno les dejo primero el código.


En lenguaje BASIC, dim se utiliza para declarar las variables, as string indica que la variable es una cadena de caracteres, input se utiliza para leer datos de entrada desde teclado, en este caso el nombre de la persona. Print pues es para imprimir la variable nombre, ahora veamos lo que esto ejecuta.

 

Esta es la ejecución, como pueden ver te pregunta cual es tu nombre, y el cursos parpadea al final de la pregunta, esto es porque esta esperando la respuesta del teclado. Ahora veamos que hace cuando le pongo mi nombre.


Como ven al ponerle mi nombre lo imprimió abajo. Eso es todo lo que hace este sencillo programa.

Ahora veamos un ejemplo un poco menos sencillo, el siguiente programa te hace las operaciones básicas: suma, resta, multiplicación y división.


Bueno aquí como en el anterior declaramos variables con dim, ahora pusimos as integer que indica que es un número. Ahora con input pedimos dos números para ser ingresados mediante el teclado. Después te imprime la suma, diferencia, producto y resultado de dividir esos dos números. Veamos ahora su ejecución.


Como pueden ver, me pidio los dos números e hizo las operaciones que le indique, así como también imprimio los resultados de estas operaciones.



Pascal 

Ahora les mostraré los que hice en Pascal. El primer programa es de números pares e impares.


Les explicaré el código, en pascal cuando se inicia un programa se pone program seguido del nombre del programa, para declarar variables es con var seguido del nombre de la variable o si es más de una se separan por una coma y al final de la última variable se ponen dos puntos ":" y después el tipo de dato que en este caso es integer, o sea número. Todo el programa tiene que ir en medio de begin y end. .Para leer desde teclado se utiliza write y para guardarlo en una variable readln(nombrevariable). Después utilice una condición para decir que si el residuo de el número dividido entre dos es 0, entonces es par, en modo contrario será impar. Para lo del residuo se utiliza el comando mod de módulo. Ahora veamos la ejecución de este programa.






FORTRAN



Ahora les  mostraré un programa que hice en Fortran, donde calcula la raiz cuadrada y una operación con logaritmo. El código es el siguiente.




En este programa se pone program seguido del nombre del programa, declaramos las variables tipo real, leemos un dato de entrada de teclado, acemos las operaciones sqrt es para sacar la raiz y log es logaritmo. Imprimimos los resultados de estas operaciones y fin del programa.


Ahora veamos la ejecución de este programa.






LENGUAJE C



Bueno estos fueron los programas que realicé para el reporte 7. Cualquier comentario ya saben que me lo pueden hacer saber:) 

Lenguajes Imperativos. Lenguaje Pascal

Laboratorio de Lenguajes de Programación  

Hola a todos, en esta entrada les hablaré acerca del lenguaje de programación, Pascal.
Pascal es un lenguaje imperativo que fue desarrollado por Niklaus Wirth entre los años 1968 y 1969, se publicó en 1970. Este lenguaje se desarrolló con el fin de crear un lenguaje que facilitara el aprendizaje de programación utilizando programación estructurada y estructura de datos. Con el tiempo este lenguaje se convirtió en una herramienta para crear aplicaciones de todo tipo. 

Pascal al ser un lenguaje de programación estructurado, implica lo siguiente.
  • Que el código está dividido en porciones que son claras y legibles, llamadas funciones o procedimientos. Gracias a esto Pascal facilita la utilización de la programación estructurada.
  • Que el tipo de dato de todas las variables deba ser declarado antes de utilizarlas.
El nombre de este lenguaje fue en honor al matemático Blaise Pascal.

Este lenguaje a diferencia de C, utiliza el símbolo ":=" para asignar valor en vez de "=". Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones para evitar errores. Además de esto sus programas tienen dos partes fundamentales: declarativa y ejecutiva. En la declarativa debe ir todo lo que se usará en la ejecutiva, en caso de no hacer esto se detectará como desconocido. En la parte declarativa se enuncian procedimientos, funciones, constantes, variables, entre otras cosas.

Pascal también es un lenguaje de alto nivel, se deriva del Algol 60. Las instrucciones de este lenguaje se componen de expresiones de apariencia algebráica y de ciertas palabras inglesas como BEGIN, END, READ, WRITE, IF, THEN, WHILE, DO.
Pascal se utiliza mucho hoy en dia en Estados Unidos de América y en Europa, como lenguaje de enseñanza y lenguaje de propósito general para muchas aplicaciones diferentes. Pascal ha sido muy popular entre los usuarios de ordenadores personales, a tal grado que se dice acerca de que si podrá llegar a sustituir al BASIC como lenguaje dominante en un futuro. 

Bueno esta fue mi entrada acerca de Pascal, ahorita subiré los programas que haré de este lenguaje, saludos a todos:)