54 Etapa2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Etapa 3 Jerarquía de clases y métodos

Cristian Andrés Hincapié Gil

Tutor
Ermes Guarnizo Motta

UNAD
213023A_1701
PROGRAMACION
04/17/2024

1
Link diagrama: https://lucid.app/lucidchart/ed40e3f5-30ba-4047-81f2-
b2fb2ee0103c/edit?viewport_loc=211%2C40%2C2219%2C1041%2CHWEp-
vi-RSFO&invitationId=inv_ef04ddc3-6048-44a3-843e-a328e4dfd9fa

2
Código
// Autor: Cristian Andrés Hincapié Gil
namespace Actividad3
{
internal class CongruenciaZeller
{
private int x;
private int y;
private int z;

public int CalcularDiaSemana(Fecha fecha)


{
ObtenerXYZ(fecha.Año, fecha.Mes);
int diaSemana = (700 + (26 * x - 2) / 10 + fecha.Dia + y + y / 4 + z / 4 - 2 * z) % 7;
return diaSemana;
}

private void ObtenerXYZ(int año, int mes)


{
if (mes <= 2)
{
x = mes + 10;
y = (año - 1) % 100;
z = (año - 1) / 100;
}
else
{
x = mes - 2;
y = año % 100;
z = año / 100;
}
}
}

// Autor: Cristian Andrés Hincapié Gil


namespace Actividad3
{
internal class Fecha
{
private int dia;
private int mes;
private int año;

public Fecha(int dia, int mes, int año)


{
if (ValidarFecha(dia, mes, año))
{
this.dia = dia;
this.mes = mes;
this.año = año;
}
else { throw new ArgumentException("Fecha inv{alida"); }

3
public int Dia
{
get { return dia; }
}

public int Mes


{
get { return mes; }
}

public int Año


{
get { return año; }
}

private bool ValidarFecha(int dia, int mes, int año)


{

if (dia < 1 || dia > 31)


{
return false;
}

if (mes < 1 || mes > 12)


{
return false;
}

if (año < 1000 || año > 2100)


{
return false;
}

if (mes == 2)
{
if (año % 4 == 0 && (año % 100 != 0 || año % 400 == 0)) // Año bisiesto
{
if (dia > 29)
{
return false;
}
}
else // No es año bisiesto
{
if (dia > 28)
{
return false;
}
}
}

if (mes == 4 || mes == 6 || mes == 9 || mes == 11)


{
if (dia > 30)
4
{
return false;
}
}

return true;
}
}
}

// Autor: Cristian Andrés Hincapié Gil


namespace Actividad3
{
internal class Program
{
static void Main(string[] args)
{
string[] diasSemana = { "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado" };
Console.Write("Ingrese el día: ");
int dia = int.Parse(Console.ReadLine());

Console.Write("Ingrese el mes (1-12): ");


int mes = int.Parse(Console.ReadLine());

Console.Write("Ingrese el año: ");


int año = int.Parse(Console.ReadLine());

Fecha fecha = new Fecha(dia, mes, año);


CongruenciaZeller congruenciaZeller = new CongruenciaZeller();
int diaSemana = congruenciaZeller.CalcularDiaSemana(fecha);
string diaCalculado = diasSemana[diaSemana];
Console.WriteLine("El día de la semana es: " + diaCalculado);

}
}

Bibliografía
5
Pérez Menor, J. M., Carretero Pérez, J., García Carballeira, F., & Pérez Lobato, J. M. (2003).
Programación orientada a objetos. In Problemas resueltos de programación en lenguaje Java
(pp. [79]-114). Madrid, Spain: Paraninfo.
https://link-gale-com.bibliotecavirtual.unad.edu.co/apps/doc/CX2136500009/GVRL?
u=unad&sid=GVRL&xid=5f45ff54

Cachero Castro, C., Ponce de León Amador, P. J., & Saquete Boró, E. (2006). Introducción a la
programación orientada a objetos. Digitalia. (pp. [91]-130)
https://bibliotecavirtual.unad.edu.co/login?url=http://search.ebscohost.com/login.aspx?
direct=true&db=nlebk&AN=318161&lang=es&site=eds-
live&scope=site&ebv=EB&ppid=pp_91

Pérez Menor, J. M., Carretero Pérez, J., García Carballeira, F., & Pérez Lobato, J. M. (2003).
Herencia y polimorfifismo. In Problemas resueltos de programación en lenguaje Java (pp.
[283]-303). Madrid, Spain: Paraninfo.
https://link-gale-com.bibliotecavirtual.unad.edu.co/apps/doc/CX2136500015/GVRL?
u=unad&sid=GVRL&xid=f6553daa

Olaya, A. (2018). Lógica de programación - Jerarquía de clases.


[Objeto_virtual_de_Informacion_OVI]. Repositorio Institucional UNAD.
https://repository.unad.edu.co/handle/10596/22513

Lizcano, F. (2019). Concepto de Herencia. [Objeto_virtual_de_Informacion_OVI]. Repositorio


Institucional UNAD. https://repository.unad.edu.co/handle/10596/23547

Lizcano, F. (2022). Definición de clases. [Objeto_virtual_de_Informacion_OVI]. Repositorio


Institucional UNAD. https://repository.unad.edu.co/handle/10596/53672

También podría gustarte