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