jueves, 23 de abril de 2009

Practica 13


Class Program:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Herencia
{

class Program
{
static void Main(string[] args)
{
classBase CB = new classBase();
classDerivada CD = new classDerivada();

Console.Write("Ingresa el valor de a: ");
CD.a = int.Parse(Console.ReadLine());
Console.Write("Ingresa el valor de b: ");
CD.b = int.Parse(Console.ReadLine());
Console.Write("Ingresa el valor de c: ");
CD.c = int.Parse(Console.ReadLine());

CD.ImprimirSuma();
CD.Imprimir_Producto();

Console.WriteLine("El dato mayor es: {0}",CD.Mayor());
Console.WriteLine("El dato menor es: {0}", CD.Menor());
CD.Imprimir_Intervalo();
Console.ReadKey();
}
}
}


ClassBase:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Herencia
{
public class classBase
{

public int a;
public int b;

public void Imprimir_ab()
{
Console.WriteLine("a={0}, b={1}", a, b);

}

}
}

ClassDerivada:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Herencia
{
public class classDerivada:classBase
{
public int c;

public void Imprimir_c()
{
Console.WriteLine("c= {0}", c);
}

public void ImprimirSuma()
{
Console.WriteLine("\nLa Suma de {0}+{1}+{2} es: {3}",a,b,c, (a + b + c));
}

public void Imprimir_Producto()
{
Console.WriteLine("El Producto de {0}*{1}*{2} es: {3}",a,b,c, (a * b * c));
}

public int Mayor()
{
if (a > b && a > c)
{


return a;

}
else if (b > a && b > c)
{


return b;

}
else if (c > a && c > b)
{


return c;

}
else
{

return a;
}


}

public int Menor()
{
if (a < b && a < c)
{

return a;
}
else if (b < a && b < c)
{

return b;
}
else if (c < a && c < b)
{

return c;
}
else
return a;
}

public void Imprimir_Intervalo()
{
Console.WriteLine("La diferencia entre {0} y {1} es: {2}",Mayor(),Menor(),(Mayor()-Menor()));
}
}
}

lunes, 20 de abril de 2009

Practica 12

Capturas:




Codigo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica12
{
class Racional
{
int numerador;
int denominador;
public static int i;

public Racional()
{
numerador = 1;
denominador = 1;
i = 0;
}

public Racional(int num, int den)
{
numerador = num;
denominador = den;
}

public void asignarNumerador(int Num)
{
numerador = Num;
}
public int obtenerNumerador ()
{
return numerador;
}

public void asignarDenominador (int Den)
{
denominador=Den;
}

public int obtenrDenominador()
{
return denominador;
}

public int Numerador
{
get { return numerador; }
set { numerador = value; }
}
public int Denominador
{
get { return denominador; }
set {denominador=value;}
}

public static Racional operator + (Racional R1, Racional R2)
{
int D1=R1.Denominador*R2.Denominador;
int N1=R2.Denominador*R1.Numerador +R1.Denominador*R2.Numerador;

for (i = 2; i < 20; i++)
{


while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i;
}
}
Racional RT=new Racional (N1,D1);
return RT;
}

public static Racional operator -(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Denominador;
int N1 = R2.Denominador * R1.Numerador - R1.Denominador * R2.Numerador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

public static Racional operator *(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Denominador;
int N1 = R1.Numerador * R2.Numerador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 /i;
N1 = N1 / i;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

public static Racional operator /(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Numerador;
int N1 = R1.Numerador * R2.Denominador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i ;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

}
class Program
{
static void Main(string[] args)
{

int num1,num2,den1,den2;

Console.Write("Introduce el numerador de la Fraccion 1:\t");
num1 = int.Parse(Console.ReadLine());
Console.Write("Introduce el denominador de la Fraccion 1:\t");
den1 = int.Parse(Console.ReadLine());

Console.Write("\nIntroduce el numerador de la Fraccion 2:\t");
num2 = int.Parse(Console.ReadLine());
Console.Write("Introduce el denominador de la Fraccion 2:\t");
den2 = int.Parse(Console.ReadLine());

Racional Numero1 = new Racional(num1, den1);
Racional Numero2 = new Racional(num2, den2);
Racional Suma,Resta,Multiplicacion,Division;

Console.WriteLine("\nLa Fraccion 1 es: {0}/{1}", Numero1.Numerador, Numero1.Denominador);
Console.WriteLine("La Fraccion 2 es: {0}/{1}", Numero2.Numerador, Numero2.Denominador);

Suma= Numero1+Numero2;
Resta = Numero1 - Numero2;
Multiplicacion = Numero1 * Numero2;
Division = Numero1 / Numero2;

if (Suma.Denominador == 1 )
{
Console.WriteLine("\n\nLa Suma de las Fracciones es: {0}", Suma.Numerador / Suma.Denominador);

}
else
{
Console.WriteLine("\n\nLa Suma de las Fracciones es: {0}/{1}", Suma.Numerador, Suma.Denominador);
}


if (Resta.Denominador == 1)
{
Console.WriteLine("\nLa Resta de las Fracciones es: {0}", Resta.Numerador / Resta.Denominador);
}
else
{
Console.WriteLine("\nLa Resta de las Fracciones es: {0}/{1}", Resta.Numerador, Resta.Denominador);
}


if (Multiplicacion.Denominador == 1)
{
Console.WriteLine("\nLa Multiplicacion de las Fracciones es: {0}", Multiplicacion.Numerador / Multiplicacion.Denominador);
}
else
{
Console.WriteLine("\nLa Multiplicacion de las Fracciones es: {0}/{1}", Multiplicacion.Numerador, Multiplicacion.Denominador);
}


if (Division.Denominador == 1)
{
Console.WriteLine("\nLa Division de las Fracciones es: {0}", Division.Numerador / Division.Denominador);
}
else
{
Console.WriteLine("\nLa Division de las Fracciones es: {0}/{1}", Division.Numerador, Division.Denominador);
}

Console.ReadKey();
}
}
}







Practica Teorica

1.- ¿Que es la Herencia?


Es una propiedad que permite que los objetos sean creados a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes. Es un mecanismo que nos permite crear clases derivadas a partir de clase base, Nos permite compartir automáticamente métodos y datos entre clases subclases y objetos.
La herencia es uno de los mecanismos de la
programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces superclase, de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.


2.- De un ejemplo de Herencia.

Las clases pueden heredar de otra clase. Para conseguir esto, se coloca un signo de dos puntos después del nombre de la clase al declarar la clase y se denomina la clase de la cual se hereda (la clase base) después del signo de dos puntos, del modo siguiente:

public class A
{
public A() { }
}

public class B : A
{
public B() { }
}



3.- ¿Como se clasifica la herencia? Y mencione un ejemplo.

  • Herencia simple: Un objeto puede extender las características de otro objeto y de ningún otro, es decir, que solo puede heredar o tomar atributos de un solo padre o de una sola clase.


  • Herencia múltiple: Un objeto puede extender las características de uno o más objetos, es decir, puede tener varios padres. En este aspecto hay discrepancias entre los diseñadores de lenguajes. Algunos de ellos han preferido no admitir la herencia múltiple por las posibles coincidencias en nombres de métodos o datos miembros. Por ejemplo C++, Python permiten herencia múltiple, mientras que Java, Ada y C# sólo permiten herencia simple.


4.- Tipos de Acceso a clases derivadas y clase base

Hay determinadas circunstancias en las que cuando redefinamos un determinado método nos interese poder acceder al código de la versión original. Por ejemplo, porque el código redefinido que vayamos a escribir haga lo mismo que el original y además algunas cosas extras. En estos casos se podría pensar que una forma de conseguir esto sería convirtiendo el objeto actual al tipo del método a redefinir y entonces llamar así a ese método, como por ejemplo en el siguiente código:

using System;

class A

{

public virtual void F()

{

Console.WriteLine(“A”);

}

}

class B:A

{

public override void F()

{

Console.WriteLine(“Antes”);

((A) this).F(); // (2)

Console.WriteLine(“Después”);

}

public static void Main()

{

B b = new B();

b.F();

}

}

Pues bien, si ejecutamos el código anterior veremos que la aplicación nunca termina de ejecutarse y está constantemente mostrando el mensaje Antes por pantalla. Esto se debe a que debido al polimorfismo se ha entrado en un bucle infinito: aunque usemos el operador de conversión para tratar el objeto como si fuese de tipo A, su verdadero tipo sigue siendo B, por lo que la versión de F() a la que se llamará en (2) es a la de B de nuevo, que volverá a llamarse así misma una y otra vez de manera indefinida.

Para solucionar esto, los diseñadores de C# han incluido una palabra reservada llamada base que devuelve una referencia al objeto actual semejante a this pero con la peculiaridad de que los accesos a ella son tratados como si el verdadero tipo fuese el de su clase base. Usando base, podríamos reemplazar el código de la redefinición de F() de ejemplo anterior por:

public override void F()

{

Console.WriteLine(“Antes”);

base.F();

Console.WriteLine(“Después”);

}

Si ahora ejecutamos el programa veremos que ahora sí que la versión de F() en B llama a la versión de F() en A, resultando la siguiente salida por pantalla:

Antes

A

Después

A la hora de redefinir métodos abstractos hay que tener cuidado con una cosa: desde el método redefinidor no es posible usar base para hacer referencia a métodos abstractos de la clase padre, aunque sí para hacer referencia a los no abstractos. Por ejemplo:

abstract class A

{
public abstract void F();

public void G()

{}
}

class B: A

{
public override void F()

{

base.G(); // Correcto

base.F(); // Error, base.F() es abstracto

}
}

miércoles, 1 de abril de 2009

Practica 11









using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica11
{
class Program
{
static void Main(string[] args)
{
Empleado[] Compania = new Empleado[20];
Empleado E1;
int No, HorasT,Opcion,Num2,i,menu;
int[] Numeros = new int[20];
float PagoH;
No = Num2 =i= menu=0;


do
{
Console.Clear();
Console.WriteLine("\t\tM e n u");
Console.WriteLine("\nSelecciona una opcion");
Console.WriteLine("\n1) Introducir un nuevo empleado");
Console.WriteLine("2) Modificar los datos de un empleado");
Console.WriteLine("3) Eliminar un empleado");
Console.WriteLine("4) Desplegar los datos de un empleado");
Console.WriteLine("5) Desplegar toda la informacion de los empleados");
Console.Write("Opcion: ");
Opcion = int.Parse(Console.ReadLine());

switch (Opcion)
{
case 1:
{

Console.Clear();
NumeroEmp:
Console.Write("Introduce el numero de empleado: ");
Numeros[i] = No;
No = int.Parse(Console.ReadLine());
if (No <> 20)
{
Console.WriteLine("Numero incorrecto, debe estar entre 1 a 20");
goto NumeroEmp;
}
for (int j = 0; j < 20; j++)
{
Num2 = Numeros[j];
if (No == Num2)
{
Console.WriteLine("El Numero de Empleado Ya Existe!!, captura otro\n");
goto NumeroEmp;
}
}
Console.Write("Introduce su Pago por hora: ");
PagoH = float.Parse(Console.ReadLine());
Console.Write("Introduce las horas trabajadas: ");
HorasT = int.Parse(Console.ReadLine());
E1 = new Empleado(No, PagoH, HorasT);
Compania[No - 1] = E1;
i++;

Console.WriteLine("\nLos datos de empleado han sido agregados");
Console.WriteLine("\nPresione una tecla para regresar al menu...");
Console.ReadKey();


break;

}
case 2:
{
Console.Clear();
NumeroEmp:
Console.Write("\nIntroduce el No. de empleado a modificar: ");
No = int.Parse(Console.ReadLine());
if (No <> 20)
{
Console.WriteLine("Numero incorrecto, debe estar entre 1 a 20");
goto NumeroEmp;
}


if (Compania[No - 1] != null)
{

Console.Write("\nIntroduce su Pago por hora: ");
PagoH = float.Parse(Console.ReadLine());
Compania[No - 1].AsignarPagoHora(PagoH);
Console.Write("Introduce las horas trabajadas: ");
HorasT = int.Parse(Console.ReadLine());
Compania[No - 1].AsignarHorasTrabajadas(HorasT);
Console.WriteLine("Los Datos de empleado se han modificado correctamente");
Console.WriteLine("\nPresione una tecla para regresar al menu...");
Console.ReadKey();



}
else
{
Console.WriteLine("EL numero de empleado no existe, intente otra ves");
goto NumeroEmp;
}

break;
}

case 3:
{
Console.Clear();
NumeroEmp:
Console.Write("Introduce el No. de Empleado a eliminar: ");
No = int.Parse(Console.ReadLine());
if (No <> 20)
{
Console.WriteLine("Numero incorrecto, debe estar entre 1 a 20");
goto NumeroEmp;
}


if (Compania[No - 1] != null)
{

Compania[No - 1] = null;
Console.Write("El empleado {0} ha sido borrado",No);
Console.WriteLine("\nPresione una tecla para regresar al menu...");
Console.ReadKey();


}
else
{
Console.WriteLine("EL numero de empleado no existe, intente otra ves");
goto NumeroEmp;
}
break;
}

case 4:
{
Console.Clear();
NumeroEmp:
Console.Write("\nIntroduce el No. de Empleado: ");
No = int.Parse(Console.ReadLine());
if (No <> 20)
{
Console.WriteLine("Numero incorrecto, debe estar entre 1 a 20");
goto NumeroEmp;
}


if (Compania[No - 1] != null)
{

Console.WriteLine("\nLos datos del empleado {0} son:", No);
Console.WriteLine("\nPago por Hora "+"Horas Trabajadas\n");
Console.WriteLine(" {0} {1} ",Compania[No-1].ObtenerPagoHora(),Compania[No - 1].ObtenerHorasTrabajadas());

Console.WriteLine("\n\nPresione una tecla para regresar al menu...");
Console.ReadKey();


}
else
{
Console.WriteLine("EL numero de empleado no existe, intente otra ves");
goto NumeroEmp;
}
break;
}

case 5:
{
Console.Clear();
Console.WriteLine("\t*****INFORMACION DE TODOS LOS EMPLEADOS*****");
Console.WriteLine("\n\nNo. Empleado "+" Pago por Hora " + "Horas Trabajadas\n");
for (i = 0; i < 20; i++)
{
if (Compania[i] != null)
{
Console.WriteLine(" {0} {1} {2} ",Compania[i].ObtenerNoEmp(), Compania[i].ObtenerPagoHora(), Compania[i].ObtenerHorasTrabajadas());

}

}
Console.WriteLine("\nPresione una tecla para regresar al menu...");
Console.ReadKey();

break;
}

default:
{
Console.Clear();
Console.WriteLine("Opcion Invalida!!, presiona una tecla para regresar al menu...");
Console.ReadKey();

break;
}

}
}
while (menu==0);


}
}
}
Class Empleado:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica11
{
class Empleado
{
int NoEmp;
float PagoHora;
int HorasTrabajadas;

public Empleado(int Num, float Pago, int Horas)
{
NoEmp = Num;
PagoHora = Pago;
HorasTrabajadas = Horas;
}
public Empleado()
{
NoEmp = 0;
PagoHora = 0.0f;
HorasTrabajadas = 0;
}

public void AsignarNoEmp(int Numero)
{
NoEmp = Numero;
}
public void AsignarPagoHora(float P)
{
PagoHora = P;
}
public void AsignarHorasTrabajadas(int Hr)
{
HorasTrabajadas = Hr;
}


public int ObtenerNoEmp()
{
return NoEmp;
}
public float ObtenerPagoHora()
{
return PagoHora;
}
public int ObtenerHorasTrabajadas()
{
return HorasTrabajadas;
}
~Empleado()
{
}
}
}


Practica 10


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica10_CuentaAhorros
{
class Program
{
static void Main(string[] args)
{
int N, i;
double saldo,interes,tasa;
CuentaAhorros[] Clientes;

Console.Write("Introduce la cantidad de Clientes: ");
N = int.Parse(Console.ReadLine());
Clientes = new CuentaAhorros[N];
CuentaAhorros C1 = new CuentaAhorros();

for (i = 0; i < N; i++)
{
Console.Write("Introduce el saldo del ahorrador {0}: ", i + 1);
saldo = double.Parse(Console.ReadLine());
C1.ultimoInteresMensual();
interes = C1.Interes_Mensual;
C1 = new CuentaAhorros(saldo,interes);
Clientes[i] = C1;
}
for (i = 0; i < N; i++)
{
Clientes[i].ultimoInteresMensual();
Console.WriteLine("El nuevo saldo {0} es: {1}",i+1,Clientes[i].Saldo_ahorro );
}

Console.WriteLine("\nLa tasa interes subio a 4%");
//tasa = double.Parse(Console.ReadLine());
CuentaAhorros.ModificatasaInteres(0.04);

for (i = 0; i < N; i++)
{
Clientes[i].ultimoInteresMensual();
Console.WriteLine("El nuevo saldo {0} es: {1}", i + 1, Clientes[i].Saldo_ahorro);
}
Console.ReadLine();
}
}
}
Class CuentaAhorros:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica10_CuentaAhorros
{
class CuentaAhorros
{
double saldoAhorro,interesMensual;
public static double tasaInteresAnual=0.03;

public CuentaAhorros()
{
saldoAhorro = 0;
interesMensual = 0;
}
public CuentaAhorros(double saldo,double interes)
{
saldoAhorro = saldo;
interesMensual = interes;

}

public static void ModificatasaInteres(double NuevoValor)
{
tasaInteresAnual = NuevoValor;
}

public void ultimoInteresMensual()
{
interesMensual = (saldoAhorro * tasaInteresAnual) / 12;
saldoAhorro = saldoAhorro + interesMensual;
}

public double Saldo_ahorro
{
get { return saldoAhorro; }
set { saldoAhorro = value; }
}
public double Interes_Mensual
{
get { return interesMensual; }


}
}
}

Practica 9


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Practica_Visual_Elevador
{
public partial class Form1 : Form
{
int actualPiso, nuevoPiso,diferencia,i,pisoX,pisoY,menorIn;
double[] diferenciaPiso;
double menor;
Elevador E1,E2,E3;

public Form1()
{
actualPiso = nuevoPiso = diferencia = 0;
pisoX = 3;
pisoY = 8;
diferenciaPiso = new double [3];
E1 = new Elevador();
E2 = new Elevador(pisoX);
E3 = new Elevador(pisoY);
InitializeComponent();
}

private void btAceptar_Click(object sender, EventArgs e)
{
tbpisoActual.Enabled = true;
tbpisoActual.Focus();
tbpisoActual.Clear();


tbpisoNuevo.Clear();

menor = diferenciaPiso[0];
menorIn = 0;
for (i = 1; i < 3; i++)
{
if (diferenciaPiso[i] < menor)
{
menor = diferenciaPiso[i];
menorIn = i;
}
}

switch (menorIn)
{
case 0:
{
if (nuevoPiso > actualPiso)
{
diferencia = nuevoPiso - actualPiso;
lbxDatos.Items.Add("E l e v a d o r 1");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);

for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para arriba, ahora esta en el piso " + E1.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E1.Pisoactual);
}

else
{
diferencia = actualPiso - nuevoPiso;
lbxDatos.Items.Add("E l e v a d o r 1");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);
for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para abajo, ahora esta en el piso " + E1.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E1.Pisoactual);
}
break;
}

case 1:
{
if (nuevoPiso > actualPiso)
{
diferencia = nuevoPiso - actualPiso;
lbxDatos.Items.Add("E l e v a d o r 2");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);

for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para arriba, ahora esta en el piso " + E2.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E2.Pisoactual);
}

else
{
diferencia = actualPiso - nuevoPiso;
lbxDatos.Items.Add("E l e v a d o r 2");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);
for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para abajo, ahora esta en el piso " + E2.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E2.Pisoactual);
}
break;
}

case 2:
{
if (nuevoPiso > actualPiso)
{
diferencia = nuevoPiso - actualPiso;
lbxDatos.Items.Add("E l e v a d o r 3");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);

for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para arriba, ahora esta en el piso " + E3.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E3.Pisoactual);
}

else
{
diferencia = actualPiso - nuevoPiso;
lbxDatos.Items.Add("E l e v a d o r 3");
lbxDatos.Items.Add("");
lbxDatos.Items.Add("Empezando en el piso " + actualPiso);
for (i = 0; i < diferencia; i++)
{
lbxDatos.Items.Add("Va para abajo, ahora esta en el piso " + E3.Solicitud(nuevoPiso));
}
lbxDatos.Items.Add("Se detiene en el piso: " + E3.Pisoactual);
}
break;
}

}
lbE1.Text = "" + E1.Pisoactual;
lbE2.Text = "" + E2.Pisoactual;
lbE3.Text = "" + E3.Pisoactual;
btAceptar.Enabled = false;

}

