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

Автор admin Просмотров 17.4к. Обновлено 26 сентября 2021

Дана следующая функция y=f(x):
y = 2x — 10, если x > 0
y = 0, если x = 0
y = 2 * |x| — 1, если x < 0

Требуется найти значение функции по переданному x.

  1. Получить с клавиатуры значение x.
  2. Если x больше 0, то вычислить выражение 2*x-10, результат присвоить переменной y.
    1. Иначе если x равен 0, то присвоить y значение 0.
      1. Иначе присвоить y результат выражения 2*|x|-1.
  3. Вывести значение y на экран.

Pascal

Язык Си

Python

КуМир

Basic-256

rtdhbsez, ещё раз: если Вы не специалист, и у Вас не работает, а Вас уверяют, что всё работает, то, скорее всего, это Вы что-то делаете не так.

Диалектов паскаля несколько. Каждый диалект имеет свои особенности. В различных учебных заведениях используются, по крайней мере, три разных диалекта паскаля. Это Turbo Pascal (иногда Borland Pascal), Free Pascal Compiler (FPC) и Pascal ABC. Иногда используется Delphi в консольном режиме.

Мы находимся в ветке Pascal ABC. Вам в сообщении #2 Grand Inquisito написал программу именно на Pascal ABC. Да, она имеет недостатки, но она безо всяких ошибок запускается в Pascal ABC, и выдаёт верный результат для аргументов, принадлежащих к ОДЗ.

Вы же в сообщении #3 пишете, что «неправильно». Какие неверные предпосылки позволили Вам прийти к этому нелепому выводу, вполне понятно: в сообщении #7 вдруг выясняется, что Вы используете онлайн-компилятор Free Pascal для Linux.

Просите Вы одно, а нужно Вам другое. Но Вы, похоже, полагаете, что одно от другого не отличается, поскольку с безапелляционной лёгкостью, вызывающей недоумение, рассуждаете о работоспособности того, чего не понимаете. Вы прямо-таки ум один. Это примерно то же самое, что на заправке попросить залить в машину с бензиновым двигателем солярку, и обвинить заправщиков в том, что «машина не заводится, потому что солярка плохая».

В Pascal ABC функция power встроенная, а в Free Pascal функция power находится в модуле math. Для того, чтобы программа из сообщения #2 компилировалась в указанном Вами онлайн-компиляторе без ошибок, достаточно было бы после первой строки вставить строку uses math;. Если бы Вы сделали это очевидное действие, то «неправильно, к сожалению» чудесным образом превратилось бы в «работает, но не на всех наборах входных значений».

В сегодняшнем уроке будет написана и рассмотрена программа, вычисляющая значение функции. Разработку будем вести на языке Си. Значение функции будет вычислять подпрограмма; с помощью неё мы решим типовую вычислительную задачу, которую удобно запрограммировать для вычисления на компьютере.

Изучение программирования на примерах многие авторы считают очень эффективным, и мы, в рассмотрении данного вопроса, поступим также. Поэтому решим типовую задачу.

Задание. Вычислить сумму:

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

Перейдем к написанию программы, решающей данную задачу. Сначала подключим необходимые заголовочные файлы, функции которых понадобятся для вывода результата в консоль и для математических расчетов соответственно:

#include <stdio.h>

#include <math.h>

Затем, нам понадобится подпрограмма, вычисляющая значение функции f(x). Напишем её:

double f(double x)

{

    return 2 * pow(x, 3) + 7 * sqrt(x);

}

Функция f, после своего вызова, вернёт вызывающей программе значение типа double. Это число и будет результатом вычисления значения функции f(x): оно вычисляется в операторе return.

Перейдем к написанию функции main. Объявим целочисленную переменную x = 1, значение которой будем последовательно увеличивать до 10, чтобы вычислить сумму, необходимую для решения задачи.

Также объявим переменную типа double с именем result. В ней будет хранится результат вычисления суммы.

Теперь напишем цикл while, в котором будут производиться все вычисления.

while (x <= 10)

{

    result = result + f(x);

    x++;

}

Цикл будет выполняться до тех пор, пока значение переменной x не станет больше 10. На каждой итерации цикла вычисляется новое значение f(x) (с помощью подпрограммы f) и добавляется к переменной result. После этого переменная x инкрементируется (её значение увеличивается на единицу: x++).

Вычисления закончены, выведем результат на экран:

printf(«result is %fn», result);

Приведём полный листинг программы, вычисляющей значение функции, которая была написана в этом уроке:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

