Programas en C#

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.