第3章 三种控制结构程序设计
第3章 结构化程序设计
循环体
是 P2 否
图3.7直到型循环结构示意图 直到型循环结构示意图
3.3 表述算法
• 通常用自然语言、计算机语言(代码)、伪代码[1]、传统流程图、 通常用自然语言、计算机语言(代码)、伪代码 、传统流程图、 )、伪代码 N-S流程图、PAD图等不同的方法来描述算法。 流程图、 图等不同的方法来描述算法。 流程图 图等不同的方法来描述算法 • 在例 中,采用了自然语言来表示算法。自然语言就是人们日常使 在例3.1中 采用了自然语言来表示算法。 用的语言,可以是汉语、英语,或其他语言。 用的语言,可以是汉语、英语,或其他语言。用自然语言表示算法通 俗易懂,但文字冗长,容易出现歧义性。自然语言表示的含义往往不 俗易懂,但文字冗长,容易出现歧义性。 太严格,要根据上下文才能判断其正确含义。此外, 太严格,要根据上下文才能判断其正确含义。此外,用自然语言来描 述包含分支和循环的算法,很不方便。因此, 述包含分支和循环的算法,很不方便。因此,除了那些很简单的问题 以外,一般不用自然语言描述算法。 以外,一般不用自然语言描述算法。 • [1] 伪代码是介于自然语言与计算机语言之间的文字符号。一般借助 伪代码是介于自然语言与计算机语言之间的文字符号。 一种高级语言的控制结构,而中间的操作用自然语言描述。 一种高级语言的控制结构,而中间的操作用自然语言描述。
P1 是 循环体
否
• 图3.6当型循环结构示意图 当型循环结构示意图
(2)直到型循环的执行过程为: )直到型循环的执行过程为: • 先执行循环体一次,然后判断控制循环的条件。 先执行循环体一次,然后判断控制循环的条件。 • 条件 成立,则继续上述循环体,直到条件不成立时,结束循环。 条件P2成立,则继续上述循环体,直到条件不成立时,结束循环。 成立
C语言程序设计框图
第3章 控制结构
说明:
switch后面的表达式的值类型可以是整型、字符型或枚 举型。 当表达式的值与某个case中的常量表达式的值相等时, 就执行相应的case后的语句序列,直到遇到break语句或到 达switch结构末尾。 多个连续的case语句可以共用一个语句序列。 case 后的不同常量表达式的值不能相等。 break的作用是改变程序在switch结构中的执行流程, 将程序流程跳出switch语句,转到switch语句后的下一条语 句去执行。 switch语句中允许嵌套switch语句。
C语言程序设计电子教案
3.1 程序结构框图
3.1.3 N-S图
3种基本结构的N-S图
第3章 控制结构
顺序结构: 分支结构:
它是按照语句 它是根据给定条件
出现的先后顺 进行判断,选择其
序依次执行的 中的一个分支执行
。如上图所示 ,先执行A模 块,再执行B
。如上图所示,P 表示条件,当P成 立时执行分支A模 块,否则执行分支
复合语句:由一对大括号括起来的一条或多条语句。
被括起来的语句可以是这4类的任何一类语句,常用于函数
体或循环体。
C语言程序设计电子教案
3.2 二分支结构
3.2.1 二分支if语句
第3章 控制结构
基本形式:
if (表达式) 语句1;
else 语句2;
真(非0)表达式
假 (0)
语句1
语句2
例如: if(x>y)
C语言程序设计电子教案
第3章 控制结构
第3章 控制结构
返回总目录
C语言程序设计电子教案
目录
3.1 程序结构框图 3.2 二分支结构 3.3 多分支结构 3.4 循环结构 3.5 break与continue语句 3.6
第3章-2_程序的控制结构
22
#include<stdio.h> #include<math.h> void main() { float x,y; printf("please input x:\n”); scanf("%f”,&x); if(x<0) y=fabs(x); else if(x<2) y=sqrt(x+1); else if(x<4) y=pow(x+2,3); else y=2*x+5;
2012-8-11 24
switch
多路选择
switch (表达式) { case 常数1: 语句序列1; 语句序列1; case 常数2: 语句序列2; 语句序列2; ………… default: 语句序列n; 语句序列3; } default可以没有,但最好不省略 不要忘记break
25
2012-8-11
4
如何设计结构化的程序?
Top-down, Stepwise refinement 自顶向下、逐步求精 1971年,wirth提出的结构化程序设计方法 – 先全局后局部 – 先整体后细节 – 先抽象后具体
2012-8-11
5
自顶向下、逐步求精的 结构化程序设计方法
A11
有穷性 – 在合理的时间内完成 确定性,无歧义 – 如果x≥0,则输出Yes;如果x≤0,则输出No; 有效性 – 能有效执行 – 负数开平方 没有输入或有多个输入 有一个或多个输出
2012-8-11 8
算法的分类
数值运算算法: –解决求数值解问题 非数值运算算法: –需要用分析推理、逻辑推理才能解决的问题 –例如人工智能中的许多问题,查找、分类等
C语言程序设计第3章选择结构程序设计
√
!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件
√
程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;
C语言高教版第3版第三章三种基本控制结构上课件
„a‟<‘b‟ <‘c‟
关系表达式的值是一个逻辑值,即 【例2.18】判断以下关系表达式的值。 • “真”或“假”。 当 a = 3, b = 2, c = 1,请判断表达式的值 C语言没有逻辑型数据,以1代表“真”, 1. a > b 以“0”代表“假”。 1
2. (a > b) == c
只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值
例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d)
结果m=0,n=1
【例】逻辑表达式的短路特性。例
复杂逻辑条件的表述
• 判断某一年year是否为闰年 1. 闰年 (year%4==0 && year%100!=0)||(year%400==0)
! 优先级:第2级 结合方向:自右向左
&&
||
优先级:第11级 结合方向:自左向右
优先级:第12级 结合方向:自左向右 /* 等价于(a<=x) && (x<=b)*/ /* 等价于(a>b)&&(x>y) */ /* 等价于 (a==b)||(x==y) */ /* 等价于(!a)||(a>b) */
有一个或多个输出
二、算法的描述工具
自然语言
(通俗易懂, 文字冗长, 容易有“歧义性”)
流程图
(灵活, 自由, 形象, 直观, 易理解, 占篇幅大)
N-S图
(新型流程图, 简洁)
伪代码
(介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误)
计算机语言
(用计算机实现算法, 可以执行出结果, 比如 C 语言)
结构化程序设计的三种基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
Python程序设计第3章+程序控制结构
3.1 程序的基本结构
图3-1 流程图的7种基本元素
3.2 顺序结构
顺序结构是程序的基础,是程序设计中最简单的,只要按照解决问题的 顺序写出相应的语句就可以。它的执行从上而下,依次执行,如图3-2所示。
图3-2 顺序结构的流程图
【例3.1】计算军犬速度
军犬的耐力是非常有名的。有关资料 显示,第一次世界大战期间为传达命令, 一只军犬50分钟跑完了21.7km的路程。算 一算,这只军犬平均每分跑多少米?
3.5 实例:控制结构灵活运用
3.5.2 猜数字游戏
【例3.7】编写猜数字游戏程序。
#猜数字游戏 import random x=random.randint(1,10) for i in range(1,4):
m=eval(input("请输入一个整数:")) if x == m:
print("恭喜,猜对了,一共猜了{}次".format(i)) break elif m<x: print("猜小了") else: print("猜大了") if i == 3: print("游戏结束")
根据会员情况,输出最后应付的金额。
#不同消费者买单3 #会员编号(2:金卡会员,1:普通会员,其他:非会员) #不同的会员消费者买单 consume=eval(input(“请输入消费额:”)) flag=int(input(“请输入会员编号:”)) if flag == 2:
consume *= 0.9 elif flag ==1:
consume *= 0.95 else:
consume *= 0.99 print("用户应付费: {:.2f}".format(consume))
等考二级python程序的控制结构
多分支结构: if-elif-else语句
Python的if-elif-else描述多分支结构,语句格式 如下:
if <条件1>: <语句块1>
elif <条件2>: <语句块2>
... else:
<语句块N>
多分支结构: if-elif-else语句
多分支结构通常用于判断同一个条件或一类条件的 多个执行路径。要注意,Python会按照多分支结构 的代码顺序依次评估判断条件,寻找并执行第一个 结果为True条件对应的语句块,当前语句块执行后 跳过整个if-elif-else结构。
无限循环: while
1 s, idx = "PY", 0
2 while idx < len(s):
3
print("循环执行中: " + s[idx])
4
idx += 1
5 else:
6
s = "循环正常结束"
7 print(s)
>>> 循环执行中: P 循环执行中: Y 循环正常结束
循环控制: break和continue
单分支结构: if语句
1 # 判断用户输入数字的奇偶性 2 s = eval(input("请输出一个整数:"))
3 if s % 2 == 0:
4
print("这是个偶数")
5 print("输入数字是:", s)
<条件>是一个或多个条件,多个条件间采用and或or进 行逻辑组合。and表示多个条件“与”的关系,or表示 多个条件“或”的关系
C语言程序设计 第3章结构化程序设计的三种基本结构
其中输出函数printf( )只原样显示一个普通的字符串,用来 提示用户输入的数据是“成绩”。 ⑦如果是多个参数时,参数之间必须必须用逗号分隔,每 个参数要求是一个表达式(单独一个变量是表达式的特殊情 况),参数的个数和类型要与格式控制串中的格式说明符的 个数和类型相匹配。
③不可打印的特殊字符指的是该字符不能直接从输出设备输出, 也称为“转义字符”,转义字符用转义序列来表示。所谓转义 序列是用来表示字符的一种方法,即用该字符的ASCII值表示, 具体的格式为:\字母。其中: “\”表示转义字符序列的标识符,表示后面的字符是转义字符, 即是不可打印的字符; “字母”表示不可打印的转义字符,用来使输出设备输出某一 种格式,c语言中的常用转义字符如表3.4所示。
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
修饰符
功能说明
字母l
表示输入长整型整数,可加在格式说明符d、o、x 前面
m 表示输出数据的最小宽度 m.n 表示输出总宽度占m列,其中小数位占n位
- 表示输出的数字或字符在输出区域内向左靠
⑥如果是0个参数时,即该函数中只有格式控制串部分, 没有参数表部分,二者之间的逗号可以省略。这时格式控 制串部分是一个普通的字符串,该字符串将原样显示在屏 幕上,常常用来作为提示信息或字符串的输出。例如:
A
《C语言程序设计》教案第三章程序的控制结构—循环结构while和dowhile
《C语言程序设计》课程教案表算法2:分析:设想用sum作为累加器,初值为0,利用sum+=i(i依次取值为1、2。
100)此分析需要解决的3个问题:1)sum=0,i=1;2)每执行一次sum+=i 后,i增1(i=i+1);3)判断如果i小于或等于100,重新执行步骤(2),否则停止计算main(){int i,s=0;i=1;while(i<=100)/*i<=100为循环条件*/{s=s+i;i++; /*改变i的值*/}printf(″s=%d″,s);}运行结果:s=5050说明:循环结构的三个术语:1、循环条件:循环结构中的条件表达式如while (i<=100)其中,i<100就是循环条件。
2、循环体:在每个循环周期均要执行一次的语句序列。
如while下用{ }括起来的语句序列。
3、循环控制变量:能够决定控制条件是真是假的量。
如while(i<=100)中的变量i要写出一个正确的循环结构,对控制变量要做三方面的工作:1、对循环控制变量赋初值。
2、将循环控制变量写入正确的控制条件。
3、对循环控制变量值的更新。
使用while语句需要注意以下几点:while语句的特点是先计算表达式的值,然后根据表达式的值决定是否执行循环体中的语句。
因此,如果表达式的值一开始就为“假”,那么循环体一次也不执行。
当循环体为多个语句组成,必须用{}括起来,形成复合语句。
在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。
下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,gotowhile(s<=10){s=s+i*i;i++;}printf(“%d”,--i);}A) 4 B) 3 C) 5 D) 6对以下程序段,描述正确的是________________。
int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);A) 运行程序段后输出0 B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次下面程序段的运行结果是[ ]。
2.三种程序控制结构
各种格式字符的说明
一:d格式符 1. %d 2. %md m为指定的输出字段的宽度,如果数据的位数小 于m,则左端补以空格,若大于m,则按实际位数输出。 按数据实际长度输出
3. %ld
输出长整型数据
二:o格式符和x格式符 输出数据不带符号,即符号位作为数据的一部分输出 三:u格式符
以无符号十进制输出
二、格式输入函数scanf( )
scanf(“格式控制字符串”,地址表列); 格式控制字符串的使用与printf函数基本相同; 不能显示非格式字符串,也就是不能显示提示字符串; 地址表列中给出各变量的地址。 地址是由地址运算符“&”后跟变量名组成的。
格式字符串
格式字符串的一般形式为: %[*][输入数据宽度][长度]类型 宽 度 用十进制整数指定输入的宽度(即字符数)。 例如: scanf("%5d",&a); 输入: 12345678 只把12345赋予变量a,其余部分被截去。 又如: scanf("%4d%4d",&a,&b); 输入:12345678将把1234赋予a,而把5678赋予b。
(5) 如果格式控制串中有非格式字符则输入时也要输入该非格 式字符。 (6) 输入的数据与格式字符串中的类型要相一致。
判断题(P18) 10.printf函数中的格式符“%c”只能用于输出字符类型数据。 12.按格式符“%6.3f”输出i (i=123.45) 时,输出结果为 123.450。 14.格式符“%f”不能用于输入 double类型数据。 15.当格式符中指定宽度时,从缓冲区中读入的字符数完全
4.如果循环至少要执行一次, while和do-while语句可以相 互替换。
使用while和do-while语句注意以下几点:
程序设计语言中常见的三种控制结构
程序设计语言中常见的三种控制结构
一、顺序结构
顺序结构是指在程序中采用的最基本的编写方式,即按照一定的顺序编写程序的代码,以便按照顺序执行程序的每个语句,完成程序的功能,由此可以看出,顺序结构是程序编写的基础。
二、选择结构
选择结构又称“分支结构”或“分支语句”,其作用是根据某种条件的判断来选择程序的执行方向,即根据某种条件依次做出一系列选择,以执行不同的程序部分。
三、循环结构
循环结构又称“重复结构”或“重复语句”,其作用就是可以重复地执行程序的一系列语句,不同类型的循环结构,可以满足不同要求的重复次数,比如,可以根据需要重复执行指定次数,也可以根据某一判断条件的值来确定重复次数,以及在某一条件结果正确的情况下才执行重复等。
- 1 -。
第3章 基本的程序流程控制结构
计算机程序设计基础(C语言) 3.3 选择结构的流程控制
3.3.1 条件判断
在顺序结构中,各语句是按排列的先后次序顺序执行的, 是无条件的,不必事先作任何平判断。但在实际中,常常 有这样的情况:要根据某个条件是否成立决定是否执行指 定的任务。例如: 如果你在家,我去拜访你; (需要判断你是否在家) 如果考试不及格,要补考; (需要判断是否及格) 周末我们去郊游; (需要判断是否是周末) 如果x>y,输出x,否则输入y。 (需要判断x是否大于y) 判断的结果应该是一个逻辑值:“是”或“否”,在计算 机语言中用“真”和“假”表示。例如,当x>y时,满足 “x>y”条件,就称条件“x>y”为真,如果x≤y,不满足 “x>y”条件,就称条件“x>y”为假。
}
计算机程序设计基础(C语言)
例3.3 求4个数中的最大值。
算法分析:程序的功能是输入4个数给a,b, c,d。把a先赋予变量max,再用语句判别 max和b的大小,如max小于b,则把b赋予 max。同理,max继续跟c和d比较即可使 得max中总是大数,最后输出max的值就 是4个数中的最大值。
计算机程序设计基础(C语言)
在判定两个浮点数是否相等时,由于计算机存储上 出现的误差,会出现错误的结果。例如: 1.0/3.0*3.0==1.0 在数学上显然应该是一个恒等式,但由于1.0/3.0得 到的值的有效位数是有限的,并不等于,因此上 面关系表达式的值为0(假),而不为1(真)。 所以应避免对两个实数表达式作“相等”或“不 相等”的判定。上式可以改写为: fabs(1.0/3.0*3.0-1.0)<1e-5
计算机程序设计基础(C语言) 3.3 选择结构的流程控制
第3章_结构化程序设计
• 2. if-else语句
• 语法形式:
if (<条件>) <语句1> else <语句2>
如果“条件”为 “真”,则执行 “语句1”;否则 执行“语句2”
条件
假(0)
真(非0)
语句1 语句2
如图3-2所示
图3-2 if-else语句的执行过程
例如:
if(a+b>c && b+c >a && a+c>b)//判定合法性 { //求三角形面积 p = (a+b+c)/2; s = Math.sqrt(p*(p-a)*(p-b)*(p-c)); } else Console.WriteLine(“三角形的三边数据有 错!”);
//在条件表达式中实现改变循环控制变量之值
int digit=0;
while(digit++<=9) { Console.WriteLine(“{0}”,digit); } //在Console.WriteLine()语句中实现改变循环控制变量之值 int digit=0;
while(digit<=9)
• switch表达式必须是sbyte、byte、ushort、uint、 long、ulong、char和sting(或基于这些类型之一的 一个enum)类型(或隐式地转移到这些类型) • 必须对每个case语句提供一个跳转语句(break语句) ,包括最后的case语句 • 对每个switch语句来说,只能有一个default语句。 而当所有的case语句都不执行,且又没有default语 句时,则控制转移到switch语句的闭花括号之后的 第一行代码,即switch整个语句都不执行
计算机程序设计基础_精讲多练CC++_第3章
// 累加求和
22
例 3-7:制作乘法表---多重循环结构(循环的嵌套)
#include <iostream> using namespace std; int main() { int i, j; for(i=1; i<10; i++) { for(j=1; j<=i; j++) cout << j <<"*"<< i <<"="<<i*j <<"\t"; cout << endl; } return 0; }
算法分析:
取一个百分成绩经过运算得到5级制成绩。构造什么 样的表达式呢?
“百分成绩/10 =” ?
共有5个分数档,选择分支大于2,因此用多路开关语 句switch。 计算结果应该是唯一的。转换后应从switch中break 出来。
15
#include <iostream> using namespace std; int main() { int grade; cout<<"请输入(百分制)分数:"; cin >>grade; switch (grade/10) // 根据转换值进行分支选择 { case 10: case 9: cout<<"优秀"<<endl; break; case 8: cout<<"良好"<<endl; break; case 7: cout<<"中等"<<endl; break; case 6: cout<<"及格"<<endl; break; default: cout<<"不及格"<<endl; } return 0; }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 算法及算法的表示
开始 输入A Max =A N=1
输入A Max=A, N=1
当N<10
N
输入A
N<10
Y
再输入给A
N
A>Max
Y
Max =A N=N+1
N
A>Max
3.1 算法及算法的表示
开始
从10
N<10
Y
再输入给A
N
N
A>Max
Y
Max =A
打印Max
N=N+1
结束
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
3.1 算法及算法的表示
(3)循环结构
a) 当型循环 当条件成立 语句组 语句组 直到当条件成立 (a) (b) b) 直到循环
例: 画出从10个数中选出最大的数的N—S 流程图
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
狭义地讲:算法是解决一个问题采取的方法和步骤的描述。 下面通过两个简单的例子加以说明:
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
例3.1 输入三个数,然后输出其中最大的数。 将三个数依次输入到变量A、B、C中,设变量MAX存放
第3章 三种基本结构程序设计
本章内容及要求:
(1)了解算法概念及表示,掌握用N—S流程图表示算法;
( 2)熟练掌握赋值语句、输入/输出消息框函数的使用;
( 3)熟练掌握行if语句、块if结构、Select Case情况选 择结构有使用,掌握选择的嵌套结构;
(4)熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环;
3.1.4 用N—S流程图表示算法
将全部算法写在一个矩形框内,在矩形内还可包含其 它从属于它的框
三种基本结构的N—S图表示:
1、顺序结构 语句A 语句B 2、选择结构
Y
语句A
条件
N
语句B
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
例3.2 输入10个数,打印输出其中最大的数。 算法设计如下: ( 1)输入 1个数 , 存入变量 A 中 ,将记录数据个数的变量 N赋 值为1,即N=1 (2)将A存入表示最大值的变量Max中,即Max=A ( 3 )再输入一个值给 A ,如果 A>Max 则 Max=A, 否则 Max不变 (4)让记录数据个数的变量增加1,即N=N+1 (5)判断N是否小于10,若成立则转到第(3)步执行,否 则转到第(6)步 (6)打印输出max
语句1 语句2
Y 语句1
条件
N 语句2
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
(3)循环结构
a) 当型循环 N b) 直到循环
条件 Y 语句组
语句组
Y 条件 N
(a) 目录
(b)
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
二 用传统流程图表示算法
1、传统流程图中的基本符号
起止框 I/O框 判断框
处理框
流程线
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
2、三种基本结构的表示
(1)顺序结构 (2)选择结构
3.1 算法及算法的表示
3.1.3 算法的表示
一、自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、英 语或其它语言。
伪代码:是用介于自然语言和计算机语言之间的文字和符
号(包括数学符号)来描述算法。
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
最大数。其算法如下:
1) 输入A、B、C。
2) A与B中大的一个放入MAX中。
3) 把C与MAX中大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
3.1 算法及算法的表示
三种基本结构的特点:
(1)只有一个入口 (2)只有一个出口 (3)不存在死语句
(4)不存在死循环
例: 例3.2输入10个数,打印输出其中的最大的数的流程图
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示 3.1.2 算法的特性
1 有穷性
2 确定性 3 有0个或多个输入 4 有一个或多个输出 5 有效性
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
例如:例3.1可用如下的伪代码表示 Begin(算法开始)
输入 A,B,C
IF A>B 则 A→Max 否则 IF C>Max Print Max B→Max 则 C→Max
End (算法结束)
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
(5)能够运用3种结构进行综合程序设计。
重点:选择结构及循环结构的实现及其应用 难点:算法设计、选择的嵌套及多重循环结构
目录
3.1浙江科技学院教信系计算机基础教学网站: 3.2 3.3 3.4 3.5 3.6 作业
3.1 算法及算法的表示
3.1.1 算法概述
什么是算法:
广义地讲:算法是为完成一项任务所应当遵循的一步一 步的规则的、精确的、无歧义的描述,它的总步数是有限的。