#include <stdio.h>

#include <math.h>

double f(double x)

{

    return 2 * pow(x, 3) + 7 * sqrt(x);

}

int main()

{

    int x = 1;

    double result = 0;

    while (x <= 10)

    {

        result = result + f(x);

        x++;

    }

    printf(«result is %fn», result);

    return 0;

}

Последнее, что осталось — это протестировать работу программы. Запустим её (в Visual Studio для этого нажмите сочетание клавиш Ctrl + F5, чтобы консоль сразу после исполнения программы не закрылась).

Программа, вычисляющая значение функции. Демонстрация работы

В данном уроке была написана программа, вычисляющая значение функции. Чтобы скачать её исходник, нажмите на кнопку ниже. Спасибо за прочтение статьи!

Скачать исходник

Условие задачи: Требуется написать программу, вычисляющую значение функции у = f(x).

Сложность: легкая.

Для того чтобы нам решить подобную задачу нужно будет воспользоваться обычным условием if else.

К примеру нам надо решить вот такую систему функции :

у = x – 2, если x > 0,
y = 0, если x = 0,
y = |x|, если x < 0.

Тут нам надо найти у в зависимости от x , т.е. у нас будет две переменные : под ответ и под значение.

Давайте создадим каркас

#include <iostream> // подключаем библиотеку ввода и вывода

using
namespace
std;
// используем именное пространство std

int
main()
{

setlocale
(LC_ALL,
"Rus"
);
// включаем русский язык

int
x , y;
}

Для начала попросим пользователя ввести число , то есть x :

cout <<
"Введите число x : "
; cin >> x;

Ну и дальше в зависимости от x мы должны написать условие :

if
(x > 0) {

y = x - 2;

cout <<
"y = x -2 = "
<< y << endl;
}
else
{

if
(x == 0) {

y = 0 ;

cout <<
"y = "
<< y << endl;

}

else
{

y =
abs
(x);

cout <<
"y = |x| = "
<< x << endl;

}
}

Довольной простое условие , когда пользователь ввел число, оно подставляется сначала в первое, x > 0 если оно не выполняется , т.е. наше число x меньше 0 , то оно уже подставляется в другое условие и так далее.

Весь код задачи

#include <iostream> // подключаем библиотеку ввода и вывода

using
namespace
std;
// используем именное пространство std

int
main()
{

setlocale
(LC_ALL,
"Rus"
);
// включаем русский язык

int
x , y;


cout <<
"Введите число x : "
; cin >> x;

if
(x > 0) {

y = x - 2;

cout <<
"y = x -2 = "
<< y << endl;

}

else
{

if
(x == 0) {

y = 0 ;

cout <<
"y = "
<< y << endl;

}

else
{

y =
abs
(x);

cout <<
"y = |x| = "
<< y << endl;

}

}

system
(
"PAUSE"
);
// чтобы программа не закрывалась

return
0 ;
// возвращаем функции main() ноль
}

Предыдущая

ПрограммированиеЗадачи по С++. Среднее арифметическое в трех рядах

Следующая

ПрограммированиеЗадачи по C++. Выбор правильного ответа.

Вычислить значение функции y=f(x)

Python

Python задачи

Найдите значение функции y=f(x) по переданному x. Учитывая, что “x” может быть больше, меньше или равен нулю.Разбор задачи на Python

Варианты вычисления функции y=f(x)

1) Если x > 0, то y = 2x — 10

2) Если x = 0, то y = 0

3) Если x < 0, то y = 2 * |x| — 1

Алгоритм решения значение функции y=f(x)

1) Получить с клавиатуры значение x.

2) Если x больше 0, то вычислить выражение 2*x-10, результат присвоить переменной y.

3) Иначе если x равен 0, то присвоить y значение 0.

4) Иначе присвоить y результат выражения 2*|x|-1.

5) Вывести значение y на экран.

Решение функции y=f(x)

x = int(input(‘Введите число x = ‘))

if x > 0:
y = 2*x — 10
elif x == 0:
y = 0
else:
y = 2*abs(x) — 1

print(‘y =’,y)

Решение функции y=f(x)

Python

Python задачи
Все задачи на python

Репост статьи

5 ноября 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

Понравилась статья? Поделить с друзьями:
  • Как найти регион по номеру телефона бесплатно
  • Как составить двоично десятичный код
  • Как исправить конечное сальдо
  • Как найти общий язык со своим котом
  • Как составить график работы квартиры