信息技术(选修一)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息技术(选修一)
算法与程序设计
第一课 计算机如何解决问题
一、计算机解决问题的过程
实例回顾
例1:从键盘输入圆的半径r,编程计算圆的面积。
例2:从键盘输入三角形的三边长a、b、c,如果能构 成一个三角形,则输出其面积,否则输出“不能构成 一个三角形!”的提示信息。[提示:计算机三角形面
积的公式为s: p( p a)(p b)(p c)
2.4 程序循环结构
1. For 循环语句
格式:
For 循环变量=初值 To 终值 Step 步长 语句组
Next 循环变量
[实践]写出循环结束时变量A的值、循环次数、 运行结果。
1、for a=1 to 10 print a
next a
2、for a=1 to 100 s=s+a
next a print s
s=0 For k = 1 To x - 1
If x Mod k = 0 Then s=s+k
End If Next If s = x Then
print x End If Next
综合练习
1. 现在面值为1元、2元和5元的钞票(假设每 种钞票的数量足够多),从这些钞票中出 30张使其总面值为100元,问有多少种取 法?输出每种取法中各面额钞票的张数。
case 1:c=a+b:d=“+” case 2:c=a-b:d=“-” case 3:c=a*b:d=“*” case 4:c=a/b:d=“/” End select Print a;d;b;”=”;c
综合练习1
我们把字符作为如下的分类:大写字母:AZ;小写:a-z;数字:0-9;其他字符。编 写一个程序,根据上述分类的方法,输入一 个字符,报告该字符所属的类型。
Do while 条件 循环体
loop
===================== 二、当条件满足时退出循环
Do 循环体
loop until 条件
问题:
陈婷今年17岁了,她的生日正好是3月12 日植树节。今年植树节老师带同学们到公园 里去植树。陈婷很高兴,一个人就栽了3棵 树,过了一个很有意义的生日。她想,如果 从明年开始每年过生日的时候都去植树,并 且每一年要比前一年多栽一棵树,这样下去, 到多少岁时才能累计种到或超过100棵树呢?
关系表达式的值:假(False)和真(True) 数据类型:逻辑型(Boolean)
2.3.2 条件语句
4.逻辑表达式 逻辑运算符: Not(非) And(与) Or(或)
5.逻辑运算的顺序 算术运算关系运算逻辑运算
例:a+b>c+d And a>=5 or Not c>0 Or d<0 当a=5,b=7,c=-2,d=1时运算结果的值_____?
课堂练习
1. 试编写一个程序,求平面中两点之间的距离
2.3 程序的选择结构
2.3.1 从制作矩形框问题开始
问题 张军找来一条长度为L的铁丝,希望用 来制作一个面积为S的矩形框。他问李明: 这个矩形的长和宽应当是多少,才能使制作 出来的矩形框面积为指定的值呢?
1、分析问题
设所求矩形的宽为x,根据题目的条件,矩形的 周长是L,那么它的长与宽的和就是L/2,长应 为L/2-x,根据矩形的面积公式,方程如下: x(L/2-x)=s
四、课堂练习:画流程图和编写代码
例2:从键盘输入三角形的三边长a、b、c,如果能构成 一个三角形,则输出其面积,否则输出“不能构成一个三 角形!”的提示信息。[提示:计算机三角形面积的公式 为:
s p( p a)(p b)(p c)
其中 p=(a+b+c)/2
五、程序与程序设计语言
程序设计语言
3、for a=100 to 1 step -1 s=s+a
next a Print s
4、for a=1 to 10 a=a+1 print a
next a
实践
编程输出:九九乘法表P57(图2-19)
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
练习1
编写一程序,判断年份是否为闰年。闰年的条 件:年份能被4整除但不能被100整除,或 能够被100整除也能被400整除。
X=inputbox(“输入年份”)
If (x mod 4=0) and (x mod 100<>0) then print x;”闰年” If (x mod 100=0) and (x mod 400=0) then print x;”闰年”
2.3.2 条件语句
1.条件语句的格式
If 条件 Then 语句组1
Else 语句组2
End If
2.3.2 条件语句
2.条件语句的执行过程
否
是
条件成立吗?
语句组2
语句组1
2.3.2 条件语句
3.关系表达式 关系运算符号有:
运算 符号
含义
=>
等于 大于
>= <
大于等于 小于
<=
小于等于
<>
不等于
例1:从键盘输入圆的半径r,编程计算圆 的面积。
3、编写程序(visual Basic语言) Dim r as double Dim s as double r=inputbox(“r=”) s=3.14*r*r Print “s=“;s 4、调试程序 程序编好后,通过键盘输入计算机,运行程序,并输
练习2
编一个程序,输入三个数,输出其中最大数
a=inputbox(“a”) b=inputbox(“b”) c=inputbox(“c”) Max=a If b>max then max=b If c>max then max=c Print “最大数是”;max
练习
Dim x as double X=inputbox(“x”) If x>8 then X=x-8 Print x End if If x>5 then print x+9 1、当输入9时程序运行结果是多少? 2、当输入20时程序运结果是多少?
代码参考
Dim age as integer Dim tree as integer Age=17 Tree=3 Do
age=age+1 tree=tree+age-14 Loop until tree>=100 Print age,tree
实践
1、已知s=1+2+3+……+N,找出一个最大的 整数N,使得S<30000。
出结果,直到没有错误为止。
三、算法 algorithm: [ ‘ælgəriðəm ] 概念
通俗地说,算法就是用计算机求解某一问题 的方法,是能被机械地执行的动作或指令的 有穷集合。
三、算法 algorithm: [ ‘ælgəriðəm ] 特征
1、输入 2、确定性 3、有穷性 4、输出 5、能行性
机器语言 汇编语言 高级语言
程序
编辑程序 编译程序(解释程序) 连接程序
第二课 程序设计基础
2.1 VB语言及程序开发环境
1. 基础数据类型 2. 常量与变量 3. 运算符、函数和表达式
课堂实践
2.2程序的顺序结构
1. 赋值语句(=) 2. 输入数据的函数(inputbox) 3. 输出数据的方法 (print)
代码参考
Dim i as integer Dim j as integer For i=1 to 9
for j=1 to I print i & “*” & j & “=“ & i * j ;
next j print Next i
2.4 程序循环结构
Do 循环语句(循环次数不确定) 一、当条件满足时执行循环体
问题1
2-2:已知长方体的长、宽、高,编写一个 程序,求长方体的全面积和体积。
分析问题 设计算法 编写程序 调试程序
问题2
2-3:从键盘上输入一个三位整数,然后将 它反向输出。例如输入456,输出应为654。
分析问题 设计算法 编写程序 调试程序
代码参考
X1=x mod 10 X2=x\10 mod 10 X3=x\100 Y=x1*100+x2*10+x3
代码参考
Dim c As String c = InputBox("输入任意字符") Select Case c Case "A" To "Z" print "字母大写类别" & c Case "a" To "z" print "字母小写类别" & c Case "0" To "9" print "数字类别" & c Case Else print "其他类别" & c End Select
代码参考
S=0 N=0 Do
n=n+1 s=s+n Loop until s>=30000 Print n
实践
2、假设纸的长度足够长,厚度为0.1毫米,对 折一次厚度增加1倍,现在对折纸张,直到 总厚度超过珠穆朗玛峰的高度为止(最新高 度:8844.43米),对折纸张的次数。
代码参考
K=0 H=0.1 Do
2.多重选择语句的格式
基本格式:
Select Case 表达式 Case 表达式列表1 语句组1 Case 表达式列表2 语句组2 …… Case Else 语句组N+1
End Select
实践
1、当F=1,2,3,4时程序运行的结果 Dim a,b,c as single Dim d as string F=inputbox(“请输入F的值:”) A=2 B=3 Select case f
三、算法 algorithm: [ ‘ælgəriðəm ] 的描述
表示算法的语言 主要有自然语言、 流程图、伪代码 等。
例1-2:鸡兔同笼问 题。35个头, 94只脚,鸡和兔 各有多少只?画 出流程图。
开始 输入a和b的值 求x=2a-b/2
求y=b/2-a 输入x,y的值
结束 例1-2的算法流程图
代码参考h01dokk1loopuntilh8844431000print求21000中完全数因子之和等于它本身的数为完全数例如28的因子是124714且12471428则28是完全数dimlongdimlongdimnext综合练习现在面值为1元2元和5元的钞票假设每种钞票的数量足够多从这些钞票中出30张使其总面值为100元问有多少种取法
实践
1、当A=15和A=-9时程序的运行结果 Dim A as integer A=inputbox(“请输入A的值:”) If A>=0 then Print “Y=“;A else Print “Y=”;-A
实践
2、某商场为了对苹果进行促销,规定购买2千克以上 可以在原价每千克1.5元的基础上打8折。请设计 一个程序计算购买x千克苹果的应付款。
x2 1 Lx S 0 2
通过求根公式可得出解答
2、设计算法
1. 输入铁丝的长度L; 2. 输入矩形的面积S; 3. 计算判别式D=L*L/4-4*S 4. 如果D>=0,则
计算 x1=(L/2+sqr(D))/2 x2=(L/2-sqr(D))/2 并输出x1和x2,否
则输出“找不到这样的矩形”
5. 结束
3、编写程序Βιβλιοθήκη Dim L as double Dim S as double Dim D as double L=inputbox(“请输入铁丝的长度:”) S=inputbox(“请输入矩形的面积:”) D=L*L/4-4*S If D>=0 then
x1=(L/2+sqr(D))/2 x2=(L/2-sqr(D))/2 print “这个矩形的长和宽分别为:”;x1;”和”;x2 Else print “找不到这样的矩形” End IF
k=k+1 h=h*2 Loop until h>=8844.43*1000 Print k
练习
求2-1000中完全数(因子之和等于它本身 的数为完全数),例如28的因子是1、2、4、 7、14,且1+2+4+7+14=28,则28是 完全数
Dim x As Long Dim k As Long Dim s As Long For x = 2 To 1000
其中 p=(a+b+c)/2
二、计算机解决问题的步骤
1、分析问题 2、设计算法 3、编写程序 4、调试程序
例1:从键盘输入圆的半径r,编程计算圆 的面积。
1、分析问题 圆的半径为r,则圆的面积s=3.14*r2 2、设计算法 根据题意,用顺序结构来完成。 第一步输入圆的半径r; 第二步求s=3.14*r*r的值 第三步输出结果
算法与程序设计
第一课 计算机如何解决问题
一、计算机解决问题的过程
实例回顾
例1:从键盘输入圆的半径r,编程计算圆的面积。
例2:从键盘输入三角形的三边长a、b、c,如果能构 成一个三角形,则输出其面积,否则输出“不能构成 一个三角形!”的提示信息。[提示:计算机三角形面
积的公式为s: p( p a)(p b)(p c)
2.4 程序循环结构
1. For 循环语句
格式:
For 循环变量=初值 To 终值 Step 步长 语句组
Next 循环变量
[实践]写出循环结束时变量A的值、循环次数、 运行结果。
1、for a=1 to 10 print a
next a
2、for a=1 to 100 s=s+a
next a print s
s=0 For k = 1 To x - 1
If x Mod k = 0 Then s=s+k
End If Next If s = x Then
print x End If Next
综合练习
1. 现在面值为1元、2元和5元的钞票(假设每 种钞票的数量足够多),从这些钞票中出 30张使其总面值为100元,问有多少种取 法?输出每种取法中各面额钞票的张数。
case 1:c=a+b:d=“+” case 2:c=a-b:d=“-” case 3:c=a*b:d=“*” case 4:c=a/b:d=“/” End select Print a;d;b;”=”;c
综合练习1
我们把字符作为如下的分类:大写字母:AZ;小写:a-z;数字:0-9;其他字符。编 写一个程序,根据上述分类的方法,输入一 个字符,报告该字符所属的类型。
Do while 条件 循环体
loop
===================== 二、当条件满足时退出循环
Do 循环体
loop until 条件
问题:
陈婷今年17岁了,她的生日正好是3月12 日植树节。今年植树节老师带同学们到公园 里去植树。陈婷很高兴,一个人就栽了3棵 树,过了一个很有意义的生日。她想,如果 从明年开始每年过生日的时候都去植树,并 且每一年要比前一年多栽一棵树,这样下去, 到多少岁时才能累计种到或超过100棵树呢?
关系表达式的值:假(False)和真(True) 数据类型:逻辑型(Boolean)
2.3.2 条件语句
4.逻辑表达式 逻辑运算符: Not(非) And(与) Or(或)
5.逻辑运算的顺序 算术运算关系运算逻辑运算
例:a+b>c+d And a>=5 or Not c>0 Or d<0 当a=5,b=7,c=-2,d=1时运算结果的值_____?
课堂练习
1. 试编写一个程序,求平面中两点之间的距离
2.3 程序的选择结构
2.3.1 从制作矩形框问题开始
问题 张军找来一条长度为L的铁丝,希望用 来制作一个面积为S的矩形框。他问李明: 这个矩形的长和宽应当是多少,才能使制作 出来的矩形框面积为指定的值呢?
1、分析问题
设所求矩形的宽为x,根据题目的条件,矩形的 周长是L,那么它的长与宽的和就是L/2,长应 为L/2-x,根据矩形的面积公式,方程如下: x(L/2-x)=s
四、课堂练习:画流程图和编写代码
例2:从键盘输入三角形的三边长a、b、c,如果能构成 一个三角形,则输出其面积,否则输出“不能构成一个三 角形!”的提示信息。[提示:计算机三角形面积的公式 为:
s p( p a)(p b)(p c)
其中 p=(a+b+c)/2
五、程序与程序设计语言
程序设计语言
3、for a=100 to 1 step -1 s=s+a
next a Print s
4、for a=1 to 10 a=a+1 print a
next a
实践
编程输出:九九乘法表P57(图2-19)
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
练习1
编写一程序,判断年份是否为闰年。闰年的条 件:年份能被4整除但不能被100整除,或 能够被100整除也能被400整除。
X=inputbox(“输入年份”)
If (x mod 4=0) and (x mod 100<>0) then print x;”闰年” If (x mod 100=0) and (x mod 400=0) then print x;”闰年”
2.3.2 条件语句
1.条件语句的格式
If 条件 Then 语句组1
Else 语句组2
End If
2.3.2 条件语句
2.条件语句的执行过程
否
是
条件成立吗?
语句组2
语句组1
2.3.2 条件语句
3.关系表达式 关系运算符号有:
运算 符号
含义
=>
等于 大于
>= <
大于等于 小于
<=
小于等于
<>
不等于
例1:从键盘输入圆的半径r,编程计算圆 的面积。
3、编写程序(visual Basic语言) Dim r as double Dim s as double r=inputbox(“r=”) s=3.14*r*r Print “s=“;s 4、调试程序 程序编好后,通过键盘输入计算机,运行程序,并输
练习2
编一个程序,输入三个数,输出其中最大数
a=inputbox(“a”) b=inputbox(“b”) c=inputbox(“c”) Max=a If b>max then max=b If c>max then max=c Print “最大数是”;max
练习
Dim x as double X=inputbox(“x”) If x>8 then X=x-8 Print x End if If x>5 then print x+9 1、当输入9时程序运行结果是多少? 2、当输入20时程序运结果是多少?
代码参考
Dim age as integer Dim tree as integer Age=17 Tree=3 Do
age=age+1 tree=tree+age-14 Loop until tree>=100 Print age,tree
实践
1、已知s=1+2+3+……+N,找出一个最大的 整数N,使得S<30000。
出结果,直到没有错误为止。
三、算法 algorithm: [ ‘ælgəriðəm ] 概念
通俗地说,算法就是用计算机求解某一问题 的方法,是能被机械地执行的动作或指令的 有穷集合。
三、算法 algorithm: [ ‘ælgəriðəm ] 特征
1、输入 2、确定性 3、有穷性 4、输出 5、能行性
机器语言 汇编语言 高级语言
程序
编辑程序 编译程序(解释程序) 连接程序
第二课 程序设计基础
2.1 VB语言及程序开发环境
1. 基础数据类型 2. 常量与变量 3. 运算符、函数和表达式
课堂实践
2.2程序的顺序结构
1. 赋值语句(=) 2. 输入数据的函数(inputbox) 3. 输出数据的方法 (print)
代码参考
Dim i as integer Dim j as integer For i=1 to 9
for j=1 to I print i & “*” & j & “=“ & i * j ;
next j print Next i
2.4 程序循环结构
Do 循环语句(循环次数不确定) 一、当条件满足时执行循环体
问题1
2-2:已知长方体的长、宽、高,编写一个 程序,求长方体的全面积和体积。
分析问题 设计算法 编写程序 调试程序
问题2
2-3:从键盘上输入一个三位整数,然后将 它反向输出。例如输入456,输出应为654。
分析问题 设计算法 编写程序 调试程序
代码参考
X1=x mod 10 X2=x\10 mod 10 X3=x\100 Y=x1*100+x2*10+x3
代码参考
Dim c As String c = InputBox("输入任意字符") Select Case c Case "A" To "Z" print "字母大写类别" & c Case "a" To "z" print "字母小写类别" & c Case "0" To "9" print "数字类别" & c Case Else print "其他类别" & c End Select
代码参考
S=0 N=0 Do
n=n+1 s=s+n Loop until s>=30000 Print n
实践
2、假设纸的长度足够长,厚度为0.1毫米,对 折一次厚度增加1倍,现在对折纸张,直到 总厚度超过珠穆朗玛峰的高度为止(最新高 度:8844.43米),对折纸张的次数。
代码参考
K=0 H=0.1 Do
2.多重选择语句的格式
基本格式:
Select Case 表达式 Case 表达式列表1 语句组1 Case 表达式列表2 语句组2 …… Case Else 语句组N+1
End Select
实践
1、当F=1,2,3,4时程序运行的结果 Dim a,b,c as single Dim d as string F=inputbox(“请输入F的值:”) A=2 B=3 Select case f
三、算法 algorithm: [ ‘ælgəriðəm ] 的描述
表示算法的语言 主要有自然语言、 流程图、伪代码 等。
例1-2:鸡兔同笼问 题。35个头, 94只脚,鸡和兔 各有多少只?画 出流程图。
开始 输入a和b的值 求x=2a-b/2
求y=b/2-a 输入x,y的值
结束 例1-2的算法流程图
代码参考h01dokk1loopuntilh8844431000print求21000中完全数因子之和等于它本身的数为完全数例如28的因子是124714且12471428则28是完全数dimlongdimlongdimnext综合练习现在面值为1元2元和5元的钞票假设每种钞票的数量足够多从这些钞票中出30张使其总面值为100元问有多少种取法
实践
1、当A=15和A=-9时程序的运行结果 Dim A as integer A=inputbox(“请输入A的值:”) If A>=0 then Print “Y=“;A else Print “Y=”;-A
实践
2、某商场为了对苹果进行促销,规定购买2千克以上 可以在原价每千克1.5元的基础上打8折。请设计 一个程序计算购买x千克苹果的应付款。
x2 1 Lx S 0 2
通过求根公式可得出解答
2、设计算法
1. 输入铁丝的长度L; 2. 输入矩形的面积S; 3. 计算判别式D=L*L/4-4*S 4. 如果D>=0,则
计算 x1=(L/2+sqr(D))/2 x2=(L/2-sqr(D))/2 并输出x1和x2,否
则输出“找不到这样的矩形”
5. 结束
3、编写程序Βιβλιοθήκη Dim L as double Dim S as double Dim D as double L=inputbox(“请输入铁丝的长度:”) S=inputbox(“请输入矩形的面积:”) D=L*L/4-4*S If D>=0 then
x1=(L/2+sqr(D))/2 x2=(L/2-sqr(D))/2 print “这个矩形的长和宽分别为:”;x1;”和”;x2 Else print “找不到这样的矩形” End IF
k=k+1 h=h*2 Loop until h>=8844.43*1000 Print k
练习
求2-1000中完全数(因子之和等于它本身 的数为完全数),例如28的因子是1、2、4、 7、14,且1+2+4+7+14=28,则28是 完全数
Dim x As Long Dim k As Long Dim s As Long For x = 2 To 1000
其中 p=(a+b+c)/2
二、计算机解决问题的步骤
1、分析问题 2、设计算法 3、编写程序 4、调试程序
例1:从键盘输入圆的半径r,编程计算圆 的面积。
1、分析问题 圆的半径为r,则圆的面积s=3.14*r2 2、设计算法 根据题意,用顺序结构来完成。 第一步输入圆的半径r; 第二步求s=3.14*r*r的值 第三步输出结果