Computer science 根据这段代码,这种语言是类型化语言还是非类型化语言?

Computer science 根据这段代码,这种语言是类型化语言还是非类型化语言?,computer-science,typing,type-systems,strong-typing,static-typing,Computer Science,Typing,Type Systems,Strong Typing,Static Typing,我的HW中有这段代码,它没有提到它是什么语言,问题在代码下面。我对这些表达式不太熟悉,所以我有点困惑,我很乐意得到一些帮助来回答这些问题: x = 3; s = read_string_input(); if (isnumber(s) and strToInt(s) > 0) x = s + 1.3; else x = "negative input"; print(x); 问题是: 它是打字语言吗 它是强的还是弱的打字语言 是动态语言还是静态语言 它是隐式还是显式类型 由于s

我的HW中有这段代码,它没有提到它是什么语言,问题在代码下面。我对这些表达式不太熟悉,所以我有点困惑,我很乐意得到一些帮助来回答这些问题:

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

  • 它是打字语言吗

  • 它是强的还是弱的打字语言

  • 是动态语言还是静态语言

  • 它是隐式还是显式类型

  • 由于
    stroint
    isnumber
    -方法,它看起来像是一种类型化语言。在非类型化语言中,根本不需要转换值来使用它们

  • 它是一种弱类型语言,因为人们似乎不需要将任何内容强制转换为任何其他类型,而是可以根据需要分配所有的值

  • 它似乎是一种动态语言,因为对象不必事先具有某种类型

  • 它看起来像是一个隐式类型转换,因为类型似乎是从预期包含的值中扣除的

  • 顺便说一下:它看起来有点像JavaScript(除了定义变量时既不使用const,也不使用let,也不使用var

    不过:为了能够确定,摘录看起来有点小

    例如,变量
    x
    可以定义为一种类型,它允许字符串和整数相同,
    isnumber
    以及
    strotint
    可以包含检查和转换器的实例(例如,获取字符串并创建整数以返回它,而不是隐式返回整数)


    资料来源:知识,谷歌。

    也许最好先确定“类型化”语言是什么?我完全同意你的看法,在我搜索网络并试图独自解决问题之前,我没有在这里提问。我不确定我所理解的是否是上述问题的正确答案。在这里,我真的需要帮助。我不是在寻求解决方案,而是在寻求解释。无论如何,谢谢。在我看来,类型化语言是指为每个变量(如
    x
    )分配其将保存的数据类型的语言,可以是字符串、整数、布尔值等。因此,在类似
    x=3
    的示例中,可以为其分配整数值。但是,如果该类型的值发生变化,例如在
    x=“some text”
    中,则
    x
    值未锁定到特定类型的数据。有道理?