private void button2_Click(object sender, EventArgs e) { UzupelnijTabele(); } private void UzupelnijTabele() { double dolnaGranica = 0, gornaGranica = 0, krok = 0; if (!CzytajDane(ref dolnaGranica, ref gornaGranica, ref krok)) return; int iloscDanych = ObliczIloscDanych(dolnaGranica, gornaGranica, krok); double[,] dane = ObliczFunkcje(dolnaGranica, gornaGranica, krok, iloscDanych); dataGridView1.Visible = true; for (int i = 0; i < iloscDanych; i++) { dataGridView1.Rows.Add(); dataGridView1.Rows[i].Cells[0].Value = dane[i, 0]; dataGridView1.Rows[i].Cells[1].Value = dane[i, 1]; } } private bool CzytajDane(ref double dolnaGranica, ref double gornaGranica, ref double krok) { double wartosc; if (double.TryParse(textDolna.Text, out wartosc)) dolnaGranica = wartosc; else { MessageBox.Show("Popraw wartość dolnej granicy", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if (double.TryParse(textGorna.Text, out wartosc)) gornaGranica = wartosc; else { MessageBox.Show("Popraw wartość górnej granicy", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if (double.TryParse(textPrzyrost.Text, out wartosc)) krok = wartosc; else { MessageBox.Show("Popraw wartość przyrostu", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } return true; } private double[,] ObliczFunkcje(double dolnaGranica, double gornaGranica, double krok, int iloscDanych) { double[,] dane = new double[iloscDanych, 2]; double akrualnyX = dolnaGranica; for(int i = 0; i < iloscDanych; ++i) { dane[i,0] = akrualnyX; dane[i,1] = ObliczFunkcjeWPunkcie(akrualnyX); akrualnyX += krok; } return dane; } private int ObliczIloscDanych(double dolnaGranica, double gornaGranica, double krok) { int i = 1; double aktualnyX = dolnaGranica; while(aktualnyX < gornaGranica) { aktualnyX += krok; ++i; } return i; } private double ObliczFunkcjeWPunkcie(double akrualnyX) { if (akrualnyX <= -2) return Math.Exp(akrualnyX); if (Math.Abs(akrualnyX) < 2) return Math.Pow((akrualnyX + 2), 4); return Math.Pow(akrualnyX, 2) / Math.Log10(akrualnyX); }