• WORD
  • FORMATO AUTOMATICO Y ESTILOS
  • INSERTAR CUADRO DE TEXTO Y ECUACION
  • REFERENCIASTABLA DE CONTENIDO Y BIBLIOGRAFIA
  • Ir a Prácticas
  • EXCEL
  • FORMULAS I y II
  • TABLAS Y GRAFICOS DINAMICOS
  • SUBTOTALES Y BASE DE DATOS
  • MACROS
  • Ir a Prácticas
  • AUTOCAD
  • 2D:DIBUJO Y ACOTAR
  • INSERTAR BLOQUES Y PLOT
  • 3D: MODELADO Y EDICION DE SOLIDOS
  • RENDER Y ANIMACIONES
  • Ir a Prácticas

jueves, 30 de abril de 2026

INICIANDO MYSQL

CONCEPTO

CARACTERISTICAS

INTERFAZ

CODIGO PARA INICIAR BASE DE DATOS

CODIGO PARA BUSCAR EN BASE DE DATOS

TEORIA

martes, 31 de marzo de 2026

GRAFICOS Y TENDENCIA

 ejercicio

GRAFICO DE PASTEL

GRAFICO DE BARRAS APILADAS

GRAFICO DE COLUMNAS

GRAFICO DE BURBUJAS

GRAFICO DE PUNTOS

GRAFICO DE JERARQUIA

GRAFICO DE CASCADA

TENDENCIA


viernes, 27 de marzo de 2026

COLAS EN C#

COLAS

CODIGO:


using System;

using System.Runtime.CompilerServices;

using System.Security.Cryptography.X509Certificates;

class Nodo

{

    public int dato;

    public Nodo Siguiente;

 

    public Nodo(int dato)

    {

     this.dato = dato;

   

     this.Siguiente=null;

 

    }

}

class Cola

{

 

    private Nodo inicio;

    private Nodo final;

    public Cola()

    {

        inicio = null;

        final = null;

    }

    public void Encolar(int valor)

    {

        Nodo nuevoNodo = new Nodo(valor);

        if (inicio == null)

        {

            inicio = nuevoNodo;

            final = nuevoNodo;

        }

        else

        {

            final.Siguiente = nuevoNodo;

            final = nuevoNodo;

 

        }

    }

    public int desencolar()

    {

        if (inicio == null)

        {

            Console.WriteLine("la cola esta vacia");

            return -1;

        }

        int aux = inicio.dato;

        inicio = inicio.Siguiente;

 

        if (inicio == null)

        {

            final = null;

        }

 

        return aux;

    }

    public void mostrar()

    {

        if (inicio == null)

        {

            Console.WriteLine("la cola esta vacia");

            return;

 

        }

 

        Nodo actual = inicio;

        Console.WriteLine("la cola :");

        while (actual != null)

        {

            Console.WriteLine(actual.dato + " ");

            actual = actual.Siguiente;

        }

        Console.WriteLine();

       

 

    }         

 

class Programa

{

    static void Main()

