martes, 24 de julio de 2012


Recursividad en c# y Vb.net
Por Diógenes Amaury MS

Debemos iniciar por definir, lo que significa recursividad, es cuando un subprograma o función puede llamarse a sí misma. La recursividad es una alternativa a la iteración o repetición (el uso de bucles), existen numerosas situaciones en la que la recursividad  es una solución simple y natural que en caso contrario sería difícil de resolver.
Por esta razón se puede decir que la recursividad es una herramienta potente y útil en la resolución de problemas que tengan naturaleza recursiva y, por ende, en la programación.
Veamos de una forma más clara estos conceptos en la creación de un programa que determine el factorial de un número dado, y el cual será digitado en un textbox
En nuestro formulario, insertamos dos textbox,  uno llamado  TXTNUMERO y otro llamado TXTFACTORIAL, agregamos un botón, que será el que contendrá el evento para llamar a la función recursiva que determina el factorial de un número N.


Código para c#
Creado la función recursiva
int Factorial(int n)
{
if ((n == 0) || (n == 1))
   return (1);
else
   return (n * Factorial(n - 1));
}
Como pueden notar, en la codición estoy preguntado si el numero es 0 ó 1 y en tal caso retorno 1 a función Factorial(el or en c# es representado por este signo || ), en caso contrario multiplico a n por la misma función factorial, y es aquí donde se aplica la recursividad, ya que la misma función factorial se llama dentro de ella.
En el Botón btncalcular escribo el código para llamar a la función recursiva Factorial.
private void btncalcular _Click(object sender, EventArgs e)
{
TXTFACTORIAL.Text = Convert.ToString(Factorial(Convert.ToInt32(TXTNUMERO.Text)));
}


Código para vb.net
Function Factorial(ByVal n As Integer) As Integer
If n = 0 Or n = 1 Then
   Factorial = 1
Else
   Factorial = n * Factorial(n - 1)
End If
End Function


en el botón escribimos este código para llamar la función factorial y mostrarlar en el textbox TXTFACTORIAL.

TXTFACTORIAL.Text = Factorial(Val(TXTNUMERO.Text))


Cuando la vida te de la espalda, difruta viéndole sus glúteos!!!.
DM.






martes, 17 de julio de 2012

Crear Archivo Binario en C

Trabajando con archivos Binario en .Net, utilizando  C#
By Diógenes Amaury MS 


La primera opción para escribir y/o leer datos de una archivo de texto es utilizar la clase FileStream. Esta clase se encuentra en el namespace System.IO y es una clase derivada de la clase Stream. Por lo que debemos declararla donde estan los using de nuestra aplicación, por ejemplo.
using System.IO;

El FileStream actúa como un intermediario entre el sistema de archivos y nuestra aplicación, permitiendo realizar de una manera limpia y sencilla operaciones de escritura y lectura en archivos. Para utilizar el FileStream, lo primero que se debe hacer es crear una instancia que apunte al archivo deseado. Para esto se tiene la opción de utilizar alguno de los constructores ofrecidos, tal y como se muestra a continuación:



Este código se colocara en el botón Escribir, y  su función será crear el archivo llamado Binario.txt en la raíz de c.

FileStream fs = new FileStream(@"c:\binario.txt"FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs,Encoding.UTF8);
String matricula = TXTMATRICULA.Text;
String estudiante = TXTESTUDIANTE.Text;
int edad = Convert.ToInt16(TXTEDAD.Text);
bool vecado = CHKVECADO.Checked;

bw.Write(matricula);
bw.Write(estudiante);
bw.Write(edad);
bw.Write(vecado);
bw.Close();
Para leer el contenido del archivo en el botón leer escibimos este código.
FileStream fs = new FileStream(@"c:\binario.txt"FileMode.Open);
BinaryReader br = new BinaryReader(fs);
TXTMATRICULA.Text = br.ReadString();
TXTESTUDIANTE.Text = br.ReadString();
TXTEDAD.Text = Convert.ToString(br.ReadInt32());
CHKVECADO.Checked = br.ReadBoolean();
br.Close();
Como pueden ver la forma de crear un archivo y posteriormente leerlo es bien siemple.

Recuerda:A nada te acostumbre, para que nada te haga falta…