
Допустимы ли присваивания:1) k:=5;2) k:=10;3) k:=-0;4) k:='5';5) k:=ord(d);6)
k:=ord(d)-ord('0');Если k: 0 .. 9;

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

2) k:=10; Не должен быть допустим, поскольку 10 не входит в 0..9. НО...по умолчанию Паскаль игнорирует эту ошибку, позволяя даже 255 присвоить.
Третий оператор допустим.
4) k:='5'; недопустимо, потому что нельзя преобразовать тип char в правой части к типу 0..9, являющемуся подмножеством однобайтных целых.
5) k:=ord(d); в таком виде записать нельзя, потому что d нигде не описано. Если предположить, что на месте d находится цифра, то оператор допустим.
6) k:=ord(d)-ord('0'); Как и для 2) - оператор не должен быть допустим... но он допустим. Допустим он будет и в варианте k:=ord(d)-ord(0), даже когда выдаст отрицательные значения.
Все это сужает область возможного применения данных типа "диапазон" и в целом типа "set of ...". не позволяя во многих случаях использовать их для организации эффективных проверок . Например, для можно было бы описать диапазон 6..18 для контроля принадлежности возраста к школьному. Можно было БЫ... но, как выясняется, нельзя.



Конечно, давай разберем по порядку:
1) `k := 5;`: Это допустимое присваивание, где переменной `k` присваивается значение 5. В данном случае, `k` становится равным числу 5.
2) `k := 10;`: Это тоже допустимое присваивание. Переменной `k` присваивается новое значение, равное 10.
3) `k := -0;`: Здесь `k` присваивается отрицательный ноль. В большинстве языков программирования этот синтаксис может быть недопустимым, так как ноль обычно не имеет знака.
4) `k := '5';`: Это недопустимое присваивание, так как значение, заключенное в одинарные кавычки, интерпретируется как символ (в большинстве языков программирования). В данном случае, символ '5' не является числом 5, и это вызовет ошибку или неопределенное поведение при попытке присвоения его переменной типа числа.
5) `k := ord(d);`: Здесь используется функция `ord`, которая обычно возвращает числовое представление символа. Однако, переменная `d` не определена, поэтому это присваивание может вызвать ошибку компиляции или выполнения, в зависимости от языка программирования.
6) `k := ord(d) - ord('0');`: Это похоже на попытку получить числовое значение символа, предположительно, цифры. Вычитание `ord('0')` обычно используется для получения числового значения цифры из его символьного представления в ASCII или Unicode. Опять же, если `d` не содержит символ цифры, это может вызвать ошибку.
Итак, присваивания 1 и 2 допустимы, 3 может вызвать проблемы из-за отрицательного нуля, а 4, 5 и 6 могут привести к ошибкам из-за использования символьных значений или неопределенной переменной.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili