fygasika
?>

Определите трассировочную таблицу соответствующие данной блок cхеме​

Информатика

Ответы

kryshtall2276

Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:

у = x – 2, если x > 0,

y = 0, если x = 0,

y = |x|, если x < 0.

Решение

При определении значений подобных функций переменная 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.

сорр

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Определите трассировочную таблицу соответствующие данной блок cхеме​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ЧумичеваГеннадьевна1827
Khrimyan1207
alekseymedvedev1981
Mnatsovna
ekaterinasamoylova4705
petrowanastya202081
kirill76536
yulyazhdan
bandurinei
Chervonnaya-Aleksei
Aleksandr72
КузменковаЖигулин
denblacky
vanvangog199826
evgeniipetrosov