Programas en C#

Tuesday, March 20, 2007

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

namespace ConsoleApplication1
{

class Persona
{
public string Nombre;
public int Edad;
public string NIF;

public void Cumpleaños()
{
Edad++;
}
public Persona(string nombre, int edad, string nif)
{
Nombre = nombre;
Edad = edad;
NIF = nif;
}
}

class Trabajador : Persona
{

public int Sueldo;
public Trabajador(string nombre, int edad, string nif, int sueldo)
: base(nombre, edad, nif)
{
Sueldo = sueldo;
}

}




class Program
{


static void vertrabajador(Trabajador p)
{

Console.WriteLine("NOMBRE-->" + p.Nombre);
Console.WriteLine("EDAD---->" + p.Edad);
Console.WriteLine("NIF----->" + p.NIF);
Console.WriteLine("SUELDO-->" + p.Sueldo);
}

static void creartrabajadores(Trabajador[] ListaT)
{

for (int i = 0; i < ListaT.Length; i++)
{

Console.WriteLine("Escriba el nombre del trabajador");
string nombre = Console.ReadLine();
Console.WriteLine("Escriba la edad");
int edad = Int32.Parse(Console.ReadLine());
Console.WriteLine("Escriba el NIF");
string nif = Console.ReadLine();
Console.WriteLine("");
ListaT[i] = new Trabajador(nombre, edad, nif, 1000);
vertrabajador(ListaT[i]);
}
}

static void Main(string[] args)
{
Trabajador[] ListaT = new Trabajador[3];

int menu = 0;

while (menu != 4)
{
Console.WriteLine("1.Crear Objetos");
Console.WriteLine("2.Acceder Posición Objetos");
Console.WriteLine("3.Borrar Objetos");
Console.WriteLine("4.Salir");

menu = Int32.Parse(Console.ReadLine());
if (menu == 1) { creartrabajadores(ListaT); }

}

}
}
}

Labels:

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

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int dim = 10;
int[,] tabla = new int[dim,dim];
int[,] tabla1 = new int[dim,dim];
int menu = 0;
while (menu != 5)
{
Console.WriteLine(" ------------------");
Console.WriteLine("| 1.Crear Tabla |");
Console.WriteLine("| 2.Jugar |");
Console.WriteLine("| 3.Crear Tabla 3 |");
Console.WriteLine("| 4.Solucion |");
Console.WriteLine("| 5.Salir |");
Console.WriteLine(" ------------------");
menu = Int32.Parse(Console.ReadLine());
if (menu == 1)
{
crear3(tabla);
crear2(tabla);
crear(tabla);

}
if (menu == 2)
{
jugar(tabla1, tabla);
}
if (menu == 3)
{
crear3(tabla);
}
if (menu == 4)
{
mostrartabla(tabla);

}
}

}
public static void crear(int[,] tabla)
{
int fila = 0, columna = 0;
int barcos = 0;
Random x = new Random();



while (barcos < 5)
{
fila = x.Next(5);
columna = x.Next(5);

if (tabla[fila, columna] == 0)
{
tabla[fila, columna] = 1;
barcos++;
}

}
}
public static void crear2(int[,] tabla)
{
int dim = 10;
int f = 0, c = 0,f1=0,c1=0,r=0;
int barcos = 0;
Random x = new Random();


while (barcos < 4)
{

f = x.Next(dim);
c = x.Next(dim);
r = x.Next(3) - 1;

f1 = f + r ;
r = x.Next(3) - 1;
c1 = c + r ;

while ((f1 > 9) || (c1 > 9) || (f1 < 0) || (c1 < 0) || ((f1 == f) && (c1 == c)) || (tabla[f1, c1] == 1))
{
f = x.Next(dim);
c = x.Next(dim);
r = x.Next(3) - 1;

f1 = f + r ;
r = x.Next(3) - 1;
c1 = c + r ;


}
tabla[f, c] = 1;
tabla[f1, c1] = 1;
barcos++;



}
}
public static void crear3(int[,] tabla)
{

int dim = 10;
int f = 0, c = 0;
int barcos = 0, dir = 0;
Random x = new Random();



while (barcos < 3)
{

f = x.Next(dim);
c = x.Next(dim);
dir = x.Next(3);



if ((dir == 0) && (f>=0)&&(c<=9)&&(f+1<=9)&&(f+2<=9)&&(c>=0)&&(c+1>=0)&&(c+1<=9)&&(c+2>=0)&&(c+2<=9)&&(tabla[f, c] == 0) && (tabla[f + 1, c + 1] == 0) && (tabla[f + 2, c + 2] == 0))
{
tabla[f, c] = 1;
tabla[f + 1, c + 1] = 1;
tabla[f + 2, c + 2] = 1;
barcos++;

}
if ((dir == 1) && (f >= 0) && (c <= 9) && (f + 1 >= 0) && (f + 1 <= 9) && (f + 2 >= 0) && (f + 2 <=9)&&(c>=0) && (tabla[f, c] == 0) && (tabla[f + 1, c] == 0) && (tabla[f + 2, c] == 0))
{
tabla[f, c] = 1;
tabla[f + 1, c] = 1;
tabla[f + 2, c] = 1;
barcos++;
}
if ((dir == 2) && (f >= 0) && (c <= 9) && (f - 1 >= 0) && (f - 1 <= 9) && (f - 2 >= 0) && (f - 2 <= 9) && (c >= 0) && (c - 1 >= 0)&&(c - 1 <= 9)&& (c - 2 >= 0)&&(c - 2 <= 9)&&(tabla[f, c] == 0) && (tabla[f - 1, c - 1] == 0) && (tabla[f - 2, c - 2] == 0))
{
tabla[f, c] = 1;
tabla[f-1, c ] = 1;
tabla[f-2, c ] = 1;
barcos++;
}
if ((dir == 3) && (f >= 0) && (c <= 9) && (c + 1 >= 0) && (c + 1 <= 9) && (c + 2 >= 0) && (c + 2 <= 9) && (c >= 0) && (c + 1 >= 0) && (c + 1 <= 9) &&(tabla[f, c] == 0) && (tabla[f, c + 1] == 0) && (tabla[f, c + 2] == 0))
{
tabla[f, c] = 1;
tabla[f, c + 1] = 1;
tabla[f, c + 2] = 1;
barcos++;
}


}
}

public static void mostrar(int[,] tabla1, int[,] tabla)
{

Console.WriteLine("------MOSTRAR TABLA------");

for (int f = 0; f < tabla.GetLength(0); f++)
{
for (int c = 0; c < tabla.GetLength(1); c++)
{
if (tabla1[f, c] == 1)
Console.Write(tabla[f, c]);
else
Console.Write("X");


}

Console.WriteLine();



}
}
public static void jugar(int[,] tabla1, int[,] tabla)
{
int fila = 0; int columna = 0;
int barcos = 0;
int intentos = 0;
while (barcos < 6)
{
Console.Write("Posición fila?");
fila = Int32.Parse(Console.ReadLine());
Console.Write("Posición columna?");
columna = Int32.Parse(Console.ReadLine());


tabla1[fila, columna] = 1;

if (tabla[fila, columna] == 1)
{
barcos++;
}


mostrar(tabla1, tabla);
intentos++;
Console.WriteLine("-------------------------");
Console.WriteLine("Llevas | {0} | Intentos",intentos);
Console.WriteLine("-------------------------");
Console.WriteLine();
}
Console.WriteLine("Ha Hundido la flota");

}
public static void mostrartabla(int[,] t)
{

Console.WriteLine("MOSTRAR TABLA");

for (int f = 0; f < t.GetLength(0); f++)
{
for (int c = 0; c < t.GetLength(1); c++)
{
Console.Write(t[f, c]);
}
Console.WriteLine();
}
}
}
}

Labels:

Monday, January 08, 2007

versión del ejercicio 4, usando recursividad.

ejemplo: escribe(5,5);

public static void escribe(int a, int b)
{
if ((a > 0) && (b > 1))
{
for (int i = a; i >= 1; i--) Console.Write(i);
Console.WriteLine();
escribe(a - 1, b);
if (a != 1)
{
for (int i = a; i >= 1; i--) Console.Write(i);
Console.WriteLine();
}
}
}

Tuesday, December 19, 2006

Examen final de FP
Primera parte: Escrito. 5 puntos

1. (1 punto) Describe el objetivo del siguiente programa
#include
Public static void main(){
int a,b,c=1;
Console.WriteLine("Introduzca dos números: ");
a= Int32.Parse(Console.ReadLine(a));
b= Int32.Parse(Console.ReadLine(a));
while (b>0)
{
c=c*a;
b=b-1;
}
Console.WriteLine("El resultado es: {0}", c);
}

2. (2 puntos) Construid un programa en C# que dado el siguiente array de 10 elementos:
4, 5, 23, 2, 20, 15, 123, 234, 101, 1
que representa el peso de distinto objetos en kilos, lo actualice teniendo en cuenta que cada objeto aumenta de peso en una cantidad igual a la posición que ocupa en el vector. Por ejemplo, el objeto que pesa 23 kilos, pasará a pesar 26 kilos. (2 puntos)

3. (3 puntos)Realizar un programa en pseudocodigo C# para la gestión de notas. Requisitos:- Introducción de una lista de notas de alumnos sin saber el número de alumnos a priori, se mantendra una array que llamareis ListaNotas-Crear un método para mostar arrays- Crear un método para calcular la media del grupo de notas.- Crear un método que muestre la nota mayor- Crear un método que muestre la menor- Crear un método para modificar el valor de una nota, por ejemplo modificar(ListaNotas, 13,7), significa, cambiar la posición 13 del array ListaNotas, por el valor 7.

Segunda parte: Con ordenador. 5 puntos

4. (2.5 puntos)Construid el programa en C# de un algoritmo que, utilizando estructuras repetitivas (bucles), muestre lo siguiente por pantalla:
5 4 3 2 1 (2 puntos)
4 3 2 1
3 2 1
2 1
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1

5. (2.5 puntos)Realizar un programa en C# que permita calcular el área de las siguientes figuras geométricas: Circulo, cuadrado, triángulo.
- el programa pedirá el tipo de figura
- los datos necesarios para cálcular el área
- llamará a un método que resolverá el área.

Thursday, December 14, 2006

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

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//int n, b;
string s;
Console.WriteLine("Escriba el numero en binario");
s = Console.ReadLine();

Console.WriteLine("El numero en octal es {0}",PasarBinBasex(s,8));
Console.WriteLine("El numero en hexadecimal es {0}", PasarBinBasex(s, 16));
Console.WriteLine("El numero en decimal es {0}", PasarBinBasex(s, 10));

