算法與程序的區(qū)別關(guān)系
算法是解決問題的步驟;程序是算法的代碼實(shí)現(xiàn)算法要依靠程序來完成功能;程序需要算法作為靈魂
程序是結(jié)果,算法是手段(為編寫出好程序所使用的運(yùn)算方法)。同樣編寫一個(gè)功能的程序,使用不同的算法可以讓程序的體積、效率差很多。所以算法是編程的精華所在。
算法+數(shù)據(jù)結(jié)構(gòu)=應(yīng)用程序。
算法是程序設(shè)計(jì)的核心,算法的好壞很大程度上決定了一個(gè)程序的效率。一個(gè)好的算法可以降低程序運(yùn)行的時(shí)間復(fù)雜度和空間復(fù)雜度。先選出一個(gè)好的算法,再配合以一種適宜的數(shù)據(jù)結(jié)構(gòu),這樣程序的效率會(huì)大大提高。
算法和程序都是指令的有限序列 ,但是:程序是算法,而算法不一定是 程序。
區(qū)別主要在于:
(1) 在語(yǔ)言描述上,程序必須是用規(guī)定的程序設(shè)計(jì)語(yǔ)言來寫,而算法很隨意;
(2) 在執(zhí)行時(shí)間上,算法所描述的步驟一定是有限的,而程序可以無限地執(zhí)行下去。
算法是對(duì)特定問題求解步驟的描述,它是指令的有限序列。
簡(jiǎn)單算法舉例
例:求 1*2*3*4*5
步驟 1 :先求 1*2 ,得到結(jié)果 2 。
步驟 2 :將步驟 1 得到的乘積 2 再乘以 3 ,得到結(jié)果 6 。
步驟 3 :將步驟 2 得到的乘積 6 再乘以 4 ,得到結(jié)果 24 。
步驟 4 :將步驟 3 得到的乘積 24 再乘以 5 ,得到最后結(jié)果 120 。
算法與程序設(shè)計(jì)知識(shí)點(diǎn)總結(jié)
1. 算法的概念及特點(diǎn)。
(1)復(fù)述算法的概念:解決某一問題的具體的、有限的方法和步驟
(2)解釋算法的主要特點(diǎn): 有窮性(步驟是有限的)、確定性(每個(gè)步驟有確切的含義)、可行性(每個(gè)步驟是可行的)、有0個(gè)或多個(gè)輸入和有一個(gè)或多個(gè)輸出。
(3)描述用算法解決問題的一般過程: 計(jì)算機(jī)解決問題的一般過程:分析問題(確定要計(jì)算機(jī)做什么)、尋找解決問題的途徑和方法(解決怎么做)和用計(jì)算機(jī)進(jìn)行處理 用算法解決問題的一般過程:需求分析(做什么)、確定算法(主要是人怎么做) 編寫程序(計(jì)算機(jī)怎么做)及上機(jī)調(diào)試和維護(hù)(做得更好)
2. 算法的描述方法;流程圖的繪制方法;用流程圖來描述算法。
(1)列舉算法的描述方法(用自然語(yǔ)言描述、流程圖描述、程序語(yǔ)言和偽代碼描述);
(2)列舉常用的流程圖符號(hào)及出入口數(shù)起止框、輸入輸出框、處理框、判斷框、流程線
3. 常量和變量的區(qū)別。
(1) 復(fù)述常量和變量的概念;
常量:相當(dāng)于數(shù)學(xué)中的常數(shù),在程序運(yùn)行中不會(huì)改變值的量
變量:相當(dāng)于函數(shù)中的變量,在程序運(yùn)行中可以改變值的量
(2) 列舉數(shù)據(jù)的基本類型(整型、實(shí)數(shù)型、字符型、邏輯型等);
整 型:相當(dāng)于整數(shù)或用來存放整數(shù)的變量; 實(shí)數(shù)型:相當(dāng)于實(shí)數(shù)或用來存放實(shí)數(shù)的變量; 字符型:非數(shù)據(jù)值型的數(shù)據(jù)(判斷:一般不能用來加、減、乘、除的)如姓名、學(xué)號(hào)、電話號(hào)碼、身份證號(hào)等 邏輯型:用關(guān)系運(yùn)算符和邏輯運(yùn)算符連接的數(shù)據(jù),只有真(1)和假(0)二種結(jié)果
比較變量名和變量值的區(qū)別:Max=5:變量名為Max,其值是5;A(1)=9:A(1)是下標(biāo)變量
4. 變量的作用和特點(diǎn);設(shè)置和使用變量。
(1) 描述變量的基本作用和特點(diǎn):作用保存數(shù)據(jù);特點(diǎn):取之不盡,一充就掉。
(2) 列舉變量命名的基本規(guī)則:英文字母開頭,后面跟字母或數(shù)字或下劃線,系統(tǒng)保留字不能用
(3) 使用賦值語(yǔ)句對(duì)變量進(jìn)行賦值;
LET 變量名=表達(dá)式,先計(jì)算表達(dá)式,后將結(jié)果賦值給左邊的變量,一般LET省略
5. 運(yùn)算符、運(yùn)算的優(yōu)先次序、表達(dá)式。
(1)列舉各類運(yùn)算的運(yùn)算符及運(yùn)算規(guī)則(算術(shù)、字符、關(guān)系、邏輯); 算術(shù)運(yùn)算符:+、-、*(乘)、/(除)、^(乘方)、mod(a mod b求a÷b的余數(shù)) 字符運(yùn)算符:+(連接符)”I am ”+”No.1”→”I am No.1” 關(guān)系運(yùn)算符:》、《、=、《》(不等于)、≥(書寫時(shí)應(yīng)寫成》=)、≤ 邏輯運(yùn)算符:NOT(非/取反)、AND(與/并且/相當(dāng)于乘法)、OR(或/相當(dāng)于加法)
(2)區(qū)分各類運(yùn)算符的優(yōu)先級(jí); 算術(shù)運(yùn)算:( )→函數(shù)→乘方→*、/→mod→+、-
邏輯運(yùn)算:( )→NOT→AND→OR 關(guān)系和邏輯運(yùn)算的結(jié)果只有真和假,教材上約定真為1,假為0 先算術(shù)運(yùn)算→字符→關(guān)系→邏輯
(4) 列舉常用的表達(dá)式類型:也分為算術(shù)、字符、關(guān)系和邏輯表達(dá)式四種
#e#
算法的三種結(jié)構(gòu)
算法的結(jié)構(gòu)特點(diǎn)。
(1) 描述順序結(jié)構(gòu)的特點(diǎn):各個(gè)操作步驟嚴(yán)格按照先后次序執(zhí)行一次
(2)描述分支結(jié)構(gòu)的特點(diǎn):執(zhí)行到某一操作時(shí),會(huì)根據(jù)判斷的結(jié)果選擇二條分支中的一條分支執(zhí)行,也 稱選擇結(jié)構(gòu);流程圖中會(huì)出現(xiàn)判斷框,又分單分支和雙分支。
(3)描述循環(huán)結(jié)構(gòu)的特點(diǎn):某些操作步驟會(huì)被連續(xù)地重復(fù)執(zhí)行,因此又稱重復(fù)結(jié)構(gòu);流程圖中會(huì)出現(xiàn)上 跳分支。
(4)解釋循環(huán)結(jié)構(gòu)中循環(huán)的要素(如:初始狀態(tài)、循環(huán)體、循環(huán)條件等);
控制循環(huán)的變量一般有初始值(初始狀態(tài))和終值(循環(huán)條件)
2. 計(jì)數(shù)器、累加器、累乘器。
(1) 識(shí)別計(jì)數(shù)器、累加器、累乘器的結(jié)構(gòu);
(2)用流程圖繪制計(jì)數(shù)器、累加器、累乘器。 計(jì)數(shù)器a:a=a+1(a的初值一般為0或1)或a=a-1(倒計(jì)數(shù)如10,9,8,7…) 累加器S:S=S+一個(gè)數(shù)(S的初值一般為 0) 累乘器T:T=T×一個(gè)數(shù)(初值一般為1)
3. 分支的兩種不同形式。
(1)區(qū)分單分支與雙分支結(jié)構(gòu)
描述分支結(jié)構(gòu)的適用情況:執(zhí)行到某一操作時(shí),要根據(jù)判斷的結(jié)果選擇不同操作
4.循環(huán)的兩種不同形式。
(1) 比較兩種循環(huán)結(jié)構(gòu)的區(qū)別(當(dāng)型循環(huán)和直到型循環(huán));
(2) 描述當(dāng)型循環(huán)的執(zhí)行過程:先判斷后執(zhí)行循環(huán)體,循環(huán)體可能一次也不做
(3)描述直到型循環(huán)的執(zhí)行過程:先執(zhí)行循環(huán)體后判斷,循環(huán)體至少做一次
4. 三種結(jié)構(gòu)的組合。
(1) 描述分支嵌套分支的執(zhí)行過程:分支結(jié)構(gòu)中又出現(xiàn)分支的結(jié)構(gòu)
(2) 描述循環(huán)嵌套分支的執(zhí)行過程:循環(huán)結(jié)構(gòu)中又出現(xiàn)分支的結(jié)構(gòu)
(3)描述循環(huán)嵌套循環(huán)的執(zhí)行過程(雙重循環(huán)):循環(huán)結(jié)構(gòu)中又出現(xiàn)循環(huán)的結(jié)構(gòu)
算法實(shí)例
1. 枚舉算法。
(1) 描述枚舉算法的基本概念:列舉每一種可能,并檢驗(yàn)是否成立,也稱窮舉法
(2) 列舉枚舉算法的基本特征:先列舉,后檢驗(yàn)(用分支結(jié)構(gòu)實(shí)現(xiàn)檢驗(yàn))
(3)描述枚舉算法的基本實(shí)現(xiàn)方法:循環(huán)中嵌套分支
2. 解析算法。
(1) 描述解析算法的基本概念:用代公式的方法來計(jì)算結(jié)果的算法
(2)列舉解析算法的基本特征;
(3)描述解析算法的基本實(shí)現(xiàn)方法:順序或分支
(4)描述解析算法的適用情況
實(shí)現(xiàn)分支和循環(huán)結(jié)構(gòu)的語(yǔ)句格式
一、分支結(jié)構(gòu)
1.雙分支結(jié)構(gòu)
1.單分支結(jié)構(gòu)
二、循環(huán)結(jié)構(gòu)(連續(xù)的重復(fù)執(zhí)行,又稱重復(fù)結(jié)構(gòu))
1. 當(dāng)循環(huán)
2.直到循環(huán)
評(píng)論