收藏 分享(赏)

编程语言基础.ppt

上传人:fmgc7290 文档编号:8008538 上传时间:2019-06-03 格式:PPT 页数:118 大小:481KB
下载 相关 举报
编程语言基础.ppt_第1页
第1页 / 共118页
编程语言基础.ppt_第2页
第2页 / 共118页
编程语言基础.ppt_第3页
第3页 / 共118页
编程语言基础.ppt_第4页
第4页 / 共118页
编程语言基础.ppt_第5页
第5页 / 共118页
点击查看更多>>
资源描述

1、第1章 编程语言基础 第2章 数据类型、运算符和表达式 第3章 基本语句、输入输出语句 第4章 分支语句、循序语句 第5章 数组 第6章 函数与子程序 第7章 字符串及其基本操作 第8章 文件 第9章 屏幕控制与作图 附录 标准函数(常用数学函数),目 录,结束,1.1 编程语言简介 1.2 QBASIC语言的程序结构 1.3 QBASIC程序的上机调试和运行,第1章 编程语言基础,上一张,下一张,目录,结束,1.1 编程语言简介,随着计算机的出现和日新月异的发展,编程语言的产生和发展也经历了由简单到复杂、从低级到高级的发展过程。 机器语言是通过用二进制代码表示的计算机的指令系统。 汇编语言是

2、用一些符号代码来代替每一个具体指令。 机器语言和汇编语言都是低级语言,都是与具体的计算机有关。 高级语言是一种与机器无关的语言,用它编写的程序易读、易修改。如QBASIC语言、C语言等等。 QBASIC语言采用“解释程序”来边解释边执行。它是学习其它计算机语言的基础。它具有良好的集成开发环境,结构化程序的特点,各模块可以独立编写。,上一张,下一张,目录,结束,1.2 QBASIC语言的程序结构,我们通过2个例子来说明。 例1.已知圆的半径,求圆的面积。 REM area=? INPUT r LET p=3.1415926 LET area=p*r2 PRINT r;area END,上一张,下

3、一张,目录,结束,例2 . 计算S=1!+2!+3!+10!,REM this is a program to calculate the sum DECLARE SUB fact(n,p) Cls S=0 For I=1 to 10 Call fact(I,f) S=s+f Next I Print “s=”;s End Sub fact(n,p) P=1 For i=1 to n P=p*I Next I END SUB,下一张,目录,结束,上一张,说明: 在例1中,Qbasic源程序由主模块组成,没有子模块。在例2中,Qbasic源程序由两个模块组成,前面为主程序模块,后面为SUB子程序

4、模块。从这两个例子中我们可以看出Qbasic源程序的基本结构是:主程序模块(1 个) 源程序 FUNCTION过程子程序模块(0个、1个或多个)SUB过程,下一张,目录,结束,上一张,关于Qbasic程序有以下说明: (1)一个QBASIC程序由一系列语句行(程序行)组成,一个语 句行可以由一个或若干个语句。当有多个语句时,语句之间用冒号(:)分开。 (2)语句行可以有分号也可以没有分号。 (3)解释语句是非执行语句,可有可无。它起解释、说明作用,可增加程序的易读性。 (4)一个语句一般包括两个部分:语句定义符和语句体。如”LET p=3.1415926”,”LET”是语句定义符,也可省略。个

5、别语句没有语句体,例如”END”、”CLS”。 (5)”END”语句是结束语句,一个程序可以有多个END语句,程序遇到END就结束。END一般放在程序的最后。 (6)一个Qbasic源程序有且必须有一个主程序模块。 (7)一个源程序可以有若干个子程序模块,在主程序模块中可以调用一个或多个子程序模块。子程序之间可以相互调用,但子程序不能调用主程序。,下一张,目录,结束,上一张,1.3 QBASIC程序的上机调试和运行,在MS-DOS5.0及以上版本中都包含QBASIC,它包含两个文件: QBASIC.EXE QBASIC系统的可执行文件(不可缺少) QBASIC.HLP QBASIC系统的帮助文

6、件 上述文件默认在DOS子目录中。若机器中无上述两个文件,可从其它机器上拷贝到软盘若硬盘上。若用户想使用汉字或鼠标,应在进入QBASIC环境之前运行汉字操作系统UCDOS、汉字输入法、鼠标驱动程序。 1.3.1 QBASIC的进入 1.3.2 QBASIC的工作窗口 1.3.3菜单简介,下一张,目录,结束,上一张,1.3.1 QBASIC的进入,首先进入QBASIC两个文件所在的目录,在DOS提示符下输入: QBASIC,下一张,目录,结束,上一张,1.3.2 QBASIC的工作窗口,下一张,目录,结束,上一张,1.3.3菜单简介,下一张,目录,结束,上一张,第2章 数据类型、运算符和表达式,

7、2.1 QBASIC使用的各种数据类型 2.2 常量、变量和函数 2.3 运算符和表达式,下一张,目录,结束,上一张,其中:M1=3.402823E38,N1=1.401298E-45 M2=1.797693134862315D308,N2=4.940656458412465D-324,上一张,下一张,目录,结束,2.1 QBASIC使用的各种数据类型,2.2 常量、变量和函数,2.2.1 常量 常量是指在程序运行过程中,其值不变的是。有数值常量和字符串常量、符号常量。如“123”、“s3”、28、12%。 2.2.2变量 变量是指在程序运行过程中其值可以改变的量。 1.变量名的取名规则变量名

8、以字母开头,后跟字母、数字和小数点,长度为140个字符。不区分大小写。保留字不能作为变量名,变量名后可以跟类型名。 2.变量的类型依数据类型的不同,变量也相应地分为不同的类型。有:整型变量、长整型变量、单精度变量、双精度变量、字符串型变量、定长字符串型变量。说明或定义变量类型的方法:(1)在变量名的后面加类型符。如:1,c!,a#.(2) 用DIM语句定义变量的类型。DIM a as integer, h as stringDIM c as single 2.2.3 标准函数(附录),下一张,目录,附录,结束,上一张,2.3 运算符和表达式,2.3.1 算术运算符和算术表达式 1.算术运算符(

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

10、运算真值表2.逻辑表达式 指用逻辑运算符连接关系表达式形成的式子。 如:x+y and 23 mod 8 a8 or f+10,下一张,目录,结束,上一张,第3章 基本语句、输入输出语句,3.1 输出语句 3.2 赋值语句 3.3 输入语句 3.4 结束语句、暂停语句和注释语句,下一张,目录,结束,上一张,1.输出语句的一般格式 PRINT 输出项表 2.输出语句的作用 计算表达式的值并输出。 3.输出语句的输出格式 (1)按标准格式输出每行分5个区,每区占15列(不包括符号位)。当输出项之间用逗号分隔时,则按标准格式输出。 print 1,-2,1/2,2*3,-5 输出 : 1 - 2 0

11、.5 6 - 5 (2)按紧凑格式输出每两项之间相隔2格(不包括符号位)。当输出项之间用分号分隔时,则按紧凑式输出。,下一张,目录,结束,3.1 输出语句,上一张,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语句起换行作用,否则,起

12、输出空行作用。 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,下一张,目录,结束,上一张,3.2 赋值语句,1. 赋值语句的一般格式 LET 变量名=表达式 (注意左边只能是一个变量) 2. 赋值语句的作用 计算表达式的值并赋给左边的变量。 LET a=20*2 则a的值为40,下一张,目录,结束,上一张,3.3.1 键盘输入语句 3.3.2 读数语句/置数语句 3.3.

13、3 恢复数据指针语句,3.3 输入语句,下一张,目录,结束,上一张,3.3.1 键盘输入语句,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,88S= 232 ave= 77.333333 程序执行到input语句,则暂停程序的执行,等待用户输入数据。数据输入完毕按回车键。,屏幕显示,用户输入,下一张,目录,结束,上一张,

