程序的基本结构循环结构ppt课件
合集下载
C语言程序设计循环结构程序设计幻灯片

printf("%d\n",su
m);
2021/5/15
x
求: s n 流程图 n 1
17
开始
void main()do while {
int n=1,s=0,x; scanf("%d",&x); do {s=s+n; n++;} while (n<=x); printf("s=%d\n",s); }
一般为关系表达式 或逻辑表达式,也 可以是C语言其他类 型的合法表达式
用来控制循环体是 否被执行
称为内嵌语句,可 以是基本语句、控 制语句,也可以是 复合语句
是循环重复执行的 部分
2021/5/15
9
语句一般格式 while (表达式) {语句组}
功能:计算“表达式〞的值,为非0〔逻辑 真〕时,重复执行内嵌语句,每执行一次, 就判断一次表达式的值,直到表达式的值 为0 时完毕循环,转去执行while后面的语 句。
void main() {int s=0,x; scanf("%d",&x); while (x<=10)
{s=s+x; 循环没有 x++;} 被执行
printf("s=%d\n",s)p; rintf("s=%d\n",s);
}
}
如输入为1和12,两程序各输出情况
输入12时: 输出
输出:s=0
2021/5/15
2021/5/15
do-while循环的算法
16
流程图
循环体
N-S结构图 循环体
当表达式为真
人教版 高中数学 第一章 循环结构的程序框图(共16张PPT)教育课件

凡 事都 是多棱 镜, 不同 的角 度会
凡 事都是 多棱 镜, 不同 的角度 会看 到不 同的 结果 。若 能把一 些事 看淡 了, 就会 有个好 心境 ,若 把很 多事 看开 了 ,就会 有个 好心 情。 让聚散 离合 犹如 月缺 月圆 那样 寻常, 让得 失利 弊犹 如花 开花谢 那样 自然 ,不 计较 ,也 不 刻意执 着; 让生 命中 各种的 喜怒 哀乐 ,就 像风 儿一 样,来 了, 不管 是清 风拂 面,还 是寒 风凛 冽, 都报 以自 然 的微笑 ,坦 然的 接受 命运的 馈赠 ,把 是非 曲折 ,都 当作是 人生 的
i<100? 否 是 i=i+1
S=S+ i
输出S 结束
开始 i=0,S=0
i=i+1 S=S+ i 否 i>=100?
是 输出S 结束
当型循环与直到循环的区别:
①当型循环可以不执行循环体,直到 循环至少执行一次循环体. ②当型循环先判断后执行,直到型循 环先执行后判断. ③对同一算法来说,当型循环和直到 循环的条件互为反条件.
开始 i=0,S=0
否 i<100? 是 i=i+1 S=S+ i
输出S 结束
思考:将步骤A和步骤B交换位 置,结果会怎样?能达到预期结果 吗?为什么?要达到预期结果,还 需要做怎样的修改?
步骤A
步骤B 答:达不到预期结果;
当i = 100时,退出循环,i 的值未能加入到S中;修 改的方法是将判断条件改 为i<101
i=i+1 S=S+ i
i=i+1 S=S + i
当型结构
i<100? 是
否
i=i+1
第5章-循环结构程序设计PPT优秀课件

17
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。
流程图--循环结构ppt课件

Y
p
Y
p
N
Y
Y
N 结束
结束
直到型循环
当型循环
例1:写出1+2+3+4+5的一个算法.
开始 S ←1
累加变量 计数变量
计数器初始值不同
开始 S ←1 i←1 i←i+1
i←2
S←S+i i←i+1
计数和累加的顺序不同
S←S+i N
i>5
Y 输出S 结束
退出循环的计数值不同
先计数,后累 加,则计数值应达 到最后一个累加数 时退出(大于倒数 第二个累加数)
流程图--循环结 构
顺序结构及框图表示 1.顺序结构:依次进行多个处理的结构称为顺序 结构. 2.顺序结构的流程图 顺序结构是最简单、最 基本的算法结构 ,语句与语 句之间,框与框之间是按从 上到下的顺序进行的 .它是 由若干个处理步骤组成的 , 这是任何一个算法都离不 开的基本结构.
语句A
语句B
开始 S ←? i←? S←S+i i←i+1 开始 S ←? i←? i←i+1 S←S+i
i>?
Y 输出S
N
i≤?
N 输出S 结束
Y
结束
练习2:写出1×2×3×4×5的一个算法.
见课本P12例4
例2 设计一个计算10个数的平均数的 算法.(课本P13例5)
解:S1 S2 S←0 I←1 把0赋值给变量S; 把1赋值给变量I;
A p
Y
N
A p
N Y
S<10000
S←S+400 Y
S≥10000
Y 结束
N
结束
直到型循环
当型循环
p
Y
p
N
Y
Y
N 结束
结束
直到型循环
当型循环
例1:写出1+2+3+4+5的一个算法.
开始 S ←1
累加变量 计数变量
计数器初始值不同
开始 S ←1 i←1 i←i+1
i←2
S←S+i i←i+1
计数和累加的顺序不同
S←S+i N
i>5
Y 输出S 结束
退出循环的计数值不同
先计数,后累 加,则计数值应达 到最后一个累加数 时退出(大于倒数 第二个累加数)
流程图--循环结 构
顺序结构及框图表示 1.顺序结构:依次进行多个处理的结构称为顺序 结构. 2.顺序结构的流程图 顺序结构是最简单、最 基本的算法结构 ,语句与语 句之间,框与框之间是按从 上到下的顺序进行的 .它是 由若干个处理步骤组成的 , 这是任何一个算法都离不 开的基本结构.
语句A
语句B
开始 S ←? i←? S←S+i i←i+1 开始 S ←? i←? i←i+1 S←S+i
i>?
Y 输出S
N
i≤?
N 输出S 结束
Y
结束
练习2:写出1×2×3×4×5的一个算法.
见课本P12例4
例2 设计一个计算10个数的平均数的 算法.(课本P13例5)
解:S1 S2 S←0 I←1 把0赋值给变量S; 把1赋值给变量I;
A p
Y
N
A p
N Y
S<10000
S←S+400 Y
S≥10000
Y 结束
N
结束
直到型循环
当型循环
《循环程序设计》课件

避免死循环的方法
在编写循环程序时,应确 保循环终止条件在某个时 刻能够满足,或者在循环 体内有退出循环的语句。
死循环的危害
死循环会导致程序无法正 常结束,消耗大量的系统 资源,甚至可能导致系统 崩溃。
提高循环的效率
循环优化原则
在保证程序正确的前提下,尽可能减少循环次数,提高循环的执 行效率。
减少循环体内的计算
冒泡排序算法的时间复杂度
冒泡排序的时间复杂度为O(n^2),其中n为待排序的元素个数。因为冒泡排序需要重复遍 历整个列表,每次遍历都需要进行n次比较和交换操作。
斐波那契数列的求解
斐波那契数列的定义
斐波那契数列是一个数列,其中每个数字是前两个数字的和。第一个数字和第二个数字都是1,之后的每个数字都是 前两个数字的和。
《循环程序设计》ppt 课件
目录
• 循环程序设计概述 • 循环控制结构 • 循环嵌套 • 循环程序设计的实际应用 • 循环程序设计的优化与调试
01
循环程序设计概述
循环的定义与特点
总结词
描述循环的定义、特点以及在程序中的作 用。
嵌套循环
循环可以嵌套在其他循环内部,形成多层 循环结构。
详细描述
循环是一种重复执行一段代码的程序结构 ,它允许在满足特定条件时重复执行代码 块。循环具有以下特点
斐波那契数列的求解
在Python中,可以使用循环来计算斐波那契数列中的每个数字。具体实现过程是,定义两个变量分别表示前两个数 字,然后使用一个循环来计算斐波那契数列中的每个数字,直到达到所需的数字为止。
斐波那契数列的递归实现
另一种实现方法是使用递归。递归的实现方式是,定义一个函数来计算斐波那契数列中的第n个数字,然 后在函数中调用自身来计算前两个数字的和。递归的实现方式虽然简洁,但是效率较低,因为需要重复 计算相同的数字。
程序的三种基本结构(共24张PPT)

