jueves, 4 de agosto de 2016

Programación en C#: Módulo 02: Métodos y Manejo de Excepciones

Presentación


https://drive.google.com/open?id=0B7Ct7K_LTJvSUDRNYnoybGVvNW8


Ejemplo Sobrecarga de Métodos, throw y Try/catch
http://galileotalentodigital.blogspot.com/2017/03/programacion-en-c-modulo-02-ejemplo.html


Ejemplo con Métodos Suma de Sobrecarga, throw y try/catch
http://galileotalentodigital.blogspot.com/2017/09/c-modulo-02-codigo-fuente-ejemplo.html


Ejemplo


    class Program
    {
        static bool EsPrimo(int N)
        {
            bool bEsprimo = true;
            int k = 2; int Res = 0;
            while ( (k<N)&&(bEsprimo) )
            {
                Res = N % k;
                //Si tiene divisor exacto menor a N
                if (Res==0)
                {
                    bEsprimo = false;
                }
                k++;
            }
            return bEsprimo;
        }

        static void SeriePrimos(int Cantidad)
        {
            int i = 1; int Contador = 0;
            while (Contador < Cantidad)
            {
                if (EsPrimo(i))
                {
                    Console.Write("{0}) {1}, ", Contador + 1, i);
                    Contador = Contador + 1;
                }
                i = i + 1;
            }
        }

        static void SerieFib(int Cantidad)
        {
            int[] Fib;

            if (Cantidad>47) //Excede Capacidad INT
            {
                Exception ex1;
                ex1 = new Exception("Excede Capacidad de Cálculo");
                throw ex1;
            }
            else //Sino Calcula los números de la serie
            {
                if (Cantidad > 2)
                {
                    Fib = new int[Cantidad];
                    Fib[0] = 0; //Primer Elemento 0
                    Fib[1] = 1; //Segundo Elemento 1
                    for (int m = 2; m < Cantidad; m++)
                    {
                        Fib[m] = Fib[m - 1] + Fib[m - 2];
                    }
                    for (int j = 0; j < Cantidad; j++)
                    {
                        Console.WriteLine("{0:N0}o) {1:N0} ",
                            j + 1, Fib[j]);
                    }
                }
                else
                    Console.WriteLine("Debe ingresar Cantidad Mayor que 2");
            }

        }

        static void Main(string[] args)
        {
            int CantidadPrimos = 0;
            string sNum = "";
            try
            {
                //Console.WriteLine("Ingrese Cantidad de Números Primos?");
                Console.WriteLine("Ingrese Cantidad de elementos de Serie Fib?");
                sNum = Console.ReadLine();
                CantidadPrimos = int.Parse(sNum);
                //SeriePrimos(CantidadPrimos);
                SerieFib(CantidadPrimos);
            }
            catch (FormatException Ex)
            {
                Console.WriteLine("Error al Convertir el dato a Entero");
                Console.WriteLine(Ex.Message);
            }
           
            catch (Exception Ex)
            {
                Console.WriteLine("Error!");
                Console.WriteLine(Ex.Message);
            }
            finally
            {
                Console.ReadKey();
            }

        }
    }





No hay comentarios.:

Publicar un comentario