![Python算法设计与分析从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/845/44509845/b_44509845.jpg)
上QQ阅读APP看书,第一时间看更新
2.3 用N-S图表示
N-S图是另一种算法表示法,是由美国人I.Nassi(I.纳斯)和B.Shneiderman(B.施内德曼)共同提出的。其提出依据为:既然任何算法都是由顺序结构、选择结构以及循环结构这3种结构组成的,则各基本结构之间的流程线就是多余的。去掉所有的流程线,将全部算法写在一个矩形框内,这就是N-S图。下面就来介绍如何使用N-S图描述3种基本结构。
1.顺序结构
顺序结构的N-S图如图2.23所示。实例2.5的N-S图如图2.24所示。
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P29_2329.jpg?sign=1739291123-l6P0Kzft45M3hvHuwjISJkduReUHSq4k-0-b9f989c8a2312ae0b6c4f971b8e5525f)
图2.23 顺序结构
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P29_2330.jpg?sign=1739291123-w1edFNO1ReJqRTy1VVSgoeMJStMxYHx4-0-91976598d5927e98483e1d743cb1800a)
图2.24 农夫过河N-S图
2.选择结构
选择结构的N-S图如图2.25所示。实例2.6的N-S图如图2.26所示。
3.循环结构
当型循环的N-S图如图2.27所示。实例2.7的当型循环N-S图如图2.28所示。
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P29_2323.jpg?sign=1739291123-ofr7aWIbQugAEIaTsUxNwZAw1dOjHl4R-0-aec9110fd069014ffe99fe16d0e2806e)
图2.25 选择结构
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P29_2324.jpg?sign=1739291123-7RNZOqVgy7Aa8VEp1oLofWZH66cEIciD-0-d7a84e327b77bdabf6ceef10e967851a)
图2.26 成绩是否及格N-S图
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P29_2325.jpg?sign=1739291123-DWl3zFz8CbkpXvsYAfRFPsS9bF0e0rrB-0-9328eee70b5182592bb146601d9fc191)
图2.27 当型循环
直到型循环的N-S图如图2.29所示。实例2.7的直到型循环N-S图如图2.30所示。
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P30_2338.jpg?sign=1739291123-2Gd7N6UOfkfeqrrnYqsOSaTwZvuOX1o3-0-24b0f7d01592d636cfd942ac072f61f3)
图2.28 当型循环求和N-S图
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P30_2339.jpg?sign=1739291123-UicF8tAqAaj3WWnFl69Z81ntm7opcPvi-0-440a232c8c9f6f5023034366bcdecc1a)
图2.29 直到型循环
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P30_2340.jpg?sign=1739291123-KNnUkFInNUcLM7wPyNO8nVrolcB8BDWq-0-ca916de8b7af194f51973797b1b46fea)
图2.30 直到型循环求和N-S图
【实例2.8】 用不同流程图结构求n!。
从键盘中输入一个数n,然后求n!的值。本实例的流程图如图2.31所示,N-S图如图2.32所示。
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P30_2344.jpg?sign=1739291123-8Fq3vxn4FIcfQWXgCZyX7mfH7pj83KoV-0-e8467f9ceb050d6e34ba1ce269487ba6)
图2.31 求n!的流程图
![](https://epubservercos.yuewen.com/569667/23721647609535706/epubprivate/OEBPS/Images/Figure-P30_2348.jpg?sign=1739291123-P9QkVkkp381ZC3Xx90YVyATtSuditP2I-0-852f7595c947ec6293b758d3650ca34c)
图2.32 求n!的N-S图