jueves, 4 de mayo de 2017

Algoritmos en C# Parte II


1. Dado la edad de una persona determinar si es mayor de edad o menor de edad, considere que mayor de edad es mayor o igual a 18 años.
Solución:
            //Brotech
            //Variables
            int edad;
            string mensaje;
            //entrada
            Console.Write("Ingrese edad de la persona : ");
            edad = int.Parse(Console.ReadLine());
            if(edad<0)
            {
                mensaje = "Edad no es VALIDO ";
            }
            else
            {
                if(edad>=18)
                {
                    mensaje = "Mayor de EDAD";
                }
                else
                {
                    mensaje = "Menor de EDAD";
                }
            }
            //Salida
            Console.WriteLine("");
            Console.WriteLine(mensaje);
            Console.ReadLine();

2. Dados dos numeros enteros devolver el numero menor.
Solución:
 //brotech
            //variables
            int n1, n2, menor=0;
            bool iguales = false;
            //Entrada
            Console.Write("Ingrese primer numero : ");
            n1 = int.Parse(Console.ReadLine());
            Console.Write("INgrese segundo numero : ");
            n2 = int.Parse(Console.ReadLine());
            if(n1>n2)
            {
                menor = n2;
            }
            else
            {
                if(n1==n2)
                {
                    iguales = true;
                }
                else
                {
                    menor = n1;
                }
               
            }
            //Salidas
            Console.WriteLine("");
            if (iguales)
            {
               
                Console.WriteLine("Los numeros son  IGUALES");
            }
            else
            {
                Console.WriteLine("El numero menor es : " + menor);
            }
            Console.ReadLine();
3. Dado dos numeros determine si son iguales o diferentes.
Solución:
 //brotech
            //variables
            float n1, n2;
            bool iguales = false;
            //Entrada
            Console.Write("Ingrese primer numero : ");
            n1 = float.Parse(Console.ReadLine());
            Console.Write("Ingrese segundo numero : ");
            n2 = float.Parse(Console.ReadLine());
                if (n1 == n2)
                {
                    iguales = true;
                }     
            //Salidas
            Console.WriteLine("");
            if (iguales)
            {
                Console.WriteLine("Los numeros son  IGUALES");
            }
            else
            {
                Console.WriteLine("Los numeros son  DIFERENTES");
            }
            Console.ReadLine();
4. Dado un numero entero, devolver el doble del numero si el numero es positivo, y el triple del numero si es negativo, y cero si el numero es neutro.
Solución:
  //brotech
            //variables
            int n, c;
            //Entrada
            Console.Write("Ingrese numero : ");
            n = int.Parse(Console.ReadLine());
            if(n==0)
            {
                c = 0;
            }
            else
            {
                if(n>0)
                {
                    c = 2 * n;
                }
                else
                {
                    c = 3 * n;
                }
            }
            //Salidas
            Console.WriteLine("");
            Console.WriteLine("Resultado es : "+c);
            Console.ReadLine();
 5. Crear un programa que al ingresar  tres numero enteros, devuelva los numeros ordenado en forma ascendente y en forma descendente.
Solución:
 //Brotech
            //variables
            int a, b, c, mayor, menor, intermedio;
            //Entradas
            Console.Write("Ingrese primer numero  :  ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Ingrese segundo numero : ");
            b = int.Parse(Console.ReadLine());
            Console.Write("Ingrese tercer numero : ");
            c = int.Parse(Console.ReadLine());
            //Proceso
            if(a>b && a>c)
            {
                mayor = a;
                if(b>c)
                {
                    menor = c;
                }
                else
                {
                    menor = b;
                }
            }
            else
            {
                if(b>a && b>c)
                {
                    mayor = b;
                    if(a>c)
                    {
                        menor = c;
                    }
                    else
                    {
                        menor = a;
                    }
                }
                else
                {
                    mayor = c;
                    if(a>b)
                    {
                        menor = b;
                    }
                    else
                    {
                        menor = a;
                    }
                }
            }
            intermedio = a + b + c - (mayor + menor);
            //Salidas
            Console.WriteLine("ORDEN -   ASCENDENTE ");
            Console.WriteLine("MENOR : " + menor);
            Console.WriteLine("MEDIO : " + intermedio);
            Console.WriteLine("MAYOR : " + mayor);
            Console.WriteLine("ORDEN - DESCENDENTE");
            Console.WriteLine("MAYOR --- : " + mayor);
            Console.WriteLine("MEDIO --- : " + intermedio);
            Console.WriteLine("MENOR --- : " + menor);
            Console.ReadLine();

 6. Despues de ingresar 4 notas, obtener el promedio de las 3 mejores notas y el mensaje aprobado si el promedio es mayor o igual a 11, caso contrario desaprobado.
Solución:
 //Brotech
            //Variables
            double nota1, nota2, nota3, nota4,menor, promedio;
            string mensaje;
            //Entradas
            Console.Write("Ingrese nota 1: ");
            nota1 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese nota 2: ");
            nota2 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese nota 3: ");
            nota3 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese nota 4: ");
            nota4 = double.Parse(Console.ReadLine());
            //Proceso
            menor = 0.0;
            if(nota1 < nota2 && nota1 < nota3 && nota1<nota4)
            {
                menor = nota1;
            }
            else
            {
                if(nota2<nota3 && nota2<nota4)
                {
                    menor = nota2;
                }
                else
                {
                    if(nota3<nota4)
                    {
                        menor = nota3;
                    }
                    else
                    {
                        menor = nota4;
                    }
                }
            }
            promedio = (nota1 + nota2 + nota3 + nota4 - menor) / 3.0;
            if(promedio >=11)
            {
                mensaje = "APROBADO";
            }
            else
            {
                mensaje = "DESAPROBADO";
            }
            //Salidas
            Console.WriteLine("");
            Console.WriteLine("Promedio de nota : "+promedio);
            Console.WriteLine("Resultado: " + mensaje);
            Console.ReadLine();

 7. Dado los siguientes datos de entrada: Saldo anterior, tipo de movimiento R retiro o D  deposito  y monto de la  transacción, obtener como dato de salida el Saldo actual.