14、1.READ/DATA语句的一般格式 READ 变量列表 DATA 常量列表 如:READ a,b,c,dDATA 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,下一页,目录,

15、结束,上一张,3.3.2 读数语句/置数语句,1.一般格式: RESTORE 行号|标号 2.示例Data 1,2 L1: data 3,4,5 L2: data 6,7,8,9,10read a,b,c,d,erestore L1 : read f,g,h,I,j : restore L2read k,I,m,n,o : Print a,b,c,d,e: print f,g,h,I,jprint k,l,m,n,oend 输出:2 3 4 54 5 6 7 6 7,下一页,目录,结束,上一张,3.3.3 恢复数据指针语句,3.4 结束语句、暂停语句和注释语句,3.4.1 结束语句 1.格式E

16、ND 2.作用:结束程序执行。 3.4.2暂停语句 1.格式STOP 2.作用:暂停程序的执行。 3.4.3 注释语句 1.格式一REM 注释内容 2.格式 二 在语句的末尾用单撇号,后跟注释内容。 3.作用:起解释、说明作用,可提高程序的易方读性。常放在程序段的开头或语句的尾部。,下一张,目录,结束,上一张,3.4.3顺序结构程序举例 例1.已知三角形的三边为a,b,c,求三角形的面积area。 分析:s=(a+b+c)/2,且a+bc,b+ca,a+cb。Input “a,b,c=“;a,b,c S=(a+b+c)/2: area=SQR(s*(s-a)*(s-b)*(s-c) Print

17、 “area=“;area End 运行情况: A,b,c=?3,4,5 Area=6,下一张,目录,结束,上一张,第4章 分支语句、循序语句,计算机程序的三种基本控制结构:顺序结构、分支结构、循序结构。 顺序结构:程序按照语句的顺序由上往下顺序执行。 分支结构:根据条件决定程序的流程。 循序结构:处理需要重复执行的某一操作。4.1 分支语句 4.2 循环语句,下一张,目录,结束,上一张,4.1 分支语句,4.1.1 行IF语句4.1.2 块IF语句4.1.3 多分支结构语句4.1.4 IF语句的嵌套4.1.5分支结构程序举例,下一张,目录,结束,上一张,1.语句格式 IF THEN ELSE

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

19、份,判断这个年份是不是闰年。 Input “输入一个年份:”;year If (year mod 400=0) or (year mod 4=0) and (year mod 100=0) thenprint “是闰年!” Else print “不是闰年!” Endif end,下一张,目录,结束,上一张,1.格式 Select case 测试表达式case 表达式表1语句组1case 表达式表2语句组2case else语句组n End select 表达式表的三种形式: (1)表达式,表达式 如:case 3,54,6 表达式 TO 表达式 如:case 5 to 10 IS 关系运算符

20、 表达式 如:case IS 50,下一张,目录,结束,上一张,4.1.3 多分支结构语句,2.功能,3.示例 S=4 Select case scase 2,3,4print scase is10print s*scase 3 to 6print s*s*scase select ,下一张,目录,结束,上一张,例:求一元二次方程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 thenif d0 thwnr=sqr(d)/(2*a) : x1=p+r : x

21、2=p-relsex1=p : x2=pendifprint “x1=“;x1,”x2=“;x2 : print “x1=“;x1,”x2=“;x2 Elseq=sqr(-d)/(2*a) : print “x1=“;p;”+”;q;”I”,”x2=“;p;”-”;q;”I” Endif end,下一张,目录,结束,上一张,4.1.4 IF语句的嵌套,例1.输入一个数,判断它的能否被3或5整除,若能则打印该数,否则打印“不能整除”的信息。 Input “请输入一个整数a:”;a If a mod 3=0 or a mod 5=0 then print a Else print “不能整除” E

22、nd 例2.给出10个数,分别求出其中的奇数与偶数的和。Read xpp: if x=-1 then print s1,s2 : endif x mod 2=0 thens1=s1+x else s2=s2+xendifrread xgoto pp:data 12,54,66,23,35,67,33,88,10,-1end,下一张,目录,结束,上一张,4.1.5分支结构程序举例,例3.输入一个实数判断它在平面直角坐标系中所在的象限 Input “x,y:”;x,y If x0 thenif y0 thenprint x;y;”在第一象限” Elseprint x;y;”第四象限”endif E

23、lseif y0 thenprint x;y;”在第二象限”elseprint x;y;”在第三象限”endif Endif end,x,y,下一张,目录,结束,上一张,4.2 循环语句,QBASIC语言实现循环的三种语句:FOR语句、WHILE语句、DO语句4.2.1 FOR循环结构语句 4.2.2 WHILE循环结构语句 4.2.3 DO 循环结构语句 4.2.4 双重循环执行过程,上一张,下一张,目录,结束,1.FOR循环结构FOR = to step 循环体exit for NEXT 2.FOR-NEXT循环的执行过程,循环变量取初值a=i,I超过终值B?,执行循环体,I+C=i,执行

24、NEXT的下一个语句,Y,N,上一张,下一张,目录,结束,4.2.1 FOR循环结构语句,例1.通过程序,观察循环的执行情况。 For k=1 to 5k=k*22print k Next k end,上一张,下一张,目录,结束,例2. 求N!。 由阶乘的定义可知:N!=n*(n-1)*(n-2)*2*1=n*(n-1) Input “N=“;n K=1 For I=1 to n step 1k=k*I Next I Print “n!=“:k End,下一张,目录,结束,上一张,例3.求斐波那契数列1,1,2,3,5,8,13,21的前20项之和。 规律:数列中第1及第2个数是1,从第3个数

25、起,该数是其前2个数之和。 F1=1:f2=1 Print f1,f2 For I%=3 to 20f3=f1+f2Print f3, F1=f2 : F2=f3 Next I% End,1 1 2 3 5(第一次输出时) f1 f2 f3 (第二次输出时) f1 f2 f3 (第三次输出时) f1 f2 f3,下一张,目录,结束,上一张,1.WHILE循环结构 WHILE 循环体 WEND 2.WHILE语句的执行过程,条件为真?,Y,N,执行循环体,WEND的下一个语句,4.2.2 WHILE循环结构语句,下一张,目录,结束,上一张,例1.计算,Cls I=0: s=0 Input “N=

26、“;n While I=NI=I+1: s=s+I Wend Print “s=“;s end,I=0:s=0,输入N值,I=n?,I=I+1:s=s+i,是,否,输出s,开始,结束,N-S流程图:,下一张,目录,结束,上一张,例2. 用while语句编程求N!。 由阶乘的定义可知:N!=n*(n-1)*(n-2)*2*1=n*(n-1) Input “N=“;n K=1: s=1 While k=ns=s*kk=k+1 Wend Print s end,下一张,目录,结束,上一张,1. DO循环语句的格式 格式1: DO WHILE 循环条件循环体EXIT DO LOOP,格式2: DO 循

27、环体EXIT DO LOOP WHILE 循环条件,格式4: DO循环体EXIT DO LOOP UNTIL 循环条件,格式3: DO UNTIL 循环条件循环体EXIT DO LOOP,4.2.3 DO 循环结构语句,下一张,目录,结束,上一张,例1.用do语句求N!. Input “N=“;n K=1: s=1 Do s=s*kk=k+1 Loop While k=N Print s end,结束,开始,输入N,输出s,K=1:s=1,S=s*k:k=k+1,K=N?,是,否,N-S流程图,下一张,目录,结束,上一张,例2. 从键盘输入字符,并对所输入字符进行自动计数,录输入的字符为“?”

28、时,停止计数,并输出结果。 分析:根据题意,所输入的字符个数事先没有给定,因此无法用for循环来实现,停止计数的条件是当输入的字符为“?”时停止。 Cls Const ch$=“?” Do input “输入一个字符:”; a$print a$count=count+1 Loop while a$ch$ Print “字符总数是:”; count end,下一张,目录,结束,上一张,4.2.4 双重循环执行过程,For i=a to b step c.for j=x to y step znext j. Next i,a=i,I 超过b?,x=j,J超过y?,j+z=j,I+c=i,是,否,否

29、,是,执行next I 下一语句,下一张,目录,结束,上一张,例.求1!+3+5!+7!+20! 本程序中,用双重循环,内循序求阶乘,外循环求和。 For I=1 to 20 step 2 t=1for j=1 to It=t*jnext js=s+t Next I Print s end,求I!,求累加和,下一张,目录,结束,上一张,4.3循环语句应用举例,例1:打印乘法九九表。 For i=1 to 9for c=1 to 9p=i*cprint tab(c-1)*8+1);c;”*”;i;”=“;p;” “;next cprint Next i End,下一张,目录,结束,上一张,分析:

