Juan Garcés

Personal Blog

Estructuras de Datos No Lineales

enero 30th, 2013

(Un apunte de otra ayudantía de la universidad)

Árboles B

Los árboles B son estructuras no lineales que fueron introducidos por R. Bayer y E. McCreight en 1972, con el principal objetivo de mejorar el tiempo de acceso en estructuras de datos manejadas en memoria externa.

Los árboles B son una generalización de los árboles balanceados, con una estructura jerárquica que beneficia considerablemente la búsqueda de un elemento en específico, reduciendo el número de nodos o archivos accesados.

Métodos de Ordenamiento

enero 25th, 2013

(Escrito para una de mis ayudantías en la universidad)

El ordenamiento de los datos implica una importante mejora de la eficiencia en la búsqueda de los mismos.

Existen dos técnicas básicas de ordenamiento: ordenamientos internos y ordenamientos externos. Los métodos de ordenamiento interno se aplican cuando el conjunto de datos a clasificar es lo suficientemente pequeño, de tal forma que pueda caber en memoria principal.

Macros en Microsoft Excel

enero 17th, 2013

Macros en Microsoft Excel

Contenidos

Conceptos Básicos

Objetos y Clases
Atributos o Propiedades
Métodos o Acciones
Eventos

Formas de Crear una Macro

Forma Automática
– Grabar Nueva Macro
– Ejemplos de Macros Automáticas
– Ejecutar una Macro
– Ejercicios Prácticos

Forma Manual
– Editor de Visual Basic
– Insertar un Nuevo Módulo
– Ejemplos de Macros Manuales
– Ejercicios Prácticos

Programación Avanzada de Macros

Mejorando la Presentación
Insertar Botones en la Hoja
Insertar un Icono en la Barra de Herramientas
Uso de Formularios
Creación de un Formulario
Inserción de Objetos en el Formulario
Inserción de Código de Programación

Validación RUT Chile

enero 10th, 2013

Método para validación del RUT de Chile.

Los parámetros out long rut y out string dv permiten obtener ambas partes del RUT en cada variable.

/// 
/// Determina si un rut es válido
/// 
public static string VerificarRut(string sRut, out long rut, out string dv)
{
	rut = 0;
	dv = "";
	if (string.IsNullOrEmpty(sRut))
		return null;
	sRut = sRut.Replace("-", "");
	sRut = sRut.Replace(".", "");
	sRut = sRut.Replace(" ", "");
	if(sRut.Length < 2)
		return null;
	string sdv = sRut.Substring(sRut.Length - 1, 1).ToUpper();
	sRut = sRut.Substring(0, sRut.Length - 1);
	if(!MyUtil.IsNumeric(sRut))
		return null;

	int m = 2;
	int total = 0;
	for(int i = sRut.Length - 1; i >= 0; i--)
	{
		total = total + Convert.ToInt32(sRut.Substring(i, 1)) * m;
		if(m == 7)
		m = 1;
		m++;
	}
	int res = 11 - (total % 11);
	string dvr = "0";
	if(res == 10) {
		dvr = "K";
	} else if(res == 11) {
		dvr = "0";
	} else {
		dvr = res.ToString();
	}
	if(sdv.Equals(dvr)) {
		rut = Convert.ToInt64(sRut);
		dv = sdv;
		return sRut + "-" + sdv;
	}
	return null;
}

Campo/Clave/Llave Primaria

enero 5th, 2013

Este es uno de los temas más consultados en mi antiguo sitio Educación Informática, por ello escribo este artículo.

La característica esencial de una Clave Primaria es que es distinta para cada registro en una tabla de base de datos. Se puede obtener por medio de un proceso de análisis llamado normalización.

Clave Primaria, también conocida como «Llave Primaria» o «Campo Primario» cuando se trata de un sólo campo, no es más que aquel campo o conjunto de campos por medio de los cuales podemos identificar en forma única un registro (tupla o fila) de datos dentro de una tabla de base de datos.

Según sea el motor de base de datos, se puede definir de diferentes formas, aunque la siguiente instrucción es reconocida por la mayoría de los motores:

 ALTER TABLE nombre_tabla ADD PRIMARY KEY(campo1, campo2, ... , campon)

Como ejemplo, utilizaremos la siguiente tabla, en la que se definen los datos de una persona:

CREATE TABLE person (
 person_tax_id VARCHAR(50) NOT NULL,
 person_name VARCHAR(100) NOT NULL,
 person_last_name VARCHAR(100) NULL,
 person_sex VARCHAR(1) NULL
);

Bienvenidos

enero 1st, 2013

¡Sean Bienvenidos!

En este blog compartiré con ustedes mis experiencias en las diferentes herramientas en que he trabajado, así como también los desarrollos y estudios personales.

Todo el contenido es de libre acceso y pueden utilizarlo sin restricciones. Consulten los Términos de Uso

Espero les sea de utilidad y puedan compartir con otros sus experiencias.

Un Saludo

Juan Garcés Bustamante

Juan Garcés

Personal Blog