360 likes | 553 Views
基本算法语句. 讲解的主要内容及流程 一 、 知识结构 二 、 BASIC 语言的发展 三 、 QBASIC 上机指导 四 、 QBASIC 语言的基本字符 五 、 QBASIC 的算术表达式 六 、 QBASIC 的标准函数 七 、质数判断 八 、二分法 九 、闰年问题. 一、知识结构. 输入语句. 输出语句. 算法语句. 赋值语句. 条件语句. 循环语句. 二、 BASIC 语言的发展. 初期 BASIC ( 1964 ~ 70 初) 小型机上使用 多用户分时系统 编译方式.
E N D
讲解的主要内容及流程 一、知识结构 二、BASIC语言的发展 三、QBASIC 上机指导 四、QBASIC语言的基本字符 五、QBASIC 的算术表达式 六、QBASIC 的标准函数 七、质数判断 八、二分法 九、闰年问题
一、知识结构 输入语句 输出语句 算法语句 赋值语句 条件语句 循环语句
二、BASIC语言的发展 • 初期BASIC(1964~70初) • 小型机上使用 • 多用户分时系统 • 编译方式 • 微机BASIC(1975~80年代中期) • 在ROM中 • 解释方式
Visual BASIC(1991,MS) for Windows 用于开发Windows应用软件 • 结构化BASIC(80年代中期) 三种基本结构 • 模块化 • True BASIC 、Quick BASIC 、QBASIC
QBASIC 的组成 MS-DOS 5.0 以上版本提供 QBASIC.EXE 、QBASIC.HLP 启动QBASIC “basic/qbasic” 程序窗口:用来编辑和运行程序 窗口的标题为源程序名 命令窗口:用来执行单个程序 窗口的标题为Immediate 活动窗口:当前正在使用的窗口 三、QBASIC 上机指导
英文字母 阿拉伯数字 符号 标点符号 类型说明符 算术运算符(+、-、×、/、\ 、^ ) 关系运算符(>、 < 、= 、>=、 <=、 < > ) 逻辑运算符(NOT、AND、OR) 四、QBASIC语言的基本字符
五、QBASIC 的算术表达式 (1)BASIC语言的算术表达式由算术运算符、常数、变量、函数和圆括号组成,其基本形式与数学上的算术表达式类似.表达式中的运算符号常用的有: 加+ ,减 - , 乘*, 除/ , 乘方^ 开平方SQR(X) ,取绝对值ABS(X) 取商\ ,取余a MOD b 取整INT(X)等.
(2)算术表达式的注意事项 • 用算术运算符将常数、数值变量及数学函数连接起来的有意义的式子. • 乘号不能用“×”或“.” • 不要漏写乘号 “ * ” • 要用合法的变量名 • 所有字符写在一行上 • 只能使用圆括号
六、QBASIC 的标准函数 • 常用数学函数见下表 • 不能随意造函数 • 自变量部分必须用圆括号括起来 • 自变量可以是常量、变量或表达式 • 三角函数的自变量应为弧度
功 能 标准函数 SIN(X) 求X的正弦值 X单位为弧度 CON(X) 求X的余弦值 X单位为弧度 SQR(X) 求X的平方根 ABS(X) 求X的绝对值 LOG(X) 求X的自然对数 EXP(X) 求e的X次幂
标准函数 功 能 INT(X) 求不大于X的最大整数 FIX(X) 取X的整数部分 SGN(X) 符号函数 1 当x>0 SGN(X)= 0 当x=0 -1 当x<0 RND(X) 产生(0,1)区间的一个随机数
(七)探究 任意给定一个大于1的整数n,判断n流程图是否为质数,画出它的流程图,并编写程序. 课本P.5, P.22
开始 输入n 否 n>2? 是 d=2 是 d整除n? 否 d=d+1 d<=n-1? 是 否 n是质数 n不是质数 结束
开始 质数判断 输入n n>2? 否 是 d=2 是 d整除n? 否 d=d+1 d<=n-1? 是 否 n不是质数 n是质数 结束
开始 输入n 否 flag=1? flag=1 是 否 n>2? n是质数 n不是质数 是 d=2 结束 否 d整除n? 是 flag=0 d=d+1 d<=n-1且 flag=1? 是 否
INPUT “n=”;n i=2 WHILE i<=n-1 IF n MOD i=0 THEN PRINT “No”:END END IF i=i+1 WEND PRINT “Yes” END
INPUT “n=”;n i=2 WHILE i<=n-1 IF n MOD i=0 THEN flag=1 END IF i=i+1 WEND IF flag=1 THEN PRINT “No” ELSE PRINT “Yes” END IF END
INPUT “n=”;n flag=1 IF n>2 THEN d=2 WHILE d<=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND END IF
IF flag=1 THEN PRINT “Yes” ELSE PRINT “No” END
(八)探究 画出用二分法求方程x2-2=0的近似根(精确度为0.005)的程序框图,并把它转化为程序语句. P.3 P.10 P.23练习3
1 m=(x1+x2)/2 f(X1)=x12-2 开始 f(m)=x2-2 是 x1=1 f(m)=0? 是 否 f(m)f(x1)<0? x2=2 否 X2=m X1=m 输出m C=0.005 |x1-x2|<c? 否 是 1 输出m 结束
DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN X1=m X1=m END IF g=x1^2-2 IF g*f>0 THEN X1=m ELSE X2=m END IF LOOP UNTIL ABS(x1-x2)<c PRINT m END X1=1 X2=2 C=0.005 解法一
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN X1=m X1=m END IF g=x1^2-2 IF g*f>0 THEN X1=m ELSE X2=m END IF LOOP UNTIL ABS(x1-x2)<c PRINT m END 解法一
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN PRINT m:END ELSE IF f<0 THEN X1=m ELSE X2=m END IF END IF LOOP UNTIL ABS(x1-x2)<c PRINT m END 解法二
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN PRINT m:END ELSE IF f<0 THEN X1=m ELSE X2=m END IF END IF LOOP UNTIL ABS(x1-x2)<c PRINT m END 解法二
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN flag=1 END IF g=x1^2-2 IF g*f>0 THEN X1=m ELSE X2=m END IF LOOP UNTIL ABS(x1-x2)<c OR flag=1 PRINT m END 解法三 教参P.20
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN flag=1 ELSE IF f<0 THEN X1=m ELSE X2=m END IF END IF LOOP UNTIL ABS(x1-x2)<c OR flag=1 PRINT m END 解法四
X1=1 X2=2 C=0.005 DO m=(x1+x2)/2 f=m^2-2 IF f=0 THEN flag=1 ELSE IF f<0 THEN X1=m ELSE X2=m END IF END IF LOOP UNTIL ABS(x1-x2)<c OR flag=1 PRINT m END 解法四 教参P.20
(九)探究 三、 闰年是指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年. 课本P.20 (4)
1 开始 年份 n 是 1 否 是 闰年 否 闰年 不是闰年 结束
INPUT “年份n=”;n IF INT(n/400)=n/400 THEN PRINT “runnian” ELSE IF n MOD 4=0 AND n MOD 100< >0 THEN PRINT “runnian” ELSE PRINT “bushi” END IF END IF END
INPUT “年份n=”;n b=n MOD 4 c=n MOD 100 d=n MOD 400 IF b =0 AND c< >0 OR d=0 THEN PRINT “runnian” ELSE PRINT “bushi” END IF END 教参P.19
课外作业 课本:P.38 A4 学案:P.19--20 作业:学案 P.19 8(1)