资源描述
QBASIC培训教程
作者:admin 文章来源:本站原创 点击数: 更新时间:2004-10-21
(书本以《信息学奥林匹克竞赛辅导》(湖北教育出版社出版) 为标准教材)
第一课时
内容P92—P93
过程:1、QB的初步认识
练习:尝试模仿写出一个求长方形的周长的程序。长为12,宽为6
REM 求长方形的周长
CLS
LET A=12
LET B=6
LET C=(A+B)*2
PRINT C
END
2、字符集
3、常量。重点讲了一下科学计数法的表示。
练习:把下列各数写成科学计数法表示的形式。
例:136000000000——1.36*1011——1.36E+11
—356000000000 0.00000000000000132 -0.000000000000000000001
第二课时
内容:P95-P96
过程:1、变量。构成、规定等,重点讲一下变量名的命名,如哪些不能做为变量名等。
练习:下面哪些可作变量,哪些不能?
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)) 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), 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语言表示下列表达式:
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)
第五课时
1、复习上一天所学,解决学生提出的问题。
2、关系运算
格式:<表达式1><关系运算符><表达式2>
值只有两种:真用“-1”表示,假用“0”表示。
举几个例子进行说明。
4、 逻辑运算的适当讲解,并加以总结
AND:全真为真,有假为假 OR:全假为假,有真为真。
练习:①下面4个关系表达式中结果为真的是:( )
A. “A”>“a” B. “THAT” >“THE” C. 9>”H”
②写出下列表达式的值:
x>y AND y>z x<y x>y and z
③当E=1,F=3,G=5,求下面表达式的值
NOT(3*E>G MOD 2*5+3) AND G\F+4<F OR (E+G ) MOD F>G-F-E
=NOT(3>5 MOD 10+3) AND 5\3+4<3 OR 6 MOD 3>1
=NOT (3>5+3) AND 5<3 OR 0>1
=NOT 0 AND 0 OR 0
= —1 AND 0 OR 0
=0
④ 9^2 MOD 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
② 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、 语句的格式、功能分别进行讲解,举书上的例题。
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
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)的值,其输出结果会怎样?
如: PRINT TAB(3);“ABCDEFG”;TAB(40);“12345678”;TAB(25);“*****”
运行结果:
ABCDEFG 12345678
******
(2) 如果输出项之间用逗号“,”分隔,输出结果会怎样?
如:PRINT TAB(3);24,TAB(10);“ABC”,TAB(40);12/4
运行结果:
24
ABC 3
4、 课堂练习:写运行结果:
(1) PRINT
TAB(5);“****”;TAB(20);“***”;TAB(4);“******”;TAB(14);“******”
(2) PRINT TAB(18);“通讯录”
PRINT TAB(17);“______________”
PRINT “学校,班级”,“姓 名”;“性别”;“任课老师”
END
第九课时
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分别表示货物的名称、单价、数量。
(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语句设计一个程序,帮家里计算每月的用电费用。
提示:如每月用电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语句的几点说明,分三点说明,具体见教材。
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
② 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语句的格式、功能说明、执行过程。(教材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,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+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) 建立数学模型,确定解题方法;
(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语句为变量赋值,分别编写程序。
第十三课时
1、流程图简介
让学生了解常用的流程图编制符号及含义。P117
2、三种基本结构。
(1)顺序结构 (2)选择结构 (3)循环结构
对以上的三种结构进行适当的了解,用流程图的形式进行表示,争取让学生掌握。
3、练习:林中有鹤X只,有鹿Y只,已知鹤和鹿总头数为H,总脚数为F,问林中的鹤和鹿共有多少只?
提示:常识告诉我们,鹤有2只脚,鹿有4知脚。根据数学知识可以列出以下算式:
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语句)的初步介绍。
一般格式: 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 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
4、某校学生进行计算机知识竞赛,成绩在80分以上的可以获奖 ,并打印“获奖了”,小于80分的,给 予鼓励打印“再加把劲”。
第十五课时
1、 单行IF语句的复习,引入多行IF语句
2、多行IF语句的一般格式:(要求学生注意书写格式)
IF <关系表达式> THEN
<语句块1>
[ELSE
<语句块2>]
END IF
多行IF语句的含义是:计算关系表达式的值,当其值为真时,执行THEN后面的语句块1;否则(条件为假),执行ELSE后面的语句块2.若没有ELSE部分,则关系表达式的值为假时,便退出本多行IF语句。
3、举例: 输入三个整数a.b.c,要求输出三个数中大小居中的数.
分析: (1) 先将a.b两数进行比较,如果a>b,再比较b.c,如果b>c,则输出b.
否则,b<c,此时比较a.c,则输出c,否则,输出a.
(2) 当(1)中a>b的条件不成立,既a<b时,比较a.c,如果a>c,输出a.
否则,比较b.c,如果b>c,则输出c,否则,输出b.
程序如下:
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 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)指出下列语句中的错误,并加以改正。
(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
(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=A
END IF
PRINT MAX,MIN
DATA 8,10
END
3、 某运输部门为旅客托行李,从甲站到乙站其收标准为:20公斤(包括20公斤)以内,每公斤收托运费1。5元;如果超过20公斤,则超过部分每公斤加
0。8元,请你为部门设计一个符合以上规定的收费程序。
第十七课时
1、 嵌套IF语句的一般格式及语句的含义。
2、 举例:用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更具可读性。
第十八课时
写出下列程序的运行结果。
(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
(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
PRINT X, Y, Z
END
11,3,1
(4) INPU “A,B,C”;A,B,C
IF B<A THEN
D=A:A=B:B=D
END IF
IF B<C THEN
PRINT A; “<”;B; “<”;C
ELSE IF C<A THEN
PRINT C; “<”;A; “<”;B
END IF
PRINT A; “<”;C; “<”;B
END IF
END
输入:33,66,13 输出:13<33<66
第十九课时
1、 多路选择结构(SELECT CASE语句)的介绍。
SELECT CASE 语句的一般格式:
SELECT CASE <表达式>
CASE <情况表1>
<语句块1>
CASE <,情况表2>
<语句块2>
.
.
.
CASE <情况表N>
<语句块N>
CASE ELSE
<语句块N+1>
END SELECT
2、 <表达式>是数值表达式或字符串表达式。<情况表>是由一组情况构成的,情况之间用逗号分隔。三种情况说明。
3、 五点注意。P130
4、 举例:讲解书上例题(P130)
5、编写一个计税程序。
假定计税有如下规定:
(1) 货价〈=2000元,免税。
(2) 2000元〈货价〈=5000元,按2%纳税。
(3) 货价〉5000元,5000元以内部分按2%纳税,超出部分按5%纳税。
程序如下:
REM 计税程序
INPUT “货价?”;HUO
SELECT CASE HUO
CASE IS〈=2000
LET tax=0
CASE 2000.10 TO 5000
LET tax=HUO*0.02
CASE ELSE
LET tax=5000*0.02+(HUO-5000)*0.05
END SELECT
PRINT “货价 =”;HUUO, “税=”;tax
END
程序运行结果如下:
RUN
货价?6865
货价=6865 税=193.25
第二十课时
练习:1、指出下列语句中的错误,并加以改正。
(1)SELECT CASE X=2*A-3*B
CASE 4 OR 5
PRINT X=4 OR X=5
CASE 12 TO 15
PRINT “X=12”TO “X=15”
CASE ELSE
PRINT OUT OF RSNGE
(2)SELECT CASE X
CASE >=80
PRINT PASS
CASE >=75
PRINT GOOD
CASE >=90
PRINT VERY GOOD
CASE ELSE
PRINT POOR
(3)SELECT CASE S=A*B+C*D
CASE S=-5 OR 5
PRINT A
CASE S=6 TO 6
PRINT B
CASE S=”-6”TO-10
PRINT C
ELSE CASE
3、 编程:用SELECT CASE 语句实现
某运输部门为旅客托行李,从甲站到乙站其收标准为:20公斤(包括20公斤)以内,每公斤收托运费1.5元;雨果超过20公斤,则超过部分每公斤加
0.8元,请你为部门设计一个符合以上规定的收费程序。
4、作业:学期结束,给出学习优良 的条件如下:
1. 所考5门功课的成绩总分超过44450分;
2. 每门功课成绩都在88分以上;
3. 前3门功课(语、数、外 )的成绩都在95分以上,其他两门在80分以上。
用A1,A2,A3,A4,A5分别表示5门功课,请输入某学生的5门功课成绩,判断该生是否获学习优良奖。
第二十一课时
1、 由一个实例看循环。
FOR K=1 TO 10 SETP 2
PRINT K
NEXT K
2、 计数型循环的一般格式和功能。
一般格式: FOR 循环变量=初值 TO 终值 SETP 步长值
循环体
NEXT 循环变量
各部分含义:P136
3、 执行过程。
S=0
FOR K=1 TO 10
S=S+K
NEXT K
PRINT S,K
END
4、练习:指出下面各程序段中的错误。
(1)FOR l TO 20
PRINT T
NEXT T
(2)FOR N=l TO 100
LET S=S+N
PRINT “S=” ; S
END
(3)FOR C=5 TO l
PRINT C,
NEXT C
第二十二课时
1、循环的次数一般说来,循环的次数由初值,终值和步长三个因素来决定:
循环次数=INT(终值—初值)/步长+1)
例如,单初值为1、终值为10、步长为2时,循环的次数应为INT(10—1)/2+1)=5
次。
2、 写出下面程序的执行次数:
(1) FOR j=15 TO 100
PRINT j;
NEXT j
END
(2)FOR H=1 TO 10
LET J=J+2
PRINT J,
NEXT J
END
运行结果:3 6 9 12
3、 写运行结果:
(1) FOR I=2 TO 25 STEP 3
PRINT I+1;
NEXT I
(2) FOR j=1 TO 5
K=j*j : PRINT j , k
Next j
END
4、 试编写一个程序,计算1+3+5+…+97+99
第二十三课时
1计数型循环的应用.
设计循环结构时,第一步,要弄清循环体的内容,既哪些内容是被重复执行的;第二步,要确定循环次数,如果能够先确定循环次数,就用记数型循环结构,否则就用后面将要学习的结构:第三步,把循环体中的具体步骤转化为程序段。
2、例1、计算1+2+3+…+100的值。
4、 P139例2 假设DATA语句中存放了某班30名学生数学考试成绩,试编程计算该班数学考试平均分。
5、FOR
展开阅读全文