Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 DE NOVIEMBRE DE 2020
SIMULACION
ITESHU
CONGRUNCIAL LINEAL
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace congruncial_linel
{
public partial class Form1 : Form
{
// Globales
int vContadorDatos = 0;
public Form1()
{
InitializeComponent();
}
//declaramos las caribales que utilizaremos
double[] arreglo = new double[1000];
string[] arraynume = new string[10000];
int index = 0;
public int semilla, modulo, incremento, multiplicador, i;
public double numAlea = 0, resultado = 0;
int contador = 0;
chart1.DataBind();
chart1.Visible = true;
Column1.HeaderText = "i";
Column1.HeaderText = "x_i";
Column1.HeaderText = "x_i+1";
Column1.HeaderText = "u_i";
///limpiar las filas de la tabla
dataGridView1.Rows.Clear();
dataGridView1.Rows.Remove(c);
}
}
sb.Append(dgvRow.Cells[c].Value + ",");
}
// Agrega una nueva línea en el archivo de texto.
sb.Append(Environment.NewLine);
}
}
// Cargue el cuadro de diálogo para guardar archivo con la
opción predeterminada como guardar como archivo .csv.
SaveFileDialog sfd = new SaveFileDialog();
fila.Cells[0].Value = i;
fila.Cells[1].Value = semilla;
fila.Cells[2].Value = resultado;
//redondemamos usando 5 decimales
fila.Cells[3].Value = Math.Round(numAlea, 5,
MidpointRounding.AwayFromZero);
arraynume[index] = a.Text;
dataGridView1.Rows.Add(fila);
///aqui vemos que si la semilla en la psoicion i, se repite con la
primera, pare el proceso
contadorr.Text = Convert.ToString(contador);
semilla = Convert.ToInt32(resultado);
if (semilla == semillas[0] || semilla == semillas[i])
{
break;
}
//ajustamos lan tabla
dataGridView1.AutoResizeRowHeadersWidth(
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
chart1.Series[0].Points.AddXY(i, numAlea);
chart1.Series[0].ChartType = SeriesChartType.FastPoint;
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[0].MarkerSize = 10;
}
///si el modulo es igual al numero de datos, es de ciclo completo y si
no , no lo es
if (contador == modulo)
{
MessageBox.Show("Proceso concluido con " + a.Text + "xn-1"+ " + "+
b.Text + " mod "+ modulo + "--se obtuvieron " + contador + " numeros"+ " ---
Significa que el generador es de ciclo completo");
}
else
MessageBox.Show("Proceso concluido con " + a.Text + "xn-1" + " + " +
b.Text + " mod " + modulo + "--se obtuvieron " + contador + " numeros"+ " ---
Significa que el generador no es de ciclo completo");
}
}
}
PRUEBA DE MEDIAS
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace pruebasdemedias
public Form1()
InitializeComponent();
try
if (openfile1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
ruta = openfile1.FileName;
str = Path.GetFileNameWithoutExtension(ruta);
{
MessageBox.Show(ex.ToString());
string line;
parsedData.Add(row);
dataGridView1.ColumnCount = 4;
sb.Replace("\"", "");
dataGridView1.Columns[3].Name = sb.ToString();
dataGridView1.Rows.Add(row);
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
dataGridView1.Rows.Remove(dataGridView1.Rows[0]);
radioButton1.Visible = true;
radioButton2.Visible = true;
radioButton3.Visible = true;
chart1.Series["Series1"].ChartType =
System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
textBox1.Visible = true;
pictureBox1.Visible = true;
textBox3.Visible = true;
textBox2.Visible = true;
textBox4.Visible = true;
label8.Visible = true;
label9.Visible = true;
button3.Visible = true;
////declaramos variables
double total = 0;
int contador = 0;
textBox5.Text = Convert.ToString(numRowCount);
Interval = 0,
///grosor de la linea
StripWidth = 0.01,
//color
BackColor = Color.Orange
};
///dibujamos
chart1.ChartAreas[0].AxisY.StripLines.Add(linea);
double grafica = 0;
int iss = 0;
grafica = Convert.ToDouble(row.Cells["Column4"].Value);
chart1.Series[0].Points.AddXY(iss, grafica);
chart1.Series[0].ChartType = SeriesChartType.FastPoint;
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[0].MarkerSize = 10;
double alf;
double alf2;
double za2;
alf = 0.10;
alf2 = 0.05;
za2 = 1.65;
double raiz;
raiz = 12 * numRowCount;
double intervalo1;
double intervalo2;
double asaa;
asaa = Math.Sqrt(raiz);
textBox2.Text = Convert.ToString(Math.Round(intervalo1, 5,
MidpointRounding.AwayFromZero));
textBox3.Text = Convert.ToString(Math.Round(intervalo2, 5,
MidpointRounding.AwayFromZero));
textBox4.Text = ("No se puede rechazar que el conjunto 𝔘 tiene valor esperado de 0.5
con un nivel de aceptación de 90 % ");
else
///se relaizar lo mismo que anteriormente se dijo, solo cambiara el nivel de confianza
button3.Visible = true;
double total = 0;
int contador = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
textBox5.Text = Convert.ToString(numRowCount);
///dibujamos la liena
Interval = 0,
StripWidth = 0.01,
BackColor = Color.Orange
};
chart1.ChartAreas[0].AxisY.StripLines.Add(linea);
double grafica = 0;
int iss = 0;
grafica = Convert.ToDouble(row.Cells["Column4"].Value);
chart1.Series[0].Points.AddXY(iss, grafica);
chart1.Series[0].ChartType = SeriesChartType.FastPoint;
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[0].MarkerSize = 10;
}
///sacamos alfa
double alf;
double alf2;
double za2;
alf = 0.05;
alf2 = 0.025;
za2 = 1.96;
double raiz;
raiz = 12 * numRowCount;
double intervalo11;
double intervalo22;
double asaa;
asaa = Math.Sqrt(raiz);
///sacamos el intervalo 1
textBox2.Text = Convert.ToString(Math.Round(intervalo11, 5,
MidpointRounding.AwayFromZero));
///sacmos el intervalo 2
textBox3.Text = Convert.ToString(Math.Round(intervalo22, 5,
MidpointRounding.AwayFromZero));
{
MessageBox.Show("No se puede rechazar que el conjunto 𝔘 tiene valor esperado de 0.5
con un nivel de aceptación de 95%");
textBox4.Text = ("No se puede rechazar que el conjunto 𝔘 tiene valor esperado de 0.5
con un nivel de aceptación de 95 % ");
else
button3.Visible = true;
double total = 0;
int contador = 0;
textBox5.Text = Convert.ToString(numRowCount);
///dibujamos la liena
for (int i = 0; i <= int.Parse(textBox5.Text); i++)
Interval = 0,
StripWidth = 0.001,
BackColor = Color.Orange
};
chart1.ChartAreas[0].AxisY.StripLines.Add(linea);
double grafica = 0;
int iss = 0;
grafica = Convert.ToDouble(row.Cells["Column4"].Value);
chart1.Series[0].Points.AddXY(iss, grafica);
chart1.Series[0].ChartType = SeriesChartType.FastPoint;
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[0].MarkerSize = 10;
double alf;
double alf2;
double za21;
alf = 0.01;
alf2 = 0.005;
za21 = 2.57;
double raiz;
raiz = 12 * numRowCount;
double intervalo1;
double intervalo2;
double asaa;
asaa = Math.Sqrt(raiz);
textBox2.Text = Convert.ToString(Math.Round(intervalo1, 5,
MidpointRounding.AwayFromZero));
textBox3.Text = Convert.ToString(Math.Round(intervalo2, 5,
MidpointRounding.AwayFromZero));
textBox4.Text = ("No se puede rechazar que el conjunto 𝔘 tiene valor esperado de 0.5
con un nivel de aceptación de 99 % ");
else
{
dataGridView1.Rows.Clear();
button2.Visible = false;
textBox1.Visible = false;
textBox1.Text = "";
pictureBox1.Visible = false;
textBox3.Visible = false;
textBox2.Visible = false;
textBox4.Visible = false;
textBox3.Text = "";
textBox5.Text = "";
textBox2.Text = "";
textBox4.Text = "";
label8.Visible = false;
label9.Visible = false;
radioButton1.Visible = false;
radioButton2.Visible = false;
radioButton3.Visible = false;
radioButton2.Checked = false;
radioButton1.Checked = false;
radioButton3.Checked = false;
numRowCount = 0;
chart1.Series.Add("Violations");
chart1.DataBind();
chart1.Visible = true;
series.Points.Clear();
Column1.HeaderText = "i";
Column1.HeaderText = "x_i";
Column1.HeaderText = "x_i+1";
Column1.HeaderText = "u_i";
dataGridView1.Rows.Clear();