目录
一,BASIC语言
BASIC(Beginners' All-purpose Symbolic Instruction Code)是初学者通用符号指令代码的缩写,不是单词basic,不过含义还是有些接近的。
BASIC语言是我学的第一门编程语言,因为这是高中数学必修三的第一章:
高中数学主要学了程序框图、顺序结构、条件结构、循环结构(直到型和当型)。
比如当型循环,以WEND结束,BASIC没有分号,也不是像python主要靠缩进,while的结束是WEND,程序的结束是END,有点像html。
二,BASIC的缺点
优点自然是很basic,就不说了,说说缺点。
首先就是变量名称只有一个字符,或外加一个数字,光是这一条就决定了BASIC没法做大型开发了。当然,对于没学过编程的高中生来说,这一点反而很适应,因为数学中的变量一般就是一个字符或者一个字符加一个数字下标。等等,课本上的变量名好像也可以是sum这种的,难怪书上说使用的是类似BASIC的语言,并不完全一样。
其次,只有全局变量,我没深究,我推测应该是因为BASIC没有作用域的概念,所以只有全局变量。
还有,If Then语句只能写在一行里面。
其他就不一一列举了,作为一个古老的编程语言,确实和C语言差别蛮大的。
三,FreeBasic
FreeBasic感觉是Basic的很新的演变版本,已经支持了很多东西。
DocToc: FBWiki这里有用法介绍。
用FreeBasic来写atcoder的Contest 229的A - First Grid:
Dim s1 As String
Dim s2 As String
Input s1,s2
If s1 = ("#.") And s2 = (".#") Then
PRINT "No"
Elseif s2 = ("#.") And s1 = (".#") Then
PRINT "No"
Else
PRINT "Yes"
End If
写完发现atcoder只能运行VB,不能运行FreeBasic,唉。
不过在在线运行Basic这里可以在线运行,这个网站挺好用的,支持运动语言在线运行,而且对FreeBasic居然都能有输入联想,还免费使用,真的很良心了。