Advertisement
CrisC

TP0_Ejercicio3

Aug 16th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.15 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7.  
  8. /// <summary>
  9. /// Trabajo Practico N° 0:
  10. ///     *Ejercicio 3: Escribir un programa que calcule y visualice el mas grande, el mas pequeño y la media de N numeros
  11. ///         (N > 0). El valor de N se solicita al principio del programa y los numeros seran introducidos por el usuario.
  12. ///     *Ejercicio realizado con Metodos con vectores y SIN generar valores aleatorios
  13. ///    
  14. /// Programador: Cristian David Chorolqui
  15. /// </summary>
  16. namespace Ejercicio3_Modular
  17. {
  18.     class Program
  19.     {
  20.  
  21.         /*=====================================*/
  22.         // Funcion Mayor
  23.         //      Encuentra el mayor valor de un
  24.         //  vector de manera secuencial
  25.         // *Parametro: vecNumero de tipo entero
  26.         /*=====================================*/
  27.         private static int Mayor(int[] vecNumero)
  28.         {
  29.             //Asume que el primer valor es el mayor
  30.             int mayor = vecNumero[0];
  31.  
  32.             //Recorre el vector
  33.             for(int i =1;i<vecNumero.Length; i++)
  34.             {
  35.                 //Si el valor del vector es mayor al valor que tenemos en la variable
  36.                 if(vecNumero[i] > mayor)
  37.                 {
  38.                     mayor = vecNumero[i];
  39.                 }
  40.             }
  41.             //Devuelve el mayor valor
  42.             return mayor;
  43.         }
  44.  
  45.  
  46.         /*=====================================*/
  47.         // Funcion Menor
  48.         //      Encuentra el menor valor de un
  49.         // vector de manera secuencial
  50.         // *Parametro: vecNumero de tipo entero
  51.         /*=====================================*/
  52.         private static int Menor(int[] vecNumero)
  53.         {
  54.             //Asume que el menor valor es el primer elemento del vector
  55.             int menor = vecNumero[0];
  56.  
  57.             //Recorre el vector
  58.             for(int i = 1; i< vecNumero.Length; i++)
  59.             {
  60.                 //Si el valor del vector es menor al valor que tenemos en la variable
  61.                 if(vecNumero[i] < menor)
  62.                 {
  63.                     menor = vecNumero[i];
  64.                 }
  65.             }
  66.             //Devuleve el menor valor
  67.             return menor;
  68.         }
  69.  
  70.         /*=====================================*/
  71.         // Funcion Promedio
  72.         //      Calcula el promedio de un vector
  73.         // *Parametro: vecNumeros vector de tipo entero
  74.         /*=====================================*/
  75.         private static float Promedio(int[] vecNumeros)
  76.         {
  77.             //Declaracion de variable
  78.             int intSuma = 0;
  79.  
  80.             //Recorre el vector sumando sus elementos
  81.             for (int i =0; i<vecNumeros.Length; i++)
  82.             {
  83.                 //Suma de los elementos
  84.                 intSuma += vecNumeros[i];
  85.             }
  86.  
  87.             //Calculo y devolucion del promedio
  88.             return  intSuma / vecNumeros.Length;
  89.  
  90.            
  91.         }
  92.  
  93.         /*=====================================*/
  94.         // Funcion EsPositivo
  95.         //      Verifica si el valor numerico
  96.         // es positivo
  97.         // *Parametro: intNumero de tipo entero
  98.         /*=====================================*/
  99.         private static bool EsPositivo(int intNumero)
  100.         {
  101.             //Si el numero es positivo
  102.             if(intNumero > 0)
  103.             {
  104.                 //devuelve verdadero
  105.                 return true;
  106.             }
  107.             //Devuelve false
  108.             return false;
  109.         }
  110.  
  111.         /*=====================================*/
  112.         // Funcion EsNumerico
  113.         //      Verifica si el numero ingresado
  114.         //es un numero
  115.         // *Parametro: numero de tipo cadena
  116.         /*=====================================*/
  117.         private static bool EsNumerico(string strNumero)
  118.         {
  119.             //Intenta convertir la cadena numero en un valor numerico de tipo entero
  120.             //Si lo consigue devuelve verdadero si no falso
  121.             return int.TryParse(strNumero, out int intResultado);
  122.         }
  123.  
  124.         /*=====================================*/
  125.         // Funcion Main
  126.         /*=====================================*/
  127.         static void Main(string[] args)
  128.         {
  129.             //Declaracion de variables
  130.             int N=0;
  131.             int[] vecNumeros;
  132.             string strCant;
  133.            
  134.            
  135.             Console.WriteLine("Ingrese la cantidad de valores ingresados: ");
  136.  
  137.             //Hacer
  138.             do
  139.             {
  140.                 bool esPositivo;
  141.                 strCant = Console.ReadLine();
  142.                
  143.                 //Si es numerico
  144.                 if(EsNumerico(strCant))
  145.                 {
  146.                     //Convierto la cadena en numero
  147.                     N = int.Parse(strCant);
  148.                     //Analizo si es positivo
  149.                     esPositivo = EsPositivo(N);
  150.  
  151.                     //Si NO es positivo
  152.                     if (!esPositivo)
  153.                     {
  154.                         Console.WriteLine("Debe ingresar un valor positivo");
  155.                     }
  156.                 }
  157.                 //Si no es un valor numerico
  158.                 else
  159.                 {
  160.                     Console.WriteLine("El valor ingresado no es valido");
  161.                 }    
  162.                              
  163.                
  164.             } while ((EsPositivo(N) == false) && (EsNumerico(strCant) == false ));
  165.             //Mientras que el valor ingresado sea positivo y numerico
  166.  
  167.  
  168.  
  169.             //asignacion de longitud al vector
  170.             vecNumeros = new int[N];
  171.  
  172.             Console.WriteLine("Ingrese los "+ N.ToString() + " valores: ");
  173.  
  174.             //Recorre el vector vacio
  175.            for(int i=0; i<N; i++)
  176.             {
  177.                 //Mensaje para el usuario
  178.                 Console.Write((i+1).ToString() + " :");
  179.  
  180.                 string strNumero;
  181.                 //Lee el numero
  182.                 do
  183.                 {
  184.                     //Lee el numero
  185.                     strNumero = Console.ReadLine();
  186.                    
  187.                     //Si es un numero
  188.                     if (EsNumerico(strNumero))
  189.                     {
  190.                          vecNumeros[i] = Convert.ToInt32(strNumero);
  191.                     }
  192.                     //Si no es un numero
  193.                     else
  194.                     {
  195.                         Console.WriteLine("Ingrese un valor numerico");
  196.                         //Mensaje para el usuario
  197.                         Console.Write((i + 1).ToString() + " :");
  198.                     }
  199.                    
  200.                 } while (EsNumerico(strNumero) == false); //mientras no sea un numero
  201.                
  202.  
  203.                
  204.             }
  205.  
  206.  
  207.             //Busca el mayor
  208.             Console.WriteLine("El mayor es: " + Mayor(vecNumeros).ToString());
  209.             //Busca el menor
  210.             Console.WriteLine("El menor es: " + Menor(vecNumeros).ToString());
  211.             //Busca el promedio
  212.             Console.WriteLine("La media es: " + Promedio(vecNumeros).ToString());
  213.             Console.WriteLine("Presione una tecla para finalizar");
  214.             Console.ReadKey();
  215.         }
  216.     }
  217. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement