Задача. Дано действительное число [latex]a[/latex]. Для функции [latex]f\left(x \right)[/latex], график которой изображен, вычислить [latex]f\left(a \right)[/latex].
a | [latex]f\left(a \right)[/latex] | Комментарий |
7 | -49 | Пройден |
0 | 0 | Пройден |
-2 | 2 | Пройден |
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> #include <math.h> int main() { double a, y; scanf("%lf", &a); if (a > 0) y = -a * a; else y = -a; printf("%lg",y); return 0; } |
Для решения данной задачи требуется лишь проверка знака числа [latex]a[/latex]. Если [latex]a> 0[/latex], то [latex]f\left(a \right)[/latex] вычисляется как [latex]-a^{2}[/latex], а если [latex]a< 0[/latex], то [latex]f\left(a \right)[/latex] равна [latex]-a[/latex]. При [latex]a=0[/latex], [latex]f\left(a \right)=0[/latex]. Для проверки выполнения программы можно воспользоваться ссылкой.
Решение на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); double a, y; a = in.nextDouble(); if (a > 0) y=-a*a; else y=-a; System.out.print(y); } } |
Для таких случаев специально создана тернарная условная операция. Но поскольку тема «Программы с ветвлением», то принято.
Java версия засчитана, 5 баллов — увы, просрочено.