Для данного x вычислить значение следующей функции f, принимающей значения целого типа - Free Pascal

Узнай цену своей работы

Формулировка задачи:

0,если x < 0, f(x)= 1, если x принадлежит [0,1), [2,3), ... , –1, если x принадлежит [1,2), [3,4), ... .
function f(a: real):integer;
begin
  if a<0 then f:=0
  else if (a>=0)and(a<1)and(a<=2) and (a<3) then f:=1
       else  if (a>=1)and(a<2)and(a>=3) and (a<4) then f:=-1
end;
 
var x:real;
begin
  write('x = ');readln(x);
  writeln('f (',x,') = ',f(x));
  readln
end.
Не могу понять почему не работает код(работает тока при а<0) помогите завтра экзамен по инфе

Решение задачи: «Для данного x вычислить значение следующей функции f, принимающей значения целого типа»

textual
Листинг программы
function f(a: real):integer;
begin
  if a<0 then f:=0
  else if trunc(a)mod 2=0 then f:=1
  else f:=-1
end;

Объяснение кода листинга программы

  1. Введен код функции с именем f на языке программирования Free Pascal
  2. Тип возвращаемого значения функции - integer
  3. Входной параметр функции - a типа real
  4. Выполняется проверка условия a < 0
  5. Если условие истинно, то значение функции f устанавливается равным 0
  6. Выполняется проверка условия trunc(a) mod 2 = 0
  7. Если условие истинно, то значение функции f устанавливается равным 1
  8. Если ни одно из предыдущих условий не выполнено, то значение функции f устанавливается равным -1
  9. Конец функции

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы