Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2015, 09:37   #1
b0lgar1n
Пользователь
 
Аватар для b0lgar1n
 
Регистрация: 02.11.2015
Сообщений: 11
Счастье C#. Разработать программу для вычисления значения двух функций типа y=ƒ(x)

Заранее извиняюсь если не в том разделе создал свою тему! Просмотрел форум, не нашел раздела который меня интересовал...
Если я виноват, пожалуйста не удаляйте тему, просто перенесите.

Буду весьма благодарен за помощь в решении моей задачи!
На производственную практику дали принудительное задание (до кучи к всему прочему). Было сказано что оно для проверки наших возможностей, НО без его выполнения практику мы не закроем.

Не буду ходить вокруг, да около, задание:

Разработать программу для вычисления значения двух функций типа y=ƒ(x), в точках x при заданных значениях a.
Организовать вывод результатов вычислений в виде двумерной таблицы и в виде графиков функции.
Предусмотреть для пользователя возможность задания значений x и a (формат задания каждой переменной - одномерный массив), возможность выбора одной из двух функций для работы и возможность выбора формы представления результатов (табличный, графический).

И две функции y=ƒ(x):

y=0,5ln(ax^2 )+ln^2 x
с исходными данными:
x={10;12;15;20;25;33}
a={1;4;8;9;11}

y=(e^2x-e^ax)/(x^6 (1+√x))
с исходными данными:
x={1;2;3;4;5}
a={0,1;0,3;0,4;0,8}

Знание sharedevelop на дали поверхностные, максимум что мы писали, это калькулятор с простыми операциями по сложению и вычитанию.
Человек который нас начал учить программированию в sharedevelop и человек который дал задание на практику, совсем разные люди(((
b0lgar1n вне форума Ответить с цитированием
Старый 02.11.2015, 10:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну раз писали калькулятор, то общие понятия у тебя есть.
Соответственно набросок программы ты сделать можешь. Да?
А мы уже подкорректируем его вместе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2015, 10:23   #3
b0lgar1n
Пользователь
 
Аватар для b0lgar1n
 
Регистрация: 02.11.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну раз писали калькулятор, то общие понятия у тебя есть.
Соответственно набросок программы ты сделать можешь. Да?
А мы уже подкорректируем его вместе.
Наброском занят в данный момент, не пойму некоторые нюансы...

"Предусмотреть для пользователя возможность задания значений x и a (формат задания каждой переменной - одномерный массив), возможность выбора одной из двух функций для работы и возможность выбора формы представления результатов (табличный, графический)"

Каким инструментом WindowsForm удобнее сделать список для возможности выбора одной из двух функций для работы?
Я выбрал ComboBox, сейчас буду разбираться как её заполнять.

Цитата:
Сообщение от b0lgar1n Посмотреть сообщение
Каким инструментом WindowsForm удобнее сделать список для возможности выбора одной из двух функций для работы?
Я выбрал ComboBox, сейчас буду разбираться как её заполнять.
Засунул я в ComboBox 2е функции (items), в раскрывающемся списке они появляются, как теперь сделать чтобы при выборе определенной функции из списка выводились исходные данные?

Последний раз редактировалось Stilet; 02.11.2015 в 14:50.
b0lgar1n вне форума Ответить с цитированием
Старый 02.11.2015, 11:38   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, стандартно это можно всего парой способов и можно сделать:
либо Radio кнопки, либо - комбобокс.
Комбобокс вполне себе нормальное решение.

перехватывайте события SelectedIndexChanged или SelectedValueChanged
p.s. я бы повесил дополнительно кнопочку "Рассчитать" и в ней уже брал выбранный элемент (SelectedIndex) из комбобокса и исходные значения x и a из таблиц

Последний раз редактировалось Serge_Bliznykov; 02.11.2015 в 11:43.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.11.2015, 11:40   #5
b0lgar1n
Пользователь
 
Аватар для b0lgar1n
 
Регистрация: 02.11.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так, стандартно это можно всего парой способов и можно сделать:
либо Radio кнопки, либо - комбобокс.
Комбобокс вполне себе нормальное решение.
Спс за участие, сейчас попробeю Radio.
b0lgar1n вне форума Ответить с цитированием
Старый 02.11.2015, 11:49   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Погодите, а чем Вас комбобокс не устроил?!
вполне ГОДНОЕ решение!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.11.2015, 12:08   #7
b0lgar1n
Пользователь
 
Аватар для b0lgar1n
 
Регистрация: 02.11.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Погодите, а чем Вас комбобокс не устроил?!
вполне ГОДНОЕ решение!
Ну хотелось попробовать что за зверь... И не пойму как в комбобоксе при выборе пункта выводились исходные данные...

Что я имею в итоге:


Как сделать чтобы когда я из списка ComboBox выбирал пункт y=0,5ln(ax^2 )+ln^2 x
выводились исходные данные:
x={10;12;15;20;25;33}
a={1;4;8;9;11}
???

Последний раз редактировалось Stilet; 02.11.2015 в 14:50.
b0lgar1n вне форума Ответить с цитированием
Старый 02.11.2015, 14:53   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Как сделать
Описать соответствующие событие:
Код:
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (((ComboBox)sender).SelectedIndex == 0) { Выбран первый пункт} else
            if (((ComboBox)sender).SelectedIndex == 1) { Выбран второй пункт} else
                ...
        }
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2015, 15:45   #9
b0lgar1n
Пользователь
 
Аватар для b0lgar1n
 
Регистрация: 02.11.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Описать соответствующие событие:
Код:
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (((ComboBox)sender).SelectedIndex == 0) { Выбран первый пункт} else
            if (((ComboBox)sender).SelectedIndex == 1) { Выбран второй пункт} else
                ...
        }
Благодарю!
"{ Выбран первый пункт}" это комментарий, или тут нужно вставить формулу из первого пункта?

И ... в конце я так понял не пишу, это типо т.д.? У меня всего 2 пункта.

Ругается на else: "Недопустимый терм "else" в выражении (CS1525) - C:\...\MainForm.cs:54,47"

В целом, что я имею на данный момент:
Код:
/// <summary>
	/// Description of MainForm.
	/// </summary>
	public partial class MainForm : Form
	{
		public MainForm()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		void MainFormLoad(object sender, EventArgs e)// Тело программы
		{
	
		}
		void Button1Click(object sender, EventArgs e)//кнопка "Выход"
		{
			this.Close();
		}
		void Button2Click(object sender, EventArgs e)//Вывод табличных результатов задания
		{
	
		}
		void Button3Click(object sender, EventArgs e)//Вывод графических результатов задания
		{
	
		}
		void ComboBox1SelectedIndexChanged(object sender, EventArgs e)//Выпадающий список с формами
		{

		}
		 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)//Формулы из списка
        {
            if (((ComboBox)sender).SelectedIndex == 0) {} else
            if (((ComboBox)sender).SelectedIndex == 1) {} else
        }
		void Label3Click(object sender, EventArgs e)//Выберите функцию для работы:
		{
	
		}
		void Label2Click(object sender, EventArgs e)//Вывод результатов:
		{
	
		}
		void Label4Click(object sender, EventArgs e)//Исходые данные:
		{
	
		}
	}
}
Если вдруг нужная информация, то SharpDevelop Version : 5.1.0.5134-RC-d5052dc5

