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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2018, 19:31   #1
Лидия_13_1666
 
Регистрация: 28.04.2018
Сообщений: 4
По умолчанию Вычислить значение неэлементарной функции y = f(x). Реализовать решение несколькими способами:

Вычислить значение неэлементарной функции y = f(x). Реализовать решение несколькими способами:
•полное ветвление;
•краткая форма ветвления с использованием составных логических выражений;
•с использованием условной операции.

Используя оператор–переключатель, реализовать выбор способа решения

Функция y=f(x):
y=|sinx| при x<=3
y=e^(-x^2) при 3<x<=10
y=ln(x+3) при 10<x<=20
y=3*x^3 при x>20

#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
/* Функция y=f(x):
y=|sinx| при x<=3
y=e^(-x^2) при 3<x<=10
y=ln(x+3) при 10<x<=20
y=3*x^3 при x>20
*/

int main()
{
setlocale(LC_ALL, "Russian");
double y1,y2,y3,x;
cout<<"Введите x: "; cin>>x;
double a1=sin(x)+7;
double b1=x+log(abs(x-8)+10);
double c1=x-13;
if (x<= 4 && a1!=0)
y1=(cos(x)+14/a1);
else
{
if (x<=12 && b1>0)
y1=sqrt(b1);
else
{
if ( x<38 && c1>0)
y1=sqrt(c1);
else
{
if (x>=38)
y1=5*x;
else
cout<<"ОШИБКА \n";
}
}
}
cout<<"ПОЛНОЕ ВЕТВЛЕНИЕ\n";
cout<<"y1="<<y1<<endl;

double a2=sin(x)+7;
double b2=x+log(abs(x-8)+10);
double c2=x-13;
if (x<= 4 && a2!=0)
y1=(cos(x)+14/a2);
if (x<=12 && b2>0)
y2=sqrt(b2);
if ( x<38 && c2>0)
y2=sqrt(c2);
if (x>=38)
y2=5*x;
cout<<"КРАТКОЕ ВЕТВЛЕНИЕ \n";
cout<<"y2="<<y2<<endl;

(x<=4) ? (y3 = (cos(x)+14/sin(x)+7)):
(x<12) ? (y3=sqrt(x+log(abs(x-8)+10))): (12<=x && x<38) ? (y3=sqrt(x-13)) : (x>=38) ? (y3=5*x) : y3;
cout<<"ВЕТВЛЕНИЕ С ИСПОЛЬЗОВАНИЕМ УСЛОВНОЙ ОПЕРАЦИИ \n";
cout<<"y3="<<y3<<endl;

double y,z;
int N;
cout<<"Введите z:"; cin>>z;
cout<<"НОМЕР ИНТЕРЕСУЕЩЕГО ВАС ЗАДАНИЯ ОТ 1 ДО 3 \n"; cin>> N;
switch(N)
{
case 1: cout<<"№1";cout<<"Введите x: "; cin>>x;
double a1=sin(x)+7;
double b1=x+log(abs(x-8)+10);
double c1=x-13;
if (x<= 4 && a1!=0)
y1=(cos(x)+14/a1);
else
{
if (x<=12 && b1>0)
y1=sqrt(b1);
else
{
if ( x<38 && c1>0)
y1=sqrt(c1);
else
{
if (x>=38)
y1=5*x;
else
cout<<"ОШИБКА \n";
}
}
}
cout<<"ПОЛНОЕ ВЕТВЛЕНИЕ\n";
cout<<"y1="<<y1<<endl;
break ;

case 2: cout<<"№2";
double a2=sin(x)+7;
double b2=x+log(abs(x-8)+10);
double c2=x-13;
if (x<= 4 && a2!=0)
y1=(cos(x)+14/a2);
if (x<=12 && b2>0)
y2=sqrt(b2);
if ( x<38 && c2>0)
y2=sqrt(c2);
if (x>=38)
y2=5*x;
cout<<"КРАТКОЕ ВЕТВЛЕНИЕ \n";
cout<<"y2="<<y2<<endl;
break ;
case 3: cout<<"№3"; (x<=4) ? (y3 = (cos(x)+14/sin(x)+7)):
(x<12) ? (y3=sqrt(x+log(abs(x-8)+10))): (12<=x && x<38) ? (y3=sqrt(x-13)) : (x>=38) ? (y3=5*x) : y3;
cout<<"ВЕТВЛЕНИЕ С ИСПОЛЬЗОВАНИЕМ УСЛОВНОЙ ОПЕРАЦИИ \n";
cout<<"y3="<<y3<<endl;
break;

default: cout<< "ОШИБКА ВВОДА ДАННЫХ" ; y=0;
}
cout<<"ЗАПРОС АРГУМЕНТА ФУНКЦИИ\n ";
cout<<"y"<<y=<<endl;
system("pause");

return 0;
}
Лидия_13_1666 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти значение функции Y(X) при заданном X. Используя стандартные функции, вычислить Y11=[Y], где [ ] означают целую часть от ч Viraj Паскаль, Turbo Pascal, PascalABC.NET 0 23.05.2015 12:30
Вычислить значение функции(или функция не определена), значение х вводится с клавиатуры Safok Помощь студентам 2 16.12.2014 08:04
решение задачи в Pascal: Вычислить значение числовой функции, заданной кусочной схемой Екатерина23 Помощь студентам 2 05.12.2013 20:20
Использование подпрограммы-функции: Вычислить значение функции (Турбо паскаль) RealUnited Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2012 20:34
Вычислить значение функции Axsel145 Помощь студентам 2 24.09.2011 23:22