![Python算法详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/717/30210717/b_30210717.jpg)
上QQ阅读APP看书,第一时间看更新
1.3.1 用流程图表示算法
流程图的描述格式如图1-1所示。
![](https://epubservercos.yuewen.com/6AE691/16568261605807806/epubprivate/OEBPS/Images/7.jpg?sign=1738935258-OKIf1iihaFVh6bOYJaMA0AA3wgBrtmdj-0-472d6c72bae6ec705e6fd1630e4d8de3)
图1-1 流程图标识说明
再次回到1.2.1节中的问题。
假设有80个学生,要求输出成绩在60分以上的学生。
针对上述问题,可以使用图1-2所示的算法流程图来表示。
![](https://epubservercos.yuewen.com/6AE691/16568261605807806/epubprivate/OEBPS/Images/8.jpg?sign=1738935258-C0Cr5GkULYkIz3w8vZM5dLRzct5By4Pu-0-46cf4cf57244dbbd295e076a4431fd69)
图1-2 算法流程图
在日常流程设计应用中,通常使用如下3种流程图结构。
· 顺序结构。顺序结构如图1-3所示,其中A和B两个框是顺序执行的,即在执行完A以后再执行B的操作。顺序结构是一种基本结构。
![](https://epubservercos.yuewen.com/6AE691/16568261605807806/epubprivate/OEBPS/Images/9.jpg?sign=1738935258-B5mm2yiPY4rYzaFeI41S4VF8PrL3MjUm-0-3c9787dd0b1eabcba8c751f2fbecb6ff)
图1-3 顺序结构
· 选择结构。选择结构也称为分支结构,如图1-4所示。此结构中必含一个判断框,根据给定的条件是否成立来选择是执行A框还是B框。无论条件是否成立,只能执行A框或B框之一,也就是说,A、B两框只有一个,也必须有一个被执行。若两框中有一框为空,程序仍然按两个分支的方向运行。
![](https://epubservercos.yuewen.com/6AE691/16568261605807806/epubprivate/OEBPS/Images/10.jpg?sign=1738935258-wMgiD9wIpBpBY5JmsG7KwGzh9V64xe2L-0-79f0ed2e3f151f2673e3ee9fdb26f3d4)
图1-4 选择结构
· 循环结构。循环结构分为两种,一种是当型循环,另一种是直到型循环。当型循环先判断条件P是否成立,成立才执行A操作,如图1-5(a)所示。而直到型循环先执行A操作,再判断条件P是否成立,成立再执行A操作,如图1-5(b)所示。
![](https://epubservercos.yuewen.com/6AE691/16568261605807806/epubprivate/OEBPS/Images/11.jpg?sign=1738935258-MYGNxRE7DJNQqORn3QFK95PhIvMhFEnh-0-7e9888f093645828af251c71c3a4948f)
图1-5 循环结构
上述3种基本结构有如下4个特点,这4个特点对于理解算法很有帮助。
(1)只有一个入口。
(2)只有一个出口。
(3)结构内的每一部分都有机会被执行到。
(4)结构内不存在“死循环”。