private void tbpisoActual_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Enter))
{
actualPiso = int.Parse(tbpisoActual.Text);

tbpisoNuevo.Enabled = true;
tbpisoNuevo.Focus();
tbpisoActual.Enabled = false;
diferenciaPiso[0] = Math.Pow((E1.Pisoactual - actualPiso), 2);
diferenciaPiso[1] = Math.Pow((E2.Pisoactual - actualPiso), 2);
diferenciaPiso[2] = Math.Pow((E3.Pisoactual - actualPiso), 2);





}
}

private void Form1_Load(object sender, EventArgs e)
{
lbE1.Text = ""+E1.Pisoactual;
lbE2.Text = "" + E2.Pisoactual;
lbE3.Text = "" + E3.Pisoactual;
tbpisoNuevo.Enabled = false;
btAceptar.Enabled = false;
}

private void tbpisoNuevo_KeyPress(object sender, KeyPressEventArgs e)
{

if (e.KeyChar == Convert.ToChar(Keys.Enter))
{

nuevoPiso = int.Parse(tbpisoNuevo.Text);

if (nuevoPiso <> 15)
{
MessageBox.Show("El piso solicitado no existe");


tbpisoNuevo.Clear();
tbpisoNuevo.Focus();


}
else
{
btAceptar.Enabled = true;
tbpisoNuevo.Enabled = false;
}


}
}
}
}
Class Elevador:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica_Visual_Elevador
{
class Elevador
{
int piso_Act;

public Elevador()
{
piso_Act = 1;
}

public Elevador(int p)
{
piso_Act = p;
}

public int Solicitud(int pisoNuevo)
{
if (pisoNuevo <> 15)
{
return 0 ;
}
else
{
if (pisoNuevo > piso_Act)
{

while (pisoNuevo > piso_Act)
{
piso_Act++;
return piso_Act;
}
return piso_Act;

}
else
{

while (pisoNuevo < piso_Act)
{
piso_Act--;
return piso_Act;
}
return piso_Act;
}
}

}

public int Pisoactual
{
get { return piso_Act; }
}
}
}

