martes, 16 de junio de 2009

unidad 2 extraordinario

SUPONGA QUE CIERTA OFICINA CATASTRAL DE CIERTA CIUDAD, ESTA LLEVANDO A CABO UNA INVESTIGACION SOBRE LAS LICENCIAS QUE ESTE ORGANISMO EXPIDE. CADA USUARIO DEBE LLENAR UN CUESTIONARIO QUE TENGA LA SIGUIENTE FORMA:

ASUNTO CODIGO DE RESPUESTA

TIPO DE LICENCIA 1 CORREDOR
2 VENDEDOR

DIRECCION 20 CIUDADES CODIFICADAS DE 1 A 20

EDAD AÑOS DE EDAD

SEXO 1 MASCULINO
2 FEMENINO

EDUCACION 1 PRIMARIA INCOMPLETA
2 PRIMARIA
3 SECUNDARIA
4 PREPARATORIA
5 UNIVERSIDAD

DESARROLLE UN PROGRAMA QUE FORME UNA CLASE USUARIO Y LO ALMACENE EN UN ARREGLO DE DIMENSION N, DONDE DEBE ANALIZAR LOS CUESTIONARIOS Y CALCULAR LO SIGUIENTE:

A)PORCENTAJE DE CORREDORES Y DE VENDEDORES
TAMBIEN DEBEN CALCULARSE LOS SIGUIENTES DATOS EN FORMA SEPARADA PARA AMBOS TIPOS DE LICENCIA.
A)NUMERO DE CUESTIONARIO POR CIUDAD
B)EDAD PROMEDIO
C)PORCENTAJE DE HOMBRES Y MUJERES.

domingo, 14 de junio de 2009

unidad 1 extraordinario

1.-DADO UN ARREGLO X DE N ELEMENTOS REALES, DONDE N ES IMPAR, DISEÑE UN PROGRAMA PARA CALCULAR LA MEDIANA DE ESTE ARREGLO. LA MEDIANA SE DEFINE COMO EL VALOR MAYOR QUE LA MITAD DE LOS NUMEROS Y MENOR QUE LA OTRA MITAD. POR EJEMPLO EN EL SIGUIENTE ARREGLO:
X1 X2 X3 X4 X5 X6 X7 X8 X9
17 -3 21 2 9 -4 6 8 11
QUE ESTA COMPUESTO DE NUEVE ELEMENTOS, EL PROGRAMA DEBE ENCONTRAR QUE LA SOLUCION ES 8

unidad 4 extraordinario

LOS LIDERES DE DOS ORGANIZACIONES DE ESPIONAJE (LLAMADAS DE CONTROL Y KAOS) HAN DESCUBIERTO QUE ALGUNOS DE SUS EMPLEADOS ESTAN EN LAS NOMINAS DE PAGO DE AMBAS INSTITUCIONES. VA A REALIZARSE UNA REUNION SECRETA DE LOS EMPLEADOS LEALES A CONTROL Y KAOS ( O SEA, SE EXCLUIRA A AQUELLOS QUE SE ENCUENTREN EN AMBAS NOMINAS DE PAGO) PARA DETERMINAR LAS POLITICAS DE ACCION EN CONTRA DE LOS AGENTES DOBLE. DISEÑE UN PROGRAMA QUE REALICE LA SIGUIENTE TAREA. DEBE DE LEER DOS LISTASDE NOMBRES ORDENADAS ALFABETICAMENTE Y ALMACENARLAR EN DOS ARCHIVOS UNO LLAMADO KAOS.DAT Y CONTROL.DAT. DEBE DESPLEGAR LAS DOS LISTAS E IMPRIMIR EN UN TERCER ARCHIVO LOS NOMBRES DE LOS AGENTES QUE SERAN INVITADOS ORDENADOS

unidad 3 extraordinario

1.-Crear una clase base llamada Círculo que tenga un miembro dato llamado radio. Los miembros debe ser un constructor y un método para calcular el área del circulo y una clase derivada llamada Esfera desde la clase base Círculo. Además , sus únicos miembros adicionales deberán ser un constructor y un método llamado Calcval() que devuelva el volumen de la esfera.(volumen = 4/3 PI radio3 ). Haga un programa funcional para probar estas clases.


2.-Crear una clase base, denominada Rectángulo, que contenga los miembros correspondientes a largo y ancho. De esta clase derive la clase Caja que tiene un miembro adicional de datos llamado fondo. Los miembros función de la clase base Rectángulo deben contener un constructor, el método área y el método perímetro. La clase derivada debe tener un constructor, un método volumen y el método área, que devuelve el área de la superficie de la caja .
Incluya la clase construida en un programa funcional. Haga que el programa llame a todas los métodos en cada clase .
volumen = (largo * ancho) *fondo Area = 4(largo * ancho) + 2(fondo*fondo)

miércoles, 10 de junio de 2009

Ejemplo BinaryReader

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Aplicacion_archivo_binario_2
{
class Program
{
static void Main(string[] args)
{
BinaryReader br = null;
try
{
if (File.Exists("d:\\datos\\empleados.dat"))
{
br = new BinaryReader(new FileStream("d:\\datos\\empleados.dat", FileMode.Open, FileAccess.Read));
string nombre;
int ide;
int ciudad;
Console.WriteLine("Listado de alumnos ");
Console.WriteLine(" No Empleado Nombre Empleado Ciudad ");
do
{
ide = br.ReadInt32();
nombre = br.ReadString();
ciudad = br.ReadInt32();
Console.WriteLine("\t{0}\t{1}\t\t{2}", ide, nombre, ciudad);
}
while (true);
}
else
Console.WriteLine("no existe archivo");
}
catch (EndOfStreamException)
{
Console.WriteLine("fin de archivo ");
}
finally
{
if (br != null) br.Close();
}

Console.ReadKey();
}
}
}

Ejemplo de BinaryWriter

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


namespace Aplicacion_Consola_Archivos_Binarios
{
class Program
{
static void Main(string[] args)
{
BinaryWriter bw = null;
char resp;
try
{
bw=new BinaryWriter(new FileStream("d:\\datos\\empleados.dat",FileMode.Create,FileAccess.Write));

int ide;
string nombre;
int ciudad;

do
{
Console.Write("Numero de empleado : ");
ide=int.Parse(Console.ReadLine());
Console.Write("Nombre Empleado : ");
nombre=Console.ReadLine();
Console.Write(" Ciudad : ");
ciudad=int.Parse(Console.ReadLine());
bw.Write(ide);
bw.Write(nombre);
bw.Write(ciudad);
Console.Write(" Deseas escribir otro registro (s/n): ");
resp=(char)Console.Read();
Console.ReadLine();
}
while(resp=='s' || resp =='S');
}
finally
{
if(bw !=null) bw.Close();
}


}
}
}

Flujo de datos de tipos primitivos

En la mayoria de las aplicaciones se requiere escribir un archivo de datos para datos:
bool,byte, double, float, long , int, short...etc , no solo cadena de caracteres, en formato binario.
En C# la clase BinaryReader Y BinaryWriter , que permiten leer y escribir, respectivamente, datos de cualquuier tipo en formato binario y cadena de caracteres en formato UTF-8.

BinaryWriter
Un flujo de la clase BinaryWriter permite a una aplicación escribir datos de cualquier tipo primitivo.
El siguiente contructor abre un flujo de salida (escribir) hacia el archivo unido a otro flujo de la clase Stream o de sus derivadas.


BynaryWriter (Stream flujo)

Ejemplo

FileStream fs=new FileStream("d:\\datos\elementos.dat", FileMode.Create, FileAccess.Write);

BinaryWriter bw=new BinaryWriter(fs);

Un programa almacena datos en la unidad d subdirectorio datos y el archivo elementos
escribirá datos en el flujo bw y esta conectado al flujo fs abierto hacia ese archivo.

Metodos para BynaryWriter

Write(byte) Escribe un valor tipo byte.
Write(Bytes[])Escribe una arreglo de bytes.
Write(char) Escribe un valor tipo char
Write(char []) Escribe una arreglo o cadena de caracteres
Write(short) Escribe un valor de tipo short
Write(int )Escribe un valor de tipo int
Write(long) Escribe un valor tipo long
Write(Decimal)Escribe un valor de tipo decimal
Write(float) Escribe un valor de tipo float
Write(double) Escribe un valor de tipo float
Write(string) Escribe una cadena de caracteres en formato UTF-8
BaseStream Obtiene el flujo subyacente
Close Cierra el flujo y libera los recursos adquiridos
Flush Limpia el buffer asociado con el flujo enviando su contenido a éste
Seek Establece el apuntador en el flujo

BinaryReader

Un flujo de la clase BinaryReader , permite a una aplicación leer datos de cualquier tipo primitivo .

El siguiente constructor abre un flujo de entrada(leer) desde el archivo unido a otro flujo de la clase Stream

BinaryReader( Stream Flujo)

Ejemplo:

FileStream fs=new FileStream("d:\\datos\\elementos.dat", FileMode.Open, FileAccess.Read);

BinaryReader br=new BinaryReader(fs);

Métodos más utilizados de la clase BinaryReader

ReadByte Devuelve un valor de tipo byte
ReadBytes Devuelve un valor de tipo byte[]
ReadChar Devuelve un valor de tipo char
ReadChars Devuelve un valor de tipo char[]
ReadInt16 Devuelve un valor de tipo short
ReadInt32 Devuelve un valr de tipo int
ReadInt64 Devuelve un valor de tipo long
ReadDecimal Devuelve un valor tipo Decimal
ReadSingle Devuelve un valor de tipo float
ReadDouble Devuelve un valor de tipo double
ReadString Devuelve una cadena de caracteres en formato UTF-8

BaseStream Obtiene el flujo subyacente
Close Cierra el flujo y libera los recursos adquiridos
PeekChar Obtiene el siguiente carácter sin extraerlo

Pasos para escribir datos en un archivo
1)Definir un flujo hacia el archivo donde se desea almacenar los datos
2)Lectura de datos del dispositivo de entrada y escribimos en el archivo.Este proceso se hace mientrar existan datos a almacenar
3)cerrar el flujo


Pasos para leer datos de un archivo existente

1)Abrir un flujo desde el archivo del cual se desea leer los datos
2)Leer los datos del archivo y almacenarlos en variables de nuestros programa con el objetivo de trabajar con ellos. Este proceso se hace mientras existan datos a leer.
3)Cerrar flujo