Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 72
1

програма для вычесление по формуле с шагом

21.09.2015, 18:24. Показов 1131. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот мой текст программы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {double a, b, c, x, y, хn, xk, dx;
        Console.WriteLine("Введете значение a");
        a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение b");
        b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение c");
        c = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение x");
        x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение x начальное");
        xn = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение x конечное");
        xk = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введете значение шага dx");
        dx = Convert.ToInt32(Console.ReadLine());
 
        if(x<0 || b>=0)
         {
             y = System.Math.Pow(a,(x))+b;
                       }
             else if(0<=x)  and else if (b=0)
             {
              y=x/(x-c);
               }
               else
               {
                 y=x/(-c);
                  }
           Console.WriteLine [y];
        }
Не получаеться чтоб программа заработала вот само задание:
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2015, 18:24
Ответы с готовыми решениями:

Программа для вычесление по формуле y=maxxi
напишите программу для вычисления формулы y=maxxi. i это индекс для x.

Вычесление значений с шагом
Составить программу вычислений значений m=(a*a+a*c-a*n)/d при изменении переменной от а-начального...

Вычесление велечены S по формуле
Мужики срочно надо сделать задачку сам не шарю прошу помощи! язык программирования паскаль задача...

Вычесление числа сочетаний по формуле
Помогите с написание программы, пожалуйста=)

9
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
21.09.2015, 18:30 2
Лучший ответ Сообщение было отмечено antikiler693 как решение

Решение

antikiler693,
C#
1
 Console.WriteLine [y];
Круглые скобки нужны.


