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

Задача

Дана следующая функция 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

var x,y: integer;
begin
    readln(x);
    if x > 0 then y := 2*x-10
    else
        if x = 0 then y := 0
        else y := 2*abs(x)-1;
 
    writeln(y);
end.

Исходный код на языке программирования C

#include <stdio.h>
 
main() {
    int x,y;
    scanf("%d", &x);
    if (x > 0) y = 2*x-10;
    else
        if (x == 0) y = 0;
        else
            y = 2*abs(x)-1;
 
    printf("%d\n", y);
}

Исходный код на языке программирования Python

x = input()
x = int(x)
 
if x > 0:
    y = 2*x - 10
elif x == 0:
    y = 0
else:
    y = 2*abs(x) - 1
 
print(y)

Исходный код на языке программирования КуМир

алг f
нач
  цел x, y
  вывод "x="
  ввод x
  если x>0 то y:=2*x-10
   иначе
    если x=0 то y:=0
     иначе y:=2*int(abs(x))-1
    все
  все
  вывод "y=", y
кон

Пример(ы) выполнения программы на языке КуМир

x=56
y=102

Особенности решения задачи в среде КуМир

В КуМир функция взятия модуля от числа возвращает вещественное значение. Поэтому используется функция int(), чтобы привести к целому, иначе присвоение невозможно.

Исходный код на языке программирования Basic

input x
if x > 0 then
        y = 2*x-10
else
        if x = 0 then
                y = 0
        else
                y = 2*abs(x)-1
        endif
endif
print y

Тема

Ветвления

Уровень сложности

Простой

Дата публикации