1、 QBASIC培训教程 作者:admin 文章来源:本站原创 点击数: 更新时间:2004-10-21 (书本以《信息学奥林匹克竞赛辅导》(湖北教育出版社出版) 为标准教材) 第一课时 内容P92—P93 过程:1、QB的初步认识 练习:尝试模仿写出一个求长方形的周长的程序。长为12,宽为6 REM 求长方形的周长 CLS LET A=12 LET B=6 LET C=(A+B)*2
2、PRINT C END 2、字符集 3、常量。重点讲了一下科学计数法的表示。 练习:把下列各数写成科学计数法表示的形式。 例:136000000000——1.36*1011——1.36E+11 —356000000000 0.00000000000000132 -0.000000000000000000001 第二课时 内容:P95-P96 过程:1、变量。构成、规定等,重点讲一下变量名的命名,如哪些
3、不能做为变量名等。 练习:下面哪些可作变量,哪些不能? 7*B aBC x2y x-y Print K=6 其中的Print可说明是保留字,同PRINT 2、标准函数:讲解四个标准函数:ABS(X) SQR(X) INT(X) SGN(X) 练习:已知A=7 B=-3.14 C=0.92 D=18,求: ABS(B+C) INT(A+B) INT(A)+INT(B) INT(SQR(A+D)) INT(SQR(A+B+C+D))
4、 SGN(C-D) 讲解:INT(SQR(A+B+C+D))=INT(SQR(7-3.14+0.92+18))=INT(SQR(22.78))=4 是因为22.78在16与25之间,取整的话只能取4。 第三课时 1、 复习上一天所学,用时20分钟。 2、 讲解最后一个标准函数RND(X)。功能及说明。 3、 例:输出二个0到100之间的随机整数。 可用RND*100取0到100之间的数。 PRINT INT(RND*100
5、), INT(RND*100) 练习:输出一个5—10之间的随机整数。 提示:0—5与5—10之间的联系。 可用下面的语句: INT(RND*5)+5 INT(RND*5+5) 练习2、 A/B的商、余数的表示。 商:INT(A/B) 余数=被除数—除数*商 A-B*INT(A/B) 第四课时 1、 表达式。 组成、算术运算符和表达式。 2、 练习:用QB语言表示下列
6、表达式: 5×[3×(200-2)÷(20+1)]+5 5×[(16-2/15)×(12÷4)] ÷7 3、 运算顺序的讲解。 4、 练习: (1) 写出下列式子的QB表达式: (X2+1)3 (A-B)(X-Y) 36÷[70+(12+5/12)÷3] (2) 求下列表达式的值: 5^2 MOD 130/4\5 (ABS(-6)/4)*SQR(81) 第五课时
7、 1、复习上一天所学,解决学生提出的问题。 2、关系运算 格式:<表达式1><关系运算符><表达式2> 值只有两种:真用“-1”表示,假用“0”表示。 举几个例子进行说明。 4、 逻辑运算的适当讲解,并加以总结 AND:全真为真,有假为假 OR:全假为假,有真为真。 练习:①下面4个关系表达式中结果为真的是:( ) A. “A”>“a” B. “THAT” >“THE” C. 9>”H” ②写出下列表达式的值: x>y AN
8、D y>z x
9、OD 25\2^2 第六课时 1、上节课的练习进行核对。 2、赋值语句(LET)的讲解。见教材P102—P104 练习:(1)、找错误,并改正。 ①LET A+B=C ②LET A=1,B=3 , C=5 ③LET A,B=2,3 (2)、写出程序的运行结果。 ① LET A=345 LET B=456 LET X=A+B PRINT A,B,X,X,B,A ②
10、 LET A=5 LET B=10 LET A=A+B LET B=B+A PRINT A,B LET A=A+B LET B=B+A PRINT A;B END 第七课时 1、 复习。继续LET语句未讲完、有问题的地方。 2、 输出语句(PRINT)的讲解。教材P104—P105 3、 语句的格式、功能分别进行讲解,举书上的例题。
11、 4、 练习: 写出下列程序的运行结果: (1) LET Y=7.8 PRINT “Y=”;Y (2) PRINT “X*Y=”;24*2 PRINT PRINT “*************” (3) PRINT A,B,C 没赋值的话均为0 (4) LET A=8 LET B=A+18 LET C=A LET D=B PRINT A,B
12、 END (5) PRINT “ABC”, “1234”, “&&&&”, “XYZ” PRINT 1^1,2^2,3^3,4^4, 5^5 END 以上例题分开出,出1题讲一题 第八课时 1、 上节课的练习进行核对。 2、 重点讲解TAB(X)函数的应用。见教材P106—107 3、 练习: (1) 如果后一个TAB(X)的值小于前一个TAB(X)的值,其输出结果会怎样? 如: P
13、RINT TAB(3);“ABCDEFG”;TAB(40);“12345678”;TAB(25);“*****” 运行结果: ABCDEFG 12345678 ****** (2) 如果输出项之间用逗号“,”分隔,输出结果会怎样? 如:PRINT TAB(3);24,TAB(10);“ABC”,TAB(40);12/4 运行结果: 24 ABC
14、 3 4、 课堂练习:写运行结果: (1) PRINT TAB(5);“****”;TAB(20);“***”;TAB(4);“******”;TAB(14);“******” (2) PRINT TAB(18);“通讯录” PRINT TAB(17);“______________” PRINT “学校,班级”,“姓 名”;“性别”;“任课老师” END
15、 第九课时 1、 键盘输入语句(INPUT)的格式、功能说明。 2、 例:输入四科成绩求总分和平均分 INPU Y,S, W, Z LET ZF=Y+S+W+Z LET PJF=ZF/4 PRINT “ZF=”;ZF, “PJF=”;PJF END 3. INPUT语句的执行过程. 4. INPUT语句的应用1. 例:为某商场设计一个购物付款结算的程序. (1) 先设变量 HW$、DJ、SL分别表示货物的名称、单
16、价、数量。 (2) 付款=单价*数量 即FK=DJ*SL (3) 程序: INPUT “货物名称、单价、数量:”;HW$,DJ,SL LET FK=DJ*SL PRINT HW$,DJ,SL PRINT FK:“元” END (4)运行程序: RUN 货物名称、单价、数量?苹果,8.5,2 (划线为键盘输入) 苹果 8.5 2 17元 练习:用INPUT语
17、句设计一个程序,帮家里计算每月的用电费用。 提示:如每月用电120度,电费为0.5元/度。 写出下面程序的运行结果: INPUT “A,B,C,D=:” A,B,C,D LET PJ=(A+B+C+D)/4 PRINT“PINGJUN=”;PJ END 输入12,34,56,18 第十课时 1、 上节课的练习进行讲解。 2、 讲解教材P109例2。 3、 使用INPUT语句的几点说
18、明,分三点说明,具体见教材。 4、 练习: (1) 找出错误,并改正: ①INPUT A,B,C, ②INPUT S;Q;Z ③INPUT “A,B=”A,B,“C,D=”;A,B ④INPUT S=30,H=50 (2) 写出下面程序的运行结果: ① INPUT “X,Y=”;X,Y PRINT “X=”;X,“Y=”;Y LET X=X+Y :Y=X-Y:X=X-Y PRINT “X=”;X,“Y=”;Y
19、 ② INPUT B,C LET D=(B*C)/2 PRINT B,C,D ③ INPUT A$, X, Y,B$ PRINT A$, B$ PRINT X,Y (以上的数据由学生课堂上随机给出,还可互相出题。) 第十一课时 1、 上节课内容复习 2、 读数/置数语句(READ/DATA)的简短说明。 3、 READ/DATA语句的格式、功
20、能说明、执行过程。(教材P111) 4、 练习:找出错误、并改正。 ① READ A,B;C;D DATA 2,3,5,33 ② READ B$, C$, X, Y DATA ABC, “101”,25,3/5 ③ READ A1,A2,A3,A4 DATA 2,4,6 ④ READ B1,B2,B3,B4 DATA 3,0.245,23,14,20 5、 写程序运行结果: DATA 1,2 READ A,B,
21、C RESTORE READ E,F,G DATA 3,4,5,6 READ X,Y,Z PRINT A,B,C,D,E,F,G,X,Y,Z END 第十二课时 1、程序设计初步。出示P114的例1。分析:设六年级植树棵数为A,五年级植树棵数为B,四年级棵数为C,一、二、三年级共植树棵数为D,全校学生总共植树的棵数为S 。 A=300 B=A*2/3 C=B-90 D=(A+B
22、C)/2 S=A+B+C+D 通过分析、列表达理清了解题思路,就可以着手编写程序,让计算机算出本题的结果。 程序编写如下: LET A=300 LET B=A*2/3 LET C=B-90 LET D=(A+B+C)/2 LET S=A+B+C+D PRINT “S=”;S END 运行程序: S=915 2、程序设计的一般步骤是: (1) 分析问题,明确任务; (2
23、 建立数学模型,确定解题方法; (3) 画出流程图; (4) 编写程序; (5) 上机调试程序。 3、 鸡兔同笼,已知中共有头35个,脚94只,求鸡、兔各几只? REM 鸡.兔同笼问题 INPUT HF LET X=(4*H-F)/2 LEF Y=(F-2*H)/2 PRINT "鸡=";X,"兔=";Y END 4、 学生练习:用INPUT和READ/DATA语句为变量赋
24、值,分别编写程序。 第十三课时 1、流程图简介 让学生了解常用的流程图编制符号及含义。P117 2、三种基本结构。 (1)顺序结构 (2)选择结构 (3)循环结构 对以上的三种结构进行适当的了解,用流程图的形式进行表示,争取让学生掌握。 3、练习:林中有鹤X只,有鹿Y只,已知鹤和鹿总头数为H,总脚数为F,问林中的鹤和鹿共有多少只? 提示:常识告诉我们,鹤有2只脚,鹿有4知脚。根据数学知识
25、可以列出以下算式: X+Y=H 2X+4Y=F 由2式—1式: 有 2Y=F—2H 则 Y=F—2×H÷2 4×1—2式: 有 2X=4H—F 则 X=4×H--F÷2 设H=71,F=158 请用语句LET,键盘输入语句INPUT,读数语句READ、DATA为变量赋值个分别编写程序求解。 第十四课时 1、 路选择结构(IF语句)的初
26、步介绍。 一般格式: IF<关系表达式> THEN <语句1> [ELSE<语句2>] 注意:编程时该语句只准在一行上写完。 2、 举例:(1)将Y和X中较大的数送到Z中,用单行IF语句描述为: IF X>Y THEN z=x ELSE z=y (2)求A的绝对值:IF A<0 THEN A=-A (3)判断一个数是否为整数,并打印出相应信息。 程序如下: INPUT B IF B=INT(B) THEN PRINT B;“shi zheng
27、 shu” ELSE PRINT B;”bu shi zheng shu” END 运行结果zhi RUN ?8.4 8.4 bu shi zheng shu RUN ?8 8 shi zheng shu 3、练习:找错误,并改正: (1)LET X= IF X>THEN X+1 ELSE X-1 (2)IF A>100 THEN LET A=A+A; PRINT A ELSE PRINT X^2
28、 4、某校学生进行计算机知识竞赛,成绩在80分以上的可以获奖 ,并打印“获奖了”,小于80分的,给 予鼓励打印“再加把劲”。 第十五课时 1、 单行IF语句的复习,引入多行IF语句 2、多行IF语句的一般格式:(要求学生注意书写格式) IF <关系表达式> THEN <语句块1> [ELSE <语句块2>] END IF 多行IF语句的含义是:计算关系表达式的值,当其值为真时,执行THEN后面的语
29、句块1;否则(条件为假),执行ELSE后面的语句块2.若没有ELSE部分,则关系表达式的值为假时,便退出本多行IF语句。
3、举例: 输入三个整数a.b.c,要求输出三个数中大小居中的数.
分析: (1) 先将a.b两数进行比较,如果a>b,再比较b.c,如果b>c,则输出b.
否则,b
30、 INPUT “输入a,b,c”;a,b,c IF a>b THEN IF b>c THEN PRINT b ELSE IF a>c THEN PRINT c ELSE PRINT a END IF ELSE IF a>c THEN PRINT a ELSE IF
31、 b>c THEN PRINT c ELSE PRINT b END IF END IF END 运行结果 输入 a,b,c? 35,29,30 30 学生练习:输入A,B,C三个数,输出其中最大的数。 第十六课时 1、 IF语句的复习。 2、 练习:(1)指出下列语句中
32、的错误,并加以改正。 (1) IF X<0 THEN X=X+1 ELSE X=X-1 (2) IF Y=Y$ THEN LET E=E^2 ELSE LET E=E*E*E (3)IF S=0 THEN LET X=0 ELSE IF A<0 THEN LET X=-1 ELSE LET X=1 END IF
33、 (2).写出下列程序的运行结果。 1.INPUT “X=”:X IF X>=5 THEN Y=2*X+1 ELSE Y=2*X=1 PRINT “Y=”:Y END 2.READ A,B IF A>B THEN LET MAX=A LET MIN=B ELSE LET MAX=B LET MIN
34、A END IF PRINT MAX,MIN DATA 8,10 END 3、 某运输部门为旅客托行李,从甲站到乙站其收标准为:20公斤(包括20公斤)以内,每公斤收托运费1。5元;如果超过20公斤,则超过部分每公斤加 0。8元,请你为部门设计一个符合以上规定的收费程序。 第十七课时 1、 嵌套IF语句的一般格式及语句的含义。 2
35、 举例:用IF-THEN-ELSE语句实现符号函数:SGN(X) 程序如下: INPUT X IF X=0 THEN LET S=0 ELSE IF X<0 THEN LET S=-1 ELSE LET S=1 END IF PRINT “S=”;S END 3、 举例书上P128的例子进行进一步的说明。 两个程序的运行结果相同,从可读性方面考虑程序2更具可读性。
36、 第十八课时 写出下列程序的运行结果。 (1)INPUT “W=”:W IF W>20 THEN P=20*0.13+(W-20)*0.22 ELSE P=W*0.13 END IF PRINT “P=”:P END 输入:(1)12 (2)36
37、2) A=3: B=A:C=4 IF A<=B THEN PRINT A, B END IF IF C>=A THEN PRINT C END 运行结果:3 3 4 (3)X=3: Y=1: Z=11 IF Z>Y THEN SWAP Y, Z IF Z>X THEN SWAP X, Z IF Y>X THEN SWAP X,Y PR






