miércoles, 28 de abril de 2010

Arreglos bidimensionales

Un arreglo bidimensional tiene dos dimensiones y es un caso particular de los arreglos multidimensionales. En C#, las dimensiones se manejan por medio de un par de corchetes, dentro de los que se escriben, separados por comas, los valores de las dos dimensiones.

Declaración.
La declaración de un arreglo consiste en establecer las características del arreglo y sus elementos, por medio de la siguiente sintaxis:

[ , ] < identificador > ;

Donde:

tipo indica el tipo correspondiente a los elementos del arreglo ,

identificador es el nombre del arreglo, y

el par de corchetes y la coma, [ , ], representan las dimensiones del arreglo y encierra dos números enteros, cuyo producto corresponde al número de elementos del arreglo.

Acceso.
Se puede acceder a los valores de los elementos de un arreglo bidimensional a través del nombre del arreglo y dos subíndices. Los subíndices deben escribirse entre corchetes y representa la posición del elemento en el arreglo. Así, podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo y los subíndices del elemento entre corchetes. Los valores de los subíndices empiezan en cero para el primer elemento, hasta el tamaño del arreglo menos uno.



CONSOLA


namespace practica11problema1
{
class Program
{
static void Main(string[] args)
{
int[,] num = { { 16, 22, 99, 4, 18 }, { -258, 4, 101, 5, 98 }, { 105, 6, 15, 2, 45 }, { 33, 88, 72, 16, 3 } };
int Mayor = num[0, 0];
int posR = 0, posC = 0, R, C;
for (R = 0; R < 4; R++)
{
for (C = 0; C < 5; C++)
{
if (num[R, C] > Mayor)
{
posR = R;
posC = C;
Mayor = num[R, C];
}
}
}
for (R = 0; R < 4; R++)
{
for (C = 0; C < 5; C++)
{
Console.Write("\t{0}", num[R, C]);
}
Console.WriteLine();
}
Console.WriteLine("El dato mayor es: {0}", Mayor);
Console.WriteLine("En el renglon: {0}", posR + 1);
Console.WriteLine("Y la columna: {0}", posC + 1);

Console.ReadKey();
}
}
}



VISUAL

namespace practica11problema1vis
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
int[,] num = { { 16, 22, 99, 4, 18 }, { 258, 4, 101, 5, 98 }, { 105, 6, 15, 2, 45 }, { 33, 88, 72, 16, 3 } };
int Mayor = num[0, 0];
int posR = 0, posC = 0, R, C;

for (R = 0; R < 4; R++)
{
for (C = 0; C < 5; C++)
{
if (num[R, C] > Mayor)
{
posR = R;
posC = C;
Mayor = num[R, C];
}
}
}
for (R = 0; R < 4; R++)
{
for (C = 0; C < 5; C++)
{
listBox1.Items.Add(num[R, C]);

}

}
MessageBox.Show("\nEl dato mayor es: " + Mayor +"\n"+ "En el renglon: " + posR + 1 +"\n"+ "Y la columna: " + posC + 1);
}

private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
Close();
}

}
}




lunes, 26 de abril de 2010

practica 10 problema 2 consola y visual

pseudocodigo:

1.- Inicio
Pendientes [0]={17.24, 25.63, 5.94, 33.92, 3.71, 31.84, 45.90, 35.99, 18.44, 6.92, 12.2, 29.45, 13.89, 5.21, 2.56, 8.77, 23.99, 7.23, 31.56 }
max [0] double
min [0] double
Pmax=0 double
Pmin=0 double
i=0 int

for(i=1 to 18 step i=i+1 )
{
if(Pendientes [i]>max)
{
max=Pendientes[i]>max
Pmax=i
}
else
{
if(Pendientes[i] {
min=Pendientes[i]
Pmin=1
}
}
}
Print "PENDIENTES"
for(i=0 to 18 step i=i+1)
{
Print "\t",Pendientes[i]
}
Print "Pendiente Mayor=",max
Print "En la posicion=",Pmax
Print "Pendiente Menor=",min
Print "En la posicion=",Pmin
fin

CONSOLA

namespace practica10problema2
{
class Program
{
static void Main(string[] args)
{
double[]pendientes= {17.24,25.63,5.94,33.92,3.71,31.84,45.90,35.99,18.44,6.92,12.2,29.45,13.89,5.21,2.56,8.77,23.99,7.23,31.56};
double max = pendientes[0];
double pmax = 0.0;
double min = pendientes[0];
double pmin = 0.0;
int I = 0;
for (I = 1; I < 19; I = I + 1)
{
if (pendientes[I] > max)
{
max = pendientes[I];
pmax = I;
}
else
{
if (pendientes[I] < min)
{
min = pendientes[I];
pmin = I;
}
}
}
Console.WriteLine("pendientes");
for (I = 0; I < 19; I = I + 1)
{
Console.WriteLine("{0}",pendientes[I]);
}
Console.WriteLine("Pendiente mayor={0}", max);
Console.WriteLine("En la posicion={0}", pmax);
Console.WriteLine("Pendiente menor={0}", min);
Console.WriteLine("En la posicion={0}", pmin);
Console.ReadKey();

}
}
}














VISUAL

namespace practica10problema2vis
{
public partial class Form1 : Form
{
double[] pendientes = { 17.24, 25.63, 5.94, 33.92, 3.71, 31.84, 45.90, 35.99, 18.44, 6.92, 12.2, 29.45, 13.89, 5.21, 2.56, 8.77, 23.99, 7.23, 31.56 };
double max;
double pmax = 0.0;
double min;
double pmin = 0.0;
int I = 0;
public Form1()
{
InitializeComponent();
max = pendientes[0];
min = pendientes[0];
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{
Close();
}

private void button1_Click(object sender, EventArgs e)
{
for (I = 1; I < 19; I = I + 1)
{
if (pendientes[I] > max)
{
max = pendientes[I];
pmax = I ;
}
else
{
if (pendientes[I] < min)
{
min = pendientes[I];
pmin = I ;
}
}
}
listBox1.Items.Add("pendientes");
for (I = 0; I < 19; I = I + 1)
{
listBox1.Items.Add("" + pendientes[I]);
}
listBox1.Items.Add("Pendiente mayor"+max);
listBox1.Items.Add("En la posicion"+pmax);
listBox1.Items.Add("Pendiente menor"+min);
listBox1.Items.Add("En la posicion" + pmin);
}

private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
}
}

jueves, 22 de abril de 2010

Tarea de programacion "INSTRUCCIONES"

Instrucción “if”
La instrucción “if” permite ejecutar ciertas instrucciones sólo si de da una determinada condición. Su sintaxis de uso es la sintaxis:

if (condición)
{
instrucciones ”If”
}
else
{
instrucciones ”Else”
}
El significado de esta instrucción es el siguiente: se evalúa la expresión condición, que ha de devolver un valor lógico. Si es cierta se ejecutan las instrucciones “If”, y si es falsa se ejecutan las instrucciones “Else”. La rama else es opcional, y si se omite y la condición es falsa se seguiría ejecutando a partir de la instrucción siguiente al “if”. En realidad, tanto instrucciones”If” como instrucciones “Else” pueden ser una única instrucción o un bloque de instrucciones.
Ejemplo:

using System;
class HolaMundoIf
{
public static void Main(String[] args)
{
if (args.Length > 0){
Console.WriteLine("Hola {0}!", args[0]);}
else{
Console.WriteLine("Hola mundo!");}
}
}


Instrucción “switch”
La instrucción switch permite ejecutar unos u otros bloques de instrucciones según el valor de una cierta expresión. Su estructura es:

switch (expresión)
{
case valor1: bloque1
siguienteAcción
case valor2: bloque2
siguienteAcción

default: bloqueDefault
siguienteAcción
}


El significado de esta instrucción es el siguiente: se evalúa. Si su valor es se ejecuta el, si es se ejecuta, y así para el resto de valores especificados. Si no es igual a ninguno de esos valores y se incluye la rama default, se ejecuta el; pero si no se incluye se pasa directamente a ejecutar la instrucción siguiente al switch.
Los valores indicados en cada rama del switch han de ser expresiones constantes que produzcan valores de algún tipo básico entero, de una enumeración, de tipo char o de tipo string. Además, no puede haber más de una rama con el mismo valor.
El elemento marcado como “siguienteAcción” colocado tras cada bloque de instrucciones indica qué es lo que ha de hacerse tras ejecutar las instrucciones del bloque que lo preceden. Puede ser uno de estos tres tipos de instrucciones:
goto case valor I;
goto default;
break;

Si es un go to case indica que se ha de seguir ejecutando el bloque de instrucciones asociado en el switch a la rama del valor “I” indicado, si es un go to default indica que se ha de seguir ejecutando el bloque de instrucciones de la rama default, y si es un break indica que se ha de seguir ejecutando la instrucción siguiente al switch.


Ejemplo:

using System;
class HolaMundoSwitch
{
public static void Main(String[] args)
{
if (args.Length > 0)
switch(args[0])
{
case "José":
Console.WriteLine("Hola José. Buenos días");
break;
case "Paco":
Console.WriteLine("Hola Paco. Me alegro de verte");
break;
default:
Console.WriteLine("Hola {0}", args[0]);
break;
}
else
Console.WriteLine("Hola Mundo");
}
}


Instrucción “while”
La instrucción while permite ejecutar un bloque de instrucciones mientras se de una cierta instrucción. Su sintaxis de uso es:

while ()
{

}
Su significado es el siguiente: Se evalúa la condición indicada, que ha de producir un valor lógico. Si es cierta (valor lógico true) se ejecutan las instrucciones y se repite el proceso de evaluación de condición y ejecución de instrucciones hasta que deje de serlo. Cuando sea falsa se pasará a ejecutar la instrucción siguiente al while. En realidad instrucciones puede ser una única instrucción o un bloque de instrucciones.

Ejemplo:

using System;
class HolaMundoWhile
{
public static void Main(String[] args)
{
int actual = 0;
if (args.Length > 0)
while (actual < args.Length)
{
Console.WriteLine("¡Hola {0}!", args[actual]);
actual = actual + 1;
}
else
Console.WriteLine("¡Hola mundo!");
}
}
Por otro lado, dentro de las instrucciones de un while pueden utilizarse las siguientes dos instrucciones especiales:
• break; Indica que se ha de abortar la ejecución del bucle y continuarse ejecutando por la instrucción siguiente al while.
• continue; Indica que se ha de abortar la ejecución de las instrucciones y reevaluarse la condición del bucle, volviéndose a ejecutar las instrucciones si es cierta o pasándose a ejecutar la instrucción siguiente al while si es falsa.




Instrucción “do...while”
La instrucción do...while es una variante del while que se usa así:
do {
instrucciones
}
while(condición);

La única diferencia del significado de do...while respecto al de while es que en vez de evaluar primero la condición y ejecutar instrucciones sólo si es cierta, do...while primero ejecuta las instrucciones y luego mira la condición para ver si se ha de repetir la ejecución de las mismas. Por lo demás ambas instrucciones son iguales, e incluso también puede incluirse break; y continue; entre las instrucciones del do...while.
do ... while está especialmente destinado para los casos en los que haya que ejecutar las instrucciones al menos una vez aún cuando la condición sea falsa desde el principio.

Ejemplo:
using System;
class HolaMundoDoWhile
{
public static void Main()
{
String leído;
do
{
Console.WriteLine("Clave: ");
leído = Console.ReadLine();
}
while (leído != "José");
Console.WriteLine("Hola José");
}
}







Instrucción “for”
La instrucción for es una variante de while que permite reducir el código necesario para escribir los tipos de bucles más comúnmente usados en programación. Su sintaxis es:

for (inicialización; condición; modificación)
{
instrucciones
}
El significado de esta instrucción es el siguiente: se ejecutan las instrucciones de inicialización, que suelen usarse para definir e inicializar variables que luego se usarán en instrucciones. Luego se evalúa condición, y si es falsa se continúa ejecutando por la instrucción siguiente al for; mientras que si es cierta se ejecutan las instrucciones indicadas, luego se ejecutan las instrucciones de modificación que como su nombre indica suelen usarse para modificar los valores de variables que se usen en instrucciones y luego se reevalúa condición repitiéndose el proceso hasta que ésta última deje de ser cierta.
En inicialización puede en realidad incluirse cualquier número de instrucciones que no tienen porqué ser relativas a inicializar variables o modificarlas, aunque lo anterior sea su uso más habitual. En caso de ser varias se han de separar mediante comas (,), ya que el carácter de punto y coma (;) habitualmente usado para estos menesteres se usa en el for para separar los bloques de inicialización, condición y modificación.
Con modificación pasa algo similar, ya que puede incluirse código que nada tenga que ver con modificaciones pero en este caso no se pueden incluir definiciones de variables.


Ejemplo:

using System;
class HolaMundoFor
{
public static void Main(String[] args)
{
if (args.Length > 0)
for (int actual = 0; actual < args.Length; actual++) {
Console.WriteLine("¡Hola {0}!", args[actual]);
}
else
Console.WriteLine("¡Hola mundo!");
}
}
Al igual que con while, dentro de las del for también pueden incluirse instrucciones continue; y break; que puedan alterar el funcionamiento normal del bucle.

miércoles, 21 de abril de 2010

practica10problema1 consola y visual

Pseudocodigo

Inicio
resistencia[5]={16,27,39,56,81} int
corriente [5] double
potencia [5] double
I=0 int
suma=0 double
print "Introduce valor de corriente"
for (I=0 to 4 step I=I+1)
{
print "Corriente" I+1
Read corriente[I]
potencia[I]=resistencia[I]*Math.Pow(corriente[I],2)
suma=suma+potencia[I]
}
Print "Resistencia Corriente Potencia"
for (I=0 to 4 step I=I+1)
{
Print "Resistencia[I],"\t",Corriente[I],"\t",Potencia[I]
}
Print "\t\tTotal=", suma
fin


CONSOLA

namespace practica10prob1
{
class Program
{
static void Main(string[] args)
{
int[] resistencia = {16,27,39,56,81};
double[]corriente=new double[5];
double[] Potencia=new double[5];
int I = 0;
double suma=0;

Console.WriteLine("INTRODUCE VALOR DE CORRIENTE");
for (I = 0; I < 5; I++)
{
Console.WriteLine("Corriente{0}", I+1);
corriente[I] = double.Parse(Console.ReadLine());
Potencia[I] = resistencia[I] * (Math.Pow(corriente[I], 2));
suma = suma + Potencia[I];
}
Console.WriteLine("Resistencia\t\tCorriente\t\tPotencia");
for (I = 0; I < 5; I++)
{
Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", resistencia[I], corriente[I], Potencia[I]);
}
Console.WriteLine("");
Console.WriteLine("\t\t\t\t\t\tTotal:{0}", suma);
Console.ReadKey();
}
}
}

















VISUAL

namespace practica10prob1vis
{
public partial class Form1 : Form
{
int[] resistencia = { 16, 27, 39, 56, 81 };
double[] corriente = new double[5];
double[] potencia = new double[5];
int I = 0;
double suma = 0;

public Form1()
{
InitializeComponent();
}

private void button4_Click(object sender, EventArgs e)
{
Close();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
if (I < 5)
{
corriente[I] = double.Parse(textBox1.Text);
textBox1.Clear();
textBox1.Focus();
I++;
}
if (I == 5)
{
textBox1.Enabled = false;
button1.Enabled = false;

}
}

private void button2_Click(object sender, EventArgs e)
{

listBox1.Items.Add("Corriente\t\tResistencia\tPotencia");

for (I = 0; I < 5; I++)
{

potencia[I] = resistencia[I] * (Math.Pow(corriente[I], 2));
listBox1.Items.Add("" + corriente[I] + "\t\t" + resistencia[I] + "\t\t" + potencia[I]);
suma = suma + potencia[I];

}
listBox1.Items.Add("");
listBox1.Items.Add("\t\t\t\tTotal" + suma);
}

private void button3_Click(object sender, EventArgs e)
{
textBox1.Clear();
listBox1.Items.Clear();
textBox1.Focus();
textBox1.Enabled = true;
button1.Enabled = true;
button1.Enabled = true;
}
}
}


lunes, 19 de abril de 2010

practica9problema2 consola y visual

pseudocodigo

corriente[10] int
resistencia[10]int
voltios[10] int

I int

print "Introduce los valores de corriente"
for(I=0 to 9 step I=I+1)
{
print "corriente" I
read (corriente[I])
}
print "Introduce los valores de resistencia"
for(I=0 to 9 step I=I+1)
{
print "resistencia"
read (resistencia[I])
}
print("Corriente Resistencia Voltios")
for(I=0 to 9 step I=I+1)
{
voltios[I]=resistencia[I]*corriente[I];
print corriente[I], " ",resistencia[I]," ",voltios[I]
}
fin

namespace practica9problema2
{
class Program
{
static void Main(string[] args)
{
int[] corriente = new int[10];
int[] resistencia = new int[10];
int[] voltios = new int[10];
int I = 0;

Console.WriteLine("Introduce los valores de la corriente:");
for (I = 0; I <= 9; I++)
{
Console.WriteLine("Corriente [{0}]:", I);
corriente[I] = int.Parse(Console.ReadLine());
}
Console.WriteLine("Introduce los valores de la resistencia:");
for (I = 0; I <= 9; I++)
{
Console.WriteLine("Resistenca [{0}]:", I);
resistencia[I] = int.Parse(Console.ReadLine());
}
Console.WriteLine("Corriente\t\tResistencia\t\tVoltios");
for (I = 0; I <= 9; I++)
{
voltios[I] = corriente[I] * resistencia[I];
Console.WriteLine("{0}\t\t\t{1}\t\t\t{2}", corriente[I], resistencia[I], voltios[I]);
}
Console.ReadKey();
}
}
}























namespace practica9problema2vis
{
public partial class Form1 : Form
{
int[] corriente;
int[] resistencia;
int[] voltios;
int I;
public Form1()
{
InitializeComponent();
corriente = new int[10];
resistencia = new int[10];
voltios = new int[10];
I= 0;
}

private void button1_Click(object sender, EventArgs e)
{
if (I < 10)
{
corriente[I] = int.Parse(textBox1.Text);
resistencia[I] = int.Parse(textBox2.Text);
textBox1.Clear();
textBox1.Focus();
textBox2.Clear();
I++;

}
if (I == 10)
{
textBox1.Enabled = false;
button1.Enabled = false;
textBox2.Enabled = false;
button1.Enabled = false;
}

}



private void button3_Click(object sender, EventArgs e)
{
listBox1.Items.Add("Corriente\t\tResistencia\tVoltios");
for (I = 0; I <10; I++)
{
voltios[I] = corriente[I] * resistencia[I];
listBox1.Items.Add(""+corriente[I]+"\t\t"+resistencia[I]+"\t\t"+voltios[I]);

}
}

private void button4_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
listBox1.Items.Clear();
textBox1.Focus();
textBox1.Enabled = true;
button1.Enabled = true;
textBox2.Enabled = true;
button1.Enabled = true;



}

private void button5_Click(object sender, EventArgs e)
{
Close();
}



private void Form1_Load(object sender, EventArgs e)
{

}
}
}

miércoles, 14 de abril de 2010

practica 9 problema 1 consola y visual

Pseudocodigo
inicio
temp[10] int
total=0 int
I=0 int
Prom=0 int
Print "Introduce los siguientes elementos"
for (I=0 to 9 step I=I+1)
{
Print "temp", I
Read temp[I]
total=total + temp[I]
}
Prom = total/10
for (I=0 to 9 step I=I+1)
{
print=temp[I]
}
Print "Promedio", Prom
fin


CONSOLA

namespace practica9problema1
{
class Program
{
static void Main(string[] args)
{
int[] temp = new int[10];
int total = 0;
int I=0;
double promedio=0;
Console.WriteLine("Introduce los siguientes elementos:");

for (I = 0; I < 10; I = I + 1)
{
Console.WriteLine("\nTemperatura{0}:", I+1);
temp[I] = int.Parse(Console.ReadLine());
total = total + temp[I];
}
promedio = total / 10;
for (I = 0; I < 10; I = I + 1)
{
Console.WriteLine("\n{0}", temp[I]);
}
Console.WriteLine("\nPromedio es:{0}", promedio);
Console.ReadKey();



}
}
}

VISUAL

namespace practica9problema1vis
{
public partial class Form1 : Form
{
int[] temp;
int I, total, prom;

public Form1()
{
InitializeComponent();
temp=new int[10];
I = 0;
total = 0;
prom = 0;


}

private void button1_Click(object sender, EventArgs e)
{
if (I < 10)
{
temp[I] = int.Parse(textBox1.Text);
total = total + temp[I];
listBox1.Items.Add("Elemento" + I + " : " + temp[I]);
I++;
textBox1.Clear();
textBox1.Focus();
}
if (I == 10)
{
textBox1.Enabled = false;
button1.Enabled = false;
}

}

private void label1_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button2_Click(object sender, EventArgs e)
{
prom = total / 10;
listBox1.Items.Add("Promedio =" + prom);

}

private void button3_Click(object sender, EventArgs e)
{
Close();
}

private void button4_Click(object sender, EventArgs e)
{
I = 0;
textBox1.Enabled= true;
button1.Enabled= true;
listBox1.Items.Clear();


}
}
}