Basic开发笔记:Basic语言介绍、环境搭建、基本语法示例与程序实例

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

其他(编程相关)


前言

  红胖子来也!!!
  Basic语言是很老的语言了,比VB(Visual Basic还老)。


BASIC

  BASIC(Beginners’ All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者通用符号指令代码”,是一种设计给初学者使用的程序设计语言。
  在这里插入图片描述
  BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。
  BASIC是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G. Kemeny)与数学系教师托马斯·卡茨(Thomas E. Kurtz)共同研制出来的。1964年BASIC语言正式发布。第一个BASIC程序在1964年5月1日早上4时,由BASIC编译程序进行编译后成功运行。1975年,比尔·盖茨把它移植到PC上。


编译环境搭建

安装编译器

  安装FreeBasic,主要用他来编译,如下图:
   在这里插入图片描述
  安装完后,打开命令行:
  在这里插入图片描述
  跳转到开发目录即可,

安装编辑环境

  安装PowerBasic,主要用他的编辑器
  在这里插入图片描述
  打开编辑器:
  在这里插入图片描述

下载地址

  CSDN下载地址:https://download.csdn.net/download/qq21497936/12538533
  软件打包下载地址:QQ群1047134658(点击“文件”搜索“Basic”,群内与博文同步更新所有可开源的源码模板)

编译器编译时错误解决

  编译时报错,如下图:
  在这里插入图片描述
  主要是因为使用了未定义的变量,其实是语言规则不同,因为使用qb语言,所以需要加上参数“-lang qb”,即可,如下图:
  在这里插入图片描述

运行环境

  直接打开dos,跳转到目录,fbc命令会生成对应的exe直接运行即可。


基本语句

打印(PRINT)语句

示例1

PRINT "12345"
PRINT "Hello world"

在这里插入图片描述
在这里插入图片描述

示例2

PRINT "12345";"54321"
PRINT "Hello world"

在这里插入图片描述
在这里插入图片描述

示例3

PRINT "12345" "54321"
PRINT "Hello world"

在这里插入图片描述
在这里插入图片描述

TAB(TAB)语句

  PRINT语句中使用TAB语句就类似于使用TAB键。
  TAB(1)和TAB(2)没有起到作用

示例1

PRINT "123456789ANCDEF"
PRINT 1;TAB(1);2
PRINT 1;TAB(2);3
PRINT 1;TAB(3);4
PRINT 1;TAB(4);5
PRINT 1;TAB(5);6
PRINT TAB(3);"Y";TAB(9);"Z"
END

在这里插入图片描述
在这里插入图片描述

置数(DATA)语句

  配合读数语句使用,称读数据(READ/DATA)语句。
  请参照“读取READ语句”

读取(READ)语句

  READ是读取data存储的数据,并不是我们习惯所认为的从屏幕上输入,同时变量要先定义才能使用。

示例1:读取数字

  (字符串必须是$符号结尾)

DATA "12aaa345","11bbb11"
PRINT "READ ONE, SHOULD BE 12aaa345"
READ S
PRINT S
PRINT "READ ONE, SHOULD BE 11bbb11"
READ S
PRINT S
END

在这里插入图片描述
在这里插入图片描述

示例2:读取字符串

DATA "12aaa345","11bbb11"
PRINT "READ ONE, SHOULD BE 12aaa345"
READ S$
PRINT S$
PRINT "READ ONE, SHOULD BE 11bbb11"
READ S$
PRINT S$
END

在这里插入图片描述
在这里插入图片描述

示例2:先读取后置入数字

PRINT "READ ONE, SHOULD BE 12345"
READ S
PRINT S
PRINT "READ ONE, SHOULD BE 11111"
READ S
PRINT S
SLEEP
DATA "12345","1111"
END

在这里插入图片描述
在这里插入图片描述

示例3:读取数字

DIM D1 AS INTEGER
DATA 20,10
PRINT "READ ONE, SHOULD BE 20"
READ D1
PRINT D1
PRINT "READ ONE, SHOULD BE 10"
READ D1
PRINT D1
SLEEP
END

在这里插入图片描述
在这里插入图片描述

示例4:读取数字时,同时使用“:”进行其他操作

DATA 10,100,1000
READ T1,T2:T3=T1+T2
PRINT T1
PRINT T2
PRINT T3
READ T3
PRINT T3
END

在这里插入图片描述
在这里插入图片描述

示例5:读取字符串

DATA "aaa"
READ A$
PRINT A$
END

在这里插入图片描述
在这里插入图片描述

赋值(LET)语句

  (注意:字符串默认结尾为$,否则认为是整数)

示例1

LET A$="12345"
PRINT A$
LET A=10
PRINT A
PRINT A*10
END

在这里插入图片描述
在这里插入图片描述

键盘输入(INPUT)语句

  (注意,经测试,变量定义为A$,有金钱符号结尾,才被认为是字符串,否则认为是数字,而且输入错误,数字则默认为0)

示例1

PRINT "PLEASE INPUT A NUM:"
INPUT A
PRINT "YOU INPUT NUM:";A
END

在这里插入图片描述

示例2

PRINT "PLEASE INPUT A NUM:"
INPUT A$
PRINT "YOU INPUT NUM:";A$
END 

在这里插入图片描述

恢复数据区(RESTORE)语句

示例1

DATA 1,2,3,4
READ A,B
PRINT A
PRINT B
RESTORE
READ A,B
PRINT A
PRINT B
END

在这里插入图片描述
在这里插入图片描述

无条件转移(GOTO)语句

  之前的程序,每一行之前没有数字标签,使用GOTO则需要加上去;
  GOTO与GOSUB的区别请查看 “GOSUB语句”的示例3

示例1

DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOTO 100
END

在这里插入图片描述
在这里插入图片描述

条件转移(IF ~ THEN或IF ~ GOTO)语句

示例1

DATA 1,2,10
READ A,B,C
100
PRINT A*B: A=A*B
IF A<C THEN GOTO 100
PRINT A;">";C
END

在这里插入图片描述
在这里插入图片描述

注释(REM)语句

示例1

DATA 1,2,10
READ A,B,C
100
REM "123456"
PRINT A*B: A=A*B
IF A<C THEN GOTO 100
PRINT A;">";C
END

在这里插入图片描述

循环终了(NEXT)语句

  与循环说明语句合成循环(FOR~NEXT)语句。
  请参照“循环说明(FOR)语句”

循环说明(FOR)语句

示例1

INPUT N
FOR I=0 TO N
    A=A+I
    PRINT "+";I;"=";A
NEXT I
PRINT A
END

在这里插入图片描述

在这里插入图片描述

示例2(2020年6月24日补充):写在同一行的情况

1000 W=2
1001 IF(W=2) THEN FOR M=0 TO 5: PRINT M: NEXT M
1002 END

在这里插入图片描述
在这里插入图片描述

暂停(STOP)语句

  stop是直接退出程序了。

示例1

PRINT "12345" "54321"
STOP
PRINT "Hello world"

在这里插入图片描述
在这里插入图片描述

转子(GOSUB)语句

示例1

DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOSUB 100
END

在这里插入图片描述
在这里插入图片描述

示例2(2020年6月24日补充)

1000 GOTO 2000:GOSUB 4000:GOSUB 6000
1001 END
2000 PRINT "2000" :RETURN
4000 PRINT "4000" :RETURN
6000 PRINT "6000" :RETURN

在这里插入图片描述
在这里插入图片描述

示例3(2020年6月24日补充):GOTO与GOSUB的区别,结合RETURN语句

100 FOR N=1 TO 4
120 PRINT "N=";N
REM GOSUB会返回调用处
121 IF(N=2) THEN GOSUB 150
REM GOTO会直接跳过去忽略RETURN
122 IF(N=3) THEN GOTO 150
140 NEXT N
150 PRINT "HELLO,WORLD!!!"
160 RETURN
170 PRINT "170 PRINT"
180 PRINT "180 PRINT"

在这里插入图片描述
在这里插入图片描述

返回(RETURN)语句

  配合转子语句使用,调用子程序。

数组说明(DIM)语句

  定义数组,定义的数组下标从1开始。

示例1

DIM A(6)
DATA 1,2,3,4,5,6
READ A(1),A(2),A(3),A(4),A(5),A(6)
PRINT "A(0),A(1),A(2),A(3),A(4),A(5),A(6)"
PRINT A(0),A(1),A(2),A(3),A(4),A(5),A(6)
PRINT "A(1),A(2),A(3),A(4),A(5),A(6)"
PRINT A(1),A(2),A(3),A(4),A(5),A(6)
PRINT "A(0);A(1);A(2);A(3);A(4);A(5);A(6)"
PRINT A(0);A(1);A(2);A(3);A(4);A(5);A(6)
PRINT "A(1);A(2);A(3);A(4);A(5);A(6)"
PRINT A(1);A(2);A(3);A(4);A(5);A(6)
END

在这里插入图片描述
在这里插入图片描述

结束(END)语句

  结束程序。


程序实例

预读入加法程序

DATA 10,20
READ A,B
PRINT A;"+";B;"=";A+B

在这里插入图片描述
在这里插入图片描述

定义数组并赋值

DATA 10,20,30,40
DIM D$(4)
READ D$(1),D$(2),D$(3),D$(4)
PRINT D$(1),D$(2),D$(3),D$(4)
END

在这里插入图片描述
在这里插入图片描述

定义数组并循环赋值

  (注意:数组定义,数组下标序号从1开始,目前普遍从0开始)