30、素数是指能被1和它本身整除的数,就是素数;也就是若M 不能被2到 之间的所有自然数整除或M不能被2到M-1之间 的所有自然数整除,则M是素数。,Input “M=“; m For i=3 to m step 2flage=0for j=2 to sqr(i)if I mod j=0 then flage=1next jif flage=0 then print i, Next i end,例2:求3到M之间的素数。,下一张,目录,结束,上一张,例3:打印如下图形,* *,For I=1 to 6 确定行数print tab(6-I); 确定每行第一颗*的位置for j=1 to 2*I-1 确

31、定每行*的个数print “*”; 打印每行上的*next j Print 换行 Next I end,下一张,目录,结束,上一张,例4.某车库内,存放着自行车和三轮车共213辆,已知车轮的总数是548。请算出三轮车和自行车各多少辆。 分析:用变量I表示自行车数目,用变量 J表示三轮车数目。三轮车和自行车的车辆数必须满足I*2+j*3=548条件。 For I=1 to 213for j=1 to 213if (I+j)=213 then if I*2+j*3=548 then print I;j : endnext j Next I End,下一张,目录,结束,上一张,编写循环程序应注意的几

32、点: 1.内外循环不得交叉。 For Ifor jnext j Next I 正确 2.内外循环的变量名应不相同名 For k=1 to 9for k=1 to 3print “*”;next k Next k 3. 内循环体内的变量赋的初值得,一般放在内循环的for语句之前;外循环体内的变量赋的初值,一般放在外循环的for 语句之前。,For Ifor jnext i Next j 不正确,下一张,目录,结束,上一张,数组是用来表示具有相同类型的一批数据。数组中的各个数据称为数组元素(下标变量),用下标来区分同一数组中的各个元素。5.1 数组的定维和使用 5.2 一维数组和二维数组 5.3

