0 / 0 / 0
Регистрация: 03.10.2018
Сообщений: 2
1

Вычисление значения выражения в зависимости от значения аргумента

03.10.2018, 22:18. Показов 1090. Ответов 5
Метки нет (Все метки)

Вычисление значения выражения в зависимости от значения аргумента
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2018, 22:18
Ответы с готовыми решениями:

Ввод значения аргумента x и вычисление значения функции y
Разработать программу, которая вводит значения аргумента x и вычисляет значение функции y:

В зависимости от значения некоторого выражения вычислить значения функции y(x), определенной на отрезке [a;b],
Добрый вечер, помогите пожалуйста решить задачку С++ на тему"Сочетания циклов и разветвлений" В...

Вычисление значения аргумента по графику
Задание. Написать программу, которая по введенному значению аргумента вычисляет значение функции,...

Вычисление значения функции при произвольном значении аргумента
Помогите пожалуйста. Нужно составить программу вычисления значения функции y(x) при произвольном...

5
669 / 181 / 58
Регистрация: 04.05.2012
Сообщений: 843
Записей в блоге: 1
04.10.2018, 11:42 2
kukapuka,
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
#include<iostream>
#include <math.h>
using namespace std;
 
enum Result{EQVAL,MORE,LESS,ERROR};
 
Result isX(int x){
  if(x == 3){
    return  EQVAL;
  }else if(x < 3){return LESS;}
        else if(x > 3){return MORE;}
  return ERROR;
}
 
int main()
{
  int x;
  cout<<"Enter X - ";
  cin>>x;
 
  switch (isX(x)) {
  case EQVAL:
   cout<<"G("<<x<<") = "<<tan(sqrt(x));
      break;
  case MORE:
    cout<<"G("<<x<<") = "<<1.2*sqrt((5.7)/exp(x));
      break;
  case LESS:
    cout<<"G("<<x<<") = "<<log(x)+sin(x);
      break;
  default:
    cout<<"No valid value";
      break;
  }
 
    return 0;
}
Добавлено через 4 минуты
Что-то я не много усложнила решение.
Вот попроще.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include <math.h>
using namespace std;
 
void isX(int x){
  if(x == 3){
    cout<<"G("<<x<<") = "<<tan(sqrt(x));;
  }else if(x < 3){cout<<"G("<<x<<") = "<<log(x)+sin(x);}
        else if(x > 3){cout<<"G("<<x<<") = "<<1.2*sqrt((5.7)/exp(x));}
}
 
int main()
{
  int x;
  cout<<"Enter X - ";
  cin>>x;
  isX(x);
 
  return 0;
}
1
158 / 91 / 25
Регистрация: 17.10.2010
Сообщений: 1,062
04.10.2018, 12:22 3
Нужно учитывать, что при x==0 логарифм уходит на бесконечность и все выражение уходит на бесконечность:
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
#include<iostream>
#include <cmath>
using namespace std;
 
enum Result { EQVAL, MORE, LESS, ERROR };
 
Result isX(int x) {
    if (x == 3) {
        return  EQVAL;
    }
    else if (x > 0 && x < 3) { return LESS; }
    else if (x > 3) { return MORE; }
    else if (x == 0) { return ERROR; }
    return ERROR;
}
 
int main()
{
    int x;
    cout << "Enter X - ";
    cin >> x;
 
    switch (isX(x)) {
    case EQVAL:
        cout << "G(" << x << ") = " << tan(sqrt(x));
        break;
    case MORE:
        cout << "G(" << x << ") = " << 1.2*sqrt((5.7) / exp(x));
        break;
    case LESS:
        cout << "G(" << x << ") = " << log(x) + sin(x);
        break;
    default:
        cout << "No valid value";
        break;
    }
    system("pause");
    return 0;
}
0
7422 / 5017 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
04.10.2018, 12:41 4
kukapuka, x - тип double и область определения не забываем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    double x, g;    
    
    cout <<"x="; cin >>x;
    
    if (x>0)
    {
    if (x<3) g=log(x)+sin(x);
    else if (x == 3) g=tan(sqrt(x));
    else g=1.2*sqrt(5.7/exp(x));
    cout<<"g="<<g<<endl;
    }
    else cout <<"x="<<x<<" not in scope\n";    
 
system("pause");
return 0;
}
1
158 / 91 / 25
Регистрация: 17.10.2010
Сообщений: 1,062
04.10.2018, 12:41 5
Лучше добавить условие для x <= 0:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include <cmath>
using namespace std;
 
void isX(int x) {
    if (x == 3) {
        cout << "G(" << x << ") = " << tan(sqrt(x));;
    }
    else if (x <= 0) { cout << "Wrong value:  "; }
    else if (x > 0 && x < 3) { cout << "G(" << x << ") = " << log(x) + sin(x); }
    else if (x > 3) { cout << "G(" << x << ") = " << 1.2*sqrt((5.7) / exp(x)); }
    }
 
int main()
{
    int x;
    cout << "Enter X - ";
    cin >> x;
    isX(x);
    system("pause");
    return 0;
}
0
669 / 181 / 58
Регистрация: 04.05.2012
Сообщений: 843
Записей в блоге: 1
04.10.2018, 14:52 6
Цитата Сообщение от isaak Посмотреть сообщение
что при x==0 логарифм уходит на бесконечность
я еще думала, что наверное надо нечто подобное учитывать....но почему-то проигнорировала....
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2018, 14:52
Помогаю со студенческими работами здесь

Вычисление значения А в зависимости от поставленного условия
Составить программу для вычисления значения rez в зависимости от поставленного условия. Для...

Вычисление значения выражения
вычислить y y=\sum_{p=1}^{m} \frac{1}{sin({e}^{p}-1)}

Вычисление значения выражения
Как записать вычисление этой суммы? Спасибо.

Вычисление значения выражения
Только начал осваивать с++,практически 0 уровень,дали решить задачу,условие: B=sqrt(10*(x^(1/3) +...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru