ответ: В) Тип данных
Объяснение: В принципе, может быть и тип переменных, но!
По порядку. А и Г отметаются — не существует типа текста, а тип программы не решает ничего. Тип переменных и тип данных по идее — синонимы, но тип переменной в данном случае, как я думаю — имеются в виду ключевые слова.
В том же JS есть переменные типа const — константы, переменные типа let и var.
Типы переменных не определяют информацию, которую допустимо записать в переменную. Они определяют видимость переменной, возможность изменить содержимое и т. п. А вот информацию определяют типы данных. В языках со строгой типизацией переменные определяются с ещё одним словом, например в C или Java переменную объявляют так:
int f = 1
И код f = "text" приведёт к ошибке — типизация строгая или, как говорят ещё явная.
Если говорить о JS, то там неявная типизация, или нестрогая, однако если копать ещё глубже, то в JS типизация не неявная, а утиная (да-да, ещё один тип). Есть много типов данных, например integer, BigInt, Object, symbol, string, Time и пр. И можно записать в переменную любой тип данных, а потом на любой поменять. Код
var f = 1
f = "text"
Не улетит с ошибкой, можно даже сделать
f = new Object
И всё будет нормально)
Если я правильно понял вопрос, то там про это). Кстати, говоря по правильному, есть ещё много типизаций, те про которые сейчас вспомнил:
Статическая;
Динамическая;
Сильная;
Слабая;
Явная;
Неявная;
Утиная.
Вроде бы всё) Удачи!
(см. объяснение)
Объяснение:
Ниже показано решение на различных языках программирования + аналитический метод.
Java:
System.out.println(BigInteger.valueOf(2).pow(102).add(BigInteger.valueOf(2).pow(100)).add(BigInteger.valueOf(2).pow(85)).add(BigInteger.valueOf(2).pow(17)).toString(8));
Pascal:
##
var res: BigInteger := BigInteger.Add(BigInteger.Add(BigInteger.Add(BigInteger.Pow(BigInteger.Parse('2'),102),BigInteger.Pow(BigInteger.Parse('2'),100)),BigInteger.Pow(BigInteger.Parse('2'),85)),BigInteger.Pow(BigInteger.Parse('2'),17));
var s: string := '';
while(not res.IsZero) do
begin
s:= BigInteger.Remainder(res,8).ToString+s;
res:= BigInteger.Divide(res,BigInteger.Parse('8'));
end;
writeln(s);
Python:
a = 2**102+2**100+2**85+2**17
s = ''
while(a>0):
s=str(a%8)+s
a//=8
print(s)
Аналитический метод:
Нужно представить все, как <число>*8^[степень]. Заметим, что:
Результат полученный во всех случаях одинаковый:
12000020000000000000000000000400000
Это означает, что всего в числе встречается 4 различные цифры.
Задание выполнено!