•printf("Input a,b,c:\n");
•scanf("%d,%d,%d",&a,&b,&c); •if(a>b) • {temp=a;a=b;b=temp;} •if(a>c) • {temp=a;a=c;c=temp;} •if(b>c) • {temp=b;b=c;c=temp;} •printf("%d,%d,%d",a,b,c);
实现if ~ else 正确配对方法
例: if (a==b)
if(b==c)
printf(“a==b==c〞);
else printf(“a!=b〞);
修改: if (a==b) { if(b==c) printf(“a==b==c〞); } else printf(“a!=b〞);
实现if ~ else 正确配对方法:加{ }
任给a,b,c三个数,按从小到大的顺序输出。
70~89
7,8
else…... else…...
#include <stdio.
else…... 分析: 设score为整型数,在score≥90 的范围内,score可能取100, 99,.
各个case的出现次序不影响执行结果。
{temp=a;a=c;c=temp;}
•
5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分 支可供选择,而实际问题中常常需要用到多分支的选 择。例如,学生成绩分类〔90分以为‘A’等,80~89分 为‘B’等,70~79分为‘c’ 等,……〕;人口统计分类〔 按年龄分为老、中、青、少、儿童〕;工资统计分类 ;银行存款分类;……等。当然这些都可以用嵌套的if 语句或多分支来处理,但如果分支较多,那么嵌套的if 语句层数多,程序冗长而且可读性降低。C语言提供 switch语句直接处理多分支选择,它的一
•scanf("%d,%d,%d",&a,&b,&c); •if(a>b) • {temp=a;a=b;b=temp;} •if(a>c) • {temp=a;a=c;c=temp;} •if(b>c) • {temp=b;b=c;c=temp;} •printf("%d,%d,%d",a,b,c);
实现if ~ else 正确配对方法
例: if (a==b)
if(b==c)
printf(“a==b==c〞);
else printf(“a!=b〞);
修改: if (a==b) { if(b==c) printf(“a==b==c〞); } else printf(“a!=b〞);
实现if ~ else 正确配对方法:加{ }
任给a,b,c三个数,按从小到大的顺序输出。
70~89
7,8
else…... else…...
#include <stdio.
else…... 分析: 设score为整型数,在score≥90 的范围内,score可能取100, 99,.
各个case的出现次序不影响执行结果。
{temp=a;a=c;c=temp;}
•
5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分 支可供选择,而实际问题中常常需要用到多分支的选 择。例如,学生成绩分类〔90分以为‘A’等,80~89分 为‘B’等,70~79分为‘c’ 等,……〕;人口统计分类〔 按年龄分为老、中、青、少、儿童〕;工资统计分类 ;银行存款分类;……等。当然这些都可以用嵌套的if 语句或多分支来处理,但如果分支较多,那么嵌套的if 语句层数多,程序冗长而且可读性降低。C语言提供 switch语句直接处理多分支选择,它的一
《循环结构程序设计》课件

for循环结构的执行流程
总结词
详细描述for循环结构的执行流程,包括初始化、条件判断、循环体执行和更新四个步 骤。
详细描述
for循环结构的执行流程包括四个步骤。首先,进行初始化操作,设置循环变量的初始 值。然后,进行条件判断,检查是否满足循环继续的条件。如果条件满足,执行循环体 内的语句。最后,进行更新操作,修改循环变量的值,然后再次进行条件判断,重复执
while循环结构的注意事项
总结词
关键点全覆盖
详细描述
使用while循环结构时需要注意以下几点,首先,条件表达式必须保证在某个时刻变为假,否则循环 将无限进行下去;其次,在循环体内应包含使条件表达式最终变为假的操作;最后,应避免在循环体 内使用使条件表达式永远为真的操作。
04
do-while循ห้องสมุดไป่ตู้结构
do-while循环结构的语法
总结词:简洁明了
详细描述:do-while循环结构的语法包括"do"关键字、"while"关键字、循环体和条件表达式。语法 格式为"do {循环体} while (条件表达式);"
do-while循环结构的执行流程
总结词:逻辑清晰
详细描述:do-while循环结构的执行流程是先执行一次循环 体,然后判断条件表达式,如果条件表达式为真,则再次执 行循环体,否则退出循环。循环体会一直执行直到条件表达 式不再满足为止。
循环结构的应用实例
用for循环计算1到100的累加和
总结词:简单明了
详细描述:通过使用for循环,我们可以轻松地计算从1到 100的所有整数的累加和。在每次循环中,我们将当前数 字添加到总和中,直到我们达到100。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序结构的特点:
1. 执行过程是按顺序从第一条语句执行到最 后一条语句。
2. 在程序运行的过程中,顺序结构程序中的 任何一条语句都要运行一次,而且也只能 运行一次。
编辑课件
3
顺序结构
顺序结构是最简单的程序结构,它是由若干个依次执行 能接着执行B语句。
• Dim v As Single
•
v = Val(InputBox("输入速度(km/s):"))
•
If v > 16.67 Then
•
Print "飞船挣脱太阳吸引力飞出太阳系"
•
Else
•
If v >= 11.19 Then
•
Print "飞船离开地球的控制,围绕太阳转"
•
Else
•
If v >= 7.91 Then
飞船离开地球的控制,围绕太阳转
v>16.67
飞船挣脱太阳引力飞出太阳系
编辑课件
16
选择结构
多分支形式:If <条件> then 语句或与语句组1 Else 语句或与语句组2 .......
End If
编辑课件
17
用If 多分支 语句判断飞船飞行状况
• Private Sub command_Click()
case 表达式列表1
语句组1
[case
表达式列表2
语句组2]
......
[case else
语句组n]
end select
编辑课件
19
用select case 语句判断飞船飞行状况
Private sub cmdOk_click Dim v as single v = val(InputBox("输入速度v(km/s)")) select case v case Is >16.67 lblshow.caption = "太阳飞出太阳系" case Is >=11.19 lblshow.caption = "绕太阳运行" case Is >=7.91 lblshow.caption = "绕地球运行" case else lblshow.caption = "数据输入错误" End select
lblshow.Caption = "飞船成功飞行!" Else
lblshow.Caption = "飞船不能升空!" End If
End sub
编辑课件
15
表2-11 飞船的飞行状况
飞船速度(v)(单位:km/s)
飞行状况
7.9≦v<11.9
飞船绕地球近似做匀速圆周运动
11.19≦v≦16.67
编辑课件
4
1、顺序结构
举例: 输入两个数,然后交换这两个数,再输出它
们交换后的结果。 (1)分析问题。
要交换两个数,要利用几个变量来保存数据?
编辑课件
5
顺序结构
(2)分析程序的执行步骤,画出流程图。
第一步:输入两个变量a、b的值。 第二步:利用第三个变量c来进行交换,交换的过程
如下: c=a a=b b=c 第三步:输出交换后a、b的值。
2.3 程序的基本结构
编辑课件
1
程序的基本结构
1、顺序结构:按照由上到下的顺序一行一行 的执行。程序中没有分支,没有重复。
2、选择结构:也叫分支结构,根据不同的条 件判断来决定程序走向结构。
3、循环结构:根据条件判断,需要重复执行 某一段代码的程序。程序中可能存在分支 和重复。
编辑课件
2
顺序结构
Else
编辑课件
13
选择结构
双分支形式:If <条件> then 语句或与语句组1
Else 语句或与语句组2
如:
End If
If (N mod 2=0) Then
Print N;" 是偶数。"
Else
Print N;"是奇数。"
End If
编辑课件
14
双分支结构举例:课本34页
输入飞船速度,判断飞船是否能升空。
编辑课件
7
2、选择结构
在处理实际问题时,只有顺序结构是不够的,经 常会遇到一些条件的判断,流程根据条件是否成 立有不同的流向。如下图所示,程序根据给定的 条件P是否成立而选择执行A操作或B操作
这种先根据条件做出判断,再 决定执行哪一种操作的结构称 为分支结构,也称为选择结构。
编辑课件
8
选择结构
应用举例:判断输入的一个正整数,是偶数 还是奇数。
(1)分析问题。 提示要判断一个正整数是偶数还是奇数, 判断的条件是什么?
编辑课件
9
选择结构
(2)分析程序的执行步骤,画出流程图。
第一步:输入一个正整数N; 第二步:判断N是否能被2整除,即判断条件
N mod 2 = 0是否成立; 第三步:若判断条件成立,则输出该正整数
是偶数,否则输出该正整数是奇数
编辑课件
6
顺序结构
(3)讲解程序的编写。 Private Sub command1_Click() Dim a as single, b as single, c as single a=val(InputBox("输入第一个数a:")) b=val(InputBox("输入第二个数b:")) Print "交换前:a=";a, "b="; b c=a a=b b=c MsgBox "交换后a= " & a & "b = " & b ,vbokonly,"交换结果" End Sub
课堂练习
1、输入课本33页代码,进行连个数的交换 2、编写代码:输入一个数,判断它的奇偶性。
编辑课件
12
选择结构的分支语句
If 语句:单分支、双分支与多分支语句
单分支形式:If <条件> then 语句或与语句组
End If
如:
If (N mod 2 = 0) Then Print N;" 是偶数。"
(飞船运行状态判断: 只有当飞船的速度达到第一宇宙速度(7.9千米/秒) 时,才可以在地球吸引力作用下,绕地球近似做匀速圆周运动。)
代码如下: private Sub cmdOk_Click()
Dim v As Single v = Val(InputBox("输入速度(km/s)")) If v >= 7.91 Then
•
Print "飞船绕地球近似做匀速圆周运动; "
•
Else
•
Print "输入数据错误"
•
End If
•
End If
•
End If
• End sub
编辑课件
18
当程序出现多分支选择时,用if语句会比较繁琐,而使用多
分支选择select case 语句就方便多了。
• 语法格式:
select case 表达式
编辑课件
10
选择结构
(3)讲解程序的编写。 Private Sub command1_Click() N=InputBox("输入一个正整数:") If N mod 2 = 0 Then Print N;" 是偶数。" Else Print N;"是奇数。" End If End Sub
编辑课件
11
1. 执行过程是按顺序从第一条语句执行到最 后一条语句。
2. 在程序运行的过程中,顺序结构程序中的 任何一条语句都要运行一次,而且也只能 运行一次。
编辑课件
3
顺序结构
顺序结构是最简单的程序结构,它是由若干个依次执行 能接着执行B语句。
• Dim v As Single
•
v = Val(InputBox("输入速度(km/s):"))
•
If v > 16.67 Then
•
Print "飞船挣脱太阳吸引力飞出太阳系"
•
Else
•
If v >= 11.19 Then
•
Print "飞船离开地球的控制,围绕太阳转"
•
Else
•
If v >= 7.91 Then
飞船离开地球的控制,围绕太阳转
v>16.67
飞船挣脱太阳引力飞出太阳系
编辑课件
16
选择结构
多分支形式:If <条件> then 语句或与语句组1 Else 语句或与语句组2 .......
End If
编辑课件
17
用If 多分支 语句判断飞船飞行状况
• Private Sub command_Click()
case 表达式列表1
语句组1
[case
表达式列表2
语句组2]
......
[case else
语句组n]
end select
编辑课件
19
用select case 语句判断飞船飞行状况
Private sub cmdOk_click Dim v as single v = val(InputBox("输入速度v(km/s)")) select case v case Is >16.67 lblshow.caption = "太阳飞出太阳系" case Is >=11.19 lblshow.caption = "绕太阳运行" case Is >=7.91 lblshow.caption = "绕地球运行" case else lblshow.caption = "数据输入错误" End select
lblshow.Caption = "飞船成功飞行!" Else
lblshow.Caption = "飞船不能升空!" End If
End sub
编辑课件
15
表2-11 飞船的飞行状况
飞船速度(v)(单位:km/s)
飞行状况
7.9≦v<11.9
飞船绕地球近似做匀速圆周运动
11.19≦v≦16.67
编辑课件
4
1、顺序结构
举例: 输入两个数,然后交换这两个数,再输出它
们交换后的结果。 (1)分析问题。
要交换两个数,要利用几个变量来保存数据?
编辑课件
5
顺序结构
(2)分析程序的执行步骤,画出流程图。
第一步:输入两个变量a、b的值。 第二步:利用第三个变量c来进行交换,交换的过程
如下: c=a a=b b=c 第三步:输出交换后a、b的值。
2.3 程序的基本结构
编辑课件
1
程序的基本结构
1、顺序结构:按照由上到下的顺序一行一行 的执行。程序中没有分支,没有重复。
2、选择结构:也叫分支结构,根据不同的条 件判断来决定程序走向结构。
3、循环结构:根据条件判断,需要重复执行 某一段代码的程序。程序中可能存在分支 和重复。
编辑课件
2
顺序结构
Else
编辑课件
13
选择结构
双分支形式:If <条件> then 语句或与语句组1
Else 语句或与语句组2
如:
End If
If (N mod 2=0) Then
Print N;" 是偶数。"
Else
Print N;"是奇数。"
End If
编辑课件
14
双分支结构举例:课本34页
输入飞船速度,判断飞船是否能升空。
编辑课件
7
2、选择结构
在处理实际问题时,只有顺序结构是不够的,经 常会遇到一些条件的判断,流程根据条件是否成 立有不同的流向。如下图所示,程序根据给定的 条件P是否成立而选择执行A操作或B操作
这种先根据条件做出判断,再 决定执行哪一种操作的结构称 为分支结构,也称为选择结构。
编辑课件
8
选择结构
应用举例:判断输入的一个正整数,是偶数 还是奇数。
(1)分析问题。 提示要判断一个正整数是偶数还是奇数, 判断的条件是什么?
编辑课件
9
选择结构
(2)分析程序的执行步骤,画出流程图。
第一步:输入一个正整数N; 第二步:判断N是否能被2整除,即判断条件
N mod 2 = 0是否成立; 第三步:若判断条件成立,则输出该正整数
是偶数,否则输出该正整数是奇数
编辑课件
6
顺序结构
(3)讲解程序的编写。 Private Sub command1_Click() Dim a as single, b as single, c as single a=val(InputBox("输入第一个数a:")) b=val(InputBox("输入第二个数b:")) Print "交换前:a=";a, "b="; b c=a a=b b=c MsgBox "交换后a= " & a & "b = " & b ,vbokonly,"交换结果" End Sub
课堂练习
1、输入课本33页代码,进行连个数的交换 2、编写代码:输入一个数,判断它的奇偶性。
编辑课件
12
选择结构的分支语句
If 语句:单分支、双分支与多分支语句
单分支形式:If <条件> then 语句或与语句组
End If
如:
If (N mod 2 = 0) Then Print N;" 是偶数。"
(飞船运行状态判断: 只有当飞船的速度达到第一宇宙速度(7.9千米/秒) 时,才可以在地球吸引力作用下,绕地球近似做匀速圆周运动。)
代码如下: private Sub cmdOk_Click()
Dim v As Single v = Val(InputBox("输入速度(km/s)")) If v >= 7.91 Then
•
Print "飞船绕地球近似做匀速圆周运动; "
•
Else
•
Print "输入数据错误"
•
End If
•
End If
•
End If
• End sub
编辑课件
18
当程序出现多分支选择时,用if语句会比较繁琐,而使用多
分支选择select case 语句就方便多了。
• 语法格式:
select case 表达式
编辑课件
10
选择结构
(3)讲解程序的编写。 Private Sub command1_Click() N=InputBox("输入一个正整数:") If N mod 2 = 0 Then Print N;" 是偶数。" Else Print N;"是奇数。" End If End Sub
编辑课件
11