2
Materia: LAB - 121
Docente: Lic. Marcelo Aruquipa
Paralelo: E
Carrera: Informática
Fecha: 23/09/2021 U
Nombre: Gilmer Israel Ucharico Pérez CI: 9910079 Firma:
1. Enunciado del ejercicio
Codigo fuente
CODIGO CLASE CLASE FECHA C#
/*
* Created by SharpDevelop.
* User: Gilmer Israel Ucharico Perez
* Date: 21/9/2021
* Time: 20:30
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace polimorfismo
{
/// <summary>
/// Description of Date.
/// </summary>
public class fecha
{ private int dia;
private int mes;
private int anio;
public static Fecha operator ++(Fecha F)
{
DateTime date = new DateTime([Link](), [Link](), [Link]());
// agregar un día a la
fecha date =
[Link](1);
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
return F;
}
public static Fecha operator --(Fecha F)
{
DateTime date = new DateTime([Link](), [Link](), [Link]());
// restar un día a la fecha
date = [Link](-1);
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
return F;
}
public static bool operator ==(Fecha Fe1, Fecha Fe2)
{
return ([Link]() == [Link]()) && ([Link]() == [Link]()) &&
([Link]() == [Link]());
}
public static bool operator !=(Fecha Fe1, Fecha Fe2)
{
return !(Fe1 == F}Fe2);
}
public static bool operator >(Fecha Fe1, Fecha Fe2)
{
DateTime Da1 = new DateTime([Link](), [Link](),
[Link]()); DateTime Da2 = new DateTime([Link](),
[Link](), [Link]()); int res = [Link](Da1, Da2);
return (result > 0);
}
public static bool operator <(Fecha Fe1, Fecha Fe2)
{
return !(Fe1 > Fe2);
}
public Fecha()
{DateTime localDate = [Link]; [Link] = [Link];
[Link] = [Link];
[Link] = [Link];
}
public Fecha(int dia, int mes, int anio)
{
[Link] = dia;
[Link] = mes;
[Link] = anio;
}
public void mostrar()
{ // Mostrar en DD/MM/YYYY
[Link](dia + "/" + mes + "/" + anio);
[Link]();
}
public int getDia()
{
return dia;
}
public void setDia(int dia)
{
[Link] = dia;
}
public int getMes()
{
return mes;
}
public void setMes(int mes)
{
[Link] = mes;
}
public int getAnio()
{
return anio;
}
public void setAnio(int anio)
{
[Link] = anio;
}
}
}
a)
// Escrito de Fechas
[Link]("FECHA
");
[Link]("=====\
n");
// Escrito por defecto hoy (Escrito en primera forma, por defecto fecha actual)
Fecha hoy = new Fecha();
[Link]();
// Escrito por fecha específica (Escrito en segunda forma
forma) Fecha myBirth = new Fecha(14, 4, 2003);
[Link]();
b)
// b) mostrar esta en DD/MM/YYYY
[Link]();
c)
// c) aumentar en un día
[Link]("++ para aumentar un
día: ");
++myBirth;
[Link]
r();
d)
// d) disminuir en un día
--hoy;
[Link]
r();
e)
// e) sobrecarga del operador == para comparar son iguales dos
fechas Fecha D1 = new Fecha();
Fecha D2 = new Fecha();
if(D1 == D2) {
[Link]("Las fechas son iguales");
} else {
[Link]("Las fechas no son iguales");
}
[Link]();
f)
// f) sobrecarga del operador > maryor que
if(hoy >
myBirth)
{ [Link]
ar();
[Link]("Es mayor
a:"); [Link]();
} else {
[Link]();
[Link]("No es mayor
a:"); [Link]();
}
[Link]();
Captura de pantalla de la ejecución
2. Enunciado del ejercicio
Codigo fuente
CODIGO CLASE
/*
* Created by SharpDevelop.
* User: Gilmer Israel Ucharico Pérez
* Date: 22/9/2021
* Time: 22:10
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace polimorfismo
{
/// <summary>
/// Description of Guarderia.
/// </summary>
public class Guarderia
{ private string nombre;
private string direccion;
private int telefono;
private int nroNineras;
private string[,] ninera = new string[50,4];
public Guarderia()
{ // constructor con datos por defecto
nombre = "Guarderia Rayitos de Sol";
direccion = "San Francisco #4301";
telefono = 12345678;
nroNineras = 5;
// Nombre Paciencia(1-10) Salario
ninera[0,0] = "Sol"; ninera[0,1] = "5"; ninera[0,2] = "2100";
ninera[1,0] = "Maciel"; ninera[1,1] = "7"; ninera[1,2] = "2600";
ninera[2,0] = "Belen"; ninera[2,1] = "8"; ninera[2,2] = "2300";
ninera[3,0] = "Juana"; ninera[3,1] = "8"; ninera[3,2] = "2300";
}
public Guarderia(string nombre, string direccion, int telefono)
{
[Link] = nombre;
[Link] = direccion;
[Link] = telefono;
[Link] = 0;
}
public void agregarNinera(string nombre, int paciencia, int salario) {
ninera[nroNineras,0] = nombre;
ninera[nroNineras,1] = [Link](paciencia);
ninera[nroNineras,2] = [Link](salario);
nroNineras++;
}
public void mostrar()
{
[Link]("\nDatos de la Guarderia");
[Link]("nombre: " + nombre);
[Link]("dirección: " + direccion);
[Link]("telefono: " + telefono);
[Link]("nro de niñeras: " + nroNineras);
[Link]("\nnombre \t paciencia \t salario");
[Link]("======================================");
for (int i = 0; i < nroNineras; i++) {
[Link](ninera[i,0] + "\t " + ninera[i,1] + "\t " + ninera[i,2]);
}
}
public void mostrar(int ninera)
{
mostrar();
}
public void mostrar(bool datos)
{
[Link]("\nDatos de la Guarderia");
[Link]("nombre: " + nombre);
[Link]("dirección: " + direccion);
[Link]("telefono: " + telefono);
[Link]("nro de niñeras: " + nroNineras);
}
public static Guarderia operator ++(Guarderia g)
{
[Link]("Ingresa el nombre:");
[Link]([Link]());
[Link]("Ingresa el direccion:");
[Link]([Link]());
[Link]("Ingresa el telefono:");
[Link]([Link]([Link]()));
//[Link]("Ingresa el nro niñeras:");
//[Link]([Link]([Link]()));
return g;
}
public static Guarderia operator +(Guarderia g, int y)
{
for (int i = 0; i < [Link](); i++) {
int d = [Link]([Link]()[i, 2]);
d = d + (d/100)*y;
[Link]()[i, 2] = [Link](d);
}
return g;
}
public static Guarderia operator --(Guarderia g)
{
for (int i = 0; i < [Link](); i++) {
string d = [Link]()[i, 0];
if(d == [Link](d)) {
[Link]("Niñera: " + d);
}
}
return g;
}
public static Guarderia operator *(Guarderia g1, Guarderia g2)
{ int d1 = 0;
for (int i = 0; i < [Link](); i++) {
int s = [Link]([Link]()[i, 1]);
d1 = d1 + d;
}
int d2 = 0;
for (int i = 0; i < [Link](); i++) {
int d = [Link]([Link]()[i, 1]);
d2 = d2 + d;
}
if (d1 > d2)
return g1;
else
return g2;
}
public static Guarderia operator %(Guarderia g, int t)
{
[Link](t);
return g;
}
public static string invertir(string s)
{
char[] charArray = [Link]();
[Link](charArray);
return new string(charArray);
}
public int getTelefono()
{
return telefono;
}
public void setTelefono(int telefono)
{
[Link] = telefono;
}
public int getNroNineras()
{
return nroNineras;
}
public void setNroNineras(int nroNineras)
{
[Link] = nroNineras;
}
public string getNombre()
{
return nombre;
}
public void setNombre(string nombre)
{
[Link] = nombre;
}
public string getDireccion()
{
return direccion;
}
public void setDireccion(string direccion)
{
[Link] = direccion;
}
public string[,] getNinera()
{
return ninera;
}
public void setBus(string[,] ninera)
{
[Link] = ninera;
}
}
}
a)
// a) instancia de 2 guarderias
Guarderia g1 = new Guarderia();
[Link]();
Guarderia g2 = new Guarderia("pasitos", "Armentia #43", 7654321);
[Link]("Nicol", 6, 1500);
[Link]("Alejandra", 5, 1500);
[Link]("Rafaela", 8, 1500);
b)
// b) sobrecarga de ++ para leer datos
++g2;
c)
// c) 3 sobrecragas del metodo mostrar ()
[Link](); // sin parametros
[Link](1); // con parametro entero
[Link](true); // con parametro booleano
d)
// d) sobrecarga de + para aumentar el salario en %
g2 = g2 + 10; // 10% de incremento al salario
[Link]();
e)
// e) sobrecarga de -- para mostrar los nombres de niñeras palindromos
--g1;
f)
// f) sobrecarga de * para mostrar cual es la guarderia con más paciencia
Guarderia gp = g1 * g2;
[Link]();
g)
// g) cambiar el telefono de una guarderia con la sobrecarga de %
g2 = g2 % 1234567;
[Link]();