Corrección del examen
1.- Pasa de binario a decimal con una función recursiva.
modo profesor
using System;
namespace Examen
{
class MainClass
{
static double Adecimal(string n){
if ( (n.Length>0) && ((n[0])=='1') )
return Math.Pow(2,n.Length-1)+ Adecimal(n.Remove(0,1));
else if (n.Length !=0)
return Adecimal (n.Remove(0,1));
else
return 0;
}
public static void Main (string[] args)
{
Console.Write ("Introduce un valor en binario: ");
string n = Console.ReadLine ();
Console.Write ("El valor de {0} en decimal es: {1}",n,Adecimal(n));
Console.ReadKey();
}
}
}
2.- Realiza una función que calcule si un número es palíndromo. La función debe de ser recursiva.
Modo profesor
using System;
namespace Examen02
{
class MainClass
{
static bool Palindroma(string c){
if (c.Length < 2)
return true;
else
if (c [0] == c [c.Length - 1]) {
c=c.Remove (c.Length - 1, 1);//primero borra por el final para no afectar al tamaño
c=c.Remove (0,1);
return Palindroma (c);
}
else return false;
}
public static void Main (string[] args)
{
Console.Write ("Introduce un valor para ver si es palíndromo: ");
string c = Console.ReadLine ();
Console.Write ("¿es palíndroma?: {0}",Palindroma(c));
Console.ReadKey();
}
}
}
3.- rea el siguiente programa:
3.- rea el siguiente programa:
Modo profesor
using System;
namespace Examen03
{
class MainClass
{
public static void Main (string[] args)
{
string hueco = " ";
Console.Write ("Introduce el nivel de la pirámide: ");
int nivel = int.Parse (Console.ReadLine());
for (int i = 1; i <= nivel; i++) {
for (int j=i; j<nivel; j++)//para los huecos
Console.Write (hueco);
for (int k = 1; k <= i; k++)//para los números ascendente/
if (k==1)
Console.Write (i);
else Console.Write (k);
for (int l = i-1; l >= 1; l--)//para los números descendente/
if (l==1)
Console.Write (i);
else Console.Write (l);
}
Console.ReadKey();
}
}
}
4- Programa que calcula el mínimo común múltiple
Modo profesor
using System;
namespace Examen04
{
class MainClass
{
public static void Main (string[] args)
{
Console.Write("Ingrese el primer numero: ");
int num1 = int.Parse(Console.ReadLine());
Console.Write("Ingrese el segundo numero: ");
int num2 = int.Parse(Console.ReadLine());
// Seleccionamos el mayor entre num1 y num2
int mayor = Math.Max(num1, num2);
// Inicializamos la variable que almacenará el resultado
int mcm = 0;
for (int i=mayor; i<=num1*num2; i++) {
if (i%num1==0 && i%num2==0) {
mcm = i;
break;
}
}
// Mostramos el resultado en pantalla
Console.WriteLine("El m.c.m. entre "+num1+" y "+num2+" es: "+mcm);
Console.ReadKey();
}
}
}
5- Crea la siguiente pirámide pascal:
Modo profesor
using System;
namespace Examen05
{
class MainClass
{
static void PiramidePascal(int c, int[,] matriz){
string hueco = " ";
for (int i = 0; i < c; i++) {
for (int j = i; j < c; j++)//para los huecos
Console.Write (hueco);
for (int j = 0; j <= i; j++)
//imprimos los valores de la matriz
Console.Write (matriz [i, j] + " ");
Console.WriteLine ();
}
}
public static void Main (string[] args)
{
Console.Write ("Introduce la cantidad de niveles: ");
int c = int.Parse (Console.ReadLine());
int [,]matriz=new int[c,c];
for (int i=0; i<c; i++)//la columna 0 de 1's
matriz [i, 0] = 1;
for (int i = 1; i < c; i++)//la diagonal de 1¡s
matriz [i, i] = 1;
for (int i=2; i<c;i++)
for (int j=1; j<i;j++)
matriz[i,j]=matriz[i-1,j]+matriz[i-1,j-1];
PiramidePascal (c,matriz);
Console.ReadKey();
}
}
}
0 comentarios:
Publicar un comentario