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

Задача

Вычислить значения нижеприведенной функции в диапазоне значений x от -10 до 10 включительно с шагом, равным 1.
y = x2 при -5 <= x <= 5;
y = 2*|x|-1 при x < -5;
y = 2x при x > 5.
Вычисление значения функции оформить в виде программной функции, которая принимает значение x, а возвращает полученное значение функции (y).

Пояснение к задаче и алгоритм решения

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

В теле функции в зависимости от значения x вычислять значение y. Для этого следует использовать ветвление. Возвращать в основную ветку значение y.

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

var
    i: integer;
 
function func(x: integer): integer;
    begin
        if (x >= -5) and (x < 5) then
            func := x * x
        else
            if x < -5 then
                func := 2 * abs(x) - 1
            else
                func := 2 * x
    end;
 
begin    
    for i:=-10 to 10 do
        write(func(i):4);
    writeln;
end.

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

  19  17  15  13  11  25  16   9   4   1   0   1   4   9  16  10  12  14  16  18  20

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

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

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

19 17 15 13 11 25 16 9 4 1 0 1 4 9 16 25 12 14 16 18 20

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

def func(x):
    if -5<=x<=5:
        return x*x
    elif x < -5:
        return 2*abs(x)-1
    else:
        return 2*x
 
for i in range(-10,11):
    print(func(i), end=' ')
print()

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

19 17 15 13 11 25 16 9 4 1 0 1 4 9 16 25 12 14 16 18 20

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

алг
нач
  цел i
  нц для i от -10 до 10
    вывод func(i), " "
  кц
кон
 
алг цел func(цел x)
нач
  если x >= -5 и x <= 5 то
    знач := x**2
   иначе
    если x < -5 то
      знач := 2 * int(abs(x)) - 1
     иначе
      знач := 2 * x
    все
  все
кон

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

19 17 15 13 11 25 16 9 4 1 0 1 4 9 16 25 12 14 16 18 20

Тема

Функции

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

Простой

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