C#
1
else if(0<=x)  and else if (b=0)
Это что то магическое.
1
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 72
21.09.2015, 18:51  [ТС] 3
Вот само задание:
Вычислить и вывести на экран в виде таблицы значение функции F на интервале х начальный и х конечный с шагом dx,
fx(система)=-a(x^2)+b при x<0 и b!=0
x/(x-c) при x>0 и b=0
x/(-c) в остальных случаях
где a,b,c - действительные числа
Функция F должна принимать действительное значение, если выражение НЕ (Ац или Bц или Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц, Сц обозначены целые части значений А, B, C, операции НЕ и ИЛИ - по разрядные. Значение А, B, C, Х нач, Х конеч,dx ввести с клавиатуры.

Добавлено через 4 минуты
Ну
C#
1
else if(0<=x)  and else if (b=0)
я написал чтоб оба условия дествовали если я пишу так
C#
1
else if(0<=x && b=0)
то там куча ошибок типо && не подходит для double
0
4 / 4 / 1
Регистрация: 18.09.2015
Сообщений: 23
21.09.2015, 21:15 4
Лучший ответ Сообщение было отмечено antikiler693 как решение

Решение

Цитата Сообщение от antikiler693 Посмотреть сообщение
else if(0<=x && b=0)
if (o<=x && b==0)
Второй знак равно забыли в конструкции
1
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 72
22.09.2015, 14:09  [ТС] 5
спасибо все получилось

Добавлено через 11 часов 51 минуту
Ребята подскажите, а как сделать чтоб данные выходили с шагом и ввиде таблицы, т.е
....
x= 5 y=2
x=4 y=1
....

в таком виде от начального до конечного х
0
127 / 121 / 68
Регистрация: 27.08.2015
Сообщений: 232
22.09.2015, 14:30 6
Вам нужно завести отдельную функцию для вычисления значения y (те вычисления, что раньше вы писали в Main):
C#
1
2
3
4
5
        static double f(double a, double b, double c, double x)
        {
            // Ваш алгоритм вычисления f(x).
            // return ;
        }
А дальше очень простой вывод для каждого x:
C#
1
2
for (double x = xn; x < xk; x += dx)
                Console.WriteLine("x = {0}, f(x) = {1}", x, f(a, b, c, x));
1
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 72
22.09.2015, 14:48  [ТС] 7
можете помочь это с кодом сгрупировать, а то как вставляю куча ошибок

Добавлено через 11 минут
Цитата Сообщение от Moloch Посмотреть сообщение
static double f(double a, double b, double c, double x)
* * * * {
* * * * * * // Ваш алгоритм вычисления f(x).
* * * * * * // return ;
* * * * }
не пойму куда это ставить сразу после
C#
1
static void Main(string[] args)
или вместо
C#
1
double a, b, c, x, y, xn, xk, dx;
0
127 / 121 / 68
Регистрация: 27.08.2015
Сообщений: 232
22.09.2015, 14:54 8
Лучший ответ Сообщение было отмечено antikiler693 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    class Program
    {
        static double f(double a, double b, double c, double x)
        {
            double y = 0;
 
            if (x < 0 || b >= 0)
            {
                y = System.Math.Pow(a, (x)) + b;
            }
            else if (0 <= x && b == 0)
            {
                y = x / (x - c);
            }
            else
            {
                y = x / (-c);
            }
 
            return y;
        }
 
        static void Main(string[] args)
        {
            double a, b, c, xn, xk, dx;
            Console.WriteLine("Введете значение a");
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введете значение b");
            b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введете значение c");
            c = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введете значение x начальное");
            xn = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введете значение x конечное");
            xk = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введете значение шага dx");
            dx = Convert.ToInt32(Console.ReadLine());
 
            for (double x = xn; x < xk; x += dx)
                Console.WriteLine("x = {0}, f(x) = {1}", x, f(a, b, c, x));
        }
    }
Правильность алгоритма вычислений не проверял, тут уж вы сами...
0
0 / 0 / 1
Регистрация: 16.10.2014
Сообщений: 72
22.09.2015, 15:10  [ТС] 9
Спасибо, большое! Поясни дураку, что мы вот это сделали ?
C#
1
static double f(double a, double b, double c, double x)
И тут
C#
1
Console.WriteLine("x = {0}, f(x) = {1}", x, f(a, b, c, x))
почему именно 0, 1 - это типо в числовом порядке, если б я хотел чтоб наоборот было я написал бы
C#
1
Console.WriteLine("f(x) = {0}, x = {1}", x, f(a, b, c, x))
?
0
127 / 121 / 68
Регистрация: 27.08.2015
Сообщений: 232
22.09.2015, 15:28 10
C#
1
static double f(double a, double b, double c, double x)
Это определение функции, принимающей параметры a, b, c, x (вещественные) и возвращающей соответственно вещественное значение - результат вычисления функции. Функция объявлена static, чтобы её можно было вызывать из статической функции static Main, не создавая экземпляра класса.

Числа в фигурных скобках в Console.WriteLine это порядковый номер выводимого параметра. Для того, чтобы значение функции выводилось сначала можно написать:
C#
1
Console.WriteLine("f(x) = {1}, x = {0}", x, f(a, b, c, x))
или так (переставить местами сами параметры)
C#
1
Console.WriteLine("f(x) = {0}, x = {1}", f(a, b, c, x), x)
0
22.09.2015, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2015, 15:28
Помогаю со студенческими работами здесь

Нужно сделать программу для интерполяции по формуле Лагранжа, y=Sin(x^3), границы от 0-2 с шагом 0,08. Почему не работае
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;process.h&gt; #include &lt;iostream&gt; #include...

На интервале с шагом для каждого «b» из интервала с шагом протабулировать функцию
На интервале с шагом для каждого «b» из интервала с шагом протабулировать функцию

Программа для вычесление функции f
Люди добрые, помогите пожалуйста бестолковому первокурснику решить задачку. Третий день мучаюсь,...

На интервале 0.011<=a<=0.635 с шагом 0.312 для каждого b из промежутка 0.014<=b<=0.021 с шагом 0.001
На интервале 0.011&lt;=a&lt;=0.635 с шагом 0.312 для каждого b из промежутка 0.014&lt;=b&lt;=0.021 с шагом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru