.NET 4.x Рассчитать функцию y(x) в зависимости от введенного параметра А - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, мне необходима помощь), любая). Мне нужно сделать программку не большую (по учёбе). Которая будет высчитывать значение функции. У меня есть сама функция, и диапазон изменения аргумента x. А так же указаны компоненты для ввода, вывода параметра А, и для вывода показателей. Функция выглядит так Диапазон изменения аргумента x[-4 ,2] шаг 0,5 Компоненты для ввода(

ComboBox

) и вывода(

DataGredView

) параметра А Компоненты для вывода показателей

RichTextBox

Опыт у меня никакой(, хочу научится, помогите чем можете пожалуйста. Т.к. у меня нет никаких примеров подобного рода кода, я хотя бы разберу любой какой вы дадите. Искал по форуму, но не уверен что те ф-ии похожи на мою, а из-за незнания тонкостей опасаюсь напортачить чего и сделать не так. p.s.

e

в функции это как я понимаю число Эйлера равное 2.71 (т.к. я заочник у меня нет возможности уточнить у преподавателя, в связи с характером и отношением самого преподавателя))

Решение задачи: «.NET 4.x Рассчитать функцию y(x) в зависимости от введенного параметра А»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace OmegaV
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            label1.Text = "А";
            button1.Text = "Рассчитать";
            comboBox1.Items.Add("-4");
            comboBox1.Items.Add("-1");
            comboBox1.Items.Add("3");
            comboBox1.SelectedItem = comboBox1.Items[0];
            button1.Click+=new EventHandler(button1_Click);
        }
        void button1_Click(object sender, EventArgs e)
        {
            int A = int.Parse(comboBox1.Text);
            List<double> resultList = new List<double>();
            double[] x = { -4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2 };
            switch (A)
            {
                case -4:
                    resultList.AddRange(res1(A,x));
                    break;
                case -1:
                    resultList.AddRange(res2(A,x));
                    break;
                case 3:
                    resultList.AddRange(res3(A,x));
                    break;
            }
 
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Значение х"));
            dt.Columns.Add(new DataColumn("Результат"));
 
            for (int j = 0; j < resultList.Count; j++)
            {
 
                dt.Rows.Add();
                dt.Rows[j].SetField(dt.Columns[0], x[j].ToString());
                dt.Rows[j].SetField(dt.Columns[1], resultList[j].ToString());
            }    
            dataGridView1.DataSource = dt;
        }
 
        List<double> res1(int A,double[]x)
        {
            List<double> data = new List<double>();
            for(int i=0;i<x.Length;i++)
            {
                data.Add(A + Math.Log(Math.Pow(x[i], 2)));
            }
            return data;
        }
        List<double> res2(int A, double[] x)
        {
            List<double> data = new List<double>();
            for (int i = 0; i < x.Length; i++)
            {
                data.Add((Math.Pow(x[i], 3) - A) / 10);
            }
            return data;
        }
        List<double> res3(int A, double[] x)
        {
            List<double> data = new List<double>();
            for (int i = 0; i < x.Length; i++)
            {
                data.Add(Math.Pow(Math.E, (x[i] * A)));
            }
            return data;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы