欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    Qbasic-教程.docx

    • 资源ID:11705225       资源大小:98.59KB        全文页数:51页
    • 资源格式: DOCX        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Qbasic-教程.docx

    Qbasic-教程Qbasic教程计算机语言大致分为三种:机器语言(0、1)、 汇编语言(指令是用符号和数字来代替二进制代码的)、 高级语言(是由一系列按一定语言规则写出的语句组成的语言)关于程序: 计算机程序就是:用计算机语言描述的解决问题的程序。 程序是:由让计算机完成任务的、合乎计算机语言规则的一系 列语句(指令)组成的。 计算机程序设计就是:探求解决问题的方法并将实现它的步骤 写成计算机的程序的过程。第一章BASIC语言概述BASIC (Beginners All-purpose Symbolic Instruction Code 的缩写,意为初学者通用符号指令代码)一、BASIC语言的发展.BASIC语言于1964年问世 三、QBasic的特点QBasic是结构化的程序设计语言,与第二代BASIC相比有如下特点:1、扩充了变量和常量的类型.变量名长度:40个字符.增加了长整型、定长字符型变量.可定义数值常量、字符串常量2、提供了新的选择结构.条件语句IF 条件,THENv语句组1>ELSE语句组2>END IF.多分支语句SELECT3、改进了循环结构增加以下两个循环语句:.WHILE循环WHILE v条件v循环体WEND.DO循环2、微机BASIC(第二代).Microsoft总裁Bill.Gates编写只有4k字节的解释程序.TRS-80 BASIC.Apple BASIC.MSBASIC(BASICA).GWBASIC3、结构化BASIC (第三代).限制GOTO语句,程序模块化.True BASIC真正的BASIC.Quick BASIC .Turbo BASIC .QBasic(DOS5.0 以上)4、面向对象的BASIC.windows环境下的Visual BASIC,图形界面,支持多媒体.二、QBasic的特点QBasic是结构化的程序设计语言,与第二代BASIC相比有如下特点:1、扩充了变量和常量的类型.变量名长度:40个字符 .增加了长整型、定长字符型变量 .可定义数值常量、字符串常量2、提供了新的选择结构.条件语句IF v 条件THENV语句组1>ELSEv语句组2>END IF,多分支语句SELECT3、改进了循环结构增加以下两个循环语句:WHILE循环WHILE v条件循环体WENDDO循环DO WHILE V条件循环体LOOP4、子程序和函数作为单独的模块5、不需要行号6、具有良好的编辑环境7、提供联机“Help”8、提供“分步执行”“跟踪”等调试9、采用先进的解释执行方式10、与Visual BASIC完全兼容三、QBasic使用环境(一)进入QBQBASIC 主要由 QBASIC.EXE (可执行文件)和 QBASIC.HLP (在QB编程环境中由Help菜单调用帮助信息的文件)两个基本文件 组成,它属于DOS系统下的软件,也可在WINDOWS95/98视窗下双 击运行,但其最佳的运行环境还是DOS环境,即首先要进入 WINDOWS提供的DOS环境,当需要在DOS系统下输入汉字时,还 需启动DOS下的汉字输入系统“UCDOS”,最后进入QBASIC.EXE 所在的目录执行QBASIC.EXE程序文件。例如:假若QBASIC.EXE和QBASIC.HLP文件存放在C盘的 QBASIC文件夹里。最好是以如下方法进入QB。1、单击:开始程序MSDOS方式 4、键入:CDXQBASIC2、入:CDXUCDOS5、入:QBASIC3、键入:UCDOS 或 UP(二)进入QBASIC后1、进入QBASIC集成环境之后,按“ESC”键取消屏幕中央的欢 迎向导对话框。2、QB窗口中有菜单栏、标区、编辑窗口、立即窗口、提示行。3、按一下“Alt”键可以激活菜单栏。4、编辑窗口是程序输入、修改的地方。5、立即窗口可以用来执行QBASIC的命令。(以按“回车”键来执行命令)菜单栏标题编辑窗立即窗6、按“F6”键可以在编辑窗口和立即窗口之间切换。工作窗口.程序窗口(上).命令窗口(下).两窗口之间的切换F6四、运行程序1、从键盘输入程序2、运行程序,选择菜单RUN中的“Start”命令.直接按F5键或Shift+F5.在命令窗口中输入run命令3、修改和编辑源程序删除、插入、复制、粘贴4、程序存盘和从磁盘读入程序5、退出 QBasic第二章QBasic程序设计初步一、概述程序设计要掌握如下几点:1、语法规则计算机是忠实的执行者2、根据算法写出程序掌握算法,会画流程图3、数据结构数据的组织形式4、结构化程序设计方法掌握三种基本结构的运用(顺序、分支、循环)5、程序运行的环境了解计算机系统的硬件和软件配置程序设计=算法+数据结构+程序设计方法+语言工具和计算机环境二、源程序结构1、一个程序由若干个语句行组成,每一行称为一个语句行,一行 中可以包含多个语句(语句间用“:”号相隔)。Let a=4: let b=82、语句行可以没有行号,程序按语句排列的顺序依次执行,但也 允许有行号,行号仅作为行标号(源程序转移的目标)而不代表执行 顺序。3、语句结构v语句定义符,语句体(关键字)语句定义符:表示语句的功能,是一些英文单词或英文单词的缩写。语句体:说明该语句操作的具体对象。4、程序以END语句结束可以有多个END语句,一般放在程序的最后。5、行标号.行的标志.只能在一行的开头.可独占一行(即为空语句)6、主程序与子程序一个程序只包含一个主程序,但可包含若干个子程序或函数。三、常量常数不变的数常量不能改变的数据字符型常量必用双引号引起常量数值型常量日常记数法科学记数法数值常二1=1(常数)1)整型常量(整数)由若干个数字组成的序列2)实型常量(实数).定点数(日常记数法)小数位固定.浮点数(科学记数法)用E代表以10为底的塞数,即把常量用指数形式来表示例如:12.34E2表示1234单精度实数(普通型实数)7位有效数字.双精度实数16位有效数字(用D代替E)3)数的范围类型标记符整数%长整数&单精度定点数!单精度浮点数E双精度定点数#双精度浮点数D法)字节有效位数244747(科学记数法)815815(科学记数例:45% a%代表整数INTEGERS -32,767 -32,768LONG 2,147,483,647 -2,147,483,648SINGLE (7 位数字)7.402823 e+38 7.401298 e-45DOUBLE (15 位数字)7.7976931 d+308 7.940656 d-3242、字符串常量用双引号把若干个合法字符括起来,如:nQBasicnnabcl23H3、符号常量(既可以是字符型,也可以是数值型)CONST 符号=v常量, 例如:CONST pi=3.14159就是数据存放单元。一个变量就如同一个很小的磁带,磁带用来记录歌曲,变量用来存放数据。磁带录制的歌曲可以反复播放,同样 变量中写入的数据也可以反复读取。但若在有歌曲的磁带上直接录制新的歌曲,新的歌曲将自动替换旧的歌曲。同样有数据的变量在写入新的数据时,新写入的数据也将自 动替换掉旧的数据。可改变的量,如:let a=llet a=2. 3let a=45. 9print aend1、变量名和变量的值1)变量名规则.变量名的第一个字符必须是字母.变量名中第2个字符及其后的字符可以是字母、数字或小数点.变量名的长度范围为1-40个字符.表示变量类型的符号应作为最后一个字符a%.QBasic的保留字不能用作变量名.变量名中的大小写字母等效.变量名中不可有空格如: wrong name :2a, a b2)变量的名与值变量名一一符号地址变量值存储内容系统自动生成变量名与内存地址对照表2、变量类型:变量也分为数值型变量和字符型变量1)变量名后加类型定义符%整型(INTEGER) &长整型(LONG)1一一单精度实数(SINGLE)#一一双精度实数(DOUBLE)$字符串(STRING)2) DIM语句DIM 变量名as类型.变量名不加类型符 .用DIM定义了的变量其末尾加或不加类型定义符都是合法的且都表示同一变量(见下3)例)3)字符串变量.可变长字符串变量a$="abcde”a$=1234567".固定长度的字符串变量例如: DIM a as string*5a="China”a$=*Shanghai*PRINT a, a$END运行结果是:1、思考:DIM a as stringa=HChinaM a$=MShanghaiH PRINT a,a$ END注意1:字符型变量(有后缀)和数值型变量(无后缀)的区别:是否有$后缀。A$ ,a例:a$="china”a=1234print a$,aend思考:a$=1234正确吗?注意2:变量定义只要在变量名后加上后缀就可以指定变量类型,比如a%o注意2%和2$是两个不同的变量,可以同时使用。如果不加任何后缀,系统默认是浮点类型的。数字也是如此,23%表示整数23, 23E代表浮点数23当然23.0也是浮点数.2、思考2:a=23456789C%=234567Print a,b,cEnd使用DEF后紧跟“简称”可以改变系统默认类型。比如DEFINT A代表所有以A开头的变量都是整型变量。LNGA-Z代表所有变量(从A到Z开头)都是长整型变量。例: DEFLNG aA=12345678Print aend思考:如果取掉DEFLNG A语句,会是什么结果?五、标准函数常见的标准函数:(1) ABS (X)表示:数学中的1X1 如:ABS(5)=5(2) SQR (X)表示:数学中的" 如:SQR(9)=3(3) INT (X)求不大于X的最大整数INT(7.89)=7求弧度值为x的角的正求弧度值为x的角的余弦如: INT(-7.89)=-8(4) SIN (X)表示:SINx弦值(5) COS (X)表示:COSx值注:角度值为1的角用弧度值表示为:3.14159/180如 :SIN(30*3.14159/180)=sin30COS(60*3.14159/180)=COS60(6) RND (X)随机函数,X通常取1,产生一个(0, 1)之间的随机数,函数的值不确定,即:结果与变量X无关。思考:"PRINT INT(RND(1)+1” 的结果。注:INT(x)函数有五大考点(1)正、负小数取值:PRINT INT(l/4-2), INT(ABS(l/4-2)(2)对小数部分的进行四舍五入:INT(A*10+0.5)/10保留至十 分位;INT(A* 100+0.5)/100 保留至百分位;INT(A* 1000+0.5)/1000 保留至千分位;(3)已知 M、N,求 M/N 的余数:PRINT MINT(M/N)*N (4)用于判断M能被N整除的条件:INT(M/N)=M/N成立,则M能被N整除当 INT(M/2)=M/2,贝() M 为偶数;当 INT(W2)oM/2,贝!J M为奇数(5)用于判断变量C的值是否为整数:当条件INT(C)=C成立,则变量C的值为整数例如:计算x+y的平方根SQR(x+y)计算 sin(a+b) SIN(a+b)六、运算符和表达式QBasic的三种运算:算术运算、关系运算、逻辑运算1、算术运算符加+4+5=9减8-3=5乘*2*3=6除/5/2=2.5整除52=2求余MOD5 MOD 2=1乘方八2-3=8注:对于整除和求余运算,若参与运算的数不是整数,则先按四舍五 入的原则变成整数后再运算。2)算术表达式.QBasic表达式用运算符和括号将若干运算量(包括常量、变量、函数等)连接起来的式子。.算术运算符的优先顺序:括号一正负号一函数一乘方一乘、除、整除一余数一加、减.表达式的写法表达式应写出在同一行,注意分式的写法。例:数值表达式要点:(1)把数学表达式写成BASIC语言表达式。(2)计算BASIC语言表达式的值。(A+B) / (X-Y)x-y- j方=4”(-B+SQR (B八2-4*A*C) / (2*A)la2、关系运算符:(1)关系运算符、V、=、 =、 = V等六种。(2)关系表达式:它的运算结果只有两种(真ture和假false,用数值表示时false为0, true为非0值)例:if x0 then print x 和If x then print x两个结果相同3、逻辑运算符和逻辑表达式(1)逻辑运算符 NOT (非)、AND (与)、0R (或)等五种运算级别(高到低):NOT、AND、OR(2)逻辑表达式:它的运算结果只有两种(真和假)例2把下列式子写成QB逻辑表达式的值:(1) 3<X<9答:(x>3)and(x<9)(2) X<9 或 X>15 答:(x<9) or x>15(3) X是小于100的非负数 答:(x>=0)and(x<100)七、程序调试1、分步执行F8一单步执行,STEPF6窗口 转换,WINDOWSF5一运行或继续运行。2、设置断点F9一设置断点F5一运行或继续运行第三章顺序程序设计程序的执行次序,从上到下,由一些非控制转移语句组成一、输出语句输出用户所需的信息1、一般格式PRINT K表达式表达式一常量、变量、函数如:PRINT 2, 4, 6PRINT "X="X显示:x=.2、作用1)当输出内容是数值型常量时直接输出该常量即数值;如:PRINT 2, -5, 3.82)当输出内容是数值运算表达式时,计算机先自动计算其 值,然后再输出该值;如:PRINT 3.14*RA2PRINT SQR(BA2-4*A*C)3)当输出内容是字符型常量(串)时,字符串必用双引号 引起来,而运行结果时则直接输出双引号内的字符。例如在立即窗口中运行如下语句:PRINT “HOW DO YOU DO ?”在运行后只显示双引号内的内容:HOW DO YOU DO ?3、输出格式(1)标准格式:PRINT语句输出内容中各项之间用“ J分隔。屏幕一行有80个字符位,而标准格式把屏幕分成五段,前4段各占14格,最后一段占24格。标准格式则分占1,15, 29, 43, 57这五个字符位。(2)紧凑格式:PRINT语句输出内容中各项之间用“;分隔。被分隔的各个输出项将紧挨着输出。每个数在屏幕上占位为:符号一数字.空格正数时:“+”号被空格占位,正数与前一数 按紧凑格式输出间隔两个字符位。+15负数时:负数与前一数按紧凑格式输出间隔一个字符 位。例:Print *,*,*,*,*printPrint *; *; *; *; *printprint 23;24;25print -23;-24;-25end(3)句尾标点格式当语句末尾带时,则本语句各项输出完毕后不换行,将下一个PRINT语句的第一个输出项接着本行按标准格式或紧凑格式输出。例:print*”Print “#"Print "*”;Print "#" end(4) TAB (X)第 X 列定位输出,但在同一行中、TAB (X)中的X应从左到右 逐渐增大。例:Print tab (5); a, tab (12); v china”注意:(1)如果两个TAB之间用“,"隔开,则到下一行打印下一个 TAB的内容;如果用”隔开,则在同一行打印。但如果第二个TAB 的值和第一个TAB的值相差太近不足以打印第二个值时,即使是” 也会打印到第下一行。(4) PRINT不换行(光标到下一区)PRINT <.>;不换行(光标在输出项后)PRINT <.>换行PRINT空行例: print “please input datal :",Input aPrint “please input data2 :"Input b end4、打印输出LPRINT其使用方法与PRINT相同二、赋值语句1、一般格式LET变量名*表达式)例: LET a=100LET a$="BOOK"Print a, a$2、作用1)语句定义符“LET”可省略;2)“=”称作“赋值号”,向左赋值,相当于“一”;3)当表达式是一个常量,直接赋值给左边的变量。如:LET S=50当表达式是一个数值型表达式,计算机自动先计算再赋值。如:LET S=SA24)数值型变量只能由数值型常量赋值。如:LET A=24字符型变量只能由字符型常量赋值。如:LETA$= "COMPUTER”如:X=Y与Y=X不同3、对变量的赋值操作(1)变量的初值为0未赋值的变量(2) 一个变量只有一个值变量的当前值由最后一次赋值决定n=20n=30(3)变量值的传递a=b b的值不变b=a a的值不变(4)关于赋值类型以左边变量的类型为准例:a%=23b!=23.2a%=b!print a% 结果:23重点:(5)两个变量交换值(A和B)(交换两变量值)C=A: A=B: B=C (去掉冒号则分写为三行)三、键盘输入语句1、一般格式:INPUT“提示信息";< 变量表>(变量间用逗号隔开) 说明:(1)执行该语句从键盘输入数据的数目应与语句中变量个数相同(2)从键盘输入的数据只能是常量(3)执行时,输入数据间用逗号分隔例:求学生三门课的平均成绩INPUT *a, b, c=* ;a, b, cV=(a+b+c)/3PRINT "average=";vEND四、读入语句1、格式:READ 变量表DATA数据表)(输入时用逗号隔开)例:READ a, b, cDATA 75, 60, 90V=(a+b+c) /3END2、说明:(1)数据表)中的数据个数不能少于变量表中的变量个数。(2) DATA语句可放在程序的任何位置,可使用多个DATA语句来存放数据,这时将按DATA语句的先后顺序,把数据放数据区。(3)关于“数据指针”当指针移到数据区之外时,屏幕给出错 误信息:Out of DATA(4) DATA语句中的数据只能是常量 五、恢复数据指针语句RESTORE将数据指针移至首位或指定的DATA语句标号。 Read a, b, c Data 5, 6, 7 V= (a+b+c) /3 Restore Read a, b, c Sum=a+b+c Print aaverage and sum are: v, sum End 思考:取掉restore语句会出现什么运行结果。六、结束语句和暂停语句1、END语句结束程序运行。一个程序可有多个END语句,但运行程序时,只 有一个起作用,即执行其中一个END语句都会使程序结束。2、STOP语句第四章:选择(分支)结构的程序设计一、IF语句一般格式:IF条件关系式THEN 语句组(当条件成 立)END IF2、块if语句(1) 一般格式IF条件关系式THEN语句组1 (当条件成 立)条件分:简单条件和复合条件(y mod 4=0 and y mod 10000)例 1: input aif a>0 then print "*"elseprint ”end if end例2: 输入3个整数、按从大到小的顺序输出。算法:(1)先将a与b比较,把小者放b中,大者放a。(2)再将a与c比较,把小者放c中,大者放a中,此时a已是 三者最大的。(3)最后将b与c比较,大者放b中,小者放c中,此时a、b、 c己按从大到小的顺序排例好。程序:input Ha,b,c,=n;a,b,cif b>a thent=aa=b rem 交换 a、b (swap a,b)b=tend ifif c>a thent=aa=c 交换 a、c (swap a,c)c=tend ifif c>b thent=bb=c交换 b、c (swap b,c)end ifprint a, b, cend例3 (P107另一种方法)一个问题可以有不同的编写方法input aif a>=10 then c=a*25*0. 85elseif a>=5 thenc=a*25*0. 9elsec=a*25endif endifprint "c=";cend三、多分支选择语句用嵌套的IF语句可实现多分支选择1、基本格式select case变量case值 1>语句组1>case <值 2><语句组2> case值 n>语句组n>case else语句组n+l>end select每一个CASE句中指定一个值条件,当CASE变量的值符合条件时, 执行该子句下面的语名组,在执行完该语句组后,跳过其它CASE子句, 从 END SELECT 转出。2、在CASE子句中使用TOCASE <值 1> TO <值 2>3、在CASE子句中使用ISCASE IS <关系运算符<表达式4、在CASE子句中使用多个条件允许在一个CASE子句中指定多个条件,各条件之间用逗号分开。条件二单值、值范围、单条件5、SELECT CASE语句的一般格式select case测试表达式case <条件 11>, <条件 12>,<语句组1>case条件 21>, <条件 22>, <语句组2> case <条件nl>,条件n2>,<语句组n>case else语句组n+l>end select第五章循环结构程序设计循环体一一反复执行的一组语句循环结构按其控制循环终止的方式可分为计数循环和条件循环两大类一、WHILE循环结构WHILE V条件循环体(条件成立时)WEND注:条件是终止循环的逻辑表达式, 条件应随循环的执行而变化, 最终退出循环。如:s=0i=lWHILE i=100s=s+iI=i+1WENDPrint "count=" , s构成“死循环” 一无终止的循环。这时可用Ctrl+Break终止其程序运 行。例1:如果我国工农业生产每年以12%速度增长,问多少年后产值翻一番:基值设为100o(逐年计算产值,看是否达到200)p=100r=0.12n=0WHILE p<200p=p*(l+r)n=n+lWENDPRINT n; "years", "p="p end例2 :给出两个正整数,求它们的最大公约数。算法:(辗转相除法)(1)、以大数m作被除数,小的数n作为除数,相除后余数为入(2)、如果尸0,则n就是最大公约数。否则将n券叫r=>n,重复(1)。 程序及框图:INPUTr=m MOD n do while r < >0m=nn=rr= m MOD nloopPRINT ”最大公约数为:”,nEND二、带while子句的DO循环语句格式一:do while条件循环体,loop作用:当指定条件为真时继续循环,否则结束循环。先判断,再执行。详细说明:当条件表达式语句的返回的值为true的时候,程序就会执行下面大括号里的执行语句块中的语句,当程序执行完这个执行语句块中的语句的时候, 程序就会再一次的回来执行这个条件表达式语句,当程序检查这个条件表达式语 句的结果还是true时,程序就会再一次的执行这个执行语句块中的语句,当程序 执行完成这个执行语句块中的语句以后,程序就会再一次的回来判断这个条件表 达式语句,当这个条件表达式语句返回的值还是true的时候,程序就会再一次的 去执行这个大括号中的执行语句块中的语句,如此往复直到这个条件表达式语句 返回的结果为false的时候,程序就会停止循环,而去执行这整个while循环语 句以外的后面的其他的代码所以说要想让这个while循环语句正常的结束结束,那这个执行语句块中的语句 在每一次执行完成然后再去判断条件表达式语句的时候,他都会改变这个条件表 达式语句的结果这样才能让这整个while循环正常的结束格式二:do循环体loop while条件作用:当指定条件为真时继续循环,否则结束循环。先执行,再判断。格式一举例:例 1: x=3Do while (x<6)Print “ x二";xX=x+1Loopend例2:求输入的两个数之间所有数的和(包括这两个数)Dim a, b, s, I as integerInput aInput bS=0I=aDo while i<=bS=s+iI=i+1LoopPrint "s=” ;send例3:求20002050年之间的所有闰年。闰年的条件是:(1)能被4整除,但不能被100整除的年份都是闰年;(2)能被100整除,又能被400整除的年份是闰年;程序如下:y=2000do while y<=2050if (y mod 4=0 and y mod 10000) or (y mod 100=0 and y mod 400=0) then1=1else1=0endifif 1=1 thenprint y,end ify=y+iloopend格式二举例:计算多个连续数连乘的结果。Dim f as longf=ln=l dof=f*nn=n+lloop while n<=5print fend注意:两种格式不是完全相同的结果,如:例:dim a as integerA=30DoA=a+30Loop while a<20Print " a="aEnd再用另一种格式试,打印出来A的结果不同。三、For循环结构1、格式FOR v变量>=v初值>TO v终值STEP v增量,循环体NEXT v变量,如:for i=l to 10 step 2print i, next i例:产生随机数5个。Dim a(4)For i=0 to 4A(i)=10*rndPrint a(i)Next iFor i=0 to 4A(i)=int(a(i)Print a(i)Next iendnext2、说明(1) FOR与NEXT必须配对;(2) FOR必须在NEXT的前面;(3) FOR中的循环变量与NEXT的变量一致;(4)步长为1时“ step r可省略;(5)循环终止的条件是循环变量赋值超过终值,而不是等于终值。(6)循环次数的计算次数二(终值一初值)/步长+1(7)循环变量尽量用整型变量;(8)循环变量初值和终值、步长值均可以是正值、负值或零,也可是整数或小数;例:for i=4 to 1 step -2Print iNext iend终止条件:当步长0时,循环变量终值当步长0时,循环变量终值当步长=0时,永不终止(9)循环变量主要用来控制循环、可在循环体内引用,也可不在循 环体出现。3、循环结构中必须理解、掌握的几种重要算法的模型循环体内的累 加器 均是赋值(LET)语句,但放在循Q-Q-lVREM解一元二次REM用计数循环求1方程至N的序数和INPUTINPUT“INPUT A“A,B,O"; DATA TO N” ;NA, B, C严T DTnD OREM用条件循环求1至N的序数和S=0: 1=1INPUT “INPUT ABATA1M| 4L W 妊 |举例例1:斐波那契数列表示的是这样一列数:0, 1, 1, 2, 3, 5,后一 项等于前两项的和,求前20项的和。f (n) =f (n-1) +f (n-2) (n>2)fl=0f2=lf3=f2+fl=2f4=f3+f2=3f5=f4+f3=5程序如下:fl=0f2=lprint fl, f2,for i% = 3 to 20f3 = fl+f2print f3,fl=f2f2=f3next i%printend另一种方法:fl=Of2=lprint fl, f2,i%=3do while %i<=20f3=fl+f2print f3,fl=f2f2=f3%i=i%+lLoopPrint end例2:编制程序多样化的例子。计算三门课程的平均成绩:doinputa, b, c,二”;a, b, cif a=0 and b=0 and c=0 then exit dos=(a+b+c) /3print ”平均成绩:;sloopend思考:将上列程序改成do whileloop形式Input “a, b, c : ” ; a, b, cDo while (a<>0 and b<>0 and c<>0 )S=(a+b+c)/3Print “average=” ; sInput ,a, b, c : ” ;a, b, cLoopend例: 人口增长平均1.5%,设现人口 12.3亿,问多少年后人口达到或超过15亿。p=l. 23e+9 r=0. 015n=0do while p<=l. 5e+9p=p*(l+r)n=n+lloopprint 11;"年","人口”2end例(:给一个整数n(>2),判别它是否素数(质数)。算法:判别n是否素数,只要将n被1(n-1)各数轮流作除数除,若 都不被整除,则为素数。若n不是素数,则n=nl*n2,而nl和n2中必然有一个大于或等于n 的开方根,另一个小于或等于n的开方根。即若n是非素数,则必然有一个因子小于或等于n开方根。程序:INPUT "n=" nk=INT(SQR(n)i=2Do WHILE i<=kif n MOD i=0 THENflag=lexit doELSEFlag=0i=i+lend ifloopIF flag=0 THENPRINT n; 是素数!”ELSEPRINT n;"不是素数!”END IFEND另一种编写法:INPUT "n=" nk=INT(SQR(n)i=2 flag=0Do WHILE i<=k AND flag=0if n MOD i=0 THEN flag=l ELSE i=i+lloopIF flag=0 THENPRINT是素数!ELSEPRINT nJ不是素数!END IFEND例:二分法求方程近似解:f(x)=x3+x2-l在0, 1上的近似解。精确到 g=0.01。(P101 算法)程序如下:e=0.01:a=0: b=lf (x)=x*3+xz2-ldoif f(a+b)/2)=0 thenexit doelseif f(a)*f(a+b)/2) <0 thenb=(a+b)/2elsea=(a+b) /2end ifend ifloop while b-a>=eprint ”方程的解是:"(a+b) /2end扩展补充:(一)if语句的嵌套形式:块IF中的ELSEIF格式if then elseif thenelse end ifendif写成: if then elseif then else end if改写为:InputIf m<100 thend=0elseif m<200 thend=0. 01elseif m<300 thend=0. 02d=0. 03elseif m<1000 thend=0. 04elseif m<2000 thend=0. 05elsed=0. 08end ifa=m* (1-d)print "amount=";aend

    注意事项

    本文(Qbasic-教程.docx)为本站会员(苏美尔)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开