Solución:
 //brotech
            //Variables
            double sa, monto, calculo;
            char tm;
            //Entradas
            Console.Write("Ingrese saldo anterior : ");
            sa = double.Parse(Console.ReadLine());
            Console.Write("Ingrese tipo de movimiento 'D' deposito - 'R' retito : ");
            tm = char.Parse(Console.ReadLine());
            Console.Write("Ingrese monto de la transaccion : ");
            monto = double.Parse(Console.ReadLine());
            //Proceso
            if(tm=='D'|| tm=='d')
            {
                calculo = sa + monto;
            }
            else
            {
                calculo = sa - monto;
            }
            //Salida
            Console.WriteLine("");
            Console.WriteLine("El saldo actual es : "+calculo);
            Console.ReadLine();
8. Dado dos numeros enteros a y b, determinar cual es mayor con respecto al otro.
Solución:
 //brotech
            //variables
            int a, b;
            string mensaje;
            //Entradas
            Console.Write("Ingrese primer numero : ");
            a = int.Parse(Console.ReadLine());
            Console.Write("Ingrese segundo numero : ");
            b = int.Parse(Console.ReadLine());
            //Proceso
            if (a > b)
            {
                mensaje = a.ToString() + " es mayor que " + b.ToString();
            }
            else
            {
                if(a==b)
                {
                mensaje = a.ToString() + " es IGUAL que " + b.ToString();
                }
                else
                {
                mensaje = b.ToString() + " es mayor que " + a.ToString();
                }
            }
            //Salida
            Console.WriteLine("");
            Console.WriteLine(mensaje);
            Console.ReadLine();
9. Dado tres longitudes diga si forman un  triangulo. TEOREMA: En todo triángulo, cada lado es menor que a suma de los otros dos, pero mayor que su diferencia.
Solución:
 //brotech
            //variables
            double lado1, lado2, lado3, dif1, dif2, dif3;
            bool triangulo = false;
            //Entradas
            Console.Write("Ingrese longitud 1 : ");
            lado1 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese longitud 2 : ");
            lado2 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese longitud 3 : ");
            lado3 = double.Parse(Console.ReadLine());
            //Proceso
            dif1 =Math.Abs(lado1 - lado2);
            dif2 =Math.Abs(lado2 - lado3);
            dif3 =Math.Abs(lado1 - lado3);            
            if(lado1 < (lado2 + lado3) && lado1 > dif2)
            {
                triangulo = true;
            }
            else
            {
                if (lado2 < (lado1 + lado3) && lado2 > dif3)
                {
                    triangulo = true;
                }
                else
                {
                    if(lado3 < (lado1 + lado2) && lado3 > dif1)
                    {
                        triangulo = true;
                    }
                    else
                    {
                        triangulo = false;
                    }
                }
            }
            //Salida
            Console.WriteLine("");
            if(triangulo)
            {
                Console.WriteLine("Es posible formar un  TRIANGULO");
            }
            else
            {
                Console.WriteLine("No es posible formar un TRIANGULO");
            }
            Console.ReadLine();
10. Dados los lados de un  triangulo devolver el tipo de triangulo EQUILATERO, ISOSCELES, ESCALENO.
Solución:
 //brotech
            //variables
            double lado1, lado2, lado3, dif1, dif2, dif3;
            bool triangulo = false;
            string tipo ="";
            //Entradas
            Console.Write("Ingrese longitud 1 : ");
            lado1 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese longitud 2 : ");
            lado2 = double.Parse(Console.ReadLine());
            Console.Write("Ingrese longitud 3 : ");
            lado3 = double.Parse(Console.ReadLine());
            //Proceso
            dif1 =Math.Abs(lado1 - lado2);
            dif2 =Math.Abs(lado2 - lado3);
            dif3 =Math.Abs(lado1 - lado3);             
            if(lado1 < (lado2 + lado3) && lado1 > dif2)
            {
                triangulo = true;
            }
            else
            {
                if (lado2 < (lado1 + lado3) && lado2 > dif3)
                {
                    triangulo = true;
                }
                else
                {
                    if(lado3 < (lado1 + lado2) && lado3 > dif1)
                    {
                        triangulo = true;
                    }
                    else
                    {
                        triangulo = false;
                    }
                }
            }

            if(triangulo)
            {
                if (lado1 == lado2 && lado1==lado3)
                {
                    tipo = "EQUILATERO";
                }
                else
                {
                    if (lado1 == lado2 || lado1==lado3)
                    {
                        tipo = "ISOSCELES";
                    }
                    else
                    {
                        if(lado2==lado3)
                        {
                            tipo = "ISOSCELES";
                        }
                        else
                        {
                            tipo = "ESCALENO";
                        }
                    }
                }

            }          

            //Salida
            Console.WriteLine("");
            if(triangulo)
            {
                Console.WriteLine("Es posible formar un  TRIANGULO");
                Console.WriteLine(tipo);
            }
            else
            {
                Console.WriteLine("No es posible formar un TRIANGULO");
            }
            Console.ReadLine();














No hay comentarios.:

Publicar un comentario