- Curso
- Matrices
- Estadísticas matemáticas
Estadísticas matemáticas
Última actualización:
23/08/2020
⁃
Dificultad:
Intermedio
Cree un programa en C# que sirva para generar estadísticas matemáticas. El programa debe almacenar un total de 1000 valores numéricos con decimales en un array de datos y además debe tener un menú con diferentes opciones que el usuario pueda seleccionar. Se ejecutará hasta que el usuario pulse la opción de salir. El menú del programa debe incluir las siguientes opciones (1-5):
- 1. Añadir
- 2. Ver
- 3. Buscar
- 4. Estadísticas
- 5. Salir
Añadir
En la opción de añadir el usuario podrá añadir nuevos valores en el array de datos. Tenga en cuenta de no sobrepasar los 1000 valores del array de datos.
Ver
La opción de ver mostrará el listado de valores en una linea. Puede que todavía no haya valores.
Buscar
Para buscar valores deberá solicitar un numero real al usuario y mostrar si existe o no en el programa. Puede que todavía no haya valores.
Estadísticas
En esta opción se mostrará al usuario un resumen de estadísticas de los valores del array de datos, debe incluir:
- El total de valores almacenados
- La suma total de valores
- Media aritmética
- Valor máximo y valor mínimo
Para finalizar debería tener en cuenta cuando el usuario introduce una opción diferente del 1 al 5.
Entrada
1. Añadir
2. Ver
3. Buscar
4. Estadísticas
5. Salir
Introduzca una opción (1-5): 1
7
1. Añadir
2. Ver
3. Buscar
4. Estadísticas
5. Salir
Introduzca una opción (1-5): 2
1. Añadir
2. Ver
3. Buscar
4. Estadisticas
5. Salir
Introduzca una opción (1-5): 3
6
1. Añadir
2. Ver
3. Buscar
4. Estadisticas
5. Salir
Introduzca una opción (1-5): 4
1. Añadir
2. Ver
3. Buscar
4. Estadisticas
5. Salir
Introduzca una opción (1-5): 5
Salida
7
No encontrado
Total datos: 1
Suma: 7
Media: 7
Valor mínimo: 7
Valor máximo: 7
Solución
using System;
public class Estadisticas
{
public static void Main(string[] args)
{
int total = 1000;
float[] numeros = new float[total];
int contador = 0;
float maxValor = float.MinValue;
float minValor = float.MaxValue;
float totalValores = 0.0f;
int opcion;
do
{
Console.WriteLine("1. Añadir");
Console.WriteLine("2. Ver");
Console.WriteLine("3. Buscar");
Console.WriteLine("4. EstadÃsticas");
Console.WriteLine("5. Salir");
Console.WriteLine();
Console.Write("Introduzca una opción (1-5): ");
opcion = Convert.ToInt32(Console.ReadLine());
switch (opcion)
{
case 1: // Añadir
if (contador < total)
{
numeros[contador] = Convert.ToSingle(Console.ReadLine());
if (maxValor < numeros[contador])
{
maxValor = numeros[contador];
}
if (minValor > numeros[contador])
{
minValor = numeros[contador];
}
totalValores += numeros[contador];
contador++;
}
else
{
Console.WriteLine("La base de datos está llena");
}
break;
case 2: // Ver
if (contador > 0)
{
for (int i = 0; i < contador; i++)
{
Console.Write("{0} ", numeros[i]);
}
Console.WriteLine();
}
else
{
Console.WriteLine("Datos no disponibles");
}
break;
case 3: // Buscar
if (contador > 0)
{
float searchNumber = Convert.ToSingle(Console.ReadLine());
bool foundNumber = false;
for (int i = 0; i < contador; i++)
{
if (numeros[i] == searchNumber)
{
foundNumber = true;
}
}
if (foundNumber)
{
Console.WriteLine("Número {0} encontrado", searchNumber);
}
else
{
Console.WriteLine("Datos no disponibles");
}
}
else
{
Console.WriteLine("Datos no disponibles");
}
break;
case 4: // EstadÃsticas
if (contador > 0)
{
Console.WriteLine("Total datos: {0}", contador);
Console.WriteLine("Suma: {0}", totalValores);
Console.WriteLine("Media: {0}", totalValores / contador);
Console.WriteLine("Valor mÃnimo: {0}", minValor);
Console.WriteLine("Valor máximo: {0}", maxValor);
}
else
{
Console.WriteLine("Datos no disponibles");
}
break;
default:
Console.WriteLine("Opciones válidas (1-5)");
break;
}
}
while (opcion != 5);
}
}