Practica 8


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica8_Estudiante
{
class Program
{
static void Main(string[] args)
{
int i, id;
double promedio,calif;
i = id = 0;

Estudiante E1 = new Estudiante();
Estudiante E2 = new Estudiante();
Estudiante E3 = new Estudiante();

Console.WriteLine("\n***** E s t u d i a n t e 1 *****\n");
Console.Write("Introduce la identificacion del estudiante: ");
id = int.Parse(Console.ReadLine());
E1.asignarId(id);
for (i = 0; i < 5; i++)
{
Console.Write("\nIntroduce su calificacion {0}: ", i+1);
calif = double.Parse(Console.ReadLine());
E1.asignarCal(i, calif);
Console.WriteLine("{0} Calificaciones introducidas",E1.obtenrTotalCal() );
}
promedio = E1.Promedio();
Console.WriteLine("\nIdentificacion: {0}\tPromedio: {1}",E1.obtenerId(), promedio);


Console.WriteLine("\n***** E s t u d i a n t e 2 *****\n");
Console.Write("Introduce la identificacion del estudiante: ");
id = int.Parse(Console.ReadLine());
E2.asignarId(id);
for (i = 0; i < 5; i++)
{
Console.Write("\nIntroduce su calificacion {0}: ", i + 1);
calif = double.Parse(Console.ReadLine());
E2.asignarCal(i, calif);
Console.WriteLine("{0} Calificaciones introducidas", E2.obtenrTotalCal());
}
promedio = E2.Promedio();
Console.WriteLine("\nIdentificacion: {0}\tPromedio: {1}", E2.obtenerId(), promedio);

Console.WriteLine("\n***** E s t u d i a n t e 3 *****\n");
Console.Write("Introduce la identificacion del estudiante: ");
id = int.Parse(Console.ReadLine());
E3.asignarId(id);
for (i = 0; i < 5; i++)
{
Console.Write("\nIntroduce su calificacion {0}: ", i + 1);
calif = double.Parse(Console.ReadLine());
E3.asignarCal(i, calif);
Console.WriteLine("{0} Calificaciones introducidas", E3.obtenrTotalCal());
}
promedio = E3.Promedio();
Console.WriteLine("\nIdentificacion: {0}\tPromedio: {1}", E3.obtenerId(), promedio);

Console.ReadLine();
}
}
}

