martes, 27 de enero de 2009

implementacion windows practica 1


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

namespace WindowsApplication1
{
public partial class Form1 : Form
{
int[] Elementos;
int i,suma,promedio;
public Form1()
{
InitializeComponent();
Elementos = new int[10];
i = suma=promedio=0;
lbSalida.Items.Add("Lista valores");
}

private void btAceptar_Click(object sender, EventArgs e)
{
if (i < 10)
{
Elementos[i] = int.Parse(tbDato.Text);
suma=suma + Elementos[i];
lbSalida.Items.Add(Elementos[i]);
i++;
tbDato.Clear();
tbDato.Focus();
}
else
{
MessageBox.Show("Los 10 datos fueron aceptados");
tbDato.Clear();
tbDato.Enabled = false;
btAceptar.Enabled = false;
}


}

private void btDesplegar_Click(object sender, EventArgs e)
{
int n = 0;
promedio=suma /10;
lbSalida.Items.Add("El promedio es "+promedio);
lbSalida.Items.Add("valores mayores o iguales a "+ promedio);
for (i = 0; i < 10; i++)
{
if (Elementos[i] >= promedio)
{
n++;
lbSalida.Items.Add(Elementos[i]);
}
}
lbSalida.Items.Add("El numero de elementos es " + n);
}

private void btLimpiar_Click(object sender, EventArgs e)
{
lbSalida.Items.Clear();
tbDato.Enabled = true;
btAceptar.Enabled = true;
i = 0;
}
}
}

lunes, 26 de enero de 2009

Implementación de clase program

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

namespace Aplicacion_de_Ventas_Semanal
{
class Program
{
static void Main(string[] args)
{
int I;
double sale;
VentasTotalesMiniSuper VT = new VentasTotalesMiniSuper();
for (I = 0; I < 7; I++)
{
switch (I)
{
case 0: Console.Write("Introduce las ventas totales del lunes : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 1: Console.Write("Introduce las ventas totales del Martes : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 2: Console.Write("Introduce las ventas totales del Miercoles : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 3: Console.Write("Introduce las ventas totales del Jueves : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 4: Console.Write("Introduce las ventas totales del Viernes : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 5: Console.Write("Introduce las ventas totales del Sabado: ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
case 6: Console.Write("Introduce las ventas totales del Domingo : ");
sale = double.Parse(Console.ReadLine());
VT.asignarDato(I, sale);
break;
}
}
int VMay = VT.ventaMayor();
int VMen = VT.ventaMenor();
switch (VMay)
{
case 0: Console.WriteLine("La venta mayor fue el dia Lunes con un total de {0} ", VT.obtenerDato(VMay));
break;
case 1: Console.WriteLine("La venta mayor fue el dia Martes con un total de {0} ", VT.obtenerDato(VMay));
break;
case 2: Console.WriteLine("La venta mayor fue el dia Miercoles con un total de {0} ", VT.obtenerDato(VMay));
break;
case 3: Console.WriteLine("La venta mayor fue el dia Jueves con un total de {0} ", VT.obtenerDato(VMay));
break;
case 4: Console.WriteLine("La venta mayor fue el dia Viernes con un total de {0} ", VT.obtenerDato(VMay));
break;
case 5: Console.WriteLine("La venta mayor fue el dia Sabado con un total de {0} ", VT.obtenerDato(VMay));
break;
case 6: Console.WriteLine("La venta mayor fue el dia Domingo con un total de {0} ", VT.obtenerDato(VMay));
break;
}
switch (VMen)
{
case 0: Console.WriteLine("La venta menor fue el dia Lunes con un total de {0} ", VT.obtenerDato(VMen));
break;
case 1: Console.WriteLine("La venta menor fue el dia Martes con un total de {0} ", VT.obtenerDato(VMen));
break;
case 2: Console.WriteLine("La venta menor fue el dia Miercoles con un total de {0} ", VT.obtenerDato(VMen));
break;
case 3: Console.WriteLine("La venta menor fue el dia Jueves con un total de {0} ", VT.obtenerDato(VMen));
break;
case 4: Console.WriteLine("La venta menor fue el dia Viernes con un total de {0} ", VT.obtenerDato(VMen));
break;
case 5: Console.WriteLine("La venta menor fue el dia Sabado con un total de {0} ", VT.obtenerDato(VMen));
break;
case 6: Console.WriteLine("La venta menor fue el dia Domingo con un total de {0} ", VT.obtenerDato(VMen));
break;
}
Console.WriteLine("La diferencia entre la venta mayor y la venta menor es {0}",VT.intervalo());
Console.ReadLine();
}
}
}

Implementacion clase VentasTotalesMiniSuper

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

namespace Aplicacion_de_Ventas_Semanal
{
class VentasTotalesMiniSuper
{
double[] VentasTotales;
int i,mayIndice,menIndice;
double mayorVenta, menorVenta;

public VentasTotalesMiniSuper()
{
VentasTotales = new double[7];
}
public void asignarDato(int j, double dato)
{
VentasTotales[j]= dato;
}
public double obtenerDato(int j)
{
return VentasTotales[j];
}
public int ventaMayor()
{
mayorVenta = VentasTotales[0];
mayIndice = 0;
for (i = 1; i < 7; i = i + 1)
{
if (VentasTotales[i] > mayorVenta)
{
mayorVenta = VentasTotales[i];
mayIndice = i;
}
}
return mayIndice;
}
public int ventaMenor()
{
menorVenta = VentasTotales[0];
menIndice = 0;
for (i = 1; i < 7; i++)
{
if (VentasTotales[i] < menorVenta)
{
menorVenta = VentasTotales[i];
menIndice = i;
}
}
return menIndice;
}
public double intervalo()
{
return mayorVenta - menorVenta;
}


}
}

Ejemplo de arreglo unidimensional

Haga un programa para leer 7 dias(lunes,martes.. domingo) de ventas totales realizadas por un minisuper, e imprima el dia que tuvo la mayor y menor venta mostrando la cantidad y el intervalo entre la venta mayor y la venta menor .

Solución en seudocódigo

Clase VentasTotalMiniSuper
{
1.- Declaracion de Variables

VentasTotales [7] : doble flotante
i : entero
mayorVenta, menorVenta : doble flotante
mayIndice, menIndice: entero

metodo asignarDato ( j:entero , dato: doble flotante)
{
VentasTotales[j]=dato
}
double flotante método obtenerDato (j: entero)
{
return VentasTotales[j]
}
entero método ventaMayor( )
{
mayorVenta= VentasTotales[0]
mayIndice=0;
for(i=1, i < 7, i=i+1)
{
if(VentasTotales[i] >= mayorVenta
{ mayorVenta=VentasTotales[i]
mayIndice=i
}
}
return mayIndice;
}

entero método ventaMenor( )
{
menorVenta=VentasTotales[0]
menIndice=0
for(i=1, i< 7, i=i+1)
{
if(VentasTotales[i] < menorVenta
{ menorVenta=VentasTotales[i]
menIndice=i
}
}
return menIndice;
}
double flotante método Invertalo ()
{
return mayorVenta - menorVenta
}
}

Practica 1

Haga un programa para leer diez valores numericos y almacenarlos en un arreglo unidimensional. Calcular el promedio y mostrar los elementos mayores o iguales al promedio y al final imprimir la cantidad de datos que cumplen con esta condición.

Tarea 1

Hacer un blog para tener conceptos básicos de arreglos unidimensionales y mostrar un problema ejemplo.
a)Mostar la solución.
b)Implementarlo en C# en forma visual y consola.

Temario de Programacion Orientada a Objetos

Materia: Programación Orientada a objetos

Objetivo de la materia: El estudiante aprenderá tópicos avanzados de programación orientada a objetos y su implementación por medio de un lenguaje de programación, que sirvan como base para cursos posteriores donde se desarrollan sistemas computacionales.


Temario

Unidad 1 Arreglos Unidimensionales y Multidimensionales

1.1 Arreglos Unidimensionales listas (vectores)
1.1.1 Concepto básicos.
1.1.2 Operaciones
1.1.3 Aplicaciones

1.2 Arreglos bidimensionales
1.2.1 Conceptos básicos
1.2.2 Operaciones.
1.2.3 Aplicaciones

1.3 Arreglos Multidimensional
1.3.1 Conceptos básicos
1.3.2 Operaciones.
1.3.3 Aplicaciones.


Unidad 2 Metodos y Mensajes, Constructor Destructor

2.1 Atributos const y static
2.2 Concepto Método
2.3 Declaración de métodos
2.4 Llamadas a métodos
2.5Tipos de Métodos
2.6 Referencia this
2.7 Forma de pasar argumentos
2.8 Devolver un valor desde un método
2.9 Estructura de código
2.10 Concepto de método constructor y destructor.
2.11 Declaración de métodos constructor y destructor
2.12 Aplicaciones de constructores y destructores
2.13 Tipos de constructores y destructores




Unidad 3 Sobrecarga , Herencia, polimorfismo y reutilización

3.1 Conversion Tipos
3.2 Sobrecarga de métodos.
3.3 Sobrecarga de operadores
3.4 Introducción a la herencia
3.5 Herencia simple y multiple
3.6 Clase base y clase derivada
3.7 Parte protegida
3.8 Redefinición de los miembros de las clases derivadas
3.9 Clases virtuales y visibilidad
3.10 Constructores y destructores en clases derivadas.
3.11 Concepto de polimorfismo
3.12 Clases Abstractas
3.13 Definición de interfaz
3.14 Implementación de una interfaz
3.15 Definición y creación de paquetes de librería.
3.16 Clases genéricas (plantillas)


Unidad 4 Excepciones, Flujos y Archivos

4.1 Definición
4.1.1 Que son las excepciones
4.1.2 Clases de excepciones excepciones predefinidas por el lenguaje.
4.1.3 Propagación
4.1.4 Gestión de Excepciones
4.1.5 Excepciones definidas por el usuario
4.1.6 Definición de archivos de texto y archivos binarios
4.1.7 Aplicaciones

Libro Como programar en C#
Autor: Harvey M. Deitel y Paul J. Deitel
Editorial Prentice Hall

Microsoft C# Curso de Programación
Autor: Javier Ceballos
Enciclopedia de Microsoft Visual C#
Autor: Javier Ceballos
Editorial Alfaomega

Desarrollo de aplicaciones .NET Con visual C#
Miguel Rodríguez Gómez
Marco Antonio Besteiro G
Editorial Mc Graw Hill