程序的控制结构分支循环举例

合集下载

chap5 程序的控制结构

chap5 程序的控制结构
判断条件:
表达式为假,即条件不满足, 则跳过语句直接到出口。
入口 条件 假 真
语句
出口
2、双分支结构
语句形式:
if(条件表达式): 语句/语句块1
else: 语句/语句块2
语句执行流程:
表达式为真,即条件满足,则
判断条件: 执行语句1后到出口。
表达式为假,即条件不满足, 则执行语句2后到出口。
入口 条件 假 真
语句1 语句2
出口
双分支结构举例:从键盘输入两个浮点数a和b,按 照从小到大的顺序输出这两个数。
双分支 ab==eevvaall((iinnppuutt((''请 请输再入输入一个一实个数实数::')')))输入a,b
结构 if(a>b): a>ba值>b为值假为真

(条件
print("%.1f,%.1f"%(b,a))
pencolor("blue"); circle(100) pencolor("yellow"); circle(50) left(360/n)
循环:while
while <条件>: 循环体
入口
假 条件 真 语句(循环体)
出口
条件循环
例:求1~100之间所有整数和。
sum=0;i=1 while(i<=100):
这是一个嵌 套结构
if(x>=0):
if(x>0):y=1
else:y=0 # x>=0成立且x>0不成立,即x==0
else:
# x>=0不成立,即x<0
y=-1

程序的三种基本控制结构

程序的三种基本控制结构

程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如:store 'Visual FoxPro' to nameAge = 4'My name is ' + name + ', I am ' ;+ str(Age) + ' years old'二、选择结构:分支语句根据一定的条件决定执行哪一部分的语句序列。

1、单分支结构格式:if<条件><语句序列>endif例程1:clearuse sbwait ‘是否打印?(y/n)’to aif upper(a)=’Y’wait ‘请接好打印机!按任意键后打印’list to printendif2、双分支选择格式:if<条件><语句序列1>else<语句序列2>endif例程2:clearset talk offaccept ‘请输入密码:’ to mmif mm<>’abc’’你无权使用本系统’quitelse’欢迎使用本系统’endifset talk onif语句的嵌套:在一个if语句中包含另一个语句的程序结构例程3:根据输入的x值,计算下面分段函数的值,并显示结果。

2x-5 (x<1)Y=2x (1<=x<10)2x+5 (x>=10)input ‘请输入x的值:’to xif x<1y=2*x-5elseif x<10y=2*xelsey=2*x+5endifendif?’分段函数的值为’+str(y)3、多分支结构格式:DO CASECASE 〈逻辑表达式1〉〈语句组1〉CASE 〈逻辑表达式2〉〈语句组2〉…CASE 〈逻辑表达式n〉〈语句组n〉[OTHERWISE]〈语句组〉ENDCASE3 / 35例程4:输入某学生成绩,并判断其成绩等级:100-90分为优秀,89-80分为良好,79-70分为中等,69-60分为差,60分以下为不及格。

程序控制结构及语句概要

程序控制结构及语句概要
if...else...条件语句的流程图(2):
前面的语句 假
条件

分支一的语句
继续后面的语句
条件语句
【例3-3】 假设某校学生奖学金分为5个等级,其 中一等奖学金250元,二等奖学金200元,三等奖 学金150元,四等奖学金100元,五等奖学金50 元。如图3-6所示,设计一个查询奖学金的程序 。
switch语句(续)
关于switch语句有几个需要注意:
•控制传递给与控制表达式的值匹配的 case 语句
•switch ()中的输入参数只能是整型或字符型(包括字符串) ,不能用实型(浮点型)数 •break 使得程序在执行完选中的分支后,可以 跳出整个 switch语句(即跳到紧接switch的一对{}之后),完成 switch •必要时,可在各个case语句中使用{}来明确产生独立的复合 语句
随堂练习
输入某学生成绩,根据成绩的情况输 出相应的评语。成绩在90分以上,输出 评语“优秀”;成绩在70到90之间,输 出评语“良好”;成绩在60到70之间, 输出评语“合格”;成绩在60分以下, 输出评语“不合格”。 Studio 2008进行程序跟踪
① 使用Visual Studio 2008创建一个项目。
3)条件表达式是布尔表达式,为true则执行循环体;为false则退出 循环。如果无条件表达式则默认为条件表达式为true; 4)更新表达式可以是运算表达式列表,它用于改变循环的状态。
控制结构(8)

for循环语句举例:
int counter, sum; for (counter=1, sum=0; counter<=100; counter++) sum+=counter; System.out.println(“counter=”+counter+“, sum=”+sum)

C语言 分支与循环结构举例

C语言  分支与循环结构举例

{ realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("This equation has two complex root::\n"); printf("x1=%8.4f+%8.4fi\n",realpart,imagpart);
printf("x2=%8.4f-%8.4fi\n",realpart,imagpart);
} }
}
15 以下程序段的运行结果是 0 int x, a=1; if (x=5 && a--) printf(“%d\n”,a); else printf(“%d\n”,x);
16 以下程序段的运行结果是 5* int i=5; printf(I%3? “%d*” :“%d#”,i);
17 执行以下程序段后,a的值是 110 int x=5, y=5,z=10,a; switch(x==y) { case 1: if (y<z) a=1; else a=2; case 2: switch(z) { case 10: a+=10; break; case 11: a+=20; } case 0: a*=10; }
• P61 求ax bx c 0 方程的解
2
#include "stdio.h"
#include "math.h"
main() { float a,b,c,disc,x1,x2,realpart,imagpart; printf("\ninput a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);

python程序的三种控制结构

python程序的三种控制结构

python程序的三种控制结构程序的三种控制结构什么是控制结构?"""程序有三种基本结构组成:顺序结构、分⽀结构、循环结构。

任何程序都是由这三种基本结构组成。

顺序结构是程序按照线性顺序依次执⾏的⼀种运⾏⽅式。

分⽀结构是程序根据条件判断结果⽽选择不同向前执⾏路径的⼀种运⾏⽅式。

循环结构是程序根据条件判断结果向后执⾏的⼀种运⾏⽅式。

"""程序的分⽀结构单分⽀结构:if"""python中分⽀结构使⽤if保留字对条件进⾏判断,使⽤⽅法:if <条件>:<语句块>其中,if、:、<语句块>、前的缩进都是语法的⼀部分例如:判断⼀个数字的⼤⼩a = 1b = 2if a < b:print("True")<条件>可以是⼀个或者多个条件,多个条件间采⽤and或or进⾏逻辑组合。

and表⽰多个条件“与”的关系,or表⽰多个条件“或”的关系。

例如:判断⽤户输⼊数字的特性a = eval(input("请输⼊⼀个数字:"))if a % 3 == 0 and a% 5 == 0:print("这个数字既能被3整除,也可以被5整除")print("输⼊的数字是:",s)请输⼊⼀个数字: 10输⼊的数字是: 10请输⼊⼀个数字:15这个数字既能被3整除,也可以被5整除输⼊的数字是: 15"""⼆分⽀结构:if-else"""python的⼆分⽀结构使⽤if-else保留字对条件进⾏判断,语法格式如下:if <条件>:<语句块1>else:<语句块2><语句块1>在if<条件>中满⾜即为True时执⾏,<语句块2>在if<条件>中不满⾜即为False时执⾏,简单来说,⼆分⽀结构根据条件True或False结果产⽣两条路径。

Python分支结构和循环结构

Python分支结构和循环结构

Python分⽀结构和循环结构(1).分⽀结构 分⽀结构是根据判断条件结果⽽选择不同向前路径的运⾏⽅式,分⽀结构分为:单分⽀,⼆分⽀和多分⽀。

 1)单分⽀结构 单分⽀结构是分⽀结构中最简单的⼀种⽅式,它的使⽤⽅法如下:if <条件>:<语句块> 单分⽀结构只需要判断⼀个条件,根据这个条件是否成⽴来决定是否执⾏⼀段语句。

实例1:猜数字num_in=eval(input("请输⼊数字:"))if num_in==59:print("猜对了") 2)⼆分⽀ ⼆分⽀结构是根据条件判断的不同⽽选择不同执⾏路径的⼀种分⽀结构,它的使⽤⽅法如下:if <条件>:<语句块1>else:<语句块2> ⼆分⽀结构也只需要判断⼀个条件,根据这个条件来决定执⾏的语句块,成⽴执⾏语句块1,不成⽴执⾏语句块2。

实例2:猜数字num_in=eval(input("请输⼊数字:"))if num_in==59:print("猜对了")else:print("猜错了") 3)多分⽀ 多分⽀结构是根据不同条件来选择语句块运⾏的⼀种分⽀结构,它的使⽤⽅法如下:if <条件1>:<语句块1>elif <条件2>:<语句块2>......else:<语句块n> 多分⽀结构需要判断多个条件,根据判断当前条件是否成⽴来决定是否执⾏当前语句块,当所有条件都不成⽴时,执⾏else的语句块。

实例3:猜数字num_in=eval(input("请输⼊数字:"))if num_in>59:print("数字⼤了")elif num_in<59:print("数字⼩了")else:print("数字正确")(2).条件判断 1)条件判断操作符操作符描述<⼩于<=⼩于等于>⼤于>=⼤于等于==等于!=不等于 2)条件组合关键字(Python保留字)关键字及使⽤⽅法描述x and y两个条件判断x和y同时为True时,才为True,否则为Falsex or y两个条件判断x和y同时为False时,才为False,否则为Truenot x条件判定取反(3).异常处理 当使⽤以下实例时num_in=eval(input("请输⼊数字:"))print(num_in) 如果不输⼊数字,⽽输⼊字符串,此时会出现如下报错:请输⼊数字:abcTraceback (most recent call last):File "C:\Users\Administrator\Desktop\hello_world.py", line 1, in <module> #异常发⽣的代码⾏数num_in=eval(input("请输⼊数字:"))File "<string>", line 1, in <module>NameError: name 'abc' is not defined #异常类型和异常内容提⽰ 此时就需要使⽤到Python通过的异常处理的相关机制,异常处理有两种⾮常基本的使⽤⽅法,使⽤保留字try和except,格式如下:try:<语句块1>except <异常类型>:<语句块2> 放在try中的语句块1如果出现异常,将会在except中查找相同的异常类型,执⾏相应的语句块。

程序篇-循环与分支程序设计

程序篇-循环与分支程序设计

continue:add bx,2;为取下一个数作准备
31
loop loop2 mov cx,dx;修改内层循环记数值:原始初值放入cx。 loop loop1; 将(cx-1) cx;这样就完成了内层循
5
循环程序设计方法
6
例1:编制一个程序把BX寄存器的二进制数用十六进制数在屏 幕上显示出来。
步骤:1、分析提意,选择算法。
分析:二进制数
(十六进制数)
0~9, A~F 30~39H,41~46H
16进制数的ASC‖码
屏幕显示出正确的十六进制数
7
算法: 1)将BX内的十六进制数分成4组,(即4个十六进制数)。 2)从最高位组开始进行转换,若>9(即3aH),则将该组值 加上37H,并将结果显示出来,然后再转换次高位组,依次 循环4次。 3)最高位组移到AL中的低四位,以使计算用循环左移形成 。
26
ห้องสมุดไป่ตู้
subtract: result:
program
sub mov add loop ends end
ax,y[bx] z[bx],ax bx,2 next
start
27
问:1.用什么方式取得x,y数组中的不同元素? 2.逻辑尺是如何实现它的判断功能的(用的 什么指令)? 3.逻辑尺中最高位是无意义的,这对程序的 执行有无影响?为什么?
17
Delete: jcxz dec_cnt next_el:mov bx,es:[di]
mov es:[di-2],bx add di,2 loop next_el dec_cnt:pop di dec word ptr es:[di] exit: ret del_ul endp

04. 循环控制结构

04. 循环控制结构

打印金字塔
打印如下图所示的金字塔,高度由用户输入
Thank you


对于每一个正整数,如果它是奇数,则对它乘 3 再加 1, 如果它是偶数,则对它除以 2,如此循环,最终都能够 得到 1 如 n = 6,得出序列6, 3, 10, 5, 16, 8, 4, 2, 1
n = 27时的序列分布
鸡兔同笼问题
鸡兔同笼是中国古代的数学名 题之一。大约在1500年前, 《孙子算经》中就记载了这个 有趣的问题。书中是这样叙述 的:“今有雉兔同笼,上有三 十五头,下有九十四足,问雉 兔各几何?” 穷举法
Δ <0?
输入a,b,c
T
无根
F
a==0?
T
Δ ==0?
F
T
-b/2a
F Δ=b*b-4*a*c
结束
输入字符 ‘c’退出程序
开始
开始 输入Ch
F
……
输入Ch
Ch!=‘c’?
T ……
输入Ch
T
Ch!=‘c’?
F
结束
结束
冰雹猜想(序列)
考拉兹猜想(英语:Collatz conjecture),又称 奇偶归一猜想,3n+1 猜想、冰雹猜想、角谷猜想、 哈塞猜想、乌拉姆猜想或叙拉古猜想


满足特定重复条件后,执行相应的重复动作。
确定次数重复、不确定次数重复
循环结构 统计所有考试合格的人数
问题:(所有)人数
条件:合格 分数>=60 动作:统计 计数 重复动作:判断合格 重复条件:所有人 F
F
F
分数 >= 60
T
所有人? 重复条件
T
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if(delta >= 0)
// 实根情况
cout << "x1 = " << p+q << endl << "x2 = " << p-q << endl;
else
// 存在共轭复根情况
{
cout << "x1 = " << p << " + " << q <<"i"<< endl;
cout << "x2 = " << p << " - " << q <<"i"<<endl;
结论:理论上已经证明,用以上三种基本程序结构的组合可以实现任何复杂的算法。
三大基本结构示意图
顺序结构 选择结构
模块(语句)A 模块(语句)B
循环结构
(当型循环)
条件
不成立
成立
程序模块
成立 程序模块1
条件
不成立
程序模块2
成立
(直到型循环) 程序模块
条件 不成立
顺序结构的实现
r = p; p = q; q = r;
#include <iostream>
using namespace std;
int main()
{ int grade;
cout<<"请输入(百分制)分数:";
cin >>grade;
switch (grade/10)
// 根据转换值进行分支选择
{
case 10:
case 9:
cout<<"优秀"<<endl;
else if(( a==0 ) && (b != 0))
// 转换为一元一次方程情况
cout << "x1 = x2 = " << -c/b << endl;
else
// 一般情况
{
delta = b*b-4*a*c;
p = -b/(2*a);
q = sqrt(fabs(delta))/(2*a);
break;
case 8:
cout<<"良好"<<endl;
break;
case 7:
cout<<"中等"<<endl;
break;
case 6:
cout<<"及格"<<endl;
break;
default:
cout<<"不及格"<<endl;
}
return 0;
}
3.3 循环结构
C++语言中实现循环结构的语句形式主要有三种: while语句 do-while语句 for语句
}
}
return 0;
}
2. switch语句
多路(开关)选择语句 :
switch (表达式)
{
case 数值1:
语句序列1;
case 数值2:
语句序列2;
case 数值3:
语句序列3; ...
数值1
default: 语句序列n;
语句序列1
}
表达式的值等于?
数值2
数值3
语句序列2
语句序列3

其他 语句序列n
while语句 |
do-while语句
当型循环
直到型循环
while (表达式)
do
{ 语句序列
{ 语句序列
}
} while (表达式);
循 环
循 环 体

条件? 不成立 成立
语句序列
成立
语句序列
条件? 不成立
案例:谁打烂了玻璃?
有四个小孩踢皮球,不小心打烂了玻璃,老师问是谁干的。
A说:不是我
B说:是C
C说:是D
D说:他胡说
现已知3个小孩说的是真话,一个小孩是假话。根据这些信息,编程找出打烂玻璃的 孩子。
int main()
{ double a, b, c, delta, p, q;
cout << "请输入系数a, b, c = ";
cin >> a >> b >> c;
if(( a==0 ) && ( b==0 ) && ( c==0 ))
// 最极端情况
cout << "方程的根可为任意值" << endl;
程序的控制结构分支循环举例
2020/11/26 1
教学目标
(1) 理解控制语句的作用和分类,掌握相关语句的使用方法; (2) 了解使用伪代码或流程图描述算法的方法。
基本内容
3.1 基本控制结构 3.2 选择结构 3.3 循环结构
3.1 基本控制结构
三大基本程序结构: 顺序结构:程序是按程序语句或模块在执行流中的顺序逐个执行。 选择结构:程序是按设定的条件实现程序执行流的多路分支。 循环结构:程序是按给定的条件重复地执行指定的程序段或模块。
int i; cout<<"请输入(百分制)分数:"; cin>>i; if(i>=60)
cout<<"及格"<<endl; else
cout<<"不及格"<<endl; return 0; }
例 3-3:求一元二次方程的根
#include <iostream>
#include <cmath>
using namespace std;
例 3-1 交换两个变量的值
#include <iostream>
using namespace std;
int main()
{
int a=1, b=2;
int tmp;
// 定义一个整型变量作为中间交换之用
cout << "交换前:a= " << a << ", b= " << b << endl;
图3.6 switch语句
实现真正的多路选择 在每一个case模块的最后加上一个break语句
表达式的值等于?
数值1
数值2
数值3
语句序列1 语句序列2
语句序列3

其他 语句序列n
图3.7 与break语句连用的switch语句
例3.2 百分制化为优秀、良好、中等、及格和不及格的五级制成绩
算法分析: 取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢? “百分成绩/10 =” ? 共有5个分数档,选择分支大于2,因此用多路开关语句switch。 计算结果应该是唯一的。转换后应从switch中break出来。
tmp = a;
a = b;
b = tmp;
cout << "交换后:a= " << a << ", b= " << b << end 选择结构
C++语言中实现选择结构的语句形式主要有两种: if语句 switch语句
一路分支: if (表达式) 语句序列
1. if语句
两路分支: if (表达式) 语句序列1 else 语句序列2
条件? 成立
语句序列
不成立
成立
不成立 条件?
语句序列 1
语句序列 2
语句序列可以是一个语句,也可以是用花括号括起来的复合语句结构
例 3-2:判断成绩是否及格
#include <iostream> using namespace std; int main() {
相关文档
最新文档