第三章 顺藤摸瓜----顺序结构程序设计
第一节 有备而来---程序设计准备
一、学习目标
1.掌握进入basic环境的方法和输入、编辑、运行程序的方法。
2.初步掌握basic中的基本概念:常量、变量、函数、表达式。
3.初步掌握输出、赋值、输入语句的格式和功能。
4.初步掌握简单顺序结构程序的设计方法。
5.理解程序的顺序结构的概念。二、教学重点掌握输出、赋值、输入语句的格式和功能。三、教学难点掌握简单顺序结构程序的设计方法。四、教学方法1.演示法。2.实践法。五、教学手段与教学媒体 六、课时安排1课时。七、教学过程
二、学习指导
1.basic中的科学记数法类似数学中的科学记数法
例如:-3.14156e+3 —— -3.14156×103
2.56e-2 一 2.56×10-2
其中e表示幂底数10,e后跟的整数为幂指数。
2.常见标准函数
abs(x) 求x的绝对值,即|x|
sqr(x) 求x的算术平方根,即 。
sin(x) 求x的正弦值c角x的单位必须是弧度,l°≈3.14159/180)。
cos(x) 求x的余弦值(规定同上)。
int(x) 求不大于x的最大整数。
注意:x为负数时,其值不是去掉小数,例int(一5.99)≠一5。
int(x)用处很多:
(1)对正数x四舍五入保留n位小数的表达式:
int(x*10^n+0.5)/1o^n
例如:对正数x四舍五入保留两位小数的表达式:
int(x*100+0.5)/100
(2)判断整数a能被整数b整除的条件关系式:
int(a/b)=a/b
(3)求整数a除以b的余数的表达式:
a—int(a/b)*b.
rnd(x) 产生一个o到1之间的随机小数
生成(a,b)内的随机整数的表达式:int(rnd(1)*(b—a)+a)
例如:二位随机整数的表达式:
int(rnd(1)*90+10)
3.数学式和basic表达式的对应表示
应根据运算顺序,正确使用圆括号,且将所有符号写在同一行上。注意乘、除、乘方运算和绝对值、算术平方根等函数在数学上与basic上表示的区别。
例如:
一(-b+sqr(b*b一4*a*c))/(2*a)
4.输出语句和输入语句
(1)输出语句。
格式:print(输出内容)
功能:
当输出内容是数时,直接输出该数;
当输出内容是数值表达式时,先计算表达式的值,然后输出该数值;
当输出内容是字符串时,直接输出该字符串。
(2)赋值语句。
格式:let变量=表达式
功能:把“=”右边表达式的值赋给左边的变量。
(3)键盘输入语句
格式:input变量,变量,…,变量。
功能:程序运行到该句时,屏幕出现一个“?”号,等待用键盘输入数据input后面的变量或变量组。
5.赋值(let)语句功能强大,用处很多,常用于构造以下
计数器 例如:let i=i+1(一般变量初值为0,即let i=0)
累加器 例如:let s=s+x(一般变量初值为o,即let i=0)
累乘器 例如:let t=t(一般变量初值为l,即let t=1)
交换器 例如:a、b存储的内容交换
let c=a
let a=b
let b=c
6.两种提供数据的语句对比表
表5—2—1两种提供数据的语句对比表
语句
let语句
input语句
变量数
一个let语句只能给一个变量赋值
一个input语句可以给一个或一组变量赋值
赋值方式
在程序中赋值
在程序执行过程中,从键盘输入赋值
赋值内容
数据,变量和表达式
只有具体数据
运算功能
有运算功能
无运算功能
占机时间
运行后,立即出结果,占机时间少
运行后,等待从键盘输入数据,占机时间多
适合类型
①需要赋值变量少
②需要运算
参数灵活变化
7.程序的顺序结构
程序各语句的执行顺序是从前到后依次执行的,程序执行过程中没有分又,也没有
重复,这种结构的程序就叫顺序结构程序。
图形方式表示如下图5—2一l:
图5—2—1
图中s1、s2、…、sn分别表示一段具体的操作内容,用一个语句或一段程序完成。
8.顺序结构的程序设计关键是把握好解决问题步骤的先后顺序,不要把依赖于上一步完成后才能进行的后一步操作前移
例如:求半径为15的圆周长和面积。
程序1 let l=2*3.14*r
let s=3.14*r*r
let r=15 print r,l,s
end
运行结果:15 o 0
程序2 let r=15
let l=2*3.14*r
let s=3.14*r*r
print r,l,s
end
运行结果:15 94.2 706.5
程序2和程序l语句条数和内容相同,但顺序不同,结果不同,程序2正确。
三、应用实例
1.写出下列程序的运行结果
let x=1
let y=2
let x=x+y
let y=x+y
print “x”,“y”
print x,y
end
解:可列变量值的变化表来确定结果。
x y
l 2
3(1+2) 5(3+2)
由上分析,可得运行结果:
x y
3 5
2.鸡兔同笼问题
已知鸡兔总头数为h,总脚数为f,问鸡兔各有多少只?
解:设鸡兔各有x、y只,则有
x+y=h (1)
2x+4y=f (2)
由(1)、(2)可得:
x=(4h—f)/2
y=(f一2h)/2
算法:1.输入h,f
2.x←(4*h—f)/2
3.y←(4—2h)/2
4.输出x,y
5.结束
程序:input h,f
let x=(4*h—f)/2
let y=(f一2*h)/2
print“x=”;x,“y=”;y
end
运行结果如下:
?60,176
x=32 y=28
四、练习实践
1.填空题
(1)2.745e-3化为日常计数法的数是
(2)sqr(49)+abs(一5)的值是
(3)int(rnd(50)+20)的值是
(4)数学式 对应的basic表达式是
(5)数学式x7+ 对应的basic表达式是
2.判断题
(1)x3y、x(1)、sinx、7c都是正确的basic变量。( )
(2)语句input a;b;c是正确的。( )
(3)语句let m=3,n=5是正确的。( )
(4)语句input a=5是正确的。( )
(5)语句let x=x+l是错误的。( )
(6)let语句是basic中惟一能进行计算的语句。( )
(7)下面程序运行后,显示结果是a=7,说明此时变量a的值是7。( )
let a=4
print “a=”;7
end
3.单选题 (1)basic中100000表示为( )。
a.1e+5 b.e+5 c.5e d.1e一5
(2)print int(10*rnd(1)+1)结果是( )。
a.[1,11]范围内的随机整数 b.[1,10)范围内的随机整数
c.[0,10]范围内的随机整数 d.[1,11]范围内的随机整数
(3)表达式a—b/3^c的运算顺序是( )。
a.①一②+③/ b.①一②^③/
c.①一②/③^ d.①^②/③一
(4)print int(3.236*100+0.5)/100的结果是
a.3.23 b.3.236 c.3.24 d.324
(5)程序运行的结果是( )。
let m=3
let n=0
let s=m*n
let n=2
print s
end
a.0 b.3 c.6 d.2
(6)程序运行的结果是( )。
let a=5
print “a=”;a+1,a
end
a.a=6 6 b.a=6 5
c.a=a+l a d.a=6 a
4.写出下列程序的运行的结果
(1)let x=5
let y=3
let s=(x+y)/2
print “s=”;s
let s=x+y/2
print “s=”;s
end
(2)let x=999
let x=abs(x—1000)
print “sqr(x)=”;sqr(x)
end
(3)let a=1
let b=7
let a=a+b
let b=a+b
print a,b
end
(4)input a,b,x
let a=a+x
let b=x—b
let s=a+b+x
print s
end
①输入1,2,3 ②输入3,2,1
5.编程解一元一次方程ax+b=c(a≠0)
(提示:a,b,c为已知量,用input a,b,c输入,x为待求量,应用已知量表示即:x=(c-b)/a)
6.编写一个计算年息、年终节余的程序
要求输入存款数、年利率,输出存款数、年息和年终节余(保留二位小数)。
解:设存款数为x、年利率为a,年息为y,年终节余为z.
程序如下:
input x,a
let y=a
let z=x+y let z=int(z*100+0.5)/100
print x,y,z
end教学后记:
第二节 与电脑沟通----输入、输出语句
一、学习目标
1、 掌握程序中常用的输入、输出语句。
2、 掌握输入、输出设计方法。
3、 能利用输入、输出语句解决简单的实际问题。 二、教学重点掌握输入、输出设计方法。三、教学难点用输入、输出语句解决简单的实际问题。四、教学方法1.演示法。2.实践法。五、教学手段与教学媒体多媒体网络教室。六、课时安排1课时。七、教学过程:程序的执行次序,从上到下,由一些非控制转移语句组成 一、输出语句 输出用户所需的信息 1、一般格式 print [<表达式>] 表达式—常量、变量、函数 如: print 2,4,6 print "x=";x 显示: x= ... 2、作用 (1)输出数值计算的结果(p92) (2)输出字符串(p93) (3)输出系统信息(p94) 3、输出格式 (1)标准格式—输出项以逗号分隔 五区—每区14列 (2)紧凑格式—输出项以分号相隔 (3)tab(x)—第x列 定位输出,但在同一行中、tab(x)中的x应从左到右逐渐增大。还可利用space(x)插入空格 (4)print <....>, 不换行(光标到下一区) print <....>; 不换行(光标在输出项后) print <....> 换行 �Pprint 空行 4、打印输出 lprint 其使用方法与print相同二、赋值语句 1、一般格式 [let]<变量名>=<表达式>let a=100 let a$="book" 2、作用 计算右边的表达式,将其值赋给左边变量; 主要作用:运算。 “=”的作用于是赋值,与等于的差别 如:x=y 与 y=x 不同(例p100) 3、对变量的赋值操作 (1)变量的初值为0 未赋值的变量 (2)一个变量只有一个值 变量的当前值由最后一次赋值决定 n=n+1 (3)变量值的传递 a=b b的值不变 b=a a的值不变 (4)关于赋值类型 以左边变量的类型为准 (5)两个变量交换值 a=b c=a a=b c为中间结果为?/font> b=c 三、键盘输入语句 1、一般格式: input[“提示信息”;]< 变量表> 说明:(1)执行该语句从键盘输入数据的数目应与语句中的变量个数相同 (2)从键盘输入的数据只能是常量 (3)输入时数据间用逗号分隔 例:求学生三门课的平均成绩 input "a,b,c=";a,b,c v=(a+b+c)/3 print "average="; v end 四、读入语句 1、格式: read <变量表> data <数据表 例:read a,b,c, data 75,60,90 v=(a+b+c)/3 end 2、说明: (1)<数据表>中的数据个数不能少于<变量表>中的变量个数。 (2)data语句可放在程序的任何位置,可使用多个data语句来存放数据,这时将按data 语句的先后顺序,把数据放数据区。 (3)关于“数据指针”当指针移到数据区之外 时,屏幕给出错误信息: out of data (例p109) (4)data语句中的数据只能是常量 五、恢复数据指针语句 restore 将数据指针移至首位或指定的data语句标号。六、结束语句和暂停语句 1、end语句 结束程序运行。一个程序可有多个end语句,但运行程序时,只有一个起作用,即执行其中一个end语句都会使程序结束。 2、stop语句 使程序暂停,选择run-continue继续运行。 七、程序调试 1、分步执行 f9—单步执行,step f6—窗口转换,windows f5—运行或继续运行。 2、设置断点 f9—设置断点 f5—运行或继续运行 教学后记:
因篇幅问题不能全部显示,请点此查看更多更全内容