/*Console.WriteLine("Escriba un numero");
n = Int32.Parse(Console.ReadLine());
Console.WriteLine("a que base(2,8,16)");
b = Int32.Parse(Console.ReadLine());

Console.WriteLine("el valor en base {0} es {1}",b,PasarDecBasex(n,b));
*/


}
static string PasarBinBasex(string s, int b)
{
string resultado="";
switch (b)
{
case 10: resultado =""+ PasarBinDec(s); break;
case 8: resultado = PasarDecBasex(PasarBinDec(s), b); break;
case 16: resultado = PasarDecBasex(PasarBinDec(s), b); break;
}
Console.WriteLine("{0}", resultado);
return resultado;
}
static string PasarDecBasex(int n, int b)
{
int cociente, resto;
string resultado = "";
cociente = n;
resto = 0;
while (cociente >= b)
{
resto = cociente % b;

cociente = cociente / b;

switch (resto)
{
case 1: resultado = "1" + resultado; break;
case 2: resultado = "2" + resultado; break;
case 3: resultado = "3" + resultado; break;
case 4: resultado = "4" + resultado; break;
case 5: resultado = "5" + resultado; break;
case 6: resultado = "6" + resultado; break;
case 7: resultado = "7" + resultado; break;
case 8: resultado = "8" + resultado; break;
case 9: resultado = "9" + resultado; break;
case 10: resultado = "A" + resultado; break;
case 11: resultado = "B" + resultado; break;
case 12: resultado = "C" + resultado; break;
case 13: resultado = "D" + resultado; break;
case 14: resultado = "E" + resultado; break;
case 15: resultado = "F" + resultado; break;
case 0: resultado = "0" + resultado; break;
}
Console.WriteLine("cociente={0} resto={1} resultado {2}", cociente, resto, resultado);
}
Console.WriteLine("cociente={0} resto={1} resultado {2}", cociente, resto, resultado);
switch (cociente)
{
case 1: resultado = "1" + resultado; break;

case 2: resultado = "2" + resultado; break;
case 3: resultado = "3" + resultado; break;
case 4: resultado = "4" + resultado; break;
case 5: resultado = "5" + resultado; break;
case 6: resultado = "6" + resultado; break;
case 7: resultado = "7" + resultado; break;
case 8: resultado = "8" + resultado; break;
case 9: resultado = "9" + resultado; break;
case 10: resultado = "A" + resultado; break;
case 11: resultado = "B" + resultado; break;
case 12: resultado = "C" + resultado; break;
case 13: resultado = "D" + resultado; break;
case 14: resultado = "E" + resultado; break;
case 15: resultado = "F" + resultado; break;
case 0: resultado = "0" + resultado; break;
}
Console.WriteLine("cociente={0} resto={1} resultado {2}", cociente, resto, resultado);

return resultado;




}
static int PasarBinDec(string s)
{



double suma;

suma = 0;
for (int i = 0; i < s.Length; i++)
{
suma = suma + ((int)s[i] - (int)'0') * Math.Pow(2, s.Length - 1 - i);

}
return (int)suma;
}
}
}

Monday, December 04, 2006

Crear un programa que permita pasar un número dado en una base cualquiera (binario, octal . decimal, hexadecimal, .... ) y devuelva el valor en el resto de bases.

Monday, November 27, 2006

Realizar un ejercicio para la gestión de notas. Requisitos:
- Introducción de una lista de notas de alumnos sin saber el número de alumnos a priori, se mantendra una array que llamareis ListaNotas
-Crear un método para mostar arrays
- Crear un método para calcular la media del grupo de notas.
- Crear un método que muestre la nota mayor
- Crear un método que muestre la menor
- Crear un método para modificar el valor de una nota, por ejemplo modificar(ListaNotas, 13,7), significa, cambiar la posición 13 del array ListaNotas, por el valor 7.

Uso de Arrays

using System;
using System.Collections;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ArrayList edades = new ArrayList();
Console.WriteLine("Introducir edades");
meter(edades);
edades[3] = 99;
mostrar(edades);
}
static void meter(ArrayList lista)
{
int valor;
Console.WriteLine("Introduce un valor= ");
valor= Int32.Parse(Console.ReadLine());
while (valor!=0){
lista.Add(valor);
Console.WriteLine("Introduce un valor= ");
valor= Int32.Parse(Console.ReadLine());
}
}
static void mostrar(ArrayList lista)
{
Console.WriteLine("mostrar array");
for (int i = 0; i < lista.Count; i++)
{
Console.WriteLine(lista[i]);
}
}
}
}

Monday, November 20, 2006

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

namespace ej3
{
class Program
{
static void Main(string[] args)
{
int n;

Console.WriteLine("Escriba un numero");
n = Int32.Parse(Console.ReadLine());
if ((n % 2 == 0)||(n%5==0))
Console.WriteLine("El numero es multiplo de 2 y de 5");
else
Console.WriteLine("No es multiplo de 2 y de 5");



}

}
}

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