Переделал, не помогло

Последний раз редактировалось Stilet; 02.11.2015 в 17:10.
b0lgar1n вне форума Ответить с цитированием
Старый 02.11.2015, 17:11   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Смотри:
Код:
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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void FirstFunc() { 
            int[] x={10,12,15,20,25,33},a={1,4,8,9,11,0};
            for (int i = 0; i < x.GetLength(0); i++) {
                ListViewItem li = listView1.Items.Add(Convert.ToString(x[i]));
                li.SubItems.Add(Convert.ToString(a[i]));
                li.SubItems.Add((0.5+Math.Log(a[i]*x[i]*x[i])+Math.Pow(Math.Log(x[i]),2)).ToString());

            }
        }
        private void SecFunc()
        {
            Double[] x = { 1,2,3,4,5}, a = { 0.1,0.3,0.4,0.8,0};
            for (int i = 0; i < x.GetLength(0); i++)
            {
                ListViewItem li = listView1.Items.Add(Convert.ToString(x[i]));
                li.SubItems.Add(Convert.ToString(a[i]));
                li.SubItems.Add( (Math.Exp(2 * x[i])-Math.Exp(a[i]*x[i])/(Math.Pow(x[i],6)*(1+Math.Sqrt(x[i])))).ToString());

            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("0,5ln(ax^2 )+ln^2 x");
            comboBox1.Items.Add("(e^2x-e^ax)/(x^6 (1+√x))");

            listView1.View = View.Details;
            listView1.Columns.Clear();
            listView1.Columns.Add("X");
            listView1.Columns.Add("A");
            listView1.Columns.Add("f(x,a)");
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            if (((ComboBox)sender).SelectedIndex == 0) { FirstFunc(); }
            else
                if (((ComboBox)sender).SelectedIndex == 1) { SecFunc(); }
                else
                    ;
        }
    }
}
Кидаешь на форму Комбобокс, и ЛистВью. Создаешь для комбика событие его наполняешь как в примере.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите Delphi( Разработать программу для вычисления заданных сумм, рекурсия) Глеб Иванов Помощь студентам 6 16.03.2015 23:21
Используя перегрузку функций, написать программу определения минимального значения элемента массива разного типа Hemp007 Помощь студентам 0 21.05.2014 13:41
Разработать программу для вычисления заданных сумм CyBer_ua Помощь студентам 2 20.06.2012 16:20
Разработать программу вычисления значения функции Mala Nindzya Помощь студентам 11 14.05.2012 21:41