При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.
Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).
В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.
Таким образом, алгоритм вычисления значения функции может быть таким:
Если x > 0, то у = x - 2
Иначе (ниже идет вложенная конструкция)
Если x = 0, то y = 0
Иначе y = |x|.
В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).
Для определения модуля (абсолютного значения) переменной можно использовать встроенную функцию abs() языка Pascal. В данном случае можно обойтись и без нее: поскольку уже известно, что x отрицателен, то, чтобы получить положительное число (модуль), нужно его умножить на -1.
var
x, y: integer;
begin
write ('x = ');
readln (x);
if x > 0 then
y := x - 2
else
if x = 0 then
y := 0
else
y := abs(x);
writeln ('y = ', y);
end.
Объяснение:
program skype:van4es007;
var s,i,d,s1,d1,j:integer;
begin
s:=0;
s1:=0;
d:=0;
d1:=0;
for i:=144 to 1000 do
if (i mod 7 = 0) then begin
s1:=s1+1;
s:=s1*7
end;
for j:= 144 to 1000 do
If (j mod 11 = 0) then
begin
d1:=d1+1;
d:=d1*11
end;
{sum:=d+s;
sum1:=d1+s1;
writeln('общая сумма чисел ='sum); вроде не обязательно}
writeln('общее количество чисел ='sum1); это тоже,если надо то добавь sum и sum1 }
writeln('сумма чисел кртаных 7 =',s);
writeln('всего чисел кратных 7,в заданом промежутке =',s1);
writeln('сумма чисел кртаных 11 =',d);
writeln('всего чисел кратных 11,в заданом промежутке =',s);
readln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Вклассе 30 учеников. сколько в классе может быть девочек и сколько мальчиков, если известно, что (девочек не меньше, чем мальчиков) и (мальчиков не меньше, чем 14)?
может быть мальчиков 15, а девочек 15