Class Estudiante:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica8_Estudiante
{
class Estudiante
{
int identificacion,i;
double[] calificaciones;
int total_Cal;
double suma,prom;

public Estudiante()
{
identificacion = 0;
calificaciones = new double[5];
total_Cal = 0;
}

public void asignarId(int dato)
{
identificacion = dato;
}
public void asignarCal(int indice,double cal)
{
calificaciones[indice] = cal;
total_Cal++;
}

public double Promedio()
{
for (i = 0; i < 5; i++)
{
suma = calificaciones[i] + suma;
}
return suma / 5;
}



public int obtenerId()
{
return identificacion;
}

public int obtenrTotalCal()
{
return total_Cal;
}
}
}

Practica 7


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica_Empresa
{
class Program
{
static void Main(string[] args)
{
Empleado[] Empresa;
int[] numeros;
int N;
int i,j;
Console.Write("Introduce Cantidad de Empleados de la Empresa: ");
N = int.Parse(Console.ReadLine());
Empresa = new Empleado[N];
numeros = new int[N];

Empleado E1;
int No, Ci, Numero2=0;
No = Ci = Numero2 = 0;
string Nom;

for ( i = 0; i < N; i++)
{
Console.Write("\nIngresa Nombre del Empleado: ");
Nom = Console.ReadLine();

NumeroEmpleado:
Console.Write("Ingresa Numero de Empleado: ");
numeros[i] = No;
No = int.Parse(Console.ReadLine());

for (j = 0; j < N; j++)
{
Numero2=numeros[j];
if (No == Numero2)
{
Console.WriteLine("El Numero de Empleado Ya Existe!!, captura otro\n");
goto NumeroEmpleado;
}
}

Ciudad:
Console.Write("Ingresa Ciudad <1>: ");
Ci = int.Parse(Console.ReadLine());
if (Ci > 5 Ci < 1)
{
Console.WriteLine("Codigo de Ciudad incorrecto");
goto Ciudad;
}

E1 = new Empleado(Nom, Ci, No);
Empresa[i] = E1;
}


for ( j = 0; j < 6; j++)
{
Console.WriteLine("\n\n***** C i u d a d {0} *****\n",j+1);
Console.WriteLine("Nombre\t No. Empleado\n");
for (i = 0; i < N; i++)
{
Ci = Empresa[i].ObtenerCiudad();
if (Ci == j+1)
Console.WriteLine(Empresa[i].ObtenerNombre() + "\t\t" + Empresa[i].ObtenerNoEmp());
}
}

Console.ReadLine();
}
}
}


