Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace frequenciaEstatistica
- {
- public partial class formInterface : Form
- { //variáveis essenciais
- double valorAmplitude;
- double valorQuantidadeIntervalo;
- double valorTamanhoIntervalo;
- double valorPrimeiroValor;
- double valorUltimoValor;
- public formInterface()
- {
- InitializeComponent();
- }
- public void acaoConfirmar()
- { //método para o botão confirmar
- if (tbNumero.Text == "")
- {
- MessageBox.Show("Não foi digitado nenhum número.", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- try
- {
- lstRoll.Items.Add(tbNumero.Text);
- btnRemoveRoll.Enabled = true;
- btnResetAll.Enabled = true;
- tbNumero.Text = "";
- tbNumero.Focus();
- }
- catch (Exception)
- {
- MessageBox.Show("Por favor, digite apenas numeros", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
- tbNumero.Text = "";
- tbNumero.Focus();
- }
- }
- }
- public void calcularDetalhes()
- { //faz o cálculo das informações essenciais, amplitude, qntd intervalo e tamanho do intervalo
- try
- {
- valorPrimeiroValor = Convert.ToDouble(lstRoll.Items[0]);
- valorUltimoValor = Convert.ToDouble(lstRoll.Items[lstRoll.Items.Count - 1]);
- tbNumero.Enabled = false;
- valorAmplitude = valorUltimoValor - valorPrimeiroValor;
- valorQuantidadeIntervalo = Math.Sqrt(lstRoll.Items.Count);
- valorTamanhoIntervalo = Math.Round((valorAmplitude / valorQuantidadeIntervalo), 4);
- valorQuantidadeIntervalo = Math.Ceiling((Math.Sqrt(lstRoll.Items.Count)));
- lblAmplitude.Text += valorAmplitude;
- lblQntInt.Text += valorQuantidadeIntervalo;
- lblTamanhoIntervalo.Text += valorTamanhoIntervalo;
- lstRoll.Focus();
- }
- catch (Exception)
- {
- MessageBox.Show("Por favor, digite apenas números.", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- public void reordenar()
- { //reordena o roll de forma crescente
- string[] a = lstRoll.Items.Cast<string>().ToArray();
- lstRoll.Items.Clear();
- var ret = a.OrderBy(p => int.Parse(p));
- foreach (var item in ret)
- lstRoll.Items.Add(item.ToString());
- }
- public void criarGrid()
- { //cria a quantidade de linhas na grid baseada na quantidade de intervalos existentes.
- for (double i = valorQuantidadeIntervalo; i > 0; i--)
- {
- GridDistribuicao.Rows.Add();
- }
- //faz a distribuição dos dados na coluna Dados.
- for (int a = 0; a < valorQuantidadeIntervalo; a++)
- {
- GridDistribuicao.Rows[a].Cells["Dados"].Value = valorPrimeiroValor + " |--> " + Math.Round((valorPrimeiroValor + valorTamanhoIntervalo), 2);
- valorPrimeiroValor += Math.Round((valorTamanhoIntervalo), 2);
- //guarda os valores de valorPrimeiroValor num vetor para futuros cálculos
- double[] guardarPrimeiroValor = new double[Convert.ToInt32(valorQuantidadeIntervalo)+1];
- guardarPrimeiroValor[a] = valorPrimeiroValor;
- //faz a distribuição na tabela Xi (em construção)
- GridDistribuicao.Rows[0].Cells["Xi"].Value = ((guardarPrimeiroValor[0] * (valorPrimeiroValor+valorTamanhoIntervalo))/2);
- }
- }
- private void btnConfirmar_Click(object sender, EventArgs e)
- {
- acaoConfirmar();
- btnCalcular.Enabled = true;
- }
- private void btnRemoveRoll_Click(object sender, EventArgs e)
- { //limpa o item selecionado pelo usuário no roll
- lstRoll.Items.Remove(lstRoll.SelectedItem);
- }
- private void btnResetAll_Click(object sender, EventArgs e)
- { //Limpa todos os valores, resetando o programa
- lblAmplitude.Text = "Amplitude: ";
- lblQntInt.Text = "Quantidade de Intervalos: ";
- lblTamanhoIntervalo.Text = "Tamanho dos Intervalos: ";
- valorAmplitude = 0;
- valorQuantidadeIntervalo = 0;
- valorTamanhoIntervalo = 0;
- btnConfirmar.Enabled = true;
- tbNumero.Enabled = true;
- btnResetAll.Enabled = false;
- btnRemoveRoll.Enabled = false;
- lstRoll.Items.Clear();
- tbNumero.Focus();
- }
- private void tbNumero_KeyDown(object sender, KeyEventArgs e)
- { //método para que o usuário confirme o valor via tecla Enter
- if (e.KeyCode == Keys.Enter)
- {
- acaoConfirmar();
- btnRemoveRoll.Enabled = false;
- btnCalcular.Enabled = true;
- }
- }
- private void pictureBox1_Click(object sender, EventArgs e)
- {
- MessageBox.Show("*********************** INFORMAÇÕES ***********************\n\n - Use o botão Confirmar Valor para inserir sua lista de dados.\n\n - Use o botão 'Remover do Roll' caso tenha confirmado algum número acidentalmente. Este botão não estará disponível caso já tenha clicado em Calcular.", "Informações Úteis", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- private void btnCalcular_Click(object sender, EventArgs e)
- {
- if (lstRoll.Items.Count < 1)
- { //se não estiver nada no roll, uma mensagem de erro é enviada
- MessageBox.Show("Não foi inserido nenhum valor.", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- else
- {
- reordenar();
- btnRemoveRoll.Enabled = false;
- calcularDetalhes();
- criarGrid();
- }
- }
- private void formInterface_Load(object sender, EventArgs e)
- {
- tbNumero.Select();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement