当前位置:文档之家› 高一数学 算法流程图

高一数学 算法流程图

以上是用自然语言描述一个算法.为了使得算法的描述更为直观和 步骤化,下面介绍另一种描述算法的方法:流程图.
流程图的通俗解释: 由一些图框和有向箭头构成,表示算法按一
定的顺序执行.
上例算法的流程图(见下页)
流程图的图形符号:
观察右边的流程图:
(1)有箭头指向的线. (2)不同形状的框图.
(2)

开始
i=i+i=1 i+2
是 i<=100i1<=3否
…..sum=1+3+5+…+31
程序实现:
6
}
输出sum
printf(“%d\n”,sum); 输出sum
}
注:ljia.c
结束
三种结构的综合应用:
任意给定一个大于1的整数n,试设计一个算法判定n是否 为质数.并用程序实现。
(1) n=5
(2)
分析:只需要一个累加变量sum和计数变量i.将累加
变量sum初值赋为0,计数变量i从1到31变化.
算法分析:(见下页)
算法分析:
流程图: 开始开始
(1).sum=0; (2).i=1; (3).sum=sum+i;(4).i=i+2;
Байду номын сангаас
SumS=u0m=0
(5).如果i小于等于31,返回重新执行第3步,第4 步,第5步,否则结束,得到sum的
顺序、条件、循环三种基本的逻辑结构:
1.顺序结构:最简单的算法结构,框与框之间从上到下进行。
任何算法都离不开顺序结构。
A
B
实例:三角形ABC的底BC为4, 高AD为2,求三角形ABC的面积S,
试设计该问题的算法和流程图.
解:算法如下:
1.底BC为a=4, 高AD为b=2.
开始
a=4,b=2
2.S=1/2ab 3.输出S.
解:
算法分析: 1.输入x. 2.如果 x≥0,y=x , 否则y=-x.. 3.输出y.
流程图:
开始
输入 x


x≥0?
y=x
y=-x
输出y
结束
程序实现:
main() {float x,y; scanf(“%f%f”,&a,&b); if(x>=0) y=x; else y=-x; printf(“%f\n”,y); }
算法中从上一步 骤指向下一步骤
练习:
1.流程图的功能是:…………………..( ). A.表示算法的起始和结束. B.表示算法的输入和输出信息. C.赋值、运算. D.按照算法顺序连接程序图框.
2.对程序框
表示的功能描述正确的一项
是:…( ).
A.表示算法的起始和结束.
B.表示算法输入和输出的信息.
注:sushu .c
新课标人教版课件系列
《高中数学》
必修3
1.1.2-3《算法流程图》
教学目标
• 1.了解流程图的概念,了解常用流程图符号 (输入输出框、处理框、判断框、起止框、 流程线等)的意义;
• 2.能用程序图表示顺序结构的算法; • 3.发展学生有条理的思考与表达能力,培
养学生的逻辑思维能力.
• 教学重点:运用流程图表示顺序结构的算 法.
S=1/2ab
输出S
流程图:
结束
练习:利用梯形的面积公式计算上底为2,下底为4,高为5
的梯形面积.试设计该问题的算法和流程图.
解:算法如下:
开始
1.a=2, b=4,h=5;
2.S=(a+b) *h/2 3.输出S.
流程图:
a=2 b=4 h=5
.
S=(a+b)*h/2
输出S.
结束
程序实现: main() {int a,b,h,s; a=2,b=4,h=5; s=(a+b)*h/2 printf(“s=%d”,s); } 输出:15 注:txmz.c
输入:5 -10
输出:5 10 注:jdzhi.c
例:联邦快递公司规定甲、乙两地之间物品的托运费 用根据下面的方法计算:
f=
50
0.53
0.53
50
50 0.85
50
其中f(单位:元)为托运费,ω为托运物品的重量 (单位:千克),
试画出计算费用f的程序框图。
自然语言是:
第一步:输入物品重量ω; 第二步:如果ω≦50,那么f=0.53 ω,
• 教学难点:规范流程图的表示.
复习: 上节课例1:任意给定一个大于1的整数n,试设计一个 算法判定n是否为质数.
算法分析:
1.判断n是否等于2,如果n=2,则 n为质数,若n>2,则执行第2步. 2.依次从2到n-1检验是不是n的因数(即是否整除n).若存在这样 的数,则n不是质数,若不存在这样的数,则n为质数.
sum初值赋为0,计数变量i从1到100变化.
算法分析: (见下页)
1. sum=0; 2. i=1;
流程图:
开始
Sum=0
3. sum=sum+i;
i=1
4. i=i+1;
5. 如果i小于等于100,返回重新 执行第3步,第4步,第5步,否则结束,得 到sum值. sum=1+2+3+4+5+6+........+100.
分析:初值sum=0,i=1
第一次循环sum=0+1=1,i=2 Sum=1
第二次循环sum=1+2=3 ,i=3 Sum=1+2
Sum=sum+i
i=i+1

i<=100

输出sum
第三次循sum= 3+3=6
Sum=1+2+3
结束
4
……Sum=1+2+3+…100
练习: 1+3+5+7+……+31=?
输入n
Flag=1
n>2?

d=2
d整除n?

Flag=0
d<=n-1且 flag==1?

Flag==1?



(1) d=d+1

8
结束
图形符号
名称
起止框
含义
表示一个算法的 起始与结束
输入,输出框 表示输入输出
操作
执行框 赋值、运算
判断框
流程线
用来根据给定的条件 是否满足决定执行两 条路径中的某一路径
C.赋值、计算.
D. 按照算法顺序连接程序图框. 答案:D,B
算法三种基本逻辑结构 开始
输入n循环结构
顺序结构
Flag=1

n>2?

d=2

(2)
d整除n?

Flag=0
(1) d=d+1
条件结构
是 d<=n-1且
flag==1?

Flag==1?


结束
算法三种基本逻辑结构(顺序结构、条件结构、循环结构) 流程图表示,实例,程序演示:

(2)n=4
开始
输入n
Flag=1
n>2

d=2
d整除n?

Flag=0
d<=n-1且 flag=1?

Flag=1?



(1) d=d+1

8
结束
程序实现: main()
{int flag,n,d; scanf("%d\n",&n); flag=1; if(n>2) for(d=2;d<=n-1&&flag==1;d++) {if(n%d==0) flag=0;} if(flag==1) {printf("%d",n); printf(" shi ge su shu\n");} else {printf("%d",n); printf(" bu shi yi ge su shu\n");} }
否则f=50×0.53+(ω-50) ×0.85; 第三步:输出托运费f.
(3)循环结构:需要重复执行同一操作的结构称为循环结构
.即从某处开始按照一定的条件反复执行某一处理步骤. 反复执行处理的步骤称为循环体.
注:循环结构一定包含条件结构.
实例:1+2+3+4+5+6+7+…..+100=? 分析:只需要一个累加变量sum和计数变量i.将累加变量
i=1 i=1
值,sum=1+3+5+7+……+31.
初值sum=0, i=1
mian() {int sum,i;
第一次循环sum=0+1=1 ,i=3 sum=0; i=1;
第二次循环sum=1+3=4 ,i=5 for(i<=31)
第三次循sum=4+5=9
{sum=sum+i; i=i+2;
Sum=suSmum+=i sum+i
(2).条件结构:一个算法的执行过程中会遇到一些条件的 判断,算法的流程根据条件是否成立有不同的流向.
如图:
是(1)
P
否(2)
A
B
练习:
设计求一个数x的绝对值y= x 的算法并画出相应的流程图:
分析:根据绝对值的定义,当x≥0,y=x;当x<0时,y=-x,
相关主题