Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Security.AccessControl;
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Diagnostics;
- using System.Runtime.InteropServices;
- using System.Threading;
- class Program{
- static void Main(string[] args){
- long opcion1=0, opcion2=0, opcion3=0, num1=0, num2=0, num3=0, num4=0, num5=0, opcioniva=0;
- double numero1, numero2=0, numero3=0, numero4=0, numero5=0, res=0, PI=3.14159265;
- double version=0.8;
- string cad1, cad2;
- Stopwatch Tiempo = new Stopwatch();
- String nomfichero="Resultado.txt";
- Console.Title = "Calc Don 0.8";
- do{
- Console.Clear();
- Console.WriteLine(" ______ _______ _ ______ ______ ______ _ _ ");
- Console.WriteLine(" | ____| | ___ | | | | ____| | __ \\ | __ | | \\ | | ");
- Console.WriteLine(" | | | | | | | | | | | | \\ | | | | | | \\ | | ");
- Console.WriteLine(" | | | |___| | | | | | | | | | | | | | | \\ | | ");
- Console.WriteLine(" | |____ | | | | | |____ | |____ | |_ / / | |__| | | |\\ \\| | ");
- Console.WriteLine(" |______| |_| |_| |______| |______| |_____/ |______| |_| \\___| \n");
- Console.WriteLine(" ==============================================================================\n");
- Console.WriteLine("\t\t\t###############################");
- Console.WriteLine("\t\t\t# #");
- Console.WriteLine("\t\t\t# Selecciona una categoría: #");
- Console.WriteLine("\t\t\t# #");
- Console.WriteLine("\t\t\t# (1) Básico #");
- Console.WriteLine("\t\t\t# (2) Trigonometría #");
- Console.WriteLine("\t\t\t# (3) Avanzado #");
- Console.WriteLine("\t\t\t# (4) Opciones #");
- Console.WriteLine("\t\t\t# (5) Acerca de... #");
- Console.WriteLine("\t\t\t# (6) Salir #");
- Console.WriteLine("\t\t\t# Versión "+version+" #");
- Console.WriteLine("\t\t\t# #");
- Console.WriteLine("\t\t\t###############################");
- string FileName = @"c:\MyTest.txt";
- Console.WriteLine("Encrypt " + FileName);
- // Encrypt the file.
- AddEncryption(FileName);
- Console.WriteLine("Decrypt " + FileName);
- // Decrypt the file.
- RemoveEncryption(FileName);
- Console.WriteLine("Done");
- //Animacion de transicción
- for(int i=0; i<=79; i++){
- Console.Write("_");
- }
- for(int i=0; i<=79; i++){
- Console.Write("=");
- Thread.Sleep(12);
- }
- Console.Write(">>> ");
- opcion1=long.Parse(Console.ReadLine());
- switch(opcion1){
- case 1:
- do{
- Console.Clear();
- Console.Write("\n Elije la operación a realizar:\t\t\t\t\t Volver(0)");
- Console.Write("\n -------------------------------\n\n");
- Console.Write(" ####################################\n");
- Console.Write(" # #\n");
- Console.Write(" # 1-Suma y Resta\t5-Potencia #\n");
- Console.Write(" # 2-Multiplicación\t6-Logaritmo #\n");
- Console.Write(" # 3-División\t\t7-Factorial #\n");
- Console.Write(" # 4-Raíz #\n");
- Console.Write(" # #\n");
- Console.Write(" ####################################\n\n");
- Console.Write(" Elección>>> ");
- opcion2=long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion2){
- case 1:
- long muestra, cantidadNum=0;
- double[] cadena=new double[cantidadNum];
- string fichero11 = nomfichero;
- StreamWriter log11 = File.AppendText(fichero11);
- log11.WriteLine("Suma y Resta\n");
- log11.WriteLine("----------------------\n\n");
- log11.WriteLine("\nLos números introducidos son:");
- log11.WriteLine();
- Console.Write("\nIntroduce cuantos números quieres calcular: ");
- cantidadNum=long.Parse(Console.ReadLine());
- while(cantidadNum<=0){
- Console.Clear();
- Console.Write("\nIntroduce cuantos números quieres calcular: "+cantidadNum+"\n\n");
- Console.Write("Error, introduce un número mayor que cero: ");
- cantidadNum=long.Parse(Console.ReadLine());
- }
- Console.Clear();
- Console.Write("\nIntroduce cuantos números quieres calcular: "+cantidadNum+"\n");
- Console.Write("\nIntroduce los números:\n\n");
- for(int i=0;i<cantidadNum;i++){
- muestra=i+1;
- Console.Write("Valor "+muestra+" >>> ");
- numero1=double.Parse(Console.ReadLine());
- log11.WriteLine("Valor "+muestra+" >>> "+numero1);
- numero2=numero2+numero1;
- }
- Console.Write("\n\nEl resultado de la operación es "+numero2);
- log11.WriteLine();
- log11.WriteLine("\nEl resultado de la operación es "+numero2);
- log11.WriteLine();
- log11.Close();
- Console.ReadKey();
- break;
- case 2:
- string fichero12 = nomfichero;
- StreamWriter log12 = File.AppendText(fichero12);
- log12.WriteLine("Multiplicación");
- log12.WriteLine("---------------------");
- Console.Write("\nIntroduce el primer multiplicante:\t");
- numero1=double.Parse(Console.ReadLine());
- Console.Write("Introduce el segundo multiplicante :\t");
- numero2=double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+(numero1*numero2));
- log12.WriteLine(numero1+" x "+numero2+" = "+(numero1*numero2));
- log12.WriteLine();
- log12.Close();
- Console.ReadKey();
- break;
- case 3:
- string fichero13 = nomfichero;
- StreamWriter log13 = File.AppendText(fichero13);
- log13.WriteLine("División");
- log13.WriteLine("------------");
- Console.Write("\nIntroduce el dividendo(numero entero):\t"); //Dividendo=num1 Divisor=num2 Cociente=num3 Resto=num4
- num1=int.Parse(Console.ReadLine());
- Console.Write("Introduce el divisor(numero entero):\t");
- num2=int.Parse(Console.ReadLine());
- while(num2<=0){
- Console.Clear();
- Console.Write("\nIntroduce el dividendo(numero entero):\t"+num1+"\n");
- Console.Write("Introduce el divisor(numero entero):\t"+num2+"\n");
- Console.Write("\nError, elige un divisor mayor que cero: ");
- num2=int.Parse(Console.ReadLine());
- }
- num3=num1/num2; //cociente=dividendo/divisor;
- num4=num1-(num3*num2); //resto=dividendo-(cociente*divisor);
- Console.Write("\nEl cociente es: "+num3+"\nEl resto es: "+num4);
- log13.WriteLine("Dividendo >>> "+num1);
- log13.WriteLine("Divisor >>> "+num2);
- log13.WriteLine("Cociente >>> "+num3);
- log13.WriteLine("Resto >>> "+num4);
- log13.WriteLine();
- log13.Close();
- Console.ReadKey();
- break;
- case 4:
- string fichero14 = nomfichero;
- StreamWriter log14 = File.AppendText(fichero14);
- log14.WriteLine("Raíz");
- log14.WriteLine("-------");
- Console.Write("\nIntroduce el número del cual deseas sacar la raíz:\t");
- numero1=double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+(Math.Sqrt(numero1)));
- log14.WriteLine("La raíz cuadrada de "+numero1+" es "+(Math.Sqrt(numero1)));
- log14.WriteLine();
- log14.Close();
- Console.ReadKey();
- break;
- case 5:
- string fichero15 = nomfichero;
- StreamWriter log15 = File.AppendText(fichero15);
- log15.WriteLine("Potencia");
- log15.WriteLine("-------------");
- Console.Write("\nIntroduce la base:\t");
- numero1=double.Parse(Console.ReadLine());
- Console.Write("Introduce el exponente:\t");
- numero2=double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Pow(numero1,numero2));
- log15.WriteLine("El numero "+numero1+" elevado a "+numero2+" es "+Math.Pow(numero1,numero2));
- log15.WriteLine();
- log15.Close();
- Console.ReadKey();
- break;
- case 6:
- string fichero16 = nomfichero;
- StreamWriter log16 = File.AppendText(fichero16);
- log16.WriteLine("Logaritmo");
- log16.WriteLine("-------------");
- Console.Write("\nIntroduce el número (base 10 por defecto):\t");
- numero1=double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Log10(numero1));
- log16.WriteLine("El logaritmo de "+numero1+" en base 10 es "+Math.Log10(numero1));
- log16.WriteLine();
- log16.Close();
- Console.ReadKey();
- break;
- case 7:
- int fact=1;
- string fichero17 = nomfichero;
- StreamWriter log17 = File.AppendText(fichero17);
- log17.WriteLine("Factorial");
- log17.WriteLine("--------------");
- Console.Write("\nIntroduce un número:\t");
- num1=int.Parse(Console.ReadLine());
- for(int i=2; i<=num1; i++){
- fact = fact * i;
- }
- Console.Write("Su factorial es:\t"+fact);
- log17.WriteLine("El factorial de "+num1+" es "+fact);
- log17.WriteLine();
- log17.Close();
- Console.ReadKey();
- break;
- }
- }while(opcion2!=0);
- break;
- case 2:
- do{
- Console.Clear();
- Console.Write("\n Elije la operación a realizar:\t\t\t\t\t Volver(0)");
- Console.Write("\n -------------------------------\n\n");
- Console.Write(" ##########################################################\n");
- Console.Write(" # #\n");
- Console.Write(" # 1-Seno\t4-Cosecante\t7-Área de un triangulo #\n");
- Console.Write(" # 2-Coseno\t5-Secante\t8-Angulos de un triangulo #\n");
- Console.Write(" # 3-Tangente\t6-Cotangente #\n");
- Console.Write(" # #\n");
- Console.Write(" ##########################################################\n\n");
- Console.Write(" Elección>>> ");
- opcion2 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion2){
- case 1:
- string fichero21 = nomfichero;
- StreamWriter log21 = File.AppendText(fichero21);
- Console.Write("\nIntroduce el número a hallar el seno:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Sin(numero1));
- log21.WriteLine("Seno");
- log21.WriteLine("--------");
- log21.WriteLine("El seno de "+numero1+" es "+Math.Sin(numero1));
- log21.WriteLine();
- log21.Close();
- Console.ReadKey();
- break;
- case 2:
- string fichero22 = nomfichero;
- StreamWriter log22 = File.AppendText(fichero22);
- Console.Write("\nIntroduce el número a hallar el coseno:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Cos(numero1));
- log22.WriteLine("Coseno");
- log22.WriteLine("--------");
- log22.WriteLine("El coseno de "+numero1+" es "+Math.Cos(numero1));
- log22.WriteLine();
- log22.Close();
- Console.ReadKey();
- break;
- case 3:
- string fichero23 = nomfichero;
- StreamWriter log23 = File.AppendText(fichero23);
- Console.Write("\nIntroduce el número a hallar el tangente:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Tan(numero1));
- log23.WriteLine("Tangente");
- log23.WriteLine("--------");
- log23.WriteLine("La tangente de "+numero1+" es "+Math.Tan(numero1));
- log23.WriteLine();
- log23.Close();
- Console.ReadKey();
- break;
- case 4:
- string fichero24 = nomfichero;
- StreamWriter log24 = File.AppendText(fichero24);
- Console.Write("\nIntroduce el número a hallar el cosecante:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Asin(numero1));
- log24.WriteLine("Cosecante");
- log24.WriteLine("--------");
- log24.WriteLine("La cosecante de "+numero1+" es "+Math.Asin(numero1));
- log24.WriteLine();
- log24.Close();
- Console.ReadKey();
- break;
- case 5:
- string fichero25 = nomfichero;
- StreamWriter log25 = File.AppendText(fichero25);
- Console.Write("\nIntroduce el número a hallar el secante:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Acos(numero1));
- log25.WriteLine("Secante");
- log25.WriteLine("--------");
- log25.WriteLine("La secante de "+numero1+" es "+Math.Acos(numero1));
- log25.WriteLine();
- log25.Close();
- Console.ReadKey();
- break;
- case 6:
- string fichero26 = nomfichero;
- StreamWriter log26 = File.AppendText(fichero26);
- Console.Write("\nIntroduce el número a hallar el cotangente:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nEl resultado es: "+Math.Atan(numero1));
- log26.WriteLine("Cotangente");
- log26.WriteLine("--------");
- log26.WriteLine("La cotangente de "+numero1+" es "+Math.Atan(numero1));
- log26.WriteLine();
- log26.Close();
- Console.ReadKey();
- break;
- case 7:
- string fichero27 = nomfichero;
- StreamWriter log27 = File.AppendText(fichero27);
- Console.Write("\nIntroduce la base:\t"); numero1 = double.Parse(Console.ReadLine());
- Console.Write("\nIntroduce la altura:\t"); numero2 = double.Parse(Console.ReadLine());
- res=numero1*numero2/2;
- Console.Write("\nEl área del triangulo es "+res);
- log27.WriteLine("Área del triángulo");
- log27.WriteLine("---------------------------");
- log27.WriteLine("Para la base"+numero1+" y la altura "+numero2+", el área es "+res);
- log27.WriteLine();
- log27.Close();
- Console.ReadKey();
- break;
- case 8:
- double a, b, c, A, B, C;
- string fichero28 = nomfichero;
- StreamWriter log28 = File.AppendText(fichero28);
- Console.Write("Introduce el lado a: "); a = double.Parse(Console.ReadLine());
- Console.Write("Introduce el lado b: "); b = double.Parse(Console.ReadLine());
- Console.Write("Introduce el lado c: "); c = double.Parse(Console.ReadLine());
- log28.WriteLine("Conocer ángulos de un triángulo");
- log28.WriteLine("-----------------------------------------------");
- log28.WriteLine("Si el lado A es "+a+", el B es "+b+" y el C "+c+"...");
- log28.WriteLine();
- A = Math.Acos((b*b+c*c-a*a)/(2*b*c))*180/PI;
- B = Math.Acos((a*a+c*c-b*b)/(2*a*c))*180/PI;
- C = Math.Acos((a*a+b*b-c*c)/(2*a*b))*180/PI;
- if(A == 90 || B == 90 || C == 90){
- Console.Write("\nEl triángulo es rectángulo");
- log28.WriteLine("El triángulo es rectángulo");
- }
- if(A < 90 && B < 90 && C < 90){
- Console.Write("\nEl triángulo es acutángulo");
- log28.WriteLine("El triángulo es acutángulo");
- }
- if(A > 90 || B > 90 || C > 90){
- Console.Write("\nEl triángulo es obtusángulo");
- log28.WriteLine("El triángulo es obtusángulo");
- }
- Console.Write("\n\nSus ángulos son:\n\nA:\t"+A+"\nB:\t"+B+"\nC:\t"+C);
- log28.WriteLine();
- log28.WriteLine("El triángulo es rectángulo");
- log28.WriteLine("A >>> "+A); log28.WriteLine("A >>> "+B); log28.WriteLine("A >>> "+C);
- log28.Close();
- Console.ReadKey();
- break;
- }
- }while(opcion2!=0);
- break;
- case 3:
- do{
- Console.Clear();
- Console.Write("\n Elije la operación a realizar:\t\t\t\t\t Volver(0)\n");
- Console.Write(" ------------------------------\n\n");
- Console.Write(" #############################################################################\n");
- Console.Write(" # #\n");
- Console.Write(" # 1-Conocer múltiplos\t\t5-Producto de 2 matrices\t9-Conversor #\n");
- Console.Write(" # 2-Teorema de Pitágoras\t6-Conocer números primos\t10-Fibonacci #\n");
- Console.Write(" # 3-Teorema del Binomio\t7-Area de un círculo\t\t11-MCD #\n");
- Console.Write(" # 4-Calcular un descuento\t8-Longitud de un círculo\t12-MCM #\n");
- Console.Write(" # #\n");
- Console.Write(" #############################################################################\n\n");
- Console.Write(" Elección>>> ");
- opcion2 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion2){
- case 1:
- string fichero31 = nomfichero;
- StreamWriter log31 = File.AppendText(fichero31);
- Console.Write("\nIntroduce el numero a conocer sus múltiplos:\t "); //num1=Numero(num) num2=Cifras num3=Multiplo(mp)
- num1 = long.Parse(Console.ReadLine());
- Console.Write("¿Hasta que cifras deseas conocerlo?:\t");
- num2 = long.Parse(Console.ReadLine());
- Console.Write("\n");
- log31.WriteLine("Conocer los múltiplos");
- log31.WriteLine("--------------------------------");
- log31.WriteLine("Los múltiplos del "+num1+" hasta el "+num2+" son...");
- log31.WriteLine();
- for(num3=num1;num3<=num2;num3=num3+num1){
- Console.Write(num3+" ");
- log31.Write(num3+" ");
- }
- log31.WriteLine();log31.WriteLine();
- log31.Close();
- Console.ReadKey();
- break;
- case 2:
- do{
- Console.Clear();
- double c, C, h;
- Console.Write("\n ¿Qué deseas hacer?\n");
- Console.Write(" ------------------\n\n");
- Console.Write(" 1-Hallar un cateto\n 2-Hallar la hipotenusa\n 3-Volver\t\t");
- opcion3 = long.Parse(Console.ReadLine());
- string fichero32 = nomfichero;
- StreamWriter log32 = File.AppendText(fichero32);
- log32.WriteLine("Hallar ángulos de un triángulo");
- log32.WriteLine("-------------------------------------------");
- Console.Clear();
- if (opcion3 == 1) {
- Console.Write("\n Introduzca el valor de un cateto: ");
- c = double.Parse(Console.ReadLine());
- Console.Write(" Introduzca el valor de la hipotenusa: ");
- h = double.Parse(Console.ReadLine());
- if (c<h){
- C = Math.Sqrt(h*h - c*c);
- Console.Write("\n El cateto tiene un valor de: "+C);
- log32.WriteLine("Hallando un cateto...Si el cateto vale "+c+" y la hipotenusa vale "+h+"...entonces el otro cateto vale "+C);
- Console.ReadKey();
- }else {
- Console.Write("\n Error, no puede ser mayor el valor del cateto que el de la hipotenusa");
- Console.ReadKey();
- }
- }
- else if (opcion3 == 2) {
- Console.Write("\n Introduzca el valor del cateto opuesto: ");
- c = double.Parse(Console.ReadLine());
- Console.Write(" Introduzca el valor del cateto adyacente: ");
- C = double.Parse(Console.ReadLine());
- h = Math.Sqrt(C*C + c*c);
- Console.Write("\n El valor de la hipotenusa es: "+h);
- log32.WriteLine("Hallando la hipotenusa...Si el cateto opuesto vale "+c+" y el cateto adyacente vale "+C+"...entonces la hipotenusa es "+h);
- Console.ReadKey();
- }
- log32.WriteLine();
- log32.Close();
- }while(opcion3!=3);
- break;
- case 3:
- long n, k, nf, kf, resta, restaf, v, w;
- string fichero33 = nomfichero;
- StreamWriter log33 = File.AppendText(fichero33);
- log33.WriteLine("Teorema del Binomio");
- log33.WriteLine("-------------------------------");
- Console.Write("\nIntroduce el valor de n: ");
- n = long.Parse(Console.ReadLine());
- Console.Write("\nIntroduce el valor de k: ");
- k = long.Parse(Console.ReadLine());
- log33.WriteLine("Si el valor de n es "+n+" y el de k es "+k+"...");
- log33.WriteLine();
- nf = 1;
- kf = 1;
- resta = n - k;
- restaf = 1;
- while ( n > 1 ){ /* factorial de n */
- nf *= n--;
- }
- while ( k > 1 ){ /* factorial de k */
- kf *= k--;
- }
- while ( resta > 1 ){ /* factorial de (n - k) */
- restaf *= resta--;
- }
- v = kf * restaf; /* k! * (n - k)! */
- w = nf / v; /* n! / (k! * (n - k)!) */
- /* resultados */
- Console.Write("\nn! = "+nf+"\n");
- Console.Write("k! = "+kf+"\n");
- Console.Write("(n - k)! = "+restaf+"\n");
- Console.Write("k! * (n - k)! = "+v+"\n");
- Console.Write("n! / [k! (n - k)!] = "+w+"\n");
- Console.Write("--------------------------\n");
- Console.Write("Resultado final (ncr): "+w+"\n");
- log33.WriteLine("\nn! = "+nf);
- log33.WriteLine("k! = "+kf);
- log33.WriteLine("(n - k)! = "+restaf);
- log33.WriteLine("k! * (n - k)! = "+v);
- log33.WriteLine("n! / [k! (n - k)!] = "+w);
- log33.WriteLine("--------------------------");
- log33.WriteLine("Resultado final (ncr): "+w);
- log33.WriteLine();
- log33.Close();
- Console.ReadKey();
- break;
- case 4:
- String producto;
- string fichero34 = nomfichero;
- StreamWriter log34 = File.AppendText(fichero34);
- Console.Write("\nIntroduce el nombre del producto: ");
- producto = Console.ReadLine();
- Console.Write("¿Dicho producto incluye IVA?:\n\n1-Si 2-No ");
- log34.WriteLine("Calcular un descuento");
- log34.WriteLine("---------------------------------");
- opcioniva = long.Parse(Console.ReadLine());
- if(opcioniva==1){
- Console.Write("\nIntroduce el precio del producto:\t"); //Precio=numero1 Descuento=numero2 Preciodesc=numero3
- numero1 = double.Parse(Console.ReadLine()); //Precioiva=numero4 Precioiva2=numero5
- Console.Write("Introduce su descuento en porcentaje:\t");
- numero2 = double.Parse(Console.ReadLine());
- numero3=numero1*numero2/100;
- res=numero1-numero3;
- Console.Write("\nEl descuento del "+producto+" es de "+numero3+" euros");
- Console.Write("\n\nEl precio final del "+producto+" es de "+res+" euros");
- log34.WriteLine("El producto "+producto+"que cuesta "+numero1+"euros tiene un descuento del "+numero2+" por ciento, entonces...");
- log34.WriteLine();
- log34.WriteLine("Tiene una rebaja de "+numero3+" euros y su precio final es de "+res+" euros.");
- }else{
- Console.Write("\nIntroduce el precio del producto:\t");
- numero1 = double.Parse(Console.ReadLine());
- Console.Write("Introduce su descuento en porcentaje:\t");
- numero2 = double.Parse(Console.ReadLine());
- numero4=numero1*18/100;
- numero5=numero4+numero1;
- numero3=numero5*numero2/100;
- res=numero5-numero3;
- Console.Write("\nEl precio del "+producto+" con iva es de "+numero5+" euros");
- Console.Write("\nEl descuento del "+producto+" es de "+numero3+" euros");
- Console.Write("\n\nEl precio final del "+producto+" es de "+res+" euros");
- log34.WriteLine("El producto "+producto+" que cuesta "+numero1+" euros tiene un descuento del "+numero2+" por ciento, entonces...");
- log34.WriteLine();
- log34.WriteLine("Tiene una rebaja de "+numero3+" euros y su precio final es de "+res+" euros.");
- }
- log34.WriteLine();
- log34.Close();
- Console.ReadKey();
- break;
- case 5:
- string fichero35 = nomfichero;
- StreamWriter log35 = File.AppendText(fichero35);
- long n3,m3,o3,p3,i3,j3,k3;
- long[,] a3=new long[10,10], b3=new long[10,10], c3=new long[10,10];
- Console.Write("\n¿Cuantas filas tendrá la matriz A?: ");
- m3 = long.Parse(Console.ReadLine());
- Console.Write("\n¿Cuantas columnas tendrá la matriz A?: ");
- n3 = long.Parse(Console.ReadLine());
- Console.Write("\n¿Cuantas filas tendrá la matriz B?: ");
- o3 = long.Parse(Console.ReadLine());
- Console.Write("\n¿Cuantas columnas tendrá la matriz B?: ");
- p3 = long.Parse(Console.ReadLine());
- log35.WriteLine("Si la matriz A tiene "+m3+" filas y "+n3+" columnas, y la matriz B tiene "+o3+" filas y "+p3+" columnas...");
- log35.WriteLine();
- /*Reconoce si se puede realizar la multiplicacion*/
- if(m3!=p3){
- Console.Write("\n\nEl número de columnas de la matriz \"A\" es diferente al número de filas \nde la matriz \"B\"");
- Console.Write("\n\nEl producto matricial no es posible de realizar.\n\n");
- log35.WriteLine("No se ha podido realizar porque el número de columnas de la matriz A es diferente al número de filas de la matriz B");
- log35.WriteLine();
- }
- for (i3=1;i3<=m3;i3++){ /*Ciclo anidado que captura la matriz A*/
- for (j3=1;j3<=n3;j3++){
- Console.Write("\nDame el elemento A("+i3+","+j3+")(fila/columna): ");
- a3[i3,j3] = long.Parse(Console.ReadLine());
- log35.WriteLine("El elemento A("+i3+","+j3+")(fila/columna): es "+a3[i3,j3]);
- log35.WriteLine();
- }
- }
- for (i3=1;i3<=o3;i3++){ /*Ciclo anidado que captura la matriz B*/
- for (j3=1;j3<=p3;j3++){
- Console.Write("\nDame el elemento B("+i3+","+j3+")(fila/columna): ");
- b3[i3,j3] = long.Parse(Console.ReadLine());
- log35.WriteLine("El elemento B("+i3+","+j3+")(fila/columna): es "+b3[i3,j3]);
- log35.WriteLine();
- }
- }
- for (i3=1;i3<=m3;i3++){ /*Ciclo anidado que multiplica las 2 matrices*/
- for (j3=1;j3<=p3;j3++){
- c3[i3,j3]=0; /*Limpia la variable para entrar de nuevo al for*/
- for (k3=1;k3<=n3;k3++);
- c3[i3,j3]=(c3[i3,j3]+a3[i3,k3])*b3[k3,j3];
- }
- }
- Console.Write("\n\nLa matriz resultante de la multiplicacion es: \n");
- log35.WriteLine("El valor de la matriz resultante es: ");
- log35.WriteLine();
- /*Ciclo que imprime la matriz resultante*/
- for (i3=1;i3<=m3;i3++){
- Console.Write("\n");
- for(j3=1;j3<=p3;j3++);
- Console.Write(" "+c3[i3,j3]+" ");
- log35.Write(" "+c3[i3,j3]+" ");
- }
- log35.WriteLine();log35.WriteLine();
- log35.Close();
- Console.ReadKey();
- break;
- case 6:
- string fichero36 = nomfichero;
- StreamWriter log36 = File.AppendText(fichero36);
- log36.WriteLine("Conocer numeros primos");
- log36.WriteLine("-------------------------------------");
- Console.Write("\nIntroduce el límite de numeros:\t");
- num1 = long.Parse(Console.ReadLine()); //num1=n num2=c num3=c2 num4=res num5=nc
- log36.WriteLine("Para el límite de numeros primos "+num1+", dichos primos son:");
- log36.WriteLine();
- for(num2=1;num2<=num1;num2++){
- for(num3=1;num3<=num2;num3++){
- num4=num2%num3;
- if(num4==0){
- num5=num5+1;
- }
- }
- if(num5==2){
- Console.Write(num2+" ");
- log36.Write(num2+" ");
- }
- num5=0;
- }
- log36.WriteLine();log36.WriteLine();
- log36.Close();
- Console.ReadKey();
- break;
- case 7:
- string fichero37 = nomfichero;
- StreamWriter log37 = File.AppendText(fichero37);
- log37.WriteLine("Área de una Circunferencia");
- log37.WriteLine("----------------------------------------------");
- Console.Write("Introduce el radio: ");
- numero1 = double.Parse(Console.ReadLine());
- res=3.1416*(numero1*numero1);
- Console.Write("\n\nEl área del círculo es "+res);
- log37.WriteLine("Si el radio es "+numero1+", su área es "+res);
- log37.WriteLine();
- log37.Close();
- Console.ReadKey();
- break;
- case 8:
- string fichero38 = nomfichero;
- StreamWriter log38 = File.AppendText(fichero38);
- log38.WriteLine("Longitud de una Circunferencia");
- log38.WriteLine("----------------------------------------------");
- Console.Write("Introduce el radio: ");
- numero1 = double.Parse(Console.ReadLine());
- res=(2*3.1416)*numero1;
- Console.Write("\n\nLa longitud del círculo es "+res);
- log38.WriteLine("Si el radio es "+numero1+" su longitud es "+res);
- log38.WriteLine();
- log38.Close();
- Console.ReadKey();
- break;
- case 9:
- string fichero39 = nomfichero;
- StreamWriter log39 = File.AppendText(fichero39);
- log39.WriteLine("Conversor");
- log39.WriteLine("---------------");
- do{
- Console.Clear();
- Console.Write("\n Elije la operación a realizar:\t\t\t\t\t Volver(0)\n");
- Console.Write(" ------------------------------\n\n");
- Console.Write(" #######################################################\n");
- Console.Write(" # #\n");
- Console.Write(" # 1-Euros\\Pesetas\t\t2-Pesetas\\Euros #\n");
- Console.Write(" # 3-Euros\\Dolares\t\t4-Dolares\\Euros #\n");
- Console.Write(" # 5-Euros\\Yenes\t\t6-Yenes\\Euros #\n");
- Console.Write(" # 7-Decimal\\Binario\t\t8-Binario\\Decimal #\n");
- Console.Write(" # 9-Decimal\\Octal\t\t10-Octal\\Decimal #\n");
- Console.Write(" # 11-Decimal\\Hexadecimal\t12-Hexadecimal\\Decimal #\n");
- Console.Write(" # 13-Segundos\\Tiempo #\n");
- Console.Write(" # #\n");
- Console.Write(" #######################################################\n\n");
- Console.Write(" Elección>>> ");
- opcion3 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion3){
- case 1:
- Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Peseta
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1*166;
- Console.Write("\nSon: "+numero2+" Pesetas");
- log39.WriteLine(numero1+" euros son "+numero2+" pesetas");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 2:
- Console.Write("\nIntroduce la cantidad de pesetas a transformar:\t"); //numero1=Peseta numero2=Euro
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1/166;
- Console.Write("\nSon: "+numero2+" Euros");
- log39.WriteLine(numero1+" pesetas son "+numero2+" euros");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 3:
- Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Dolar
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1/0.8136;
- Console.Write("\nSon: "+numero2+" dolares");
- log39.WriteLine(numero1+" euros son "+numero2+" dolares");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 4:
- Console.Write("\nIntroduce la cantidad de dólares a transformar:\t"); //numero1=Dolar numero2=Euro
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1/1.2616;
- Console.Write("\nSon: "+numero2+" Euros");
- log39.WriteLine(numero1+" dolares son "+numero2+" euros");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 5:
- Console.Write("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Yen
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1*97.7538829 ;
- Console.Write("\nSon: "+numero2+" yenes");
- log39.WriteLine(numero1+" euros son "+numero2+" yenes");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 6:
- Console.Write("\nIntroduce la cantidad de yenes a transformar:\t"); //numero1=Yen numero2=Euro
- numero1 = double.Parse(Console.ReadLine());
- numero2=numero1*0.0102297727;
- Console.Write("\nSon: "+numero2+" Euros");
- log39.WriteLine(numero1+" yenes son "+numero2+" euros");
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 7:
- Console.Out.Write("\nEscribe un numero: ");
- num1=int.Parse(Console.ReadLine());
- Console.Write("El numero en binario es: "+Convert.ToString(num1, 2));
- log39.WriteLine("El número "+num1+" es en binario "+Convert.ToString(num1, 2));
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 8:
- Console.Write("Introduce un número binario: ");
- cad1 = Console.ReadLine();
- num1 = Convert.ToInt32(cad1, 2);
- Console.Write("\nEn decimal es "+num1);
- log39.WriteLine("El número binario "+cad1+" es en decimal "+num1);
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 9:
- Console.Out.Write("\nEscribe un numero: ");
- num1=int.Parse(Console.ReadLine());
- Console.Write("El numero en octal es: "+Convert.ToString(num1, 8));
- log39.WriteLine("El número "+num1+" es en octal "+Convert.ToString(num1, 8));
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 10:
- Console.Write("Introduce un número octal: ");
- cad1 = Console.ReadLine();
- num1 = Convert.ToInt32(cad1, 8);
- Console.Write("\nEn decimal es "+num1);
- log39.WriteLine("El número octal "+cad1+" es en decimal "+num1);
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 11:
- Console.Out.Write("\nEscribe un número: ");
- num1=int.Parse(Console.ReadLine());
- Console.Write("El número en hexadecimal es: "+Convert.ToString(num1, 16));
- log39.WriteLine("El número "+num1+" es en hexadecimal "+Convert.ToString(num1, 16));
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 12:
- Console.Write("Introduce un número hexadecimal: ");
- cad1 = Console.ReadLine();
- num1 = Convert.ToInt32(cad1, 16);
- Console.Write("\nEn decimal es "+num1);
- log39.WriteLine("El número hexadecimal "+cad1+" es en decimal "+num1);
- log39.WriteLine();
- Console.ReadKey();
- break;
- case 13:
- Console.Write("Introduce los segundos: ");
- num1 = long.Parse(Console.ReadLine()); //num1=sec num2=hr num3=min
- Console.Write(num1+"segundos son:");
- log39.WriteLine(num1+" segundos son:");
- log39.WriteLine();
- num2 = num1 / (60*60);
- num1 %= 60*60;
- num3 = num1 / 60;
- num1 %= 60;
- Console.Write("\n"+num2+" horas\n"+num3+" minutos\n"+num1+" segundos");
- log39.WriteLine(num2+" horas, "+num3+" minutos y "+num1+" segundos");
- log39.WriteLine();
- Console.ReadKey();
- break;
- }
- }while(opcion3!=0);
- log39.Close();
- break;
- case 10:
- long fibo1, fibo2,limite;
- string fichero310 = nomfichero;
- StreamWriter log310 = File.AppendText(fichero310);
- log310.WriteLine("Serie de Fibonacci");
- log310.WriteLine("----------------------------");
- fibo1 = 1; fibo2 = 1;
- Console.Write("\nIntroduce la cantidad de números que apareceran en la serie: ");
- limite = long.Parse(Console.ReadLine());
- log310.WriteLine("Los "+limite+" primeros numeros de la serie son: ");
- log310.WriteLine();
- Console.Write("\n"+fibo1+" ");
- for (int i = 0; i < limite; i++){
- Console.Write(fibo2+" ");
- log310.Write(fibo2+" ");
- fibo2 += fibo1;
- fibo1 = fibo2 - fibo1;
- }
- log310.WriteLine();log310.WriteLine();
- log310.Close();
- Console.ReadKey();
- break;
- case 11:
- long a2, b2, x2, z2, y2, i4;
- y2=1;i4=2;
- string fichero311 = nomfichero;
- StreamWriter log311 = File.AppendText(fichero311);
- log311.WriteLine("MCD - Máximo Común Divisor");
- log311.WriteLine("----------------------------------------------");
- Console.Write("Introduce el primer número: ");
- a2 = long.Parse(Console.ReadLine());
- Console.Write("Introduce el segundo número: ");
- b2 = long.Parse(Console.ReadLine());
- if (a2<b2){x2=a2; z2=b2;} else {x2=b2; z2=a2;}
- do {
- if (x2%i4==0 && z2%i4==0){
- y2=y2*i4;
- x2=x2/i4; z2=z2/i4;
- i4=2;
- }
- else i4++;
- }while(i4<=x2);
- Console.Write("\nEl MCD es "+y2);
- log311.WriteLine("El MCD de "+a2+" y de "+b2+" es "+y2);
- log311.WriteLine();
- log311.Close();
- Console.ReadKey();
- break;
- case 12:
- long aa, bb, x, zz, yy=1, ii=2;
- string fichero312 = nomfichero;
- StreamWriter log312 = File.AppendText(fichero312);
- log312.WriteLine("MCM - Mínimo Común Múltiplo");
- log312.WriteLine("----------------------------------------------");
- Console.Write("Introduce el primer número: ");
- aa = long.Parse(Console.ReadLine());
- Console.Write("Introduce el primer número: ");
- bb = long.Parse(Console.ReadLine());
- if (aa<bb){x=aa; zz=bb;} else {x=bb; zz=aa;}
- do{
- if (x%ii==0){
- if(zz%ii==0){
- yy=yy*ii;
- x=x/ii; zz=zz/ii; ii=2;
- }else ii++;
- }else ii++;
- }while(ii<=x);
- yy=yy*zz*x;
- Console.Write("\nEl MCM es "+yy);
- log312.WriteLine("El MCM de "+aa+" y de "+bb+" es "+yy);
- log312.WriteLine();
- log312.Close();
- Console.ReadKey();
- break;
- }
- }while(opcion2!=0);
- break;
- case 4:
- do{
- Console.Clear();
- Console.Write("\n Elije la operación a realizar:\t\t\t\t\t Volver(0)");
- Console.Write("\n ------------------------------\n\n");
- Console.Write(" 1-Test de cálculo matemático\t\t2-Codificar mensajes\n\n");
- Console.Write(" Elección>>> ");
- opcion2 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion2){
- case 1:
- Console.Write("\n Prueba de rendimiento del microprocesador:\t\t\t Volver(0) ");
- Console.Write("\n ------------------------------------------\n\n");
- Console.Write("\n Consiste en que el micro realice muchos cálculos matemáticos lo mas rápido\n");
- Console.Write("\n posible, sometiendolo al máximo esfuerzo para así poder saber cual es \n");
- Console.Write("\n su tiempo de respuesta.\n\n Las pruebas son de cálculo de numeros primos y de múltiplos.\n");
- Console.Write("\n\n Elije el nivel: ==> Fácil (1) \n");
- Console.Write("\n \t\t ==> Medio (2) \n");
- Console.Write("\n \t\t ==> Difícil (3)\n\n");
- Console.Write(" Elección>>> ");
- opcion3 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion3){
- case 1:
- Console.Clear();
- string fichero41 = "Test de rendimiento.txt";
- StreamWriter log41 = File.AppendText(fichero41);
- log41.WriteLine("Rendimiento del Microprocesador");
- log41.WriteLine("------------------------------------------------");
- Tiempo.Start();
- for(num2=1;num2<=50000;num2++){ //PRUEBA 1 - Nº´s Primos
- for(num3=1;num3<=num2;num3++){
- num4=num2%num3;
- if(num4==0){
- num5=num5+1;
- }
- }
- if(num5==2){
- Console.Write(num2+" ");
- }
- num5=0;
- }
- Tiempo.Stop();
- Console.Clear();
- TimeSpan tiempo1 = Tiempo.Elapsed;
- string elapsedTime1 = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
- tiempo1.Hours, tiempo1.Minutes, tiempo1.Seconds,tiempo1.Milliseconds / 10);
- log41.WriteLine("Test 1: Cálculo de numeros primos >>> "+elapsedTime1+" segundos");
- Tiempo.Start();
- for(num3=7;num3<=1000000;num3=num3+7){ //PRUEBA 2 - Cálculo de Múltiplos
- Console.Write(num3+" ");
- }
- Tiempo.Stop();
- TimeSpan tiempo2 = Tiempo.Elapsed;
- string elapsedTime2 = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
- tiempo2.Hours, tiempo2.Minutes, tiempo2.Seconds,tiempo2.Milliseconds / 10);
- log41.WriteLine("Test 2: Cálculo de múltiplos >>> "+elapsedTime2+" segundos");
- log41.WriteLine();
- log41.WriteLine("Tiempo Total: "+(tiempo1+tiempo2)+" segundos");
- log41.WriteLine();log41.WriteLine();
- Thread.Sleep(2000);
- Console.Clear();
- Console.Write("\n El test ha finalizado correctamente en "+(tiempo1+tiempo2)+" segundos. Comprueba en\n");
- Console.Write(" el archivo de texto \"Test de rendimiento\" el resultado que has obtenido.\n\n");
- Thread.Sleep(5000);
- Process.Start("notepad.exe", "Test de rendimiento.txt");
- log41.Close();
- Console.ReadKey();
- break;
- }
- break;
- case 2:
- do{
- Console.Clear();
- Console.Write("\n Codificación de Mensajes:\t\t\t Volver(0) ");
- Console.Write("\n -------------------------\n\n");
- Console.Write("\n 1- Encriptar\n");
- Console.Write("\n 2- Desencriptar\n");
- Console.Write("\n Elección>>> ");
- opcion3 = long.Parse(Console.ReadLine());
- Console.Clear();
- switch(opcion3){
- case 1: //msdn.microsoft.com/es-es/library/bb311038.aspx
- int number2;
- Console.Write("\n Introduce el mensaje a encriptar: \n\n");
- Console.Write("\n >>> ");
- cad1 = Console.ReadLine();
- number2 = Convert.ToInt32(cad1);
- cad2 = String.Format("{0:X}", number2);
- Console.WriteLine("\n\n >>> "+cad2);
- break;
- case 2:
- int number;
- Console.Write("\n Introduce el mensaje encriptado: \n\n");
- Console.Write("\n >>> ");
- cad1 = Console.ReadLine();
- number = Convert.ToInt32(cad1, 16);
- cad2 = Char.ConvertFromUtf32(number);
- Console.Write("\n\n >>> "+cad2+" ");
- Console.ReadKey();
- break;
- }
- }while(opcion3!=0);
- break;
- }
- }while(opcion2!=0);
- break;
- case 5:
- Console.Clear();
- Console.Write("\n\n\t ##############################################################\n");
- Console.Write("\t # #\n");
- Console.Write("\t # Aplicación matemática creada en C con la ayuda y #\n");
- Console.Write("\t # generosa colaboración de varios compañeros de #\n");
- Console.Write("\t # elhacker.net #\n");
- Console.Write("\t # #\n");
- Console.Write("\t # Este software esta compuesto por código propio y por #\n");
- Console.Write("\t # pedazos de códigos extraidos de otras aplicaciones, por #\n");
- Console.Write("\t # lo tanto es de código abierto y de libre distribución, #\n");
- Console.Write("\t # pudiéndose modificar y mejorar por cualquier usuario. #\n");
- Console.Write("\t # #\n");
- Console.Write("\t # v"+version+" 20/10/12 #\n");
- Console.Write("\t # #\n");
- Console.Write("\t # Creado por Dryken #\n");
- Console.Write("\t # #\n");
- Console.Write("\t ##############################################################\n\n");
- Console.ReadKey();
- break;
- }
- }while(opcion1!=6);
- }//Fin Main
- }//Fin Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement