lunes, 28 de septiembre de 2009

5.4_residuos

CODIGO EN CONSOLA:
static void Main(string[] args)
{
int num, auxnum, digito;
Console.WriteLine("Introduce valor entero");
num = int.Parse(Console.ReadLine());
auxnum = num;
do
{
digito = auxnum % 10;
Console.WriteLine("digito " + digito);
Console.ReadLine();
auxnum = auxnum / 10;


} while (auxnum != 0);

}



WINDOWS:
private void button1_Click(object sender, EventArgs e)
{
int num, auxnum, digito,contador;
Console.WriteLine("Introduce valor entero");
num = int.Parse(textBox1.Text);
auxnum = num;
do
{
digito = auxnum % 10;
listBox1.Items.Add("digito"+ digito);


auxnum = auxnum / 10;


} while (auxnum != 0);
}


5.2:_celcius inicial y final(incrementos)

Pseudocodigo

double celciusi, celciusf, inc, fah;
int contador = 1;

Print("Valor inicial en grados celcius");
Read celciusi

Print("valor final en grados celcius");
Read celciusf


Print("Incrementos");
Read inc

Print("celcius fahrenheit");
while (celciusi<= celciusf)
{
fah = (9.0 / 5.0) * celciusi + 32;
Console.WriteLine(" celcius " + celciusi + " fahrenheit " + fah);
celciusi = celciusi + inc;
contador = contador + 1;
}

FIN

---------------------------------



CONSOLA:
static void Main(string[] args)
{
double celciusi, celciusf, inc, fah;
int contador = 1;

Console.WriteLine("Valor inicial en grados celcius");
celciusi = double.Parse(Console.ReadLine());

Console.WriteLine("valor final en grados celcius");
celciusf = int.Parse(Console.ReadLine());


Console.WriteLine("Incrementos");
inc = double.Parse(Console.ReadLine());

Console.WriteLine("celcius fahrenheit");
while (celciusi<= celciusf)
{
fah = (9.0 / 5.0) * celciusi + 32;
Console.WriteLine(" celcius " + celciusi + " fahrenheit " + fah);
celciusi = celciusi + inc;
contador = contador + 1;
}
Console.ReadKey();
}


WINDOWS:

private void button1_Click(object sender, EventArgs e)
{
double celciusi,celciusf, inc, fah;
int contador = 1;

celciusi = double.Parse(textBox1.Text);
celciusf = double.Parse(textBox2.Text);

inc = double.Parse(textBox3.Text);


while (celciusi <= celciusf)
{
fah = (9.0 / 5.0) * celciusi + 32;
listBox1.Items.Add(" celcius " + celciusi + " Fahrenheit " + fah);
celciusi = celciusi + inc;
contador = contador + 1;

}
}

5.1 celcius a fahrenheit(conversiones)

Pseudocodigo:

Inicio

Real celcuis,inc,fah

int n,contador=1

Print ("valor inicial grados celcius")

Read(celcius)

Print("numero de conversiones")

Read (n)

Print("incrementos")

Read inc

Print("celcius fahrenheit")

while(contador<=n)

{

fah(9.0/5.0)*celcius+32

Print(celcius,fah)

celcius=celcius+inc

contador=contador+1

}

Fin




CODIGO EN CONSOLA:
static void Main(string[] args)
{
double celcius,n, inc, fah;
int contador = 1;

Console.WriteLine("Valor inicial en grados celcius");
celcius = double.Parse(Console.ReadLine());

Console.WriteLine("Numero de conversiones");
n = int.Parse(Console.ReadLine());


Console.WriteLine("Incrementos");
inc=double.Parse(Console.ReadLine());

Console.WriteLine("celcius fahrenheit");
while (contador <= n)
{
fah = (9.0 / 5.0) * celcius + 32;
Console.WriteLine(" celcius "+celcius+ " fahrenheit "+fah);
celcius = celcius + inc;
contador = contador + 1;
}
Console.ReadKey();



WINDOWS

private void button1_Click(object sender, EventArgs e)
{
double celcius, inc, fah;
int n, contador = 1;

celcius = double.Parse(textBox1.Text);
n = int.Parse(textBox2.Text);
inc = double.Parse(textBox3.Text);


while (contador <= n)
{
fah = (9.0 / 5.0) * celcius + 32;
listBox1.Items.Add(" celcius " + celcius +" Fahrenheit " + fah);
celcius = celcius + inc;
contador = contador + 1;

}
}

martes, 22 de septiembre de 2009

3.5 celcius y fahrenheit



CODIGO EN CONSOLA
static void Main(string[] args)
{

double temp,f,c;
char tipo;

Console.WriteLine("Introduce el valor de la Temperatura");
temp = double.Parse(Console.ReadLine());
Console.WriteLine("Introduce letra [ F ] para fahrenheit o [ C] para Celcuis");
tipo=char.Parse(Console.ReadLine());


if (tipo == 'f' || tipo == 'F')
{
c = (5.0 / 9.0) * (temp - 32.0);
Console.WriteLine(" La temperatura " + temp + " Fahrenheit es igual a \n" + c + " grados celcuis ", temp, c);
Console.ReadLine();

}
else
{
if (tipo == 'c' || tipo == 'C')
{
f = (9.0 / 5.0) * temp + 32.0;

Console.WriteLine(" La temperatura " + temp + " Celcuis es igual a \n " + f + " grados Fahrenheit ", temp, f);
Console.ReadLine();


}
else
{
Console.WriteLine("Datos incorectos");

}
}


CODIGO EN WINDOWS

private void button1_Click(object sender, EventArgs e)
{
double temp, f, c;
char tipo;


temp = double.Parse(textBox1.Text);

tipo = char.Parse(textBox2.Text);


if (tipo == 'f' || tipo == 'F')
{
c = (5.0 / 9.0) * (temp - 32.0);
label3.Text=(" La temperatura " + temp + " Fahrenheit es igual a \n" + c + " grados celcuis ");


}
else
{
if (tipo == 'c' || tipo == 'C')
{
f = (9.0 / 5.0) * temp + 32.0;

label3.Text=(" La temperatura " + temp + " Celcuis es igual a \n " + f + " grados Fahrenheit ");


}
else
{
Console.WriteLine("Datos incorectos");
label3.Text="";

}
}

3.4 ALMACEN EN CONSOLA Y VISUAL



CODIGO EN CONSOLA

private void button1_Click(object sender, EventArgs e)
{
double cantidad ,codigo, precio,total,descuento,pago;
Console.WriteLine("Introduce cantidad de articulos");
cantidad=double.Parse( Console.ReadLine());
Console.WriteLine("Introduce codigo del articulo");
codigo = double.Parse(Console.ReadLine());
Console.WriteLine("Introduce el precio del articulo");
precio = double.Parse(Console.ReadLine());

if (cantidad >100)
{
Console.Write("Descuento del 40%");
total=cantidad*precio;
descuento=total*.20;
pago=total-descuento;

}
else if(cantidad >=25)
{
Console.WriteLine("Descuento del 20%");
total = cantidad * precio;
descuento = total * .20;
pago = total - descuento;


}

else if (cantidad >= 10)
{
Console.WriteLine("Descuento del 10%");
total = cantidad * precio;
descuento = total * .10;
pago = total - descuento;


}
else
{
Console.WriteLine("No hay descuento =(");
total=cantidad *precio;
descuento = 0;
pago = total - descuento;

}
Console.WriteLine("\n total= {0}\n Descuento={1}\n Pago={2}\n codigo={3}", total, descuento, pago,codigo);
Console.ReadKey();



}


CODIGO EN WINDOWS

private void button1_Click(object sender, EventArgs e)
{
double cantidad, precio, total, descuento, pago,codigo;
cantidad = double.Parse(textBox1.Text);
precio = double.Parse(textBox2.Text);
codigo = double.Parse(textBox6.Text);

if (cantidad > 100)
{
label6.Text=(" 40%");
total = cantidad * precio;
descuento = total * .40;
pago = total - descuento;
textBox3.Text = total.ToString();
textBox4.Text = descuento.ToString();
textBox5.Text = pago.ToString();
textBox7.Text = codigo.ToString();
}
else if (cantidad >= 25)
{
label6.Text = (" 20%");
total = cantidad * precio;
descuento = total * .20;
pago = total - descuento;
textBox3.Text = total.ToString();
textBox4.Text = descuento.ToString();
textBox5.Text = pago.ToString();
textBox7.Text = codigo.ToString();
}

else if (cantidad >= 10)
{
label6.Text = (" 10%");
total = cantidad * precio;
descuento = total * .10;
pago = total - descuento;
textBox3.Text = total.ToString();
textBox4.Text = descuento.ToString();
textBox5.Text = pago.ToString();
textBox7.Text = codigo.ToString();

}
else
{
label6.Text = ("0");
total = cantidad * precio;
descuento = 0;
pago = total - descuento;
textBox3.Text = total.ToString();
textBox4.Text = descuento.ToString();
textBox5.Text = pago.ToString();
textBox7.Text = codigo.ToString();
}

}

3.3 CILINDRO AREA, VOLUMEN





CODIGO EN CONSOLA



static void Main(string[] args)
{
double r, a, v, area;
Console.WriteLine("Introduce el radio de un cilindro");
r = double.Parse(Console.ReadLine());
Console.WriteLine("Introduce altura de un Cilindro");
a = double.Parse(Console.ReadLine());
v = 3.1416 * r * r * a;

area = 2*((3.1416 * r * r) +( 3.1416 * a)); Console.WriteLine("El perimetro del cilindro es igual a = {0}\n El Area del cilindro es igual a = {1}", v, area);
Console.ReadKey();

}



CODIGO EN WINDOWS

private void button1_Click(object sender, EventArgs e)
{
double a, v,r, area;
r = double.Parse(textBox1.Text);
a = double.Parse(textBox2.Text);
area = 2*((3.1416 * r * r) +( 3.1416 * a));
textBox3.Text = area.ToString();
v = 3.1416 * r * r * a;
textBox4.Text = v.ToString();
}

3.2 traingulo ,area consola y windows






CODIGO EN CONSOLA

static void Main(string[] args)
{
double p, area, a, b, c;
Console.WriteLine("Introdusca las 3 longitudes");
a = double.Parse(Console.ReadLine());
b = double.Parse(Console.ReadLine());
c = double.Parse(Console.ReadLine());
p = (a + b + c) / 2;
area = Math.Sqrt(p*(p - a) * (p - b) * (p - c));
Console.WriteLine("ela area del trigualo es igual a {1}",p, area);
Console.ReadKey();

}





CODIGO EN WINDOWS

public Form1()
{
a = b = c = p = area = 0;

InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
a = double.Parse(textBox1.Text);
b = double.Parse(textBox2.Text);
c = double.Parse(textBox3.Text);
p = (a + b + c) / 2;
textBox4.Text = p.ToString();
area=Math.Sqrt(p*(p-a)*(p-b)*(p-c));
textBox5.Text = area.ToString();


}

3.1 celcius a fahrenheit






CODIGO EN CONSOLA:

{
double c, f;
Console.WriteLine("Introduce grados Celcuis");
c=double.Parse(Console.ReadLine());
f = (9.0 / 5.0) * c + 32;
Console.WriteLine("La temperatura en grados Fahrenheit es igual a {0}",f);
Console.ReadKey();



}








CODIGO EN WINDOWS



private void button1_Click(object sender, EventArgs e)
{

c=double.Parse(textBox1.Text);
f = (9.0 / 5.0) * c + 32;
textBox2.Text = f.ToString();

}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
}





2.3 automovil consola y windows (diagrama y pseudocodigo)

PSEUDOCODIGO:

Inicio

Variables ; costo ,total;

Imprime" Introduce el costo del automovial"

leer costo

total =costo *0.12 + costo *0.06 + costo

Imprime " El costo del automovil es" ,costo

Imprime " Ganancia"

Imprime "Impuesto"

fin




DIAGRAMA:



CODIGO EN CONSOLA


static void Main(string[] args)
{
double costoauto,costototal;

Console.WriteLine("Introduce el Costo del auto");
costoauto = double.Parse(Console.ReadLine());
double ganancia = costoauto * .12;
double impuesto = costoauto *.06;
costototal = costoauto + ganancia + impuesto;
Console.WriteLine("Costo Auto ={0} \n Ganancia del Vendedor={1} \n Impuesto={2} \n Costo total={3}", costoauto, ganancia, impuesto, costototal);
Console.ReadKey();

}







CODIGO EN VISUAL


private void button1_Click(object sender, EventArgs e)
{
double costoauto, ganancia, impuesto, costototal;
costoauto = int.Parse(textBox1.Text);

costototal=costoauto+(costoauto*.12)+(costoauto*.06);
textBox2.Text = costototal.ToString();
ganancia=costoauto*.12;
textBox3.Text = ganancia.ToString();
impuesto = costoauto * .06;
textBox4.Text = impuesto.ToString();
}


4.4 pies a metros windows, consola

CONSOLA:


static void Main(string[] args)
{
double pies, m;
pies=2;
Console.WriteLine(" Pies a Metros ");

Console.ReadLine();

while (pies <= 20.0)
{
m = pies / 3.28;
Console.WriteLine("Pies " + pies.ToString() + " = " + m.ToString() + " metros ");
pies=pies+2;

}
Console.ReadLine();








WINDOWS:



private void button1_Click(object sender, EventArgs e)
{
double pies,m;
pies=2.0;
listBox1.Items.Add(" Pies a metros ");

while (pies <= 20.0)
{
m = pies / 3.28;
listBox1.Items.Add("Pies " + pies.ToString() + " = " + m.ToString() + " metros ");
pies = pies + 2;

}








4.3 celcius a fahrenheit






CONSOLA

static void Main(string[] args)
{
double celcius, f;
celcius = -10;
Console.WriteLine(" Celcius Fahrenheit ");

Console.ReadLine();

while (celcius <= 60.0)
{
f = (9.0 / 5.0) * celcius + 32;
Console.WriteLine("celcius " + celcius.ToString() + " = " + f.ToString() + " grados fahrenheit ");
celcius = celcius + 10.0;

}
Console.ReadLine();





WINDOWS


private void button1_Click(object sender, EventArgs e)
{double celcius,f;
celcius = -10;
listBox1.Items.Add(" Celcius Fahrenheit ");

while (celcius <= 60.0)
{
f = (9.0 / 5.0) * celcius + 32;
listBox1.Items.Add("celcius "+ celcius.ToString() + " = " + f.ToString()+" grados fahrenheit ");
celcius = celcius + 10.0;

}
}



4.2 cuadrantes consola y windows



CONSOLA:




double angulo;
Console.WriteLine("Introduce el angulo");
angulo = double.Parse(Console.ReadLine());
if (angulo >=0 && angulo <90)>=90 && angulo <>=180 && angulo <>=270 && angulo <>





























WINDOWS:


private void button1_Click(object sender, EventArgs e)
{
int angulo,a,b,c,d;
angulo = int.Parse(textBox1.Text);
switch (angulo)
{
case 0: ;
break;
case 90: label2.Text = ("cuadrante 1");
break;
case 180: label2.Text = ("cuadrante 2");
break;
case 270: label2.Text = ("cuadrante 3");
break;
case 360: label2.Text = ("cuadrante 4");
break;
}












4.2_ cuadrante , consola y windows,diagrama




CONSOLA:


double angulo;
Console.WriteLine("Introduce el angulo");
angulo = double.Parse(Console.ReadLine());
if (angulo >=0 && angulo <90)
{
Console.WriteLine("El cuadrante es el 1\n eje postivo + x");
Console.ReadLine();
}
else if (angulo >=90 && angulo < 180)
{
Console.WriteLine("El cuadrante es el 2\n eje negativo - x + y");
Console.ReadLine();
}
else if (angulo >=180 && angulo < 270)
{
Console.WriteLine("El cuadrante es el 3 \n eje negativo -x,-y");
Console.ReadLine();
}
else if(angulo >=270 && angulo < 360)
{
Console.WriteLine("El cuadrante es el 4 \n eje negativo + x ,-y");
Console.ReadLine();
}










WINDOWS:




private void button1_Click(object sender, EventArgs e)
{
int angulo,a,b,c,d;
angulo = int.Parse(textBox1.Text);
switch (angulo)
{
case 0: ;
break;
case 90: label2.Text = ("cuadrante 1");
break;
case 180: label2.Text = ("cuadrante 2");
break;
case 270: label2.Text = ("cuadrante 3");
break;
case 360: label2.Text = ("cuadrante 4");
break;
}







4.1_operaciones_consola

4.1 Pseudocodigo:
Inicio
Double opcion,operación,dato1, dato2
Imprime “ Seleccione una operación a realizar de las siguentes”
Imprime “1.-Suma 2- Resta ,3-Multiplicacion ,4-Division”
Leer opcion
Imprime “Introdusca dato 1”
Leer dato1

Imprime” Introdusca dato 2”
Leer dato2
If(opcion ==1)
{
Operacion= dato1+ dato2
Imprimir “El resultado en suma es”,operación
Read
}
If(opcion ==2)
{
Operacion= dato1- dato2
Imprimir “El resultado en resta es”,operación
Read
}

If(opcion ==3)
{
Operacion= dato1* dato2
Imprimir “El resultado en multipicacion es”,operación
Read
}

If(opcion ==4)
{
Operacion= dato1 / dato2
Imprimir “El resultado en division es”,operación
Read
}


CONSOLA:






double opcion, x, y, o;
Console.WriteLine("Seleccione una operacion a realizar de la siguiente");
Console.WriteLine("1.-Sumar");
Console.WriteLine("2.-Resta");
Console.WriteLine("3.-Multiplicacion");
Console.WriteLine("4.-Division");
opcion = double.Parse(Console.ReadLine());
Console.WriteLine("Introdusca dato 1");
x = double.Parse(Console.ReadLine());
Console.WriteLine("Introdusca dato 2");
y = double.Parse(Console.ReadLine());


if (opcion == 1)
{
o = x + y;
Console.WriteLine(" EL resultado en suma es :{0}", o);
Console.ReadLine();

}

else if (opcion == 2)
{
o = x - y;
Console.WriteLine(" EL resultado en suma es :{0}", o);
Console.ReadLine();

}
else if (opcion == 3)
{
o = x * y;
Console.WriteLine(" EL resultado en suma es :{0}", o);
Console.ReadLine();

}
else if (opcion == 4)
{
if (y == 0)
{
Console.WriteLine("error introduce un numero mayor a 0");
Console.ReadLine();
}
else if(y>0)
{
o = x / y;
Console.WriteLine(" EL resultado en suma es :{0}", o);
Console.ReadLine();
}

}














WINDOWS






private void button1_Click(object sender, EventArgs e)
{
double x, y, z;
x = double.Parse(textBox1.Text);
y = double.Parse(textBox2.Text);

if (radioButton1.Checked==true)
{
z = x + y;
label4.Text=("El resultado de la suma es:"+ z.ToString());
}
else if (radioButton2.Checked == true)
{
z = x - y;
label4.Text = ("El resultado de la suma es:" + z.ToString());
}
else if (radioButton3.Checked == true)
{
z = x * y;
label4.Text = ("El resultado de la suma es:" + z.ToString());
}
else if (radioButton4.Checked == true)
{
if(y==0)
{
MessageBox.Show("error inserta un numero mayor a cero");
}

if (y >0)
{ z = x / y;
label4.Text = ("El resultado de la suma es:" + z.ToString());
}
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
label4.Text = "";
radioButton1.Checked = true;
}










OTRO TIPO DE EJEMPLO DE CODIGO EN WINDOWS

double primero, segundo, codigo,resultado;

primero = double.Parse(textBox1.Text);
segundo = double.Parse(textBox2.Text);
codigo = double.Parse(textBox3.Text);
if (codigo == 1)
{
resultado = primero + segundo;

textBox4.Text = resultado.ToString();

}
else if (codigo == 2)
{
resultado = primero - segundo;

textBox4.Text = resultado.ToString();
}
else if (codigo == 3)
{
resultado = primero * segundo;

textBox4.Text = resultado.ToString();
}
else if (codigo == 4)
{
if (segundo == 0)
{
MessageBox.Show("Error introduce el en el segundo numero un valor mayor a cero");
textBox2.Clear();
}
else if (segundo > 0)
{

resultado = primero / segundo;

textBox4.Text = resultado.ToString();
}
}





domingo, 20 de septiembre de 2009

2.2_Distancia,windows y visual(diagrama y pseudocodigo)


PSEUDOCODIGO:

Inicio

Imprime"Programa quie calcula la distancia en millas"

Variables vel,tiempo;

Imprime " Introduce la velociadd del viaje"

Leer Vel

Imprime"Introduce el tiempo trancurrido"

Leer tiempo

distancia = vel *tiempo

Imprime " La distancia total es" , distancia

fin






DIAGRAMA:







sábado, 19 de septiembre de 2009

2.1,RESISTENCIAS,diagrama y pseudocodigo

PSEUDOCODIGO:

inicio

variable n,m,p,rs

imprime " Introduce cantidad de resistencias de 56 ohms"

leer n

imprime " Introduce cantidad de resistencias de 33 ohms"

leer m

imprime " Imprime cantidad de resistencia de 25 ohms"

leer p

rs= n*56 + m*33 + p*15

imprime "La resistencia total en serie es " ,rs

fin






DIAGRAMA

2.1,RESISTENCIAS,windows y consola

1.2.suma de enteros,windows ,consola

1.1 tutorial

martes, 8 de septiembre de 2009

TAREA 5

QUE ES C#?
C# (pronunciado "si sharp" en inglés y "c sostenido" o "c almohadilla" o "cesar" en español) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones (API); mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma.


CARACTERISTICAS PRINCIPALES:


Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET. Por ejemplo:

*Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de los años ha ido demostrándose son muy útiles para el desarrollo de aplicaciones y que en otros lenguajes como Java o C++ hay que simular, como un tipo básico decimal que permita realizar operaciones de alta precisión con reales de 128 bits (muy útil en el mundo financiero), la inclusión de una instrucción foreach que permita recorrer colecciones con facilidad y es ampliable a tipos definidos por el usuario, la inclusión de un tipo básico string para representar cadenas o la distinción de un tipo bool específico para representar valores lógicos.


*Orientación a objetos: Como todo lenguaje de programación de propósito general actual, C# es un lenguaje orientado a objetos, aunque eso es más bien una característica del CTS que de C#. Una diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es más puro en tanto que no admiten ni funciones ni variables globales sino que todo el código y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del código.


*Orientación a componentes: La propia sintaxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen que simular mediante construcciones más o menos complejas. Es decir, la sintaxis de C# permite definir cómodamente propiedades (similares a campos de acceso controlado), eventos (asociación controlada de funciones de respuesta a notificaciones) o atributos (información sobre un tipo o sus miembros)

*Seguridad de tipos: C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente, lo que permite evita que se produzcan errores difíciles de detectar por acceso a memoria no perteneciente a ningún objeto y es especialmente necesario en un entorno gestionado por un recolector de basura. Para ello se toman medidas del tipo:

*Sistema de tipos unificado: A diferencia de C++, en C# todos los tipos de datos que se definan siempre derivarán, aunque sea de manera implícita, de una clase base común llamada System.Object, por lo que dispondrán de todos los miembros definidos en ésta clase (es decir, serán “objetos”)

*Eficiente: En principio, en C# todo el código incluye numerosas restricciones para asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java, en C# es posible saltarse dichas restricciones manipulando objetos a través de punteros. Para ello basta marcar regiones de código como inseguras (modificador unsafe) y podrán usarse en ellas punteros de forma similar a cómo se hace en C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad procesamiento muy grandes.


*Compatible: Para facilitar la migración de programadores, C# no sólo mantiene una sintaxis muy similar a C, C++ o Java que permite incluir directamente en código escrito en C# fragmentos de código escrito en estos lenguajes, sino que el CLR también ofrece, a través de los llamados Platform Invocation Services (PInvoke), la posibilidad de acceder a código nativo escrito como funciones sueltas no orientadas a objetos tales como las DLLs de la API Win32. Nótese que la capacidad de usar punteros en código inseguro permite que se pueda acceder con facilidad a este tipo de funciones, ya que éstas muchas veces esperan recibir o devuelven punteros.


CREACION DE UN PROGRAMA EN C#



En nuestro primer programa vamos hacer el típico ejemplo Hola Mundo, para empezar inicie su Visual C# por defecto le aparecerá la página de inicio (Start Page), en la figura 1 se puede ver una descripción breve de la funcionalidad de cada panel de esta página.
Para crear un nuevo proyecto haga clic en Project… el cual se encuentra en el primer panel de la página de inicio en la opción Create, o bien puede ir al menú File y a continuación elija New Project.








Una vez realizada la operación anterior aparecerá un cuadro de diálogo como el que se muestra en la figura 2 el cual le permite crear varios tipos de proyectos. Elija Console Application y escriba como nombre del proyecto HolaMundo y por último haga clic en el botón OK.
Al presionar en el botón OK, se crea la solución del proyecto con un conjunto de archivos por defecto, estos archivos se pueden ver en la ventana Solution Explorer ubicada por defecto a la derecha. Si no puede ver la ventana Solution Explorer, para habilitarla vaya al menú View y elija Solution Explorer.

Esta ventana tendrá un aspecto como el de la figura 3
En la ventana Solution Explorer se puede observar los siguientes archivos del proyecto: AssemblyInfo.cs el cual nos permite configurar algunas características generales del proyecto (como la versión, cultura, fabricante, descripción del ensamblado, etc.) y también se tiene el archivo Program.cs en éste se encuentra el código fuente de nuestra aplicación consola. Otra sección que se observa es la de References el cual contiene las referencias de las bibliotecas de clases que estamos usando ya sea del .NET Framework u otra externa.
La utilidad de la ventana Solution Explorer es proporcionarnos una vista de toda la estructura de nuestra aplicación, básicamente para acceder fácilmente a cada archivo del proyecto y trabajar con él. Si no está abierto el archivo Program.cs ábralo haciendo doble clic en él y se mostrará en el editor de código lo siguiente:
using System;
using System.Collections.Generic;
using System.Text;
namespace HolaMundo
{
class Program
{
static void Main(string[] args) {}
}
}
}
Como se puede observar tiene las dos características básicas de un programa de C#, una clase y un punto de inicio dado por el método Main. En este caso el generador de código del IDE de Visual C# (Entorno de Desarrollo Integrado de Visual C#) nos creó todo ese código, el cual contiene el esqueleto básico de nuestro programa.
En las primeras tres líneas del código se puede observar la palabra reservada using, la cual permite habilitar el uso de bibliotecas de clases, en este caso se coloca el espacio de nombre de la biblioteca de clase que necesitemos utilizar, en este programa por defecto están: System, System.Collections.Generic y System.Text. Otros ejemplos de espacios de nombre son: para trabajar con seguridad System.Security, para trabajar con datos System.Data, para trabajar con hilos System.Threading, etc.
Luego de las primeras tres líneas del código anterior se ve la definición de un namespace (espacio de nombre) propio para nuestro programa llamado HolaMundo, y dentro de éste se encuentra la definición de la clase y del método Main.
Para escribir el mensaje “Hola Mundo” utilizamos la siguiente instrucción:
Console.Write("Hola Mundo");
El método Write nos permite escribir un mensaje en pantalla, el mensaje está entre comillas dobles porque se trata de una cadena y por último la instrucción finaliza con un punto y coma, ya que es una regla de sintaxis de C# que dice que todas las instrucciones deben terminar con un punto y coma.
Al comienzo de la instrucción anterior se observa la palabra Console, esta se coloca allí porque es el espacio de nombre de donde proviene el método Write que a su vez se encuentra dentro del namespace System, que se declaró en la primera línea. Si no hubiéramos hecho esa declaración tendríamos que incluir la palabra System en la instrucción ya que es el namespace raíz de donde se encuentra el método Write, así como se muestra a continuación.
System.Console.Write("Hola Mundo");
Entonces el código de nuestra aplicación quedaría:
using System;
using System.Collections.Generic;
using System.Text;
namespace HolaMundo
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hola Mundo");
}
}
}




PARA GUARDAR UN PROGRAMA
Para guardar el proyecto haga clic en el icono Save All (Guardar Todo) de la barra de herramientas como se muestra en la figura 4 o bien vaya al menú File y elija Save All, si es la primera vez que guarda el proyecto le aparecerá un cuadro de diálogo donde podrá escoger la ruta o lugar para almacenar el proyecto, por último haga clic en el botón Save.


PARA COMPILAR Y EJECUTAR EL PROGRAMA:Para ejecutar el programa presione la tecla F5 o vaya al menú Debug y elija Start Debugging. Al ejecutarse el programa vemos que aparece la ventana de la consola pero rápidamente se vuelve a cerrar, esto sucede porque no hemos colocado ninguna instrucción que nos permita hacer una pausa antes de la finalización de la aplicación. Para solucionar lo anterior escribimos la siguiente instrucción:
Console.Read();
Esta función hace una parada para leer un carácter de la consola, lo que detendrá la ejecución y así podremos ver el mensaje antes que se cierre el programa.
Entonces el código final de nuestro primer ejemplo quedaría de la siguiente forma:
using System;using System.Collections.Generic;using System.Text;
namespace HolaMundo
{
class Program { static void Main(string[] args)
{
Console.Write("Hola Mundo"); Console.Read();
}
}
}
Para ejecutar el programa nuevamente presione F5 y tendrá como resultado la Figura
5

sábado, 5 de septiembre de 2009

TAREA 4

Investigar las caracteristicas mas importantes de los lenguajes de descripcion de hardware VHDL, PLD, FPGA.

lenguajes de descripcion de hardware VHDL

VHDL es un lenguaje utilizado para describir circuitos en un nivel alto de abstracción el cual está siendo rápidamente aceptado como un medio estándar de diseño. VHDL es producto del programa Very High Speed Integrated Circuit (VHSIC) desarrollado por el Departamento de Defensa de los Estados Unidos
*Las descripciones en VHDL son creadas a partir de dos estructuras que son fundamentales para el lenguaje: la entidad y la arquitectura *En VHDL el orden de las instrucciones no es tan importante como en el caso de un lenguaje de programación de software*En VHDL los objetos de datos son generalmente de una de tres clases: constantes, variables o señales.
* Las variables en VHDL son similares a cualquier tipo de variable de un lenguaje de programación de alto nivel. Se utilizan únicamente en los procesos y subprogramas (funciones y procedimientos).
*Un modelo VHDL de un sistema de hardware es visto como un conjunto de procesos concurrentes que se ejecutan asincrónicamente de acuerdo a los eventos y las señales
*VHDL también permite matrices para ser indexados, en uno u otro sentido (ascendente o descendente),
*VHDL soporta el modelamiento de sistemas digitales con diferentes niveles de abstracción, desde el nivel de sistema hasta el nivel de compuertas.

lenguajes de descripcion de hardware PLD

*los dispositivos ofrecen una respuesta muy rapida*Estan fuertemente restringidos por su capacidad y principalmente por su estructructura ya que esta completamente fijada*Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio,conduciendo a una mejor eficiencia a menor costo*Un PLD se forma con múltiples bloques lógicos, cada uno similar a un CPLD.


lenguajes de descripcion de hardware FPGA


*se usaron principalmente para hacer partes de diseños hardware que no correspondían a ningún componente existente en el mercado.
*Las principales ventajas de su uso eran el reducido número de chips
*el dispositivo es reprogramable en campo, el diseño no tiene que soportar más la carga de la flexibilidad para tratar con diferentes aplicaciones
*su flexibilidad en programacion es grande ya que esta formada por celulas independientes que se pueden programar para realizar funciones sencillas
*en un FPGA quedan recursos sin utilizar debido a la falta de canales de conexion*Actualmente son empleados en repdroductores de XD,tarjeta de expansion para Pc´setc..!!
*Es un dispositivo ideal para el desarrollo de algoritmos de control

jueves, 3 de septiembre de 2009

SISTEMA NUMERICO OCTAL Y HEXADECIMAL

Sistema Numérico Octal o Base 8
El sistema de numeración octal es también muy usado en la computación por tener una base que es potencia exacta de 2 o de la numeración binaria. Esta característica hace que la conversión a binario o viceversa sea bastante simple. El sistema octal usa 8 dígitos (0,1,2,3,4,5,6,7) y tienen el mismo valor que en el sistema de numeración decimal. Como el sistema de numeración octal usa la notación posicional entonces para el número 3452.32q tenemos:
2*(80) + 5*(81) + 4*(82) + 3*(83) + 3*(8-1) + 2*(8-2) = 2 + 40 + 4*64 + 64 + 3*512 + 3*0.125 + 2*0.015625 = 2 + 40 + 256 + 1536 + 0.375 + 0.03125 = 1834 + 40625dentonces, 3452.32q = 1834.40625d
Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal.
Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que 74 en octal es 112.
Es posible que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares. Esto explicaría porqué en latín nueve (novem) se parece tanto a nuevo (novus). Podría tener el significado de número nuevo.

Sistema Numérico Hexadecimal o Base 16
El sistema de numeración hexadecimal, o sea de base 16, (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciséis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a esto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a:
1*163 + 2*162 + 3*161 + 4*160
lo que da como resultado:
4096 + 512 + 48 + 4 = 466010
Cada dígito hexadecimal puede representar uno de dieciséis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventar seis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos símbolos para estos dígitos, utilizamos las letras A a la F.

Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:
0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)



martes, 1 de septiembre de 2009

Tarea.2_Esteban Cruz

1.-Explique por medio de un dibujo el funcionamiento interno de una computadora.
Solo mencione lo que usted considere lo mas importante, con una sola frase.







2.-Investigue las caracteristicas mas importantes de un procesador,
de una computadora actual.(ver las caracteristicas del fabricante)

La Más Poderosa Experiencia de Multimedia en una Plataforma x86. El procesador AMD Athlon XP ofrece rápidos resultados, cuando trabaja con medios digitales como archivos de audio, video e imágenes y CAD/CAM, gracias a que posee características como, por ejemplo, una mayor memoria cache, la tecnología 3DNow! Professional y la innovadora arquitectura QuantiSpeed™, que tiene la máquina de punto flotante completamente encadenada.

Los procesadores AMD Athlon se utilizaron en el diseño y desarrollo del sistema operativo Windows XP. AMD y Microsoft mantienen una sólida relación de trabajo, desde hace más de una década, cuando apareció la primera versión de Windows. Durante años, los procesadores AMD han controlado algunos de los sistemas PC más confiables para aplicaciones Windows, incrementando la productividad y el disfrute de los usuarios finales.

Las avanzadas características arquitectónicas del procesador AMD Athlon XP ayudan a garantizar extraordinarios niveles de rendimiento. Entre estas características se incluyen:
Arquitectura QuantiSpeed™
Alto Rendimiento Total de 384 K, Cache de Velocidad Completa.
Front-Side Bus Avanzado de 266 MHz con ECC (Código de Corrección de Errores).
Tecnología 3DNow! Professional.
Soporte para Memoria DDR (Doble Velocidad de Datos)
Infraestructura Socket A Establecida.

Entre las características más importantes del AMD Athlon XP, están las siguientes:
Arquitectura QuantiSpeed™
9 Operaciones por ciclo de reloj
3 Pipelines (conductos) de enteros
3 Pipelines (conductos) de punto flotante
3 Decodificadores x86 en total
Cache L1 de 128KB
Cache L2 de 256KB
Velocidad del bus de sistema de 266 MHz
Instrucciones para optimización de 3D con 3DNow!™ Professional
Controles de cache/prebúsqueda
Controles de flujo de datos en tiempo real (streaming)
Extensiones DSP/comm
http://www.geocities.com/capn_78/athlon.html#mar1





3.-Mencione 5 diferencias de los lenguajes de alto nivel y bajo nivel.
El lenguaje de alto nivel
consta de instrucciones independientes de la máquina;
cuanto más se acerquen al lenguaje natural del usuario se considerarán de más alto nivel.
Algunos ejemplos de lenguajes de alto nivel son LISP, Pascal, BASIC, FORTRAN, COBOL, JAVA, C y C++.
Se le considera de primer nivel a la programación en notación binaria.


El lenguaje de bajo nivel es,
este consta de instrucciones en lenguaje máquina(dependiente), o próximas a él
A diferencia de los lenguajes de alto nivel, cuanto más se acerquen al lenguaje de la propia máquina
y menos al natural del usuario se considerarán de más bajo nivel..
lenguaje de bajo nivel es el denominado lenguaje ensamblador.
Los lenguajes, cuanto de más bajo nivel, se consideran más difíciles de programar y de depurar,
pero tienen la contrapartida de generar, comúnmente, código más rápido y eficiente.
Se le considera de segundo nivel por que es un lenguaje ensamblador,
que traducen instrucciones detalladas a notación binaria

http://html.rincondelvago.com/informatica_23.html

4.-Explique porque la memoria ram, se le considera el escritorio de trabajo, en una computadora.
A la parte superior del escritorio, es decir la mesa del escritorio
podríamos compararla con la memoria RAM,
de manera que mientras más grande sean las gavetas del escritorio,
mayor será el número de archivos que puedes almacenar,
al igual que mientras más grande sea la mesa del escritorio podrás tener una mayor cantidad de archivos abiertos simultáneamente,
lo cual facilitará tu trabajo.