Métodos Numéricos
Enviado por winas6 • 18 de Mayo de 2014 • 4.129 Palabras (17 Páginas) • 436 Visitas
Analiza problemas matemáticos en C# y construye nuevos principios algorítmicos que mejoran la eficacia y eficiencia en la industria.
Instrucciones
A partir de los programas realizados en clase, y utilizando las instrucciones de control, arreglos, funciones, tipos de datos, etc., estudiados en el módulo 1, construye una nueva generalización algorítmica que te permita resolver los siguientes problemas matemáticos:
1. Ingresar las calificaciones de un grupo escolar de 10 alumnos, obteniendo el promedio grupal, la calificación más alta y más baja del grupo; y con la posibilidad de ordenar de mayor a menor las calificaciones del grupo.
2. Hacer que las calificaciones del problema anterior se muestren de mayor a menor, y que se señale si la calificación obtenida es aprobatoria y reprobatoria.
3. Realizar la suma, resta y multiplicación entre tres vectores que el usuario introduzca previamente.
➢ Se crea el diagrama UML utilizando Microsoft Visio 2010.
➢ Se crea una aplicación de consola para los ejercicios. La aplicación de consola, muestra la solución a los ejercicios dependiendo de la opción introducida por el usuario.
a) para Introducir las 10 calificaciones de los alumnos.
b) para mostrar los datos ordenados, con la etiqueta de si es aprobatoria o reprobatoria.
c) para Introducir 3 vectores y realizar operaciones con ellos.
Es importante destacar que para que funcione la opción 2, previamente debió introducirse los datos usando la opción 1. La opción 3 es independiente de las primeras 2 actividades.
A continuación se muestran las pantallas del funcionamiento del programa.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Evidencia01
{
class Program
{
//funcion para determinar el promedio de los datos
public static double media(double[] M, int t)
{
double sum = 0;
int i = 0;
for (i = 0; i < t; i++)
{
sum += M[i];
}
sum = sum / t;
return sum;
}
public static double Alta(double[] M, int t)
{
double sol,aux;
int i,j;
double[] A = new double[2];
//ordenando el arreglo
for (i = 0; i < t; i++)
{
for (j = 0; j < t; j++)
{
if (M[j] > M[i])
{
aux = M[i];
M[i] = M[j];
M[j] = aux;
}
}
}
sol = M[t-1];
return sol;
}
public static double Baja(double[] M, int t)
{
double sol, aux;
int i, j;
double[] A = new double[2];
//ordenando el arreglo
for (i = 0; i < t; i++)
{
for (j = 0; j < t; j++)
{
if (M[j] > M[i])
{
aux = M[i];
M[i] = M[j];
M[j] = aux;
}
}
}
sol = M[0];
return sol;
}
static void Main(string[] args)
{
//variable para controlar que parte del programa se ejecutara.
int fin = 1000;
int i,j;
int t = 10;
double[] datos = new double[10];
double aux;
int[] dimensiones = {0,0,0};
while (fin != 0)
{
Console.Write("Ejercicio a mostrar(0 para salir): ");
fin = Convert.ToInt16(System.Console.ReadLine());
switch (fin)
{
case 1:
Console.WriteLine("Ingresar las 10 calificaciones:");
for (i = 0; i < 10; i++)
{
Console.Write("Calificacion"+"["+(i+1)+"]: ");
datos[i] = Convert.ToDouble(System.Console.ReadLine());
}
//Promedio
Console.WriteLine("Promedio: ");
Console.WriteLine(media(datos, datos.Length));
//Calificacion mas alta
Console.WriteLine("Calificacion mas alta: ");
Console.WriteLine(Alta(datos,datos.Length));
//Calificacion mas baja
Console.WriteLine("Calificacion mas baja: ");
Console.WriteLine(Baja(datos,datos.Length));
...