1 / 118

目 录

目 录. 第 1 章 编程语言基础 第 2 章 数据类型、运算符和表达式 第 3 章 基本语句、输入输出语句 第 4 章 分支语句、循序语句 第 5 章 数组 第 6 章 函数与子程序 第 7 章 字符串及其基本操作 第 8 章 文件 第 9 章 屏幕控制与作图 附录 标准函数 ( 常用数学函数 ). 结束. 第 1 章 编程语言基础. 1.1 编程语言简介 1.2 QBASIC 语言的程序结构 1.3 QBASIC 程序的上机调试和运行. 上一张. 下一张. 目录. 结束.

albin
Télécharger la présentation

目 录

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 目 录 第1章 编程语言基础 第2章 数据类型、运算符和表达式 第3章 基本语句、输入输出语句 第4章 分支语句、循序语句 第5章 数组 第6章 函数与子程序 第7章 字符串及其基本操作 第8章 文件 第9章 屏幕控制与作图 附录 标准函数(常用数学函数) 结束

  2. 第1章 编程语言基础 1.1 编程语言简介 1.2 QBASIC语言的程序结构 1.3 QBASIC程序的上机调试和运行 上一张 下一张 目录 结束

  3. 随着计算机的出现和日新月异的发展,编程语言的产生和发展也经历了由简单到复杂、从低级到高级的发展过程。随着计算机的出现和日新月异的发展,编程语言的产生和发展也经历了由简单到复杂、从低级到高级的发展过程。 机器语言是通过用二进制代码表示的计算机的指令系统。 汇编语言是用一些符号代码来代替每一个具体指令。 机器语言和汇编语言都是低级语言,都是与具体的计算机有关。 高级语言是一种与机器无关的语言,用它编写的程序易读、易修改。如QBASIC语言、C语言等等。 QBASIC语言采用“解释程序”来边解释边执行。它是学习其它计算机语言的基础。它具有良好的集成开发环境,结构化程序的特点,各模块可以独立编写。 1.1 编程语言简介 上一张 下一张 目录 结束

  4. 1.2 QBASIC语言的程序结构 我们通过2个例子来说明。 例1.已知圆的半径,求圆的面积。 REM area=? INPUT r LET p=3.1415926 LET area=p*r^2 PRINT r;area END 上一张 下一张 目录 结束

  5. REM this is a program to calculate the sumDECLARE SUB fact(n,p)ClsS=0For I=1 to 10 Call fact(I,f) S=s+fNext IPrint “s=”;sEndSub fact(n,p)P=1For i=1 to n P=p*INext IEND SUB 例2 . 计算S=1!+2!+3!+……+10! 上一张 下一张 目录 结束

  6. 说明: 在例1中,Qbasic源程序由主模块组成,没有子模块。在例2中,Qbasic源程序由两个模块组成,前面为主程序模块,后面为SUB子程序模块。从这两个例子中我们可以看出Qbasic源程序的基本结构是: 主程序模块(1 个) 源程序 FUNCTION过程 子程序模块(0个、1个或多个) SUB过程 上一张 下一张 目录 结束

  7. 关于Qbasic程序有以下说明: (1)一个QBASIC程序由一系列语句行(程序行)组成,一个语 句行可以由一个或若干个语句。当有多个语句时,语句之间用冒号(:)分开。 (2)语句行可以有分号也可以没有分号。 (3)解释语句是非执行语句,可有可无。它起解释、说明作用,可增加程序的易读性。 (4)一个语句一般包括两个部分:语句定义符和语句体。如”LET p=3.1415926”,”LET”是语句定义符,也可省略。个别语句没有语句体,例如”END”、”CLS”。 (5)”END”语句是结束语句,一个程序可以有多个END语句,程序遇到END就结束。END一般放在程序的最后。 (6)一个Qbasic源程序有且必须有一个主程序模块。 (7)一个源程序可以有若干个子程序模块,在主程序模块中可以调用一个或多个子程序模块。子程序之间可以相互调用,但子程序不能调用主程序。 上一张 下一张 目录 结束

  8. 在MS-DOS5.0及以上版本中都包含QBASIC,它包含两个文件:在MS-DOS5.0及以上版本中都包含QBASIC,它包含两个文件: QBASIC.EXE QBASIC系统的可执行文件(不可缺少) QBASIC.HLP QBASIC系统的帮助文件 上述文件默认在DOS子目录中。若机器中无上述两个文件,可从其它机器上拷贝到软盘若硬盘上。若用户想使用汉字或鼠标,应在进入QBASIC环境之前运行汉字操作系统UCDOS、汉字输入法、鼠标驱动程序。 1.3.1 QBASIC的进入 1.3.2 QBASIC的工作窗口 1.3.3菜单简介 1.3 QBASIC程序的上机调试和运行 上一张 下一张 目录 结束

  9. 1.3.1 QBASIC的进入 首先进入QBASIC两个文件所在的目录,在DOS提示符下输入: QBASIC↙ 上一张 下一张 目录 结束

  10. 上一张 下一张 目录 结束 1.3.2 QBASIC的工作窗口

  11. 1.3.3菜单简介 上一张 下一张 目录 结束

  12. 第2章 数据类型、运算符和表达式 2.1 QBASIC使用的各种数据类型 2.2 常量、变量和函数 2.3 运算符和表达式 上一张 下一张 目录 结束

  13. 2.1 QBASIC使用的各种数据类型 其中:M1=3.402823E38,N1=1.401298E-45 M2=1.797693134862315D308,N2=4.940656458412465D-324 上一张 下一张 目录 结束

  14. 2.2.1 常量 常量是指在程序运行过程中,其值不变的是。有数值常量和字符串常量、符号常量。如“123”、“s3”、28、12%。 2.2.2变量 变量是指在程序运行过程中其值可以改变的量。 1.变量名的取名规则 变量名以字母开头,后跟字母、数字和小数点,长度为1~40个字符。不区分大小写。保留字不能作为变量名,变量名后可以跟类型名。 2.变量的类型 依数据类型的不同,变量也相应地分为不同的类型。有:整型变量、长整型变量、单精度变量、双精度变量、字符串型变量、定长字符串型变量。 说明或定义变量类型的方法: (1)在变量名的后面加类型符。如:1%,c!,a#. (2) 用DIM语句定义变量的类型。 DIM a as integer, h as string DIM c as single 2.2.3 标准函数(附录) 2.2 常量、变量和函数 上一张 下一张 目录 附录 结束

  15. 2.3.1 算术运算符和算术表达式 1.算术运算符(优先级由高到低) ^ * , / \ mod + , - 乘方 乘, 除 整除 求余 加,减 2.算术表达式 用算术运算符连接起来的式子。 如:-8^(1/3)(9\4)+INT(SQR(3)*SIN(ANT(1)))-7 MOD 3 其值为-1 2.3.2 关系运算符和关系表达式 1.关系运算符(优先级相同) <(小于),>(大于),<=(小于或等于),>=(大于或等于),=(等于),<>(不等于) 2.关系表达式 指用关系运算符连接两个算术表达式形成的式子。 如:x+2>23, 5 mod 7 and 12/n 2.3 运算符和表达式 上一张 下一张 目录 结束

  16. 2.3.3 逻辑运算符和逻辑表达式 1.逻辑运算符(由高到低) NOT(逻辑非) AND(逻辑与) OR(逻辑或) 逻辑运算真值表 2.逻辑表达式 指用逻辑运算符连接关系表达式形成的式子。 如:x+y and 23 mod 8 a>8 or f+10 上一张 下一张 目录 结束

  17. 第3章 基本语句、输入输出语句 3.1 输出语句 3.2 赋值语句 3.3 输入语句 3.4 结束语句、暂停语句和注释语句 上一张 下一张 目录 结束

  18. 1.输出语句的一般格式 PRINT [输出项表] 2.输出语句的作用 计算表达式的值并输出。 3.输出语句的输出格式 (1)按标准格式输出 每行分5个区,每区占15列(不包括符号位)。当输出项之间用逗号分隔时,则按标准格式输出。 print 1,-2,1/2,2*3,-5 输出 : 1 - 2 0.5 6 - 5 (2)按紧凑格式输出 每两项之间相隔2格(不包括符号位)。当输出项之间用分号分隔时,则按紧凑式输出。 3.1 输出语句 上一张 下一张 目录 结束

  19. Print “this”; “ is”;1;-2;-3 Print “x1=“;2,”x2=“;1 End 输出: This is 1 –2 –3 X1= 2 x2= 1 (3) 在PRINT语句末尾使用分隔符和空PRINT语句 若PRINT语句末尾无分隔符,则下一个PRINT 语句换行输出;若PRINT语句末尾有分隔符,则下一个PRINT语句紧接着输出。若上一个PRINT语句的末尾有分隔符,则下一个空PRINT语句起换行作用,否则,起输出空行作用。 Print 1;2;3;4;5; 输出: Print 6;7;8;9;10 1 2 3 4 5 6 7 8 9 10 Print 11;12;13;14;15; 11 12 13 14 15 Print : print Print “aa=“;10 aa= 10 end 上一张 下一张 目录 结束

  20. 1. 赋值语句的一般格式 [LET] 变量名=表达式 (注意左边只能是一个变量) 2. 赋值语句的作用 计算表达式的值并赋给左边的变量。 LET a=20*2 ‘则a的值为40 3.2 赋值语句 上一张 下一张 目录 结束

  21. 3.3 输入语句 3.3.1 键盘输入语句 3.3.2 读数语句/置数语句 3.3.3 恢复数据指针语句 上一张 下一张 目录 结束

  22. 1.INPUT语句的一般格式 INTUP [提示字符串{;|,}] 输入变量表列 2.示例 例:求一个学生三门课的成绩总分和平均分 Input “a1,a2,a3=“;a1,a2,a3 S=a1+a2+a3 : ave=s/3 Print “s=“; s,”ave=“; ave End 运行情况: a1,a2,a3=?77,67,88 S= 232 ave= 77.333333 程序执行到input语句,则暂停程序的执行,等待用户输入数据。数据输入完毕按回车键。 3.3.1 键盘输入语句 上一张 下一张 目录 结束 屏幕显示 用户输入

  23. 3.3.2 读数语句/置数语句 1.READ/DATA语句的一般格式 READ 变量列表 DATA 常量列表 如:READ a,b,c,d DATA 1,2,3,4,5,6,7 2.示例.用READ/DATA语句求三个学生三门课程的总分和平均分。 Read a1,a2,a3 : Read b1,b2,b3 Read c1,c2,c3 S1=a1+a2+a3: s2=b1+b2+b3 : s3=c1+c2+c3 ave1=s1/3: ave2=s2/3: ave3=s/3 Print s1,s2,s3 Print ave1,ave2,ave3 Data 70,80,90,66,88,77,79,68,87 end 上一张 下一页 目录 结束

  24. 3.3.3 恢复数据指针语句 • 1.一般格式: • RESTORE [行号|标号] • 2.示例 • Data 1,2 • L1: data 3,4,5 • L2: data 6,7,8,9,10 • read a,b,c,d,e • restore L1 : read f,g,h,I,j : restore L2 • read k,I,m,n,o : Print a,b,c,d,e: print f,g,h,I,j • print k,l,m,n,o • end • 输出: • 2 3 4 5 • 4 5 6 7 • 6 7 上一张 下一页 目录 结束

  25. 3.4.1 结束语句 1.格式 END 2.作用:结束程序执行。 3.4.2暂停语句 1.格式 STOP 2.作用:暂停程序的执行。 3.4.3 注释语句 1.格式一 REM 注释内容 2.格式 二 在语句的末尾用单撇号,后跟注释内容。 3.作用:起解释、说明作用,可提高程序的易方读性。常放在程序段的开头或语句的尾部。 3.4 结束语句、暂停语句和注释语句 上一张 下一张 目录 结束

  26. 3.4.3顺序结构程序举例 例1.已知三角形的三边为a,b,c,求三角形的面积area。 分析:s=(a+b+c)/2,且a+b>c,b+c>a,a+c>b。 Input “a,b,c=“;a,b,c S=(a+b+c)/2: area=SQR(s*(s-a)*(s-b)*(s-c)) Print “area=“;area End 运行情况: A,b,c=?3,4,5 Area=6 上一张 下一张 目录 结束

  27. 第4章 分支语句、循序语句 计算机程序的三种基本控制结构:顺序结构、分支结构、循序结构。 顺序结构:程序按照语句的顺序由上往下顺序执行。 分支结构:根据条件决定程序的流程。 循序结构:处理需要重复执行的某一操作。 4.1 分支语句 4.2 循环语句 上一张 下一张 目录 结束

  28. 4.1 分支语句 上一张 4.1.1 行IF语句 4.1.2 块IF语句 4.1.3 多分支结构语句 4.1.4 IF语句的嵌套 4.1.5分支结构程序举例 下一张 目录 结束

  29. 1.语句格式 IF <条件> THEN <语句1> [ELSE<语句2>] 2.功能 首先判断条件,若为真执行语句1,否则执行语句2。 注意IF语句必须在一行内写完。 3.示例:通过键盘输入两个数,按由小到大的顺序输出。 Input “请输入两个数:”;a,b If a>b then swap a,b Print a,b end 4.1.1 行IF语句 上一张 下一页 目录 或: input “请输入两个数a,b:”;a,b If a>b then print a,b else print b,a end 结束

  30. 4.1.2 块IF语句 1.语句格式 IF <条件> THEN <语句组1> ELSE <语句组2> ENDIF 2.功能 上一张 下一页 目录 假 结束 条件 真 语句组1 语句组2

  31. 例:输入一个年份,判断这个年份是不是闰年。例:输入一个年份,判断这个年份是不是闰年。 Input “输入一个年份:”;year If (year mod 400=0) or ((year mod 4=0) and (year mod 100=<>0)) then print “是闰年!” Else print “不是闰年!” Endif end 上一张 下一张 目录 结束

  32. 4.1.3 多分支结构语句 • 1.格式 • Select case 测试表达式 • case 表达式表1 • 语句组1 • case 表达式表2 • 语句组2 • … • case else • 语句组n • End select • 表达式表的三种形式: • (1)表达式[,表达式] 如:case 3,54,6 • 表达式 TO 表达式 如:case 5 to 10 • IS 关系运算符 表达式 如:case IS <50 上一张 下一张 目录 结束

  33. 2.功能 3.示例 … S=4 Select case s case 2,3,4 print s case is<10 print s*s case 3 to 6 print s*s*s case select … 上一张 下一张 目录 结束

  34. 4.1.4 IF语句的嵌套 例:求一元二次方程ax2+bx+c=0的根。 应考虑d=d2-4ac大于、等于0和小于三种情况。 Input “a,b,c=“;a,b,c D=b*b-4*a*c : p=-b/(2*a) If d>=0 then if d>0 thwn r=sqr(d)/(2*a) : x1=p+r : x2=p-r else x1=p : x2=p endif print “x1=“;x1,”x2=“;x2 : print “x1=“;x1,”x2=“;x2 Else q=sqr(-d)/(2*a) : print “x1=“;p;”+”;q;”I”,”x2=“;p;”-”;q;”I” Endif end 上一张 下一张 目录 结束

  35. 4.1.5分支结构程序举例 例1.输入一个数,判断它的能否被3或5整除,若能则打印该数,否则打印“不能整除”的信息。 Input “请输入一个整数a:”;a If a mod 3=0 or a mod 5=0 then print a Else print “不能整除” End 例2.给出10个数,分别求出其中的奇数与偶数的和。 Read x pp: if x=-1 then print s1,s2 : end if x mod 2=0 then s1=s1+x else s2=s2+x endif rread x goto pp: data 12,54,66,23,35,67,33,88,10,-1 end 上一张 下一张 目录 结束

  36. 例3.输入一个实数判断它在平面直角坐标系中所在的象限例3.输入一个实数判断它在平面直角坐标系中所在的象限 Input “x,y:”;x,y If x>0 then if y>0 then print x;y;”在第一象限” Else print x;y;”第四象限” endif Else if y>0 then print x;y;”在第二象限” else print x;y;”在第三象限” endif Endif end y 上一张 Ⅱ Ⅰ x 下一张 Ⅲ Ⅳ 目录 结束

  37. 4.2 循环语句 QBASIC语言实现循环的三种语句:FOR语句、WHILE语句、DO语句 4.2.1 FOR循环结构语句 4.2.2 WHILE循环结构语句 4.2.3 DO 循环结构语句 4.2.4 双重循环执行过程 上一张 下一张 目录 结束

  38. 4.2.1 FOR循环结构语句 1.FOR循环结构 FOR <循环变量I>=<初值A> to <终值B> [step <步长C>] 循环体 [exit for ] NEXT <循环变量> 2.FOR-NEXT循环的执行过程 上一张 下一张 目录 循环变量取初值a=>i 结束 Y I超过终值B? N 执行循环体 执行NEXT的下一个语句 I+C=>i

  39. 例1.通过程序,观察循环的执行情况。 For k=1 to 5 k=k*22 print k Next k end 上一张 下一张 目录 结束

  40. 例2. 求N!。 由阶乘的定义可知:N!=n*(n-1)*(n-2)*…*2*1=n*(n-1) Input “N=“;n K=1 For I=1 to n step 1 k=k*I Next I Print “n!=“:k End 上一张 下一张 目录 结束

  41. 例3.求斐波那契数列1,1,2,3,5,8,13,21的前20项之和。例3.求斐波那契数列1,1,2,3,5,8,13,21的前20项之和。 规律:数列中第1及第2个数是1,从第3个数起,该数是其前2个数之和。 F1=1:f2=1 Print f1,f2 For I%=3 to 20 f3=f1+f2 Print f3, F1=f2 : F2=f3 Next I% End 上一张 下一张 目录 结束 1 1 2 3 5 (第一次输出时) f1 f2 f3 (第二次输出时) f1 f2 f3 (第三次输出时) f1 f2 f3

  42. 4.2.2 WHILE循环结构语句 1.WHILE循环结构 WHILE <条件> 循环体 WEND 2.WHILE语句的执行过程 上一张 下一张 目录 N 条件为真? 结束 Y 执行循环体 WEND的下一个语句

  43. 例1.计算 N-S流程图: 开始 Cls I=0: s=0 Input “N=“;n While I<=N I=I+1: s=s+I Wend Print “s=“;s end I=0:s=0 上一张 输入N值 下一张 否 I<=n? 目录 是 I=I+1:s=s+i 结束 输出s 结束

  44. 例2. 用while语句编程求N!。 由阶乘的定义可知:N!=n*(n-1)*(n-2)*…*2*1=n*(n-1) Input “N=“;n K=1: s=1 While k<=n s=s*k k=k+1 Wend Print s end 上一张 下一张 目录 结束

  45. 4.2.3 DO 循环结构语句 1. DO循环语句的格式 格式1: DO WHILE 循环条件 循环体 [EXIT DO] LOOP 格式2: DO 循环体 [EXIT DO] LOOP WHILE 循环条件 上一张 下一张 目录 格式3: DO UNTIL 循环条件 循环体 [EXIT DO] LOOP 格式4: DO 循环体 [EXIT DO] LOOP UNTIL 循环条件 结束

  46. 例1.用do语句求N!. Input “N=“;n K=1: s=1 Do s=s*k k=k+1 Loop While k<=N Print s end N-S流程图 开始 输入N 上一张 K=1:s=1 下一张 S=s*k:k=k+1 目录 否 K<=N? 结束 是 输出s 结束

  47. 例2. 从键盘输入字符,并对所输入字符进行自动计数,录输入的字符为“?”时,停止计数,并输出结果。 分析:根据题意,所输入的字符个数事先没有给定,因此无法用for循环来实现,停止计数的条件是当输入的字符为“?”时停止。 Cls Const ch$=“?” Do input “输入一个字符:”; a$ print a$ count=count+1 Loop while a$<>ch$ Print “字符总数是:”; count end 上一张 下一张 目录 结束

  48. 4.2.4 双重循环执行过程 a=>i For i=a to b step c …. for j=x to y step z … next j …. Next i 是 I 超过b? 否 上一张 x=>j 下一张 是 J超过y? 目录 否 结束 j+z=>j I+c=>i 执行next I 下一语句

  49. 例.求1!+3+5!+7!+……+20! 本程序中,用双重循环,内循序求阶乘,外循环求和。 For I=1 to 20 step 2 t=1 for j=1 to I t=t*j next j s=s+t Next I Print s end 上一张 求累加和 求I! 下一张 目录 结束

  50. 4.3循环语句应用举例 例1:打印乘法九九表。 For i=1 to 9 for c=1 to 9 p=i*c print tab((c-1)*8+1);c;”*”;i;”=“;p;” “; next c print Next i End 上一张 下一张 目录 结束

More Related