【文章內容簡介】
構 ① 當型循環(huán)結構 p1 Y A N 0?x x5 Y 輸出 x的值 x+1?x N 輸出 1,2,3,4,5 ② 直到型循環(huán)結構 A p2 N Y 0?x x+1?x 輸出 x的值 x≧ 5 N Y 輸出 1,2,3,4,5 以上三種基本結構,有以下共同特點: (1) 只有一個入口 (2) 只有一個出口 一個 判斷框 有兩個出口 一個 選擇結構 只有一個出口 (3) 結構內的每一部分都有機會被執(zhí)行到。也就是說,對每一個框來說,都應當有一條從入口到出口的路徑通過它 (4) 結構內不存在“死循環(huán)” 由以上 3種基本結構順序組成的算法結構,可以解決任何復雜的問題。由基本結構所構成的算法屬于“結構化”的算法,不存在無規(guī)律的轉向,只在本基本結構內才允許存在分支和向前或向后的跳轉。 ? 由三種基本結構派生出來的 結構: A p2 Y B N 根據(jù)表達式 p的值進行選擇 A B … M N ( 4)用 NS流程圖表示算法 A B 順序結構 A B Y N p 選擇結構 A 當 p1成立 循環(huán)結構 (當型) A 直到 p2成立 循環(huán)結構(直到型) 例 : 求 5!算法用 NS圖表示。 1?t 2?i t*i?t i+1?i 直到 i5 輸出 t 例 :將 50名學生中成績高于 80分者的學號和成績輸出。將 該 算法用NS圖表示。 1?i 輸入 ni、 gi i+1?i 直到 i50 1?i gi≧ 80 是 輸出 ni,gi 否 i+1?i 直到 i50 例 :將判定閏年的算法用 NS圖表示 ? 一個結構化的算法是由一些基本結構順序組成的 ? 在基本結構之間不存在向前或向后的跳轉,流程的轉移只存在于一個基本結構范圍之內 ? 一個非結構化的算法可以用一個等價的結構化算法代替,其功能不變 ? 如果一個算法不能分解為若干個基本結構,則它必然不是一個結構化的算法 ( 5) 用偽代碼表示 算法 ? 偽代碼是用介于自然語言和計算機語言之間的文字和符號來描述算法 ? 用偽代碼寫算法并無固定的、嚴格的語法規(guī)則,可以用英文,也可以中英文混用 例 :求 5!。 begin (算法開始 ) 1 ? t 2 ? i while i≤ 5 { t*i ? t i+1 ? i } print t end