1、a1a2演算法與程式語言高深、專業難以親近a3一、以電腦解決問題的方法程式是什麼什麼時候需要寫程式我們用電腦做什麼a41、我們用電腦做什麼?利用電腦快速運算與自動化作業的特色,解決我們所遇到的問題。遊戲育樂網路遨游影音多媒體a5事先將事情交代給電腦(輸入電腦),然後才讓電腦逐一完成,透過電腦的處理,便能達到解決問題的目的。80分90分83分88分國文英文數學體育成績單a6文書處理、播放影音動畫、玩遊戲等等,屬於應用層面的功能,即這些功能已經被設計好了。預測未來的天氣在數十萬人口資料中搜尋特定人物等等a7為能指揮電腦解決這些問題,工程師得費心想出解決的方法,並轉換成電腦能懂的語言付諸實行。在電腦
2、科學中將這個解決方法稱為演算法演算法。a82、程式是什麼?電腦可以為我們解決許多問題:功課表的製作、行事歷的安排、瀏覽網路到聲光效果的遊戲娛樂等這些並不是將電腦零件裝好就能做到的!a9a10電腦必須接受我們給予的命令(Commamd),才能執行命令所交代的事情,而這些命令的集合,我們就稱之為【程式】(Program)。a11電腦依據指令行事a12人們交辦什麼電腦就執行什麼,因為電腦無法自己變更或更改程式,而程式執行的結果,則是早就被預期得到的。a133、什麼時候要寫程式?a14 為了特定的目的的時候。如:簡單的數學公式計算程式、企業內部管理程式等等。設計網頁互動程式的時候。如:動態網站、存取網
3、站資料庫程式等等。自己需要的程式,市面上的套裝軟體沒有的時候。如:自己的CD唱片整理程式等等。a15通常解決問題的程式,可能有很多方法,並不侷限在單一的設計方法。a164、以電腦程式解決問題的過程以往人們總以為記憶大量的程式語法、指令,然後再將程式一一輸入電腦才稱之為程式設計;其實,撰寫程式只是解決問題當中的一個步驟,程式只是扮演著工具的角色。a17假設:要利用電腦記錄全班各年度的考試成績、通訊錄等資料。良好的輸入介面如何排序學生成績通訊錄的編排方式a18利用電腦程式解決問題的過程思考問題思考問題a設計演算法設計演算法b撰寫程式撰寫程式c測試程式與除錯測試程式與除錯d撰寫程式文件撰寫程式文件e
4、a19a.思考問題台北台北高雄高雄火車火車飛機飛機巴士巴士a20思考問題時要先預見問題,找出可能或即將發生的問題。a21b.設計演算法台北台北整理行李整理行李搭車去火車站搭車去火車站買票買票到月台等車到月台等車坐火車去高雄坐火車去高雄高雄高雄a22確定問題需求與解決方案後,接著便可以開始延伸擴展方案,設計解決問題的步驟。簡單問題只需幾步即可解決,較為複雜的就得利用結構及判斷來描述,例如:如果則等判斷語句,或是重複直到為止等重複語句。a23c.撰寫程式確定演算法無誤後,便可挑選一個比較合適此方案的程式語言,並依據演算法與步驟流程,逐一將單純的文字描述,轉化為電腦裡的程式。a2410 整理行李整理
5、行李20 搭車去火車站搭車去火車站30 排除買票排除買票40 到月台搭車到月台搭車50 從火車去高雄從火車去高雄 Private Sub Package()End Sub Private Sub Train()End Sub將演算法寫成看得懂的程式將演算法寫成看得懂的程式a25d.測試程式與除錯(Debug)程式設計所需考慮的變因很多,即使演算法正確也不能保證程式在執行時一定不會出錯。因此測試時,除了找出程式中錯誤的語法外,還須能理出邏輯上發生的錯誤。如:要輸入火車票價,卻意外多輸了一個0,那在計算票價時就會出錯。a26e.撰寫程式文件撰寫好程式的使用文件,或是注意事項,類似軟體使用手冊。這些
6、文件除了可讓使用程式的人,知道此程式有哪些功能、使用方法外,還可以作為開發程式時的修改依據。與程式裡的註解不同,程式文件可視為程式開發歷程的說明與簡述。a27a28二、演算法電腦是依據安排好的步驟逐一執行,所以對其所下達電腦是依據安排好的步驟逐一執行,所以對其所下達的命令必須是電腦所了解的,而不能是:的命令必須是電腦所了解的,而不能是:“給我列印給我列印課程表課程表”、“計算學生成績總分計算學生成績總分”、“統計平均分數統計平均分數”等人類口語的命令。等人類口語的命令。a29利用電腦解決問題,必須事先將問題拆解成許多關鍵的步驟,且分配其先後順序,將這些拆解出來的小步驟逐一完成後,問題便解決了,
7、當中描述問題解決的方法,稱為【演算法】。a301、認識演算法演算法(Algorithm)描述問題解描述問題解決決的方法的方法問題:到唱片行購買一張歌手專輯,有什麼步驟?a31進入唱片行進入唱片行找到所要購買的專輯找到所要購買的專輯CD拿到櫃台結賬拿到櫃台結賬將將CD防防盜盜線圈消磁線圈消磁離開唱片行離開唱片行a32進入唱片行進入唱片行找到所要購買的專輯找到所要購買的專輯CD拿到櫃台結賬拿到櫃台結賬將將CD防防盜盜線圈消磁線圈消磁離開唱片行離開唱片行a33進入唱片行進入唱片行找到所要購買的專輯找到所要購買的專輯CD拿到櫃台結賬拿到櫃台結賬離開唱片行離開唱片行將將CD防防盜盜線圈消磁線圈消磁a34
8、韋氏字典裡所解釋的“演算法”是這樣的:在有限的步驟內解決數學問題的程序a35演算法五項特徵準確描述的輸入(Input)這些輸入必須有清楚的資料型這些輸入必須有清楚的資料型別別,而且提供使,而且提供使用者精確的描述與輸入。如用者精確的描述與輸入。如求最小公倍數求最小公倍數,就,就必須必須輸入兩個自然數輸入兩個自然數。指令必須具有明確性及有效性每個步驟必須很明確地指出該如何動作,不能每個步驟必須很明確地指出該如何動作,不能為為節省空間而將原本需多步驟的動作一筆帶過。節省空間而將原本需多步驟的動作一筆帶過。a36正確性必須要能證明該演算法要吧正確地解必須要能證明該演算法要吧正確地解決決問題。問題。有
9、限性必須在有限的步驟必須在有限的步驟內產內產生結果。生結果。結果的描述和輸出輸入正確的結果,以及輸出至何處。輸入正確的結果,以及輸出至何處。a372、演算法的表示即是將解決問題的每一個步驟、重點,利用文字、圖形或是人們看得懂的語言表示出來。a38a.文字描述法用人們的自然語言來描述直接。a39例如:計算三角形的面積。Step1:輸入三角形的底、高的長度:輸入三角形的底、高的長度Step2:代入公式計算三角形的面積:代入公式計算三角形的面積Step3:計算結果即:計算結果即為為三角形的面積三角形的面積嚴格來講嚴格來講Step2不符合明確性,因它並未不符合明確性,因它並未說說明明三角形面積要如何運
10、算。三角形面積要如何運算。輸入三角形的底輸入三角形的底A A和高和高B B讓讓S S(A(A*B)/2B)/2運算結果運算結果S S即即為為三角形的面積三角形的面積a40b.流程圖法利用各種符號表示程式的動作,用帶箭頭的直線代表它們進行的順序。透過統一的標準圖形,使流程圖具有一的流通性。a41a42範例:三人身高比比誰最高是是否否是是否否否否是是a43以圖形表示的好處是圖形會比文字敘述更容易讓人理解和接受。a44繪製流程圖的幾個基本原則:流程圖中必須使用標準符號,讓流程圖便於流程圖中必須使用標準符號,讓流程圖便於閱閱讀、分析與修改;讀、分析與修改;文字須簡明扼要,且每個流程必須明確且確實文字須
11、簡明扼要,且每個流程必須明確且確實可靠;可靠;方向應自上而下,自左而右;方向應自上而下,自左而右;線條應避免太長或交叉。線條應避免太長或交叉。a45c.虛擬碼法用文字加程式語言來描述演算法的過程。a46程式開始程式開始輸入輸入 學生成績學生成績 若若 學生成績學生成績60 印出及格印出及格否則否則 印出需要重修印出需要重修結束判斷結束判斷程式結束程式結束a47虛擬碼如同寫作一樣,但事實上是採用了程式語言的語法結構,同時省略其中細部的設定。a48三、討論與實作a49三、討論與實作請試著設計一個簡單的販賣機演算法,該演算法的條件限制為:當投入3元時,將購得一瓶紅茶。a50接受投幣1判斷投幣數目是否大於3元,如果小於則跳至第3步,如果等於則跳至第5步,如果大於則跳至第4步2退幣並結束3退還多余硬幣,並跳至第5步4售出一瓶紅茶並結束5a51開始開始投入硬幣投入硬幣退幣退幣是否小於是否小於3是否等於是否等於3售出一瓶紅茶售出一瓶紅茶退還多於硬幣退還多於硬幣結束結束是是否否是是否否
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。