




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序設(shè)計(jì)與計(jì)算思維引論第一章案例1:設(shè)計(jì)加法表01一、案例1:設(shè)計(jì)加法表一、案例1:設(shè)計(jì)加法表注釋:(1)計(jì)算機(jī)俗稱“電腦”,是用以代替人腦思維的工具。該程序的設(shè)計(jì)思想是通過(guò)9個(gè)printf()函數(shù)打印與人的“印記”相同的“加法表”,描述過(guò)程較為粗放。Prog1.1一、案例1:設(shè)計(jì)加法表(2)執(zhí)行printf("1+1=2\n");,打印加法表的第一行,輸出:1+1=2。執(zhí)行printf("1+2=3
2+2=4\m");,打印加法表的第二行,輸出:1+2=32+2=4。依次類推,執(zhí)行printf(“1+9=10
2+9=113+9=12
4+9=135+9-146+9=157+9=68+9=179+9=18\n");,打印加法表的第九行,輸出:1+9=10
2+9=113+9=124+9=135+9=146+9=157+9=168+9=179+9=18,如圖1.1所示。(3)美國(guó)卡內(nèi)基梅隆大學(xué)周以真教授提出,計(jì)算思維是指運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問(wèn)題、設(shè)計(jì)系統(tǒng)和理解人類行為,它涵蓋了計(jì)算機(jī)科學(xué)的一系列思維活動(dòng)?!坝?jì)算思維”的理論,通俗地說(shuō),就是用計(jì)算機(jī)科學(xué)與技術(shù)來(lái)解決問(wèn)題的方法和途徑:程序設(shè)計(jì)是人通過(guò)計(jì)算機(jī)語(yǔ)言將人的思維傳遞給計(jì)算機(jī)的過(guò)程,使計(jì)算機(jī)模仿人的思維方式。Prog1.1一、案例1:設(shè)計(jì)加法表注釋:(1)int
i定義變量i;設(shè)計(jì)for(i=l;i<=?;i++)循環(huán)結(jié)構(gòu),通過(guò)循環(huán)變量i控制列的變化條件i<=?控制每行輸出的算式的個(gè)數(shù),例如,條件i=1控制打印第一行,·······”,條件i<=9控制打印第九行。Prog1.2一、案例1:設(shè)計(jì)加法表(2)執(zhí)行for(i=1;i<=1;i++)循環(huán)結(jié)構(gòu),打印加法表的第一行,輸出:1+1=2。執(zhí)行for(i=1;i<=2;i++)循環(huán)結(jié)構(gòu),打印加法表的第二行,輸出:1+2=3
2+2=4。依次類推,執(zhí)行for(i=1;i<=9;i++)循環(huán)結(jié)構(gòu),打印加法表的第九行,輸出:1+9=102+9=113+9=124+9=13
5+9=14
6+9=15
7+9=16
8+9=17
9+9=18,如圖11所示。(3)該程序構(gòu)造了for循環(huán)結(jié)構(gòu)模型,將人解決問(wèn)題的思想抽象成一致的“接口”。Prog1.2一、案例1:設(shè)計(jì)加法表注釋:(1)voidfn1(int
j)定fun()函數(shù),fun1()函數(shù)的功能是打印加法表形參變量j描述的行,主函數(shù)main()調(diào)用fun1()函數(shù)幫助完成任務(wù)。Prog1.3一、案例1:設(shè)計(jì)加法表(2)主函數(shù)main()調(diào)用fun1(1);,打印加法表的第一行,輸出:1+1=2。主函數(shù)main()調(diào)用fun1(2);,打印加法表的第二行,輸出:12=32+2=4。依次類推,主函數(shù)main()調(diào)用fn1(9);,打印加法表的第九行,輸出:1+9=102+9=113+9=124+9=135+9=14
6+9=15
7+9=16
8+9=179+9=18,如圖1.1所示(3)函數(shù)fun10將人解決問(wèn)題的思想抽象成一致的“接口”voidfun1(int
j)。Prog1.3一、案例1:設(shè)計(jì)加法表注釋:(1)自定義頭文件fun1.h,將在該文件中定義voidfun1(int
j),主函數(shù)所在文件Prog1.4通過(guò)#include"fun1.h"就可以使用fun1h文件中的fun1函數(shù)。(2)文件Prog1.4中main()函數(shù)調(diào)用fun1.h文件中fun1()函數(shù)的過(guò)程與文件Prog1.3實(shí)現(xiàn)的功能相同。(3)一個(gè)程序由若干源文件組成,本程序是由prog1.4.c、stdio.h、fun1.h等源文件組成的,有的是庫(kù)文件,有的是程序員自定義的源文件。該問(wèn)題的解決體現(xiàn)了文件的工具融合“數(shù)學(xué)思維”與“工程思維”,達(dá)到了智慧傳遞的特征。Prog1.4案例2:一組數(shù)據(jù)的“逆序”輸出02二、案例2:一組數(shù)據(jù)的“逆序”輸出輸入:23456712
89輸出:89
12
67
4523Prog2.1二、案例2:一組數(shù)據(jù)的“逆序”輸出注釋:(1)人的智慧就是追求問(wèn)題的“本質(zhì)”。(2)現(xiàn)象級(jí)解決方法:執(zhí)行printf("輸入:2345671289\n");,輸出:“輸入:23
45671289”,這是“原始”數(shù)據(jù)序列。執(zhí)行printf("輸出:8912
6745
23\n");,輸出:“輸出:8912674523",該數(shù)據(jù)序列與原始數(shù)據(jù)序列是“逆序”關(guān)系,如圖1.2所示。(3)這是一種簡(jiǎn)單粗放的解決問(wèn)題方法,設(shè)計(jì)與構(gòu)造方式單一,解決類似問(wèn)題的可信度不高。Prog2.1二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.2二、案例2:一組數(shù)據(jù)的“逆序”輸出注釋:(1)inta1,a2,a3,a4,a5;定義五個(gè)整型數(shù)據(jù)變量,變量a1、a2、a3、a4、a5各代表內(nèi)存中的一個(gè)存儲(chǔ)單元,這五個(gè)存儲(chǔ)單元可以存儲(chǔ)五個(gè)整數(shù)。(2)執(zhí)行a1=23;a2=45;a3=67;a4=12;a5=89;,則變量a1存儲(chǔ)單元中存儲(chǔ)的是23,變量a2存儲(chǔ)單元中存儲(chǔ)的是45,變量a3存儲(chǔ)單元中存儲(chǔ)的是67,變量a4存儲(chǔ)單元中存儲(chǔ)的是12,變量a5存儲(chǔ)單元中存儲(chǔ)的是89。執(zhí)行printf("輸入:%d%d%d%d
%d\n",a1,a2,a3,a4,a5);,輸出:“輸入:23456712
89”,這是“原始”數(shù)據(jù)序列。執(zhí)行printf("輸出:%d
%d%d
%d
%d\n",a5,a4,a3,a2,a1);,輸出:“輸出:8912
674523",該數(shù)據(jù)序列與原始數(shù)據(jù)序列是“逆序”關(guān)系,如圖1.2所示。(3)思維的基礎(chǔ)是人腦有記憶空間,計(jì)算思維的基礎(chǔ)是構(gòu)造可識(shí)別、能運(yùn)算的存儲(chǔ)空間。該程序通過(guò)五個(gè)變量“記住”要加工處理的五個(gè)數(shù)據(jù)。有了這五個(gè)變量,程序不僅可以處理2345671289這個(gè)數(shù)據(jù)序列,也可以處理其他數(shù)據(jù)序列。Prog2.2二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.3二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.3注釋:(1)函數(shù)scanf()可以實(shí)現(xiàn)在程序“運(yùn)行”階段讓用戶隨機(jī)錄入數(shù)據(jù),處理數(shù)據(jù)的對(duì)象不是在程序設(shè)計(jì)的前期事先提供的。(2)執(zhí)行scanf("%d%d
%d%d%d",&a1,&a2,&a3,&a4,&a5);,用戶輸入:23
456712
89,輸入后變量a1、a2、a3、a4、a5的值分別為23、45、67、12、89,但該程序處理的數(shù)據(jù)也可以是其他數(shù)據(jù)序列。(3)程序就是計(jì)算機(jī)指令的集合,程序設(shè)計(jì)前期可以定義數(shù)據(jù)的形式(抽象),在程序執(zhí)行期間可以輸入具體數(shù)據(jù)。二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.4二、案例2:一組數(shù)據(jù)的“逆序”輸出注釋:(1)實(shí)現(xiàn)“逆序”可以通過(guò)數(shù)據(jù)序列首尾相應(yīng)位置交換實(shí)現(xiàn),五個(gè)數(shù)據(jù)中,第一個(gè)數(shù)據(jù)和第五個(gè)數(shù)據(jù)交換,第二個(gè)數(shù)據(jù)與第四個(gè)數(shù)據(jù)交換,這樣就達(dá)成了目標(biāo)。(2)執(zhí)t=a1;al=a5;a5=t,這是將a1和a兩個(gè)數(shù)據(jù)交換,同理,執(zhí)行t=a2;a1=a4;a4=t是將a2和a4兩個(gè)數(shù)據(jù)交換。執(zhí)行printf("輸出:%d%d%d%d%dn"a1,a2,a3,a4a5);輸出:89
12
6745
23(原始數(shù)據(jù)序列:2345671289)如圖1.2所示。(3)計(jì)算思維的核心是抽象,即把人解決任務(wù)的方法抽象成可描述的語(yǔ)言。Prog2.4二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.5二、案例2:一組數(shù)據(jù)的“逆序”輸出注釋:(1)inta[N]定義數(shù)組a,用一個(gè)名字a描述一組數(shù)據(jù),數(shù)組a把數(shù)據(jù)以“集合”形式進(jìn)行管理,建立了數(shù)據(jù)之間的聯(lián)系。inta1,a2,a3,a4,a5定義五個(gè)變量,變量之間是獨(dú)立的,不能形成聯(lián)系。inta[N];,數(shù)組a中有五個(gè)存儲(chǔ)單元,存儲(chǔ)單元的名稱分別是a[0]、a[1]、a[2]、a[3]、a[4],這五個(gè)單元與變量a1、a2、a3、a4、a5一樣,每個(gè)單元均能存儲(chǔ)一個(gè)整型數(shù)據(jù)。(2)執(zhí)行scanf(“%d
%d%d%d%d”,&a[0],&a[1],&a[2],&a[3],&a[4]);,輸入:23
45
6712
89,則單元a[0]的值是23,單元a[1]的值是45,單元a[2]的值是67,單元a[3]的值是12,單元a[4]的值是89。執(zhí)行t=a[0];a[0]=a[4];a[4]=t;,實(shí)現(xiàn)a[0]與a[4]交換,a[0]的值由23變成89,a[4]的值由89變成23。執(zhí)行t=a[1];a[1]=a[3];a[3]=t;,實(shí)現(xiàn)a[1]與a[3]交換,a[1]的值由45變成12,a[3]的值由12變成45。(3)豐富的數(shù)據(jù)格式可以讓人的思維方式變得靈活,數(shù)據(jù)的存儲(chǔ)形式能決定算法,算法一般要依賴具體的數(shù)據(jù)格式。Prog2.5二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.6注釋:(1)inta[N]定義了數(shù)組a,存儲(chǔ)單元的名稱a[0]、a[1]、a[2]、a[3]、a[4]就表現(xiàn)出一定的規(guī)律性,“編號(hào)”從0依次變化到N-1。程序設(shè)計(jì)時(shí)可以利用結(jié)構(gòu)化程序設(shè)計(jì)中的“循環(huán)”結(jié)構(gòu)依次訪問(wèn)數(shù)組a中的存儲(chǔ)單元。二、案例2:一組數(shù)據(jù)的“逆序”輸出Prog2.6(2)執(zhí)行for(i=0;i<N;i++)scanf("%d",&a[i]);,實(shí)現(xiàn)給數(shù)組存儲(chǔ)單元a[0]、a[1]、a[2]、a[3]、a[4]輸入數(shù)據(jù)。執(zhí)行for(i=0;i<N/2;i++){t=a[i];a[i]=a[N-i-1];a[N-i-1]=t;},當(dāng)i=0時(shí),N-i-1的值為4,即a[0]與a[4]交換;當(dāng)i=1時(shí),N-i-1的值為3,即a[1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 攻克網(wǎng)絡(luò)工程師考試難點(diǎn)試題及答案
- 綠色政策的社會(huì)參與機(jī)制及效果分析試題與答案
- 企業(yè)信息系統(tǒng)中網(wǎng)絡(luò)設(shè)計(jì)的原則試題及答案
- 公共政策實(shí)施中反饋機(jī)制的作用試題及答案
- 軟件設(shè)計(jì)師考試高頻知識(shí)點(diǎn)與試題答案
- 2025年軟件設(shè)計(jì)師考試制定適合個(gè)人的學(xué)習(xí)計(jì)劃試題及答案
- 信息系統(tǒng)項(xiàng)目管理師考試心態(tài)調(diào)整方法試題及答案
- 西方國(guó)家社會(huì)結(jié)構(gòu)試題及答案
- 深度解析2025年軟件設(shè)計(jì)師考試試題答案
- 西方政治制度2025年測(cè)試秘籍試題及答案
- 2003奧迪a8原廠維修手冊(cè)帶電路圖自學(xué)
- 我國(guó)江河湖泊及水資源散布現(xiàn)狀
- 基于51單片機(jī)的智能門鈴設(shè)計(jì)-正式版
- 2023年不動(dòng)產(chǎn)登記代理人《不動(dòng)產(chǎn)登記代理實(shí)務(wù)》沖刺備考200題(含詳解)
- 畜產(chǎn)品市場(chǎng)營(yíng)銷策劃方案
- GB/T 18852-2020無(wú)損檢測(cè)超聲檢測(cè)測(cè)量接觸探頭聲束特性的參考試塊和方法
- ZJUTTOP100理工類學(xué)術(shù)期刊目錄(2018年版)
- F0值計(jì)算公式自動(dòng)
- 《全國(guó)統(tǒng)一建筑工程基礎(chǔ)定額河北省消耗量定額》宣貫資料
- 道路交通事故現(xiàn)場(chǎng)勘查課件
- 門店電表記錄表
評(píng)論
0/150
提交評(píng)論