




已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.,1,程序設(shè)計(jì)基礎(chǔ),先修課程:計(jì)算機(jī)文化基礎(chǔ),輔導(dǎo)教師杜彪email:dubiao66個(gè)人主頁(yè),.,2,網(wǎng)上資源,浙江電大程序設(shè)計(jì)基礎(chǔ)課程資料,.,3,程序設(shè)計(jì)基礎(chǔ)導(dǎo)學(xué),在學(xué)習(xí)本課程之前,先討論一個(gè)問(wèn)題:編一個(gè)程序,輸入10個(gè)整數(shù),找出10個(gè)整數(shù)中最大的數(shù)并輸出。,例如有456832-12872556429876,.,4,程序設(shè)計(jì)方法之一:分而治之,在計(jì)算機(jī)內(nèi)存中定義存放10個(gè)整數(shù)的空間和存放最大數(shù)的空間;輸入10個(gè)整數(shù);找出10個(gè)整數(shù)中最大的數(shù),并保存;輸出這個(gè)最大的數(shù)。,所謂分而治之,是將一個(gè)大問(wèn)題分解成若干個(gè)容易解決的小問(wèn)題并解決它。對(duì)于這個(gè)問(wèn)題可編寫(xiě)程序如下:,.,5,問(wèn)題一:如何存放10個(gè)數(shù),根據(jù)馮.諾依曼結(jié)構(gòu),程序和數(shù)據(jù)是事先存放在內(nèi)存中的,所以這10個(gè)數(shù)是事先放在內(nèi)存中;這10個(gè)數(shù)的數(shù)據(jù)類型相同,都是整數(shù);這10個(gè)數(shù)順序存放,一個(gè)緊接一個(gè)。,.,6,數(shù)據(jù)結(jié)構(gòu)程序設(shè)計(jì)的前提,數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)邏輯結(jié)構(gòu)數(shù)據(jù)之間在邏輯上的關(guān)系,包括線性結(jié)構(gòu)(線性表,棧,隊(duì)列)和非線性結(jié)構(gòu)(樹(shù),圖)物理結(jié)構(gòu)數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)結(jié)構(gòu),包括數(shù)組和鏈表,后續(xù)知識(shí):數(shù)組可表示線性表,棧,隊(duì)列,二叉樹(shù);二維數(shù)組可表示圖;鏈表可表示線性表,棧,隊(duì)列,樹(shù),圖;數(shù)組和鏈表在表示數(shù)據(jù)的邏輯結(jié)構(gòu)時(shí)各有優(yōu)缺點(diǎn)。,.,7,數(shù)組最常用的數(shù)據(jù)結(jié)構(gòu),數(shù)組是由若干個(gè)類型相同的元素組成;元素的類型決定數(shù)組的類型;每個(gè)數(shù)組有一個(gè)數(shù)組名;數(shù)組中元素在內(nèi)存中是按順序存放的,元素的順序標(biāo)號(hào)稱為數(shù)組的下標(biāo);C語(yǔ)言中數(shù)組的下標(biāo)從0開(kāi)始,最后一個(gè)元素的下標(biāo)為n-1(n是數(shù)組中元素的個(gè)數(shù))。,例如,數(shù)組名為A,有10個(gè)元素,第一個(gè)元素為A0;最后一個(gè)元素為A9;,.,8,計(jì)算機(jī)語(yǔ)言程序設(shè)計(jì)時(shí)人與計(jì)算機(jī)的交流工具,所謂語(yǔ)言,是由一些符號(hào)根據(jù)一定的語(yǔ)法規(guī)則所組成的集合,人類的語(yǔ)言由句子組成,計(jì)算機(jī)語(yǔ)言由語(yǔ)句組成;計(jì)算機(jī)語(yǔ)言包括機(jī)器語(yǔ)言,匯編語(yǔ)言和高級(jí)語(yǔ)言三大類。機(jī)器語(yǔ)言由二進(jìn)制的指令組成,可直接執(zhí)行,但編寫(xiě)和閱讀不方便;如果把機(jī)器指令和英文縮寫(xiě)一一對(duì)應(yīng),便形成匯編語(yǔ)言;于是,人們便發(fā)明了高級(jí)語(yǔ)言,用接近于英語(yǔ)和數(shù)學(xué)公式的方法來(lái)編寫(xiě)程序;高級(jí)語(yǔ)言不能直接執(zhí)行,但可以將整個(gè)程序翻譯成機(jī)器語(yǔ)言后再執(zhí)行,這個(gè)翻譯的過(guò)程稱為編譯;有些高級(jí)語(yǔ)言如BASIC可以逐條語(yǔ)句翻譯并執(zhí)行并為解釋執(zhí)行。,.,9,變量程序中存放數(shù)據(jù)的基本單元,變量是一個(gè)命名的內(nèi)存存儲(chǔ)單元,在程序中可以修改內(nèi)存變量的值。變量在使用前必須進(jìn)行說(shuō)明。如下面程序段計(jì)算表達(dá)式2*(3+1)和表達(dá)式3*(7-2)的結(jié)果:intr;r=2*(3+1);r=3*(7-2);其中語(yǔ)句:intr;說(shuō)明了一個(gè)整型的變量r,程序的第一次計(jì)算結(jié)果8存放在r中,后來(lái)r的值被改寫(xiě)成15。:若要在鍵盤(pán)上輸入r的值,使用語(yǔ)句:Scanf(%d,其中i表示輸入的類型為整型。當(dāng)運(yùn)行到這條語(yǔ)句時(shí),可從鍵盤(pán)上輸入一個(gè)整數(shù),程序會(huì)將這個(gè)整數(shù)的值保存到變量r指定的內(nèi)存單元中。,.,10,C語(yǔ)言中數(shù)組的定義方法,說(shuō)明數(shù)組的一般形式為:typenamesize;其中type是數(shù)組元素的類型,除不能是void類型和函數(shù)之外,它可以是任何類型,size是個(gè)整常數(shù),用于說(shuō)明數(shù)組name中最多可存放多少元素,方括號(hào)是個(gè)數(shù)組類型說(shuō)明符。例如:說(shuō)明包含有10個(gè)整數(shù)類型元素的數(shù)組A,使用如下的變量說(shuō)明語(yǔ)句:intA10;int表示整數(shù)類型,是integer的縮寫(xiě)。,.,11,數(shù)組中元素的引用,數(shù)組中元素的引用,使用表達(dá)式:數(shù)組名表達(dá)式其中“表達(dá)式”是一個(gè)整型表達(dá)式,其值表示某個(gè)元素的序號(hào),例如數(shù)組A的10個(gè)元素為:A0,A1,A2,A3,A4,A5,A6,A7,A8,A9例如要取得A2的值放在變量m中,可使用:m=A2;:若要將A3的值改為-12,,可使用:A3=-12;,.,12,討論:如何輸入數(shù)組中的元素,這么做行不行?輸入元素A0;輸入元素A1;輸入元素A2;輸入元素A3;輸入元素A4;輸入元素A5;輸入元素A6;輸入元素A7;輸入元素A8;輸入元素A9;,.,13,循環(huán)解決語(yǔ)句重復(fù)書(shū)寫(xiě),i從0到9重復(fù)做輸入Ai;用C語(yǔ)言表達(dá)為:for(i=0;i10;i+)scanf(%d,這樣的表達(dá)清楚嗎?,C語(yǔ)言中的另一種表達(dá):i=0;while(i10)scanf(%d,.,14,流程圖描述算法的工具,算法是解決問(wèn)題的步驟,用文字難以表達(dá),最好用流程圖,輸入數(shù)組中10元素的程序流程圖,N-S圖(盒圖),.,15,主程序算法描述,輸入10整數(shù)并輸出其中最大值的算法盒圖,.,16,輸入10個(gè)數(shù)求最大數(shù)的主程序,前面已介紹定義變量和數(shù)組,及訪問(wèn)和輸入數(shù)組元素的方法。下面給出主程序,其中/*到*/之間為注解,為了便于理解程序,預(yù)編譯時(shí)會(huì)自動(dòng)刪去。,#includeintmax(intA,intn);voidmain()/*定義整型變量m用來(lái)存放最大值,數(shù)型數(shù)組A存入輸入數(shù)據(jù)*/intm,A10;inti;/*i用來(lái)存放循環(huán)變量*/*輸出提示信息,提示用戶輸入*/printf(“請(qǐng)輸入10個(gè)整數(shù),用空格或回車間隔:”);/*輸入10個(gè)整數(shù)*/for(i=0;iAk,則K應(yīng)更新為i。,.,21,max函數(shù)的算法設(shè)計(jì),定義一個(gè)變量表示暫時(shí)最大值的下標(biāo),K初值為,.,22,max函數(shù)的設(shè)計(jì),intmax(intA,intn)/*定義整型變量k用來(lái)存放暫時(shí)最大值下標(biāo),初定A0最大,所以K初值為0,i用作循環(huán)變量*/intk=0,i;/*循環(huán),i從1到n-1,Ai與暫時(shí)最大者AK比較*/for(i=1;iAk)k=i;/*若Ai比Ak,更新暫時(shí)大者下標(biāo)*/*返回最大值*/returnAk;,思考題:返回k行不行?,.,23,上機(jī)實(shí)驗(yàn),將輸入10個(gè)數(shù)求最大數(shù)的主程序和max函數(shù)內(nèi)容合并,保存在一個(gè)文件中;使用VC6.0或TC2.0來(lái)編譯調(diào)試程序,建議使用VC6.0,有關(guān)VC使用請(qǐng)參考實(shí)驗(yàn)課件1+2+3+4+99+100,將結(jié)果顯示。,.,24,實(shí)驗(yàn)注意事項(xiàng),C語(yǔ)言程序由函數(shù)組成,每一個(gè)C語(yǔ)言程序有且僅有一個(gè)惟一的main函數(shù);C語(yǔ)言是大小敏感的語(yǔ)言,大寫(xiě)和小寫(xiě)是有區(qū)別的;由于程序中一般都要用到printf函數(shù)來(lái)輸出結(jié)果,所以必須在程序頭部加上一行#include在VC中上機(jī)時(shí),每一個(gè)實(shí)驗(yàn)結(jié)束后要關(guān)閉工作區(qū)。,.,25,小結(jié),程序的基本結(jié)構(gòu)有三種:順序,分支和循環(huán);程序設(shè)計(jì)的目的是處理信息,信息在計(jì)算機(jī)中的存放是數(shù)據(jù)存儲(chǔ);數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu);算法是程序設(shè)計(jì)的關(guān)鍵;算法的描述方法有:偽語(yǔ)言,流程圖,盒圖(N-S圖),.,26,小結(jié)和提高,程序=數(shù)據(jù)結(jié)構(gòu)+算法軟件=程序+文檔程序容易出錯(cuò),程序的正確性難以正確,程序不易讀懂和修改;軟件是產(chǎn)品,它的生產(chǎn)需要管理,需要用工程化的方法來(lái)生產(chǎn)軟件;軟件的生命周期包括計(jì)劃階段,開(kāi)發(fā)階段和維護(hù)階段;具體包括:可行性研究,需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,運(yùn)行和維護(hù)階段;每一個(gè)階段都需要文檔。,.,27,本課程內(nèi)容,第一篇:程序設(shè)計(jì)與程序設(shè)計(jì)語(yǔ)言概述第一章導(dǎo)論:計(jì)算機(jī)文化基礎(chǔ),計(jì)算機(jī)模型第二章:程序及程序設(shè)計(jì),計(jì)算機(jī)語(yǔ)言概念;了解各種高級(jí)語(yǔ)言,常量,變量,表達(dá)式,語(yǔ)句,函數(shù);第三章,第三章C語(yǔ)言程序設(shè)計(jì)數(shù)據(jù)類型,運(yùn)算符和表達(dá)式,語(yǔ)句,流程控制,函數(shù),數(shù)組等。第二篇:數(shù)據(jù)結(jié)構(gòu)和算法掌握線性結(jié)構(gòu)線性表,棧,隊(duì)列的存儲(chǔ)結(jié)構(gòu)和常用操作;層次結(jié)構(gòu)樹(shù)的概念,網(wǎng)狀結(jié)構(gòu)圖的概念;查找和排序;掌握算法的描述方法;算法設(shè)計(jì)中常用方法如窮舉法,遞歸法,回溯法等;算法快慢的評(píng)價(jià)方法時(shí)間復(fù)雜度。第三篇:程序設(shè)計(jì)方法與原則程序設(shè)計(jì)方法的發(fā)展:模塊化,結(jié)構(gòu)化,面向?qū)ο蟮?;軟件工程:用工程化的方法以?lái)計(jì)劃,開(kāi)發(fā)和維護(hù)軟件。,.,28,本課程學(xué)習(xí)方法,第一篇:程序設(shè)計(jì)與程序設(shè)計(jì)語(yǔ)言概述第一章導(dǎo)論,第二章自學(xué)為主,網(wǎng)上討論第三章,第三章C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)學(xué)習(xí);教師講解實(shí)驗(yàn),做實(shí)驗(yàn)題;完成實(shí)驗(yàn)報(bào)告;第二篇:數(shù)據(jù)結(jié)構(gòu)和算法聽(tīng)課,做習(xí)題,參加網(wǎng)上討論,下載網(wǎng)上資料,復(fù)習(xí)第三篇:程序設(shè)計(jì)方法與原則聽(tīng)課,做習(xí)題,復(fù)習(xí),.,29,本課程的建議學(xué)習(xí)步驟,自學(xué)第一章和第二章認(rèn)真學(xué)習(xí)本導(dǎo)學(xué),組成學(xué)習(xí)小組,記錄好聯(lián)系電話在家中的計(jì)算機(jī)上安裝VisualC+6.0,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低溫倉(cāng)儲(chǔ)投資環(huán)境分析考核試卷
- 表面貼裝技術(shù)成本控制考核試卷
- 中藥材種植保險(xiǎn)產(chǎn)品設(shè)計(jì)考核試卷
- 基層社會(huì)治理典型經(jīng)驗(yàn)材料
- 組胚英語(yǔ)單詞表
- 人事介紹信范文
- 惠陽(yáng)時(shí)代廣場(chǎng)營(yíng)銷推廣操作方案
- 歡慶十九活動(dòng)方案
- 武館續(xù)費(fèi)活動(dòng)方案
- 汽車避震活動(dòng)方案
- GB 19510.14-2009燈的控制裝置第14部分:LED模塊用直流或交流電子控制裝置的特殊要求
- 17025檢測(cè)和校準(zhǔn)實(shí)驗(yàn)室認(rèn)可準(zhǔn)則解析
- DigestiveSystem消化系統(tǒng)英文值得收藏課件
- 外研社小學(xué)新標(biāo)準(zhǔn)英語(yǔ)單詞表匯總打印版(一年級(jí)起點(diǎn))
- 潛水泵操作JSA分析表
- 門(mén)診藥房藥物咨詢記錄表
- 質(zhì)量保證體系架構(gòu)圖
- 管道施工主要質(zhì)量保證措施及通病防治措施
- 信捷XC系列可編程序控制器用戶手冊(cè)(軟件篇)
- 新版FMEA培訓(xùn)課件
- 中考首字母填空練習(xí)67篇含答案
評(píng)論
0/150
提交評(píng)論