33、数组应用举例,第5章 数组,下一张,目录,结束,上一张,5.1 数组的定维和使用,5.1.1 数组的定维 5.1.2 数组的使用,下一张,目录,结束,上一张,5.1.1 数组的定维,数组在使用之前,必须先定义(数组的维数和数组的大小)。可用dim和REDIM语句实现。 1.Dim语句 1)格式 Dim (,) as ,(,) as 2)说明 *Dim语句可以放在程序的任何位置,但必须放在引用它们的语 句之前。一般放在程序的开头。 *下标表示数组元素在数组中的次序,下标可以是数值常量、变量或表达。前者说明的数组是静态数组,后者说明的数组是动态数组。如:dim a(6) 说明a 为静态数组dim

34、b(3+x) 说明b为动态数组,下一张,目录,结束,上一张,*可以定义多维数组,各下标之间用逗号隔开。各维的上下界有3种确定方法: 方法1:用在下界与上界之间使用to。 dim a(2 to 5) 方法2:用option base指定下标的下界值。dim a(5) a数组包括a(0)a(5)共有6个元素。 option base 1 dim x(5) b数组包括b(1)b(5)共有5个元素 方法3:若无option语句,又未用to指定范围,则系统默认下标下界 为0.,下一张,目录,结束,上一张,2.redim语句 1)格式 关键字为redim,其它同dim. 2)说明 *redim语句重新列维

35、时可以改变第维数组的大小,但不能改变数组的维数。 *用redim语句进行重室外维时,必须先用erase语句释放已分配的存储空间,否则将出错。,下一张,目录,结束,上一张,数组一经定义后,就可以引用它们,即对数组组或数组元素进行操作。 *在数组名后面的括号中指定下标,引用数组元素。如:x(2),z$(6,1) *数组元素可以赋值。如:语句x(8)=x(2)+x(5) *引用数组元素时,数组的名称、类型、维数必须与定义数组时的一致。如:dim a%(8) : print a%(8) *引用数组元素时,下标下界或下标上界不能超过定义时所指定的下标范围。否则程序将停止运行并显示出“下标越界”出错信息。

36、,5.1.2 数组的使用,下一张,目录,结束,上一张,5.2 一维数组和二维数组,5.2.1 一维数组5.2.2 二维数组,下一张,目录,结束,上一张,5.2.1 一维数组,一维数组由具有一个下标的数组元素组成。如:a(6) 例:输入5个学生某门课程的成绩,并求总分和平均分。 Dim a(1 to 5) For I=1 to 5input a(I)s=s+a(I) Next I Ave=s/5 Print “s=“;s,”ave=“;ave end,下一张,目录,结束,上一张,5.2.2 二维数组,二维数组由具有二个下标的数组元素组成。通常矩阵和表格用二维数组表示。如:a(3,6) 例:给出一

37、个34的矩阵,并输出它的转置矩阵。 Dim a(1 to 3, 1 to 4), b(1 to 4, 1 to 3) For I=1 to 3for j=1 to 4read a(I,j)next j Next I For I=1 to 4for j=1 to 3b(I,j)=a(I,j) : print b(I,j);next jprint Next I Data 65,23,77,22,12,48,91,50,71,30,27,95 end,下一张,目录,结束,上一张,5.3 数组应用举例,例1 .编写者一个程序,使用一维数组存放20个评委的打分(010),去掉一个最高分,去掉一个最低分,

38、求最后的平均分。 分析: (1)用一维数组a来存放20个评委的分数。(2)对数组元素进行比较,找出最高分和最低分,并对数组元素进行求和。具体方法:选择一个数作为最大值MAX和最小值MIN的基准数,然后和数组中的每一个元素进行比较,遇到大的就代替MAX,遇到小的就代替MIN,所有的数比较完毕,最大数就放在MAX中,最小数就放在MIN中。(3)用循环语句输入20个数,然后用循环语句和条件语句对每一个数进行比较,最后用循环语句求出参平均分并输出(保留两位小数)。,Option base 1 Dim a(20) For I=1 to 20input a(I) Next I Max=a(1): min=

39、a(1) Sum=0,For I=1 to 20sum=sum+a(I)if a(I)max then max=a(I)if a(I)min then min=a(I) Next I Print ave=(sum-max-min)/18 Print int(ave*100+0.5)/100 end,下一张,目录,结束,上一张,例2. 随机产生10个1100之间的随机整数,按由小到大的顺序输出。 分析:可用一个一维数组存放100个随机整数,用比较法排序,最后输出排序后的数组。这里用rnd(x)产生(01)之间的随机数,用int函数对它进行取整。 比较法排序: (1)将数组中的第一个元素a(1)与

40、后面的9个数依次比较,比第一个数小就交换,使a(1)始终保持较小的数,这样把10个数中的最小者就放在了第一个位置a(1)中。 (2)再将数组中的第二个元素a(2)与后面的9个数依次比较,和(1)步骤相同,又把后9个数中的最小者放在第二个元素a(2)的位置中。 (3)后面的数依次重复上述步骤,最后得到排序好的数。,Dim a(10) : randomize For I=1 to 10a(I)=int(rna(1)*100+1) Next I For I=1 to 9for j=I+1 to 10if a(j)a(I) then swap a(I),a(j),Next I For I= 1 to

41、10print a(I) Next I end,下一张,目录,结束,上一张,例3.编程打印下面图形,$ # # # # # $ # # # # # $ # # # # # $ # # # # # $,Dim a$(5,5) For I=1 to 5for j=1 to 5if I=j thena$(I,j)=“$”elsea$(I,j)=“#”endifnext j Next I For I=1 to 5for j=1 to 5print a(I,j);next jprint Next I end,下一张,目录,结束,上一张,例4.,假设某人在银行存款1万元,按年利率11.25计算,一年后连本

42、带利为11125元,若将此款继续存入银行,试问多长时间就会连本带利翻一翻?,M=10000 Y=0 n=m I=11.25/100 Do while m2*nprint y, mY=y+1m=m+(n*m) Loop Print “在”;y;”后,你将有”;M end,下一张,目录,结束,上一张,第6章 函数与子程序,QBASIC语言提供两类三种形式的函数: 系统提供的标准函数(见附录) 用户自己定义的函数(DEF函数、FUNCTION函数) 6.1 自定义函数的使用 6.2 模块化函数的定义和使用 6.3 子程序SUB 6.4 全局变量与局部变量 6.5 函数与子程序的嵌套和递归调用,下一张

43、,目录,附录,上一张,结束,6.1自定义函数的使用,6.1.1.单行自定义函数 6.1.2多行自定义函数,下一张,目录,结束,上一张,单行DEF函数用一条语句定义一个函数。例.计算A,B,C的值。 其中:,Def fnr(x)=x+sqr(1+2*x+3*x*x) Input “x=“;x A=fnr(x) B=fnr(sin(x) C=fnr(exp(x) Print a,b,c end,6.1.1.单行自定义函数,下一张,目录,结束,上一张,6.1.2多行自定义函数,多行自定义函数用两条或两条以上的语句定义一个函数。 例.从键盘输入x值,计算对应的y函数值。,(当0x10) (当10 x3

44、0) (当30 x40) (当40 x50) (当50 x60),Def fny(x)if x=10 and x=30 and x=40 and x50 then,fny=10Elseif x60 thenfny=10-(x-50)Endif Enddef Input “x=“;x Print fny(x) end,下一张,目录,结束,上一张,6.2 模块化函数的定义和使用,Def函数是模块内的函数,function函数是独立模块的函数,可由用户编写来实现特定的功能。6.2.1 function函数过程的定义和调用 6.2.2 Function函数过程的应用举例,下一张,目录,结束,上一张,6

45、.2.1 function函数过程的定义和调用,1.定义 Function (形参) static . = End function 2.function函数过程的调用 在主程序中用declare语句对程序中所有的function函数进行说明,一个declare只能说明一个function,函数,declare语句一般放在第一行。同调用标准函数一样,只要在调用处写上函数名和形参就可以了。函数的返回值是以过程名的形式返回到调用处。在函数体内至少应对函数名赋一次值。,下一张,目录,结束,上一张,例1.求两个数中的最小数。 Declare function min!(m!,n!) Input “输入

46、两个数a,b”;a,b C=min(a,b) Print “输出小数:”;c End Function min(m,n)if mn then min=melsemin=nendif End function,6.2.2 Function函数过程的应用举例,下一张,目录,结束,上一张,例2.给出10个数,将其中的偶数打印出来。 Declare function pp(a%() For I=1 to 10read a%(I)if pp(a%(i)-1 then print a%(I) Next I Data 3,23,6,12,33,67,45,32,21,8 EndFunction pp(a%()if a%(I)/2=int(a%(I)/2) thenpp=1elsepp=0endif End function,下一张,目录,结束,上一张,6.3 子程序SUB,6.3.1.子程序过程SUB的定义 6.3.2 虚实结合 6.3.3 Sub过程举例,下一张,目录,结束,上一张,6.3.1.子程序过程SUB的定义,Sub (形参) static . End sub 6.3.2.sub过程的调用Call (实参表) 在主程序中用declaer语句对程序中所有的sub过程进行说明,一个declare语句只能说明一个sub过程,declare一般放在程序的第一行。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报