    {

        Cola cola = new Cola();

        cola.Encolar(5);

        cola.Encolar(14);

        cola.Encolar(3);

        cola.Encolar(33);

        cola.Encolar(9);

        cola.Encolar(14);

        cola.Encolar(17);

        cola.Encolar(4);

        cola.mostrar();

        //Console.WriteLine("frente"+cola.)

        Console.WriteLine("desencolar" + cola.desencolar());

        cola.mostrar();

    

    }

}

 

jueves, 26 de marzo de 2026

viernes, 13 de marzo de 2026

C# : ARBOLES BINARIOS

ARBOLES BINARIOS

Los árboles binarios en C# son estructuras de datos jerárquicas donde cada nodo tiene, como máximo, dos hijos: izquierdo y derecho. Son fundamentales para organizar información de forma no secuencial y optimizar procesos de búsqueda y ordenamiento.





CODIGO:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace ConsoleApplication9

{

    using System;

 

    // Clase Nodo del árbol

    public class Nodo

    {

        public int valor;

        public Nodo izquierdo;

 

 

 

        public Nodo derecho;

 

        public Nodo(int valor)

        {

            this.valor = valor;

            izquierdo = null;

            derecho = null;

        }

    }

 

    // Clase principal del Árbol Binario de Búsqueda

    public class ArbolBinarioBusqueda

    {

        private Nodo raiz;

 

        public ArbolBinarioBusqueda()

        {

            raiz = null;

        }

 

        // Insertar un nuevo valor

        public void Insertar(int valor)

        {

            raiz = InsertarRec(raiz, valor);

        }

 

        private Nodo InsertarRec(Nodo raiz, int valor)

        {

            // Si el nodo está vacío, crear nuevo nodo

            if (raiz == null)

            {

                raiz = new Nodo(valor);

                return raiz;

            }

 

            // Ir a la izquierda si el valor es menor

            if (valor < raiz.valor)

                raiz.izquierdo = InsertarRec(raiz.izquierdo, valor);

            // Ir a la derecha si el valor es mayor

            else if (valor > raiz.valor)

                raiz.derecho = InsertarRec(raiz.derecho, valor);

 

            return raiz;

        }

 

        // Buscar un valor en el árbol

        public bool Buscar(int valor)

        {

            return BuscarRec(raiz, valor);

        }

 

        private bool BuscarRec(Nodo raiz, int valor)

        {

            // Árbol vacío o valor encontrado

            if (raiz == null || raiz.valor == valor)

                return raiz != null;

 

            // Buscar en subárbol izquierdo si valor es menor

            if (valor < raiz.valor)

                return BuscarRec(raiz.izquierdo, valor);

 

            // Buscar en subárbol derecho si valor es mayor

            return BuscarRec(raiz.derecho, valor);

        }

 

        // Eliminar un nodo

        public void Eliminar(int valor)

        {

            raiz = EliminarRec(raiz, valor);

        }

 

        private Nodo EliminarRec(Nodo raiz, int valor)

        {

            if (raiz == null) return raiz;

 

            if (valor < raiz.valor)

                raiz.izquierdo = EliminarRec(raiz.izquierdo, valor);

            else if (valor > raiz.valor)

                raiz.derecho = EliminarRec(raiz.derecho, valor);

            else

            {

                // Nodo con un solo hijo o sin hijos

                if (raiz.izquierdo == null)

                    return raiz.derecho;

                else if (raiz.derecho == null)

                    return raiz.izquierdo;

 

                // Nodo con dos hijos: obtener el inorder successor

                raiz.valor = MinimoValor(raiz.derecho);

 

                // Eliminar el inorder successor

                raiz.derecho = EliminarRec(raiz.derecho, raiz.valor);

            }

            return raiz;

        }

 

        private int MinimoValor(Nodo raiz)

        {

            int minimo = raiz.valor;

            while (raiz.izquierdo != null)

            {

                minimo = raiz.izquierdo.valor;

                raiz = raiz.izquierdo;

            }

            return minimo;

        }

 

        // Recorrido Inorden (izquierda-raíz-derecha)

        public void Inorden()

        {

            InordenRec(raiz);

            Console.WriteLine();

        }

 

        private void InordenRec(Nodo raiz)

        {

            if (raiz != null)

            {

                InordenRec(raiz.izquierdo);

                Console.Write(raiz.valor + " ");

                InordenRec(raiz.derecho);

            }

        }

 

        // Recorrido Preorden (raíz-izquierda-derecha)

        public void Preorden()

        {

            PreordenRec(raiz);

            Console.WriteLine();

        }

 

        private void PreordenRec(Nodo raiz)

        {

            if (raiz != null)  

            {

                Console.Write(raiz.valor + " ");

                PreordenRec(raiz.izquierdo);

                PreordenRec(raiz.derecho);

            }

        }

 

        // Recorrido Postorden (izquierda-derecha-raíz)

        public void Postorden()

        {

            PostordenRec(raiz);

            Console.WriteLine();

        }

 

        private void PostordenRec(Nodo raiz)

        {

            if (raiz != null)

            {

                PostordenRec(raiz.izquierdo);

                PostordenRec(raiz.derecho);

                Console.Write(raiz.valor + " ");

            }

        }

 

        // Altura del árbol

        public int Altura()

        {

            return AlturaRec(raiz);

        }

 

        private int AlturaRec(Nodo raiz)

        {

            if (raiz == null)

                return -1;

            return 1 + Math.Max(AlturaRec(raiz.izquierdo), AlturaRec(raiz.derecho));

        }

 

        // Verificar si el árbol está vacío

        public bool EstaVacio()

        {

            return raiz == null;

        }

    }

 

    // Programa principal para probar el árbol

    class Program

    {

        static void Main(string[] args)

        {

            ArbolBinarioBusqueda arbol = new ArbolBinarioBusqueda();

 

            // Insertar valores

            int[] valores = { 50, 30, 70, 20, 40, 60, 80 };

            Console.WriteLine("Insertando valores: ");

            foreach (int val in valores)

            {

                arbol.Insertar(val);

                Console.Write(val + " ");

            }

            Console.WriteLine("\n");

 

            // Recorridos

            Console.WriteLine("=== RECORRIDOS ===");

            Console.Write("Inorden:  "); arbol.Inorden();

            Console.Write("Preorden: "); arbol.Preorden();

            Console.Write("Postorden:"); arbol.Postorden();

 

            // Búsquedas

            Console.WriteLine("\n=== BÚSQUEDAS ===");

            Console.WriteLine("Buscar 40: " + (arbol.Buscar(40) ? "ENCONTRADO" : "NO ENCONTRADO"));

            Console.WriteLine("Buscar 90: " + (arbol.Buscar(90) ? "ENCONTRADO" : "NO ENCONTRADO"));

 

            // Altura

            Console.WriteLine("\nAltura del árbol: " + arbol.Altura());

 

            // Eliminar nodo

            Console.WriteLine("\nEliminando nodo 20...");

            arbol.Eliminar(20);

            Console.Write("Nuevo Inorden: "); arbol.Inorden();

            Console.ReadKey(); // Pausa para ver resultados;

        }

      

    }

 

}

lunes, 2 de marzo de 2026

JAVA: FUNCIONES

