miércoles, 21 de septiembre de 2022

Componentes y pilares de la Programación Orientada a Objetos

Herencia: Es el mecanismo por el cual una clase permite heredar las características (atributos y métodos) de otra clase. La herencia permite que se puedan definir nuevas clases basadas de unas ya existentes a fin de reutilizar el código, generando así una jerarquía de clases dentro de una aplicación.

Polimorfismo: es la capacidad que tienen ciertos lenguajes para hacer que, al enviar el mismo mensaje (o, en otras palabras, invocar al mismo método) desde distintos objetos, cada uno de esos objetos pueda responder a ese mensaje (o a esa invocación) de forma distinta.

En la programación orientada a objetos (POO), se tienen principios fundamentales que consolidan la simplicidad de código y su reutilización, la importancia de comprender y dominar estas características es que nos permite crear aplicaciones de un nivel óptimo de calidad y facilitar su manejo, de manera que, se pueda administrar su complejidad y se facilite su actualización constante.

Tabla comparativa relaciones UML


 

Diferencias entre objeto, clase y método

Diferencia entre: objeto, clase y método:

 

Clase:

Una clase es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto de variables y métodos apropiados para operar con dichos datos.

 

Método:

Un método es una abstracción de una operación que puede hacer o realizarse con un objeto. Una clase puede declarar cualquier número de métodos que lleven a cabo operaciones de lo más variado con los objetos.

 

Objeto:

Un objeto es un ente que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución.


Código de ejemplo:

public class Mamiferos

{

    string atributo1 = "Soy vertebrado";

    string atributo2 = "Soy de sangre caliente";

    string atributo3 = "Cuido de mis crias";

    string atributo4 = "Produzco leche para alimentar a mis crias";

    public string Atributo1 { get => atributo1; set => atributo1 = value; }

    public string Atributo2 { get => atributo2; set => atributo2 = value; }

    public string Atributo3 { get => atributo3; set => atributo3 = value; }

    public string Atributo4 { get => atributo4; set => atributo4 = value; }

    public virtual string Respirar()

    {

        return "Estoy respirando";

    }

    public virtual string Comer()

    {

        return "Voy a comer";

    }

    public virtual string Dormir()

    {

        return "Voy a dormir";

    }

}

internal class Humano : Mamiferos

{

    public string Caminar()

    {

        return "Puedo caminar";

    }

}

internal class Gorila : Mamiferos

{

    public string Trepar()

    {

        return "Puedo trepar";

    }

}

public class Caballo : Mamiferos

    public string Galopar()

    {

        return "Puedo galopar";

    }

}

class Program

{

    static void Main()

    {

        Humano H1 = new Humano();

        Console.WriteLine("Soy un humano y estos son mis atributos");

        Console.WriteLine(H1.Atributo1);

        Console.WriteLine(H1.Atributo2);

        Console.WriteLine(H1.Atributo3);

        Console.WriteLine(H1.Atributo4);

        Console.WriteLine("Y estos son mis métodos");

        Console.WriteLine(H1.Respirar());

        Console.WriteLine(H1.Comer());

        Console.WriteLine(H1.Dormir());

        Console.WriteLine(H1.Caminar());

        Console.WriteLine(" ");


        Gorila G1 = new Gorila();

        Console.WriteLine("Soy un gorila y estos son mis atributos");

        Console.WriteLine(G1.Atributo1);

        Console.WriteLine(G1.Atributo2);

        Console.WriteLine(G1.Atributo3);

        Console.WriteLine(G1.Atributo4);

        Console.WriteLine("Y estos son mis métodos");

        Console.WriteLine(G1.Respirar());

        Console.WriteLine(G1.Comer());

        Console.WriteLine(G1.Dormir());

        Console.WriteLine(G1.Trepar());

        Console.WriteLine(" ");


        Caballo C1 = new Caballo();

        Console.WriteLine("Soy un caballo y estos son mis atributos");

        Console.WriteLine(C1.Atributo1);

        Console.WriteLine(C1.Atributo2);

        Console.WriteLine(C1.Atributo3);

        Console.WriteLine(C1.Atributo4);

        Console.WriteLine("Y estos son mis métodos");

        Console.WriteLine(C1.Respirar());

        Console.WriteLine(C1.Comer());

        Console.WriteLine(C1.Dormir());

        Console.WriteLine(C1.Galopar());


        Console.ReadKey();

    }

}

jueves, 15 de septiembre de 2022

Solución sistema ecuaciones método de Gauss-Jordan


La diferencia entre los métodos de Gauss y de Gauss-Jordan es que el primero finaliza al obtener un sistema equivalente en forma escalonada, mientras que el segundo finaliza al obtener un sistema equivalente en forma escalonada reducida. 

La ventaja de aplicar el método de Gauss-Jordan, es la de proporcionar un método directo para obtener la matriz inversa.

domingo, 4 de septiembre de 2022

Mapa conceptual - Álgebra lineal Unidad#1


 

Matrices especiales

Matriz Identidad:

La Matriz Identidad es una matriz cuadrada tal que cada uno de sus elementos es igual a cero, salvo los elementos de su diagonal que son todos iguales a uno, se denota con \mathbf{I}_{n}. Formalmente decimos que [\mathbf{I}_{n}]_{ij} = 1 para todo i=j y [\mathbf{I}_{n}]_{ij} = 0 para todo i \neq j.

Las siguientes matrices son matrices identidad del tamaño correspondiente:



Matriz Diagonal:

Una matriz cuadrada es Matriz Diagonal si cada uno de sus elementos fuera de la diagonal es igual a cero, en ocasiones se denotan con \mathbf{D}. Formalmente decimos que [D]_{ij} = 0 para todo i \neq j.

Las siguientes matrices son matrices diagonales del tamaño correspondiente:



Matriz Triangular Superior:

Una matriz cuadrada es una Matriz Triangular Superior si todos los elementos que están por debajo de la diagonal, son iguales a cero, en ocasiones se denotan con \mathbf{T_S}. Formalmente decimos que [\mathbf{T_S}]_{ij} = 0 si i > j.

Las siguientes matrices son matrices triangulares superiores del tamaño correspondiente:



Matriz Triangular inferior:

Una matriz cuadrada es una Matriz Triangular Inferior si todos los elementos que están por encima de la diagonal, son iguales a cero, en ocasiones se denotan con \mathbf{T_I}. Formalmente decimos que [\mathbf{T_I}]_{ij} = 0 si i < j.

Las siguientes matrices son matrices triangulares inferiores del tamaño correspondiente:



Matriz transpuesta:

La matriz transpuesta de una matriz A de dimensión mxn es una matriz de dimensión nxm que tiene por columnas a las filas de A, se denota como AT o si la matriz es real

La siguiente matriz es una matriz transpuesta:



Matriz simétrica:

Una matriz es simétrica si es igual a su transpuesta, es decir A = AT, Como consecuencia de la definición la matriz A debe ser cuadrada.

La siguiente matriz es una matriz simétrica:



Matriz aumentada:

La matriz aumentada o matriz ampliada se forma al añadir una matriz cuadrada a otra matriz. La matriz aumentada se emplea para encontrar la matriz inversa o en la solución de sistemas de ecuaciones lineales.

La siguiente matriz es una matriz aumentada a partir de la matriz A aumentada con la matiz B:



I

Mapa mental-informe final de auditoría

¿Si generas un informe final de auditoría lleno de errores o incongruencias que esperas formalizarlo sin la debida discusión con los auditad...