简单算法的举例c语言,计算机科学与技术系C语言程序设计22简单算法举例.PPT
計(jì)算機(jī)科學(xué)與技術(shù)系C語言程序設(shè)計(jì)22簡單算法舉例
第2章 程序的靈魂——算法 本章主要介紹算法的思想及算法的表示方法。 2.0 緒論 2.1 算法的概念 2.2 簡單算法舉例 2.3 算法的特性 2.4 怎樣表示一個算法 2.5 結(jié)構(gòu)化程序設(shè)計(jì)方法 2.0 緒論 一個程序應(yīng)包括的兩個方面: (1)對數(shù)據(jù)的描述 在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)的結(jié)構(gòu)。 (2)對操作的描述 即操作步驟,也就是算法。 數(shù)據(jù)和操作的關(guān)系: 數(shù)據(jù)是操作的對象,操作的目的是對數(shù)據(jù)進(jìn)行加工,以得到期望的結(jié)果。 2.0 緒論 著名計(jì)算機(jī)科學(xué)家沃斯(Nikiklaus Wirth)提出了一個公式: 數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序 在設(shè)計(jì)程序時,還要考慮采用好的設(shè)計(jì)方法-------結(jié)構(gòu)化程序設(shè)計(jì)方法。因此有: 程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 +程序設(shè)計(jì)方法+語言工具和環(huán)境 以上4個方面是一個程序設(shè)計(jì)人員應(yīng)具備的知識。設(shè)計(jì)一個程序時要綜合運(yùn)用這幾方面的知識。 本門課程重點(diǎn)講述算法的設(shè)計(jì)。 2.0 緒論 上述四個方面中: 算法是靈魂; 數(shù)據(jù)結(jié)構(gòu)是加工對象; 語言是工具; 編程需要采取合適的方法。 算法解決"做什么"和"怎么做"的問題。 程序中的按一定順序列出的操作語句,就是算法的體現(xiàn)。 通過本門課,大家學(xué)會使用c語言的語法編寫不太復(fù)雜的c程序。 2.1 算法的概念 廣義的說,為解決一個問題而采取的方法和步驟,就成為“算法”。 計(jì)算機(jī)算法:用計(jì)算機(jī)解決問題的方法 和步驟。 計(jì)算機(jī)算法可分為:數(shù)值算法和非數(shù)值算法。 2.2 簡單算法舉例 例2.1:求1X2X3X4X5 最原始的方法: 步驟1: 求1×2, 得結(jié)果2。 步驟2: 將第1步得到的結(jié)果再乘以3, 得結(jié)果6。 步驟3: 將第2步得到的結(jié)果再乘以4, 得結(jié)果24。 步驟4: 將第3步得到的結(jié)果再乘以5, 得120。即最后結(jié)果。 想一想:如果按照此方法,求1×2×3×...×100, 要寫多少步? (99步) 因此,上述計(jì)算方法不可取! 2.2 簡單算法舉例 改進(jìn)的方法(或通用的方法): 先設(shè)兩個變量p和i,p代表被乘數(shù),i代表乘數(shù)。并且將每一步乘積直接放入被乘數(shù)變量p中。用循環(huán)算法求結(jié)果。 步驟1:令p=1 步驟2:令i=2 步驟3:使p x i,并將乘積放入p中。通常表示為 p × i => p 步驟4:使 i 的值加1,表示為 i+1=> i 步驟5:如果i 不大于5,返回到步驟3繼續(xù)向下執(zhí)行;否則算法結(jié)束。p中的值即最后結(jié)果。 想一想: 采用此方法求1 × 2×3×...×100,如何? 2.2 簡單算法舉例 例2.2: 有50個學(xué)生,要求將他們之中成績在80分以上者打印出來。用n表示學(xué)生學(xué)號,n1代表第一個學(xué)生學(xué)號,ni代表第i個學(xué)生的學(xué)號。用g代表學(xué)生成績,gi代表第i個學(xué)生的成績,算法表示如下: 步驟1:1→i 步驟2:如果gi≧80,則打印ni和gi,否則不打印 步驟3:i+1 →i 步驟4:如果i≦50,返回步驟2,繼續(xù)執(zhí)行;否則算法結(jié)束。 2.2 簡單算法舉例 例2.3 判定2000——2500年中的每一年是否閏年,將結(jié)果輸出。 閏年的條件是: ①能被4整除,但不能被100整除的年份都是閏年; ②能被100整除,又能被400整除的年份是閏年。 不符合這兩個條件的年份不是閏年。 算法可表示如下: 2.2 簡單算法舉例 設(shè)y為被檢測的年份。 S1:2000→y S2:若y不能被4整除,則輸出y“不是閏年”。然后轉(zhuǎn)到S6 S3:若y能被4整除,不能被100整除,則輸出y“是閏年”。然后轉(zhuǎn) 到S6 S4:若y能被100整除,又能被4
總結(jié)
以上是生活随笔為你收集整理的简单算法的举例c语言,计算机科学与技术系C语言程序设计22简单算法举例.PPT的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言时间管理小程序,写了一个时间管理的
- 下一篇: c语言中指针往内存写值,C语言编程常见问