0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 20

Составить программу для вычисления составной (сложной) функции

10.03.2015, 13:38. Показов 2972. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: используя оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей различный вид на разных участках аргумента
Все исходные данные, необходимые для проведения вычислений, вводить с клавиатуры.

Функция

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y=\begin{cases}\cos x+\operatorname{tg}x & \text{, } -1\leq x< -0.5\\ 2\,\arcsin x+1.4 & \text{, } -0.5\leq x<0.5\\ -x^6\,\ln(1+x)+2.45 & \text{, } 0.5\leq x<1\\ -3(x-1.6)^2+2.8 & \text{, }1\leq x\leq 2\end{cases}<br />

Добавлено через 14 часов 42 минуты
Помогите сделать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2015, 13:38
Ответы с готовыми решениями:

Составить программу для вычисления составной (сложной) функции
Помогите пожалуйста. Используя, оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей...

Оператор условия. Составить программу для вычисления составной (сложной) функции
Помогите пожалуйста... Используя оператор условия (if … then ... else), составить программу для вычисления составной (сложной) функции,...

Используя оператор условия (if … then), составить программу для вычисления составной (сложной) функции
Задание: используя оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей различный вид на...

5
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 20
10.03.2015, 14:25  [ТС]
Я составил, но увы, не уверен, что правильно:
Pascal
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
uses crt;
var
   x,y:real;
   
function tg(n:real):real;
begin
tg:=sin(n)/cos(n);
writeln(sin(n),' || ', cos(n));
end;
 
function arcsin (x : real) : real;
begin
Arcsin := arctan(x/Sqrt(1-sqr(x)));
end;
   
begin
write('Input x: ');
readln(x);
if (x>=1)and(x<-0.5) then
y:=cos(x)+tg(x);
if (x>=-0.5)and(x<0.5) then
y:=2*arcsin(x)+1.4;
if (x>=0.5)and(x<1) then
y:=exp(ln(-x)*(1/6))*ln(1+x)+2.45;
if (x>=1)and(x<=2) then
y:=-3*sqrt(x-1.6)+2.8;
writeln('y=',y:0:2);
end.
0
Модератор
10328 / 5606 / 3385
Регистрация: 17.08.2012
Сообщений: 17,113
10.03.2015, 14:33
Цитата Сообщение от shemshur2014 Посмотреть сообщение
Pascal
24
y:=exp(ln(-x)*(1/6))*ln(1+x)+2.45;
Не понял, что Вам нужно вычислить:

1) (-x)6
2) -x6
3) https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt[6]{\begin{matrix}\\\\ -x\end{matrix}}
0
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 20
10.03.2015, 18:13  [ТС]
Второй вариант
0
Модератор
10328 / 5606 / 3385
Регистрация: 17.08.2012
Сообщений: 17,113
10.03.2015, 19:15
Тогда должно быть
Pascal
24
y:=-exp(ln(x)*6)*ln(1+x)+2.45;
Однако, при целочисленных показателях степени n не следует увлекаться exp(n∙ln(x)), тем более, что ln(x) при x ≤ 0 не определён, что частенько вызывает ошибку при работе программы. Вот, одна из дискуссий насчёт возведения в степень с помощью логарифмирования/потенцирования: Напишите программу, которая вводит два вещественных числа (x и y) и вычисляет значение x^y. Возведение в целую степень, тем более, в небольшую, лучше делать с помощью умножения, в крайнем случае, умножения в цикле. Ну да, с логарифмом вроде как красивше, но и всего лишь.

Ещё. Пользуйтесь редактором формул.

При исправлении сообщения #1, кстати, я исправил несуразное условие 1<=x<-0.5 (никогда не выполнится) на очевидное -1<=x<-0.5.

Преступим. Вы написали (за исключением неточности с логарифмом) вполне рабочий код. Условный оператор проще составной применить. Незачем писать в программе uses crt; если ничего из модуля crt в программе не используется. У Вас неправильная реакция программы в случае ввода аргумента, не входящего в область определения функции. Вот, подправил:
Pascal
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
var x, y: real;
 
function tg(n: real): real;
begin
  tg := sin(n) / cos(n)
end;
 
function arcsin(x: real): real;
begin
  arcsin := arctan(x / sqrt(1 - x * x))
end;
 
begin
  write('x = ');
  readln(x);
  if (x < -1) or (x > 2)
  then writeln('Function is undefined')
  else
    begin
      if (-1 <= x) and (x < -0.5)
        then y := cos(x) + tg(x)
        else if x < 0.5
          then y := 2 * arcsin(x) + 1.4
          else if x < 1
            then y := -x * x * x * x * x * x * ln(1 + x) + 2.45
            else if x <= 2
              then y := -3 * sqrt(x - 1.6) + 2.8;
      writeln('y = ', y:0:5)
    end
end.
Ещё на будущее. В данном случае этого не требуется, но для функций, определённых не на всей числовой оси, нужно делать проверку на допустимость аргумента. И при недопустимом аргументе не передавать его функции, а производить адекватные действия в программе, например, вывести сообщение об ошибке. У Вас из таких функций применяются тангенс, арксинус, натуральный логарифм и квадратный корень.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2015, 19:15
Помогаю со студенческими работами здесь

Используя оператор условия (if … then), составить программу для вычисления составной (сложной) функции
Задание: используя оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей различный вид на...

Используя, оператор условия (if … then), составить программу для вычисления составной (сложной) функции
Используя, оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей различный вид на разных...

Используя оператор условия, составить программу для вычисления составной функции
непойму как тут выкладывать,так

Используя оператор условия, составить программу для вычисления составной функции
Используя, оператор условия (if … then), составить программу для вычисления составной (сложной) функции, имеющей различный вид на разных...

Составить программу для вычисления составной функции, имеющей различный вид на разных участках аргумента
Всем доброе время суток! Очень нужна помощь! Задание: используя оператор условия (if … then), составить программу для вычисления...


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

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

Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru