1.1.2 程序框图与算法的基本逻辑结构(第2课时)
1、(1)顺序结构是任何一个算法都不可缺少的基本结构,它由若干个依次执行的处理步骤组成。
(2)条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。
复习回顾
程序框
名称
功能
终端框
(起止框)
输入、
输出框
处理框
(执行框)
判断框
表示一个算法的
起始和结束
表示一个算法输
入和输出的信息
赋值、计算
判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
解:算法如下:
第一步:输入x;
第二步:如果x≥0,则∣x∣=x;否则,
∣x∣=-x;
第三步:输出∣x∣。
相应的程序框图如下:
练习、设计求一个数x的绝对值的算法,并画出相应的程序框图。
结 束
Y
N
开始
输入x
x≥0?
输出(-x)
输出x
设计一算法,求和:1+2+3+ … +100.
第一步:确定首数a,尾数b,项数n;
第二步:利用公式“总和=(首数+尾数)×项数/2”求和;
第三步:输出求和结果.
算法1:
开始
结束
输入a,b,n
S=(a+b)*n/2
输出S
新课引入
算法2:
第一步:从1开始将自然数1,2,3,…,100逐个相加;
第二步:输出累加结果.
1.上边的式子有怎样的规律呢?
2.怎么用程序框图表示呢?
S=S + i
设计一算法,求和:1+2+3+ … +100.
S=0
S=S + 1
S=S+ 2
S=S + 3
…
S=S + 100
思考:
在一些算法中,经常会出现从某处开始,反复执行某一处理步骤,这就是循环结构.
循环结构
1. 需要重复执行同一操作的结构称为循环结构。即从某处开始,按照一定条件反复执行某一处理步骤。反复执行的处理步骤称为循环体。
循环结构有两种形式:当型循环结构和直到型循环结构。 见课本第10页
当型循环结构
满足条件?
循环体
Y
N
当型循环结构在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止.
2.循环结构的算法流程图
直到型循环结构
条件
循环体
Y
N
直到型循环执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.
3.循环结构的设计步骤
(1)确定循环结构的循环变量和初始条件;
(2)确定算法中需要反复执行的部分,即循环体;
(3)确定循环的终止条件.
4.循环结构的三要素
循环变量,循环体、循环的终止条件.
当型循环与直到循环的区别:
①当型循环可以不执行循环体,直到循环至少执行一次循环体.
②当型循环先判断后执行,直到型循环先执行后判断.
③对同一算法来说,当型循环和直到循环的条件互为反条件.
(1)循环结构不是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要用条件结构来判断。因此,循环结构中一定包含条件结构。
(2)循环结构在程序框图中也是利用判断框来表示,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时执行的不同指令,其中一个指向循环体,然后再从循环体回到判断框的入口处。
(3)在循环结构中都有一个计数变量或累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。
例1、设计一个计算1+2+3+…+100的值的算法,并画出程序框图。
算法如下:
第一步:i=1;
第二步:sum=0;
第三步:sum=sum+i;
第四步:i=i+1;
第五步:如果i不大于100,返回重新执行第三步,第四步,第五步,否则,算法结束,最后得到的sum值就是1+2+3+…+100的值。
例1、设计一个计算1+2+3+…+100的值的算法,并画出程序框图。
例1.设计一个计算1+2+3+…+100的程序框图.
开始
i≤100?
否
是
输出s
结束
i=1
S=0
i=i+1
S=S+i
解:由于加数较多,采用逐个相加的方法程序太长,是不可取的,因此应采取引入变量应用循环的办法。
例1.设计一个计算1+2+3+…+100的程序框图.
开始
i >100?
否
是
输出S
结束
i=1
S=0
S=S+i
i=i+1
最后的结果
结束
i = i + 1
Sum=Sum + i
i<=100?
输出Sum
否
是
i=1,Sum=0
开始
i=1,Sum=0
开始
i = i + 1
Sum=Sum + i
结束
输出Sum
i>100?
否
是
步骤A
步骤B
思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?
答:达不到预期结果;当i = 100时,退出循环,i的值未能加入到Sum中.
结束
i = i + 1
Sum=Sum + i
i<=100?
输出Sum
否
是
i=1,Sum=0
开始
是
否
I>7?
开始
x=1
I=2
x=x×I
I=I+1
输出x
结束
左图输出的x
=__________
1×2×3×‥‥×6×7
课堂练习
1.画出求T=1×2×3×…×100问题的程序框图.
第一步:设i=1,T =1;
第二步:如果i≤100执行第三步,否则执行第五步;
第三步:计算T×i并将结果代替T;
第四步:将i+1代替i,转去执行第二步;
第五步:输出T.
课堂练习
开始
i >100?
否
是
输出T
结束
i=1
T=1
i=i+1
T=T×i
开始
i≤100?
否
是
输出S
结束
i=1
S=0
i=i+1
S=S+i2
书本P.21A2
2.设计一个计算12+22+32+…+1002的一个程序框图.
1.本节课主要讲述了算法的循环结构。算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达 。
2.循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构,但不允许“死循环”。
课堂小结
3.在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。
4.画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.