Class Empleado

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica_Empresa
{
class Empleado
{
string Nombre;
int Ciudad;
int NoEmpleado;

public Empleado(string Name, int City, int Number)
{
Nombre = Name;
Ciudad = City;
NoEmpleado = Number;
}

public Empleado()
{
Nombre = "";
Ciudad = 0;
NoEmpleado = 0;
}

public void AsignarNombre(string Nom)
{
Nombre = Nom;
}

public string ObtenerNombre()
{
return Nombre;
}

public void AsignarCiudad(int c)
{
Ciudad = c;
}

public int ObtenerCiudad ()
{
return Ciudad;
}

public void AsignarNoEmp(int N)
{
NoEmpleado = N;
}

public int ObtenerNoEmp()
{
return NoEmpleado;
}


}
}

Practica 6



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ventas_Mes
{
class Program
{
static void Main(string[] args)
{
double venta,total;
Arreglo Ventas = new Arreglo(12);
int mes, resp,menorIndice;

do
{
NoMes:
Console.Write("\nIngresa numero de mes: ");
mes = int.Parse(Console.ReadLine());
if (mes > 12 mes < 1)
{
Console.WriteLine("Mes incorrecto");
goto NoMes;
}
else
{
Console.Write("Ingresa la venta del mes:");
venta = double.Parse(Console.ReadLine());
Ventas.sumaVentas(mes - 1, venta);
if (venta < Ventas.obtenerCantidad(mes - 1))
{
Ventas.asignarCantidad(mes - 1, venta);
}
}
Console.Write("Desea capturar otra venta? (1= Si, 0= No):");
resp = int.Parse(Console.ReadLine());
}
while (resp == 1);

total = 0;

for (int i = 0; i < 12; i++)
{
total = total + Ventas.obtenerDato(i);
Console.WriteLine("Mes: {0}", i + 1);
Console.WriteLine("Venta total del mes= {0}\n", Ventas.obtenerDato(i));

}
menorIndice=Ventas.ventaMenor();
Console.WriteLine("\nLa venta anual es: {0}", total);
Console.WriteLine("La venta menor mensual del año fue de: {0}\n", Ventas.obtenerDato(menorIndice));
for (int i = 0; i < 12; i++)
{
if (Ventas.obtenerCantidad(i)<50000)
Console.WriteLine("La venta del mes {0} es de: {1}", i+1, Ventas.obtenerDato(i));
}
Console.ReadLine();
}
}
}


Class Arreglo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ventas_Mes
{
class Arreglo
{
double[] vector;
double[] cantidades;
double menorVenta;
int i=0;
int indiceMen= 0;

public Arreglo()
{
vector = new double[10];
}
public Arreglo(int n)
{
vector = new double[n];
cantidades = new double[12] { 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000, 50000 };
}

public void asignarDato(int j, double dato)
{
vector[j] = dato;
}


public void asignarCantidad(int j, double dato)
{
cantidades[j] = dato;
}
public double obtenerCantidad(int j)
{
return cantidades[j];
}


public void sumaVentas(int j, double dato)
{
vector[j] = vector[j] + dato;

}

public double obtenerDato(int j)
{
return vector[j];
}

public int ventaMenor()
{
menorVenta = vector[0];
indiceMen = 0;

for (i = 1; i < 12; i++)
{
if (vector[i] <>0)
{
menorVenta = vector[i];
indiceMen = i;
}
}
return indiceMen;
}



}
}