 FUNCIONES

Las funciones en Java, conocidas técnicamente como métodos, son bloques de código reutilizables que realizan una tarea específica. Se definen dentro de una clase, pueden recibir parámetros (entradas), ejecutar instrucciones y opcionalmente retornar un valor usando la palabra clave 

 Sintaxis

tipoDeRetorno nombreMetodo(tipo param1, tipo param2) {

// código a ejecutar

return valor;  // opcional}

ejemplos:

1)saludar:

public class Ejemplo1 {

    static void saludar() {

        System.out.println("¡Hola, mundo!");

    }

    public static void main(String[] args) {

        saludar();  // Imprime: ¡Hola, mundo!

    }

}

2)suma de dos números

public class Ejemplo2 {

    static int sumar(int a, int b) {

        return a + b;

    }

    public static void main(String[] args) {

        int resultado = sumar(5, 3);  // resultado = 8

        System.out.println(resultado);

    }

}

void es una palabra clave en Java que indica que un método no devuelve ningún valor al terminar; solo ejecuta acciones como imprimir o modificar datos. return, por su parte, se usa en métodos no-void para devolver un valor específico al código que lo llamó, o en métodos void solo para salir prematuramente sin valor.

Ejemplos:

Ejemplo de función void:

public class EjemploVoid {

    static void saludar(String nombre) {

        System.out.println("Hola, " + nombre + "!");

        // No retorna nada

    }

    public static void main(String[] args) {

        saludar("Juan");  // Imprime: Hola, Juan!

    }

}

Ejemplo de return:

public class EjemploReturn {

    static int sumar(int a, int b) {

        return a + b;  // Devuelve la suma

    }

    public static void main(String[] args) {

        int resultado = sumar(5, 3);  // resultado = 8

        System.out.println(resultado);

    }

}