Вопрос задан 01.07.2023 в 06:34. Предмет Информатика. Спрашивает Крек Полина.

Объясните ошибки в следующих записях на языке Pascal. 1) (1 or 0)<>3 2) round(not(true)) 3)

x= false*true+not x 4) d or d not b (переменные `b` и `d` имеют тип boolean)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Капралов Михаил.

1) (1 or 0)<>3 правильно выдает true, но в самом подходе ошибка. Если записать (1 or 3)<>3, то мы ожидаем true, но программа выдает false.

Решение: отдельно сравнивать 1 и отдельно 0

(1<>3) or (0<>3)

2) Нельзя округлять логические значения (True or False). P.S. строки, символы округлять тоже нельзя.

3) Нельзя перемножать логические значения (True or False).

4) Не хватает оператора перед b (and, or)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Давайте разберем каждую из записей и выявим ошибки:

  1. (1 or 0)<>3 - Эта запись имеет ошибку в использовании оператора or. Оператор or используется для логического сложения, и результатом его работы будет True, если хотя бы один из операндов равен True. В данном случае, (1 or 0) даст True, и затем вы сравниваете True <> 3, что тоже будет True. Используйте операторы логического сравнения (=, <>, <, >, <=, >=) для сравнения чисел, а не логических значений.

Исправленный вариант: (1 <> 3).

  1. round(not(true)) - Ошибка в типе данных. not(true) вернет False, который не является числом и не может быть округлен. Функция round используется для округления чисел. Если вы хотите округлить результат логической операции, вы должны сначала преобразовать его в число.

Исправленный вариант: round(integer(not(true))).

  1. x = false * true + not x - Здесь ошибка в типе данных и в операторах. В Pascal логические значения True и False не могут быть умножены или складываны как числа. Вы также пытаетесь присвоить результат этого выражения переменной x. Для корректной работы с логическими значениями используйте логические операторы.

Исправленный вариант: x := False or (True and (not x)).

  1. d or d not b - Здесь ошибка в синтаксисе. Оператор or должен иметь два операнда, а между d и not b отсутствует оператор. Если вы хотите выполнить логическую операцию or между d и not b, используйте оператор or между ними.

Исправленный вариант: d or (not b).

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос