согласно этому коду это язык типизированный или нетипизированный? - PullRequest
0 голосов
/ 02 июня 2018

У меня есть этот код в моем HW, и он не упоминает, на каком языке он находится, и вопросы ниже кода. Я новичок в выражениях, поэтому я немного запутался, я буду рад получить некоторую помощьотвечая или помогая с вопросами:

x = 3; 
s = read_string_input(); 
if (isnumber(s) and strToInt(s) > 0) 
x = s + 1.3; 
else 
x = "negative input";
print(x);

вопросы:

  1. это печатный язык?

  2. это язык сильной или слабой типизации?

  3. динамический или статический язык?

  4. это неявная или явная типизация?

1 Ответ

0 голосов
/ 02 июня 2018
  1. Похоже на типизированный язык из-за strToInt и isnumber -методов.В нетипизированном языке вам не нужно будет конвертировать значения, чтобы использовать их вообще.

  2. Это слабый язык ввода, потому что, кажется, не нужно ничего приводить к другимtype, но вместо этого может присваивать значения вокруг, как это кажется необходимым.

  3. Кажется, что это динамический язык, потому что объект не обязательно должен быть заранее определенного типа.

  4. Это похоже на неявное преобразование типов, поскольку кажется, что типы вычитаются из значений, которые они должны содержать.

Кстати: itвыглядит как JavaScript (за исключением того, что при определении переменной не используются ни const , ни let , ни var ).

Still: выдержкавыглядит немного маленьким, чтобы иметь возможность сказать наверняка.

Например, переменная x могла бы быть определена как тип, который допускает как строки и целые числа, так и isnumber, а также strToInt могут содержать экземпляры проверок и преобразователи (например, взятие строки и созданиецелое число для того, чтобы вернуть его вместо неявного возврата целого числа).

Источники: Knowledge, Google, https://pythonconquerstheuniverse.wordpress.com/2009/10/03/static-vs-dynamic-typing-of-programming-languages/, https://en.wikipedia.org/wiki/Talk%3ATyped_and_untyped_languages.

...