namespace ej8
{
class Program
{
static void Main(string[] args)
{
string a,m;

Console.WriteLine("Escriba el nombre o numero del mes que quiere saber los dias que tiene");
m = (Console.ReadLine());
Console.WriteLine("El año es bisiesto?:si/no");
a = (Console.ReadLine());
if ((m =="enero")||(m =="1"))
Console.WriteLine("31 Dias");
if ((m == "febrero") && (a == "si")||(m =="2"))
Console.WriteLine("29 Dias");
if ((m == "febrero") && (a == "no")||(m =="2"))
Console.WriteLine("28 Dias");
if ((m == "marzo")||(m =="3"))
Console.WriteLine("31 Dias");
if ((m == "abril")||(m =="4"))
Console.WriteLine("30 Dias");
if ((m == "mayo")||(m =="5"))
Console.WriteLine("31 Dias");
if ((m == "junio")||(m =="6"))
Console.WriteLine("30 Dias");
if ((m == "julio")||(m =="7"))
Console.WriteLine("31 Dias");
if ((m == "agosto")||(m =="8"))
Console.WriteLine("31 Dias");
if ((m == "septiembre")||(m =="9"))
Console.WriteLine("30 Dias");
if ((m == "octubre")||(m =="10"))
Console.WriteLine("31 Dias");
if ((m == "noviembre")||(m =="11"))
Console.WriteLine("30 Dias");
if ((m == "diciembre") || (m == "12"))
Console.WriteLine("31 Dias");







}
}
}

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

namespace ej7
{
class Program
{
static void Main(string[] args)
{
double n;
Console.WriteLine("Escriba su nota");
n = double.Parse(Console.ReadLine());
if (n < 5)
Console.WriteLine("Suspenso");
else
if ((n>=5)&&(n<7))
Console.WriteLine("Aprobado");
else
if((n>=7)&&(n<9))
Console.WriteLine("Notable");
else
if((n>=9)&&(n<10))
Console.WriteLine("Sobresaliente");
else
if (n == 10)
Console.WriteLine("Matricula");
else
{ }


}
}
}

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


namespace ej5
{
class Program
{
static void Main(string[] args)
{
double a, b, c;

Console.WriteLine("Escriba el primer valor");
a = Double.Parse(Console.ReadLine());
Console.WriteLine("Escriba el segundo valor");
b = Double.Parse(Console.ReadLine());
Console.WriteLine("Escriba el tercer valor");
c = Double.Parse(Console.ReadLine());

if ((a > b)&&(a>c))
Console.WriteLine("{0} es el mayor",a);
else
Console.WriteLine("{0} es el menor", a);
if (( b>a )&&(b>c))
Console.WriteLine("{0} es el mayor",b);
else
Console.WriteLine("{0} es el menor", b);
if ((c > a) && (c > b))
Console.WriteLine("{0} es el mayor", c);
else
Console.WriteLine("{0} es el menor", c);





}
}
}

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

namespace ej4
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();

int aleat2, a;

Console.WriteLine("Cuanto quiere apostar?");
a = Int32.Parse(Console.ReadLine());

Console.WriteLine("Pulsar p para tirar");
while (Console.ReadLine() == "p")
{
aleat2 = r.Next(2);
if (aleat2 == 0)
{
a = a * 2;
Console.WriteLine("CARA,Ha ganado{0}", a);
Console.WriteLine("Pulsar p para tirar");

}
else

Console.WriteLine("CRUZ,Ha perdido");



}



}
}
}

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

namespace ej3
{
class Program
{
static void Main(string[] args)
{
double n;

Console.WriteLine("Que nota ha sacado?");
n = double.Parse(Console.ReadLine());
if (n < 5)
Console.WriteLine("No Apto");
else
Console.WriteLine("Apto");


}
}
}

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

namespace ej2
{
class Program
{
static void Main(string[] args)
{
int n;

Console.WriteLine("Escriba un numero");
n = Int32.Parse(Console.ReadLine());
if (n % 2==0)
Console.WriteLine("El numero es par");
else
Console.WriteLine("El numero es impar");


}
}
}

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

namespace ej-1
{
class Program
{
static void Main(string[] args)
{
double a, b;


Console.WriteLine("Escriba el primer numero");
a=double.Parse(Console.ReadLine());
Console.WriteLine("Escriba el segundo numero");
b=double.Parse(Console.ReadLine());
if(a>b)
Console.WriteLine("{0} es mayor",a);
if(a Console.WriteLine("{0} es mayor",b);
if(a==b)
Console.WriteLine("{0} y {1} son iguales", a,b);


}



}
}

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

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

Random r = new Random();

int aleat2, n;
aleat2 = r.Next(100);
Console.WriteLine(aleat2);
Console.WriteLine("Escriba un número");
n = Int32.Parse(Console.ReadLine());


while (aleat2 < n)
{
Console.WriteLine("el numero es menor");
n = Int32.Parse(Console.ReadLine());

}
while (aleat2 > n)
{
Console.WriteLine("el numero es mayor");
n = Int32.Parse(Console.ReadLine());
}
if(aleat2 == n)
Console.WriteLine("Acertaste el numero");

for (n = 1; n < 100; n++)
{
Console.WriteLine(n);
}


}





}
}

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

namespace ej9_9
{
class Program
{
static void Main(string[] args)
{
int x;
char a;

Console.WriteLine("Escriba un numero entre el 0 y el 127 para pasarlo a codigo ASCII");
x = Int32.Parse(Console.ReadLine());
a = (char)x;
if ((x >= 0) || (x <= 127)) ;
{

Console.WriteLine("Codigo ASCII {0}", a);
}

}
}
}

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

namespace ej7_7
{
class Program
{
static void Main(string[] args)
{
int positivos, negativos, num;

positivos = 0;
negativos = 0;
Console.WriteLine("Escriba un numero,para saber el numero de positivos y negativos que lleva pulse 0 ");
num = Int32.Parse(Console.ReadLine());

while (num != 0)
{

if (num < 0)
{
negativos++;
Console.WriteLine("Escriba un numero,para saber el numero de positivos y negativos que lleva pulse 0 ");
num = Int32.Parse(Console.ReadLine());
}

else
{
positivos++;
Console.WriteLine("Escriba un numero,para saber el numero de positivos y negativos que lleva pulse 0 ");
num = Int32.Parse(Console.ReadLine());
}

}
if (num == 0)

Console.WriteLine("Son {0} numeros positivos", positivos);
Console.WriteLine("Son {0} numeros negativos", negativos);





}
}
}

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

namespace ej5-5
{
class Program
{
static void Main(string[] args)
{
float media, num, suma, numval;
media = 0;
numval = 0;
num = 0;
suma = 0;
Console.WriteLine("Escriba los numeros");
num = float.Parse(Console.ReadLine());

while (num > 0)
{
numval++;
suma = suma + num;
Console.WriteLine("Escriba un numero");
num = float.Parse(Console.ReadLine());
}
if (num < 0)

media = suma / numval;
Console.WriteLine("El promedio es {0}", media);


}
}
}

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

namespace ej3_3
{
class Program
{
static void Main(string[] args)
{
string c, p;
int i;

p = "pepe";
i = 0;
Console.WriteLine("Escriba la contraseña");
c = (Console.ReadLine());

while ((i < 2) && (c != p))
{

Console.WriteLine("Contraseña Incorrecta");
i += 1;
Console.WriteLine("Tiene otro intento");
c = (Console.ReadLine());

}

if ((i < 3) && (c == p))

Console.WriteLine("Enhorabuena");


}
}
}