DATA 6
DATA 0.01,0.01,0.01,0.02,0.02,0.2,0.03,0.03,0.03,0.04,0.04,0.04,0.05,0.05,0.05,6.1,6.2,6.3
READ M0
DIM T0(M0+1),D0(M0),J0(M0)
FOR M=1 TO M0
    READ T0(M),D0(M),J0(M)
NEXT M

FOR M=1 TO M0
    PRINT "M=";M;",";T0(M);",";D0(M);",";J0(M)
NEXT M
END

在这里插入图片描述
在这里插入图片描述

求绝对值

100 J=-100
101 K=100
102 J2=-100.1
103 K2=100.1
104 PRINT ABS(J)
105 PRINT ABS(K)
106 PRINT ABS(J2)
107 PRINT ABS(K2)

在这里插入图片描述
在这里插入图片描述


原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097

  • 20
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
本工具包集成了TC 2.0,TC 3.0,QBasic 4.5版本的开发环境,由于TC 2.0,TC 3.0,QBasic 4.5是16位Dox程序,在较高版本的32位Windows以及所有的64位Windows中无法运行,鉴于当今硬件的发展以及windows 64版本日渐成为主流,有特殊目的需要用到这三款开发环境而无法启动时常头痛不已,现将其提供给众网友共享。 程序使用DoxBox来实现在Windows 32位和64位系统上的完整Dos环境模拟,包括图形系统也俱全,本人分别建立三个开发工具相应的配置参数并简要开发了三个引导程序以便直接双击就能启动,整个工具包中的所能组件均为免安装版本,解压后直接使用根目录下的相应程序即可,现将主要技术实现点简述如下: 1.DosBox使用的是0.72版本,截止程序打包之时最新为0.74,目前暂未发现问题,并未更新到最新版,有需要可自行处理 2.使用DosBox虚拟的Dos环境默认启动盘为Z盘,在配置文件中自动将根目录下的disk_c文件夹映射为C盘,开发环境运行时相当于在C盘中 3.DosBox对Dox系统的模拟很完善,使用TC2.0/3.0时可完美使用图形库,配置参数将显示模式配置为VGA,开发时须注意模式和路径,例如,图形程序中初始化图形环境的代码可能如下: int gdriver=VGA, gmode=VGAHI; initgraph(&gdriver, &gmode, "C:\\TC20\\BGI"); 4.DosBox模拟了Dos中按Alt + Enter在全屏和窗口模式两种状态下切换的功能,不过与Dos略有区别,Dos的全屏会拉伸显示内容,而DosBox则保持开发窗口像素大小不变,其余部分则显示黑色,配置中手动设置全屏时分辨率也达不到效果,暂且这样,并未深入研究 5.根目录下的引导程序为C++开发,代码中主要是设置了工作目录并使用特定参数启动DosBox并载入开发环境执行程序,如果对DosBox比较熟悉,也可以直接通过DosBox完成,此时可以不用引导程序,引导程序的主要源代码摘录如下 ,以供参考: ::ShellExecute(nullptr, _T("open"), _T("dosbox.exe"), _T("-conf qb45.conf -noconsole"), _T("dosbox"), SW_SHOW); //::ShellExecute(nullptr, _T("open"), _T("dosbox.exe"), _T("-conf tc20.conf -noconsole"), _T("dosbox"), SW_SHOW); //::ShellExecute(nullptr, _T("open"), _T("dosbox.exe"), _T("-conf tc30.conf -noconsole"), _T("dosbox"), SW_SHOW); 6.本工具包中的文件及文件夹路径请不要随意修改,以免出错 文件夹说明: QBasic45.exe 对外提供的QBasic 4.5开发环境的启动程序 TurboC20.exe 对外提供的Turbo 2.0开发环境的启动程序 TurboC30.exe 对外提供的Turbo 3.0开发环境的启动程序 dosbox 虚拟DOS环境的软件DosBox 0.72 documents 整理本工具包过程中顺便附带收集到的部分参考资料和示例源码 disk_c 虚拟的 DOS 环境的 C:\ └QB45 QBasic 4.5 开发环境程序目录 └TC20 Turbo C 2.0 开发环境程序目录 └TC30 Turbo C 3.0 开发环境程序目录
### 回答1: AutoCAD VBA和VB.net是一种用于AutoCAD软件的开发工具,它们可以帮助用户通过编程来扩展AutoCAD的功能。AutoCAD VBA使用的是Visual Basic for Applications,而VB.net使用的是Visual Basic编程语言开发基础方面,对于AutoCAD VBA和VB.net开发,首先需要了解基本的编程概念和语法。需要学习如何定义变量、使用条件和循环语句、处理用户输入和输出等。还需要了解AutoCAD的对象模型,包括图纸、图层、实体等对象以及它们的属性和方法。理解这些基本知识后,可以开始编写简单的程序来实现一些基本的功能。 实例教程方面,有一些网上资源和书籍提供了很多实例教程和源代码。这些教程可以帮助用户学习如何使用AutoCAD VBA和VB.net来解决实际的问题。例如,可以学习如何根据用户输入创建特定类型的实体,如何修改实体的属性,如何自动标注图纸等等。通过这些实例教程,用户可以逐步掌握开发AutoCAD的技巧和技术。 源代码方面,可以在网上搜索一些开源项目或者示例代码,这些代码可以用作学习和实践的参考。通过阅读和理解源代码,可以学习到更多编程技巧和规范。同时,也可以利用这些源代码作为基础,进行修改和扩展,以满足自己的需求。 总之,AutoCAD VBA和VB.net开发基础与实例教程以及源代码可以帮助用户学习如何使用编程语言来扩展AutoCAD的功能。通过学习基础知识、实践例子和参考源代码,用户可以逐步提升自己的编程能力,并且能够应用到实际的工程项目中。 ### 回答2: "AutoCAD VBA和VB.NET开发基础与实例教程"是一本介绍如何使用VBA和VB.NET编程语言在AutoCAD软件中进行开发的教程。该书包含了许多实例和源代码,供读者学习和实践。 在该教程中,作者首先介绍了AutoCAD的基本知识,包括AutoCAD的界面、命令和常用工具等。然后,作者详细介绍VBA和VB.NET编程语言的基础知识,包括变量、数据类型、循环和条件语句等。读者可以通过理解这些基础知识,为后续的开发工作做好准备。 接下来,该教程通过一些实例,展示了如何使用VBA和VB.NET编程语言进行AutoCAD开发。这些实例包括创建和修改图纸、添加和编辑对象、执行命令等。每个实例都提供了详细的源代码和解释,读者可以通过按照教程一步一步地操作,逐渐掌握AutoCAD开发的技巧和方法。 在学习完该教程后,读者将能够独立进行AutoCAD的开发工作,并应用自己的编程知识解决实际问题。同时,该教程也为读者进一步深入学习和扩展AutoCAD开发提供了基础。 总之,“AutoCAD VBA和VB.NET开发基础与实例教程”是一本实用的教程,通过详细的实例和源代码,帮助读者掌握在AutoCAD中使用VBA和VB.NET进行开发的基本技能。无论是初学者还是有一定编程基础的读者,都能从中受益。 ### 回答3: Autocad VBA和VB.NET都是用于开发Autocad定制程序编程语言。它们可以实现自动化绘图、数据处理和图形操作等功能。下面是一个基础的Autocad VBA和VB.NET开发教程和源代码示例。 首先,通过以下几个步骤配置Autocad VBA开发环境: 1. 打开Autocad软件。 2. 执行“vbaide”命令,打开VBA集成开发环境。 3. 在VBA集成开发环境中,创建一个新的模块。 4. 在模块中编写代码。 以下是一个简单的Autocad VBA示例,用于在绘图中绘制一条直线: Sub DrawLine() Dim startPoint As Variant Dim endPoint As Variant startPoint = InputBox("Please enter the start point coordinates:") endPoint = InputBox("Please enter the end point coordinates:") ThisDrawing.ModelSpace.AddLine startPoint, endPoint End Sub 上述代码使用了InputBox函数来获取用户输入的起点和终点坐标,并使用AddLine方法在绘图中添加一条直线。 如果你想使用VB.NET来进行Autocad开发,可以使用Autocad.Net API。以下是一个简单的VB.NET示例,用于在绘图中绘制一条直线: Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Geometry Public Class MyCommands <CommandMethod("DrawLine")> Public Sub DrawLine() Dim doc As Document = Application.DocumentManager.MdiActiveDocument Dim db As Database = doc.Database Using trans As Transaction = db.TransactionManager.StartTransaction() Dim bt As BlockTable = trans.GetObject(db.BlockTableId, OpenMode.ForRead) Dim btr As BlockTableRecord = trans.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite) Dim startPoint As New Point3d(0, 0, 0) Dim endPoint As New Point3d(100, 100, 0) Dim line As New Line(startPoint, endPoint) btr.AppendEntity(line) trans.AddNewlyCreatedDBObject(line, True) trans.Commit() End Using End Sub End Class 上述代码使用了Autocad.Net API中的相关类和方法来实现在绘图中绘制一条直线的功能。通过定义一个Command方法,并使用CommandMethod特性进行标记,可以在Autocad软件中执行该命令。 以上是一个简单的Autocad VBA和VB.NET开发基础与实例教程的源代码示例。通过学习这些示例,你可以了解如何使用Autocad VBA和VB.NET进行开发,并根据自己的需求进行扩展和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙红胖子Qt(长沙创微智科)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值