《C語言程序設(shè)計案例教程 》課件-第4篇 數(shù)據(jù)處理_第1頁
《C語言程序設(shè)計案例教程 》課件-第4篇 數(shù)據(jù)處理_第2頁
《C語言程序設(shè)計案例教程 》課件-第4篇 數(shù)據(jù)處理_第3頁
《C語言程序設(shè)計案例教程 》課件-第4篇 數(shù)據(jù)處理_第4頁
《C語言程序設(shè)計案例教程 》課件-第4篇 數(shù)據(jù)處理_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計案例教程授課教師:XXX

授課日期:20XXx月x日數(shù)據(jù)處理本篇重點:1)掌握數(shù)組的相關(guān)知識。2)掌握大量數(shù)據(jù)的搜索算法。3)掌握大量數(shù)據(jù)的冒泡排序方法。4)掌握結(jié)構(gòu)體的應(yīng)用。5)掌握文件處理的基本操作。6)學(xué)會利用函數(shù)組織程序。Case1收拾整理—數(shù)組的應(yīng)用收拾整理—數(shù)組的應(yīng)用任務(wù)描述:有一堆數(shù):如何把它們提交給計算機(jī)保存并進(jìn)行相應(yīng)的處理(如輸出)?收拾整理—數(shù)組的應(yīng)用相關(guān)知識:數(shù)據(jù)結(jié)構(gòu)+算法=程序,這個公式說明,程序設(shè)計首先要考慮數(shù)據(jù)的存放問題。1.數(shù)組的概念在程序設(shè)計中,為了方便處理,把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。因此,按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組(字符串)、結(jié)構(gòu)數(shù)組等。收拾整理—數(shù)組的應(yīng)用2.一維數(shù)組的使用使用數(shù)組與使用變量一樣,也要先定義后使用。一維數(shù)組定義的一般格式:類型說明符數(shù)組名[常量表達(dá)式];收拾整理—數(shù)組的應(yīng)用3.注意事項使用數(shù)組時要注意以下幾點:1)數(shù)組的類型實際上是指數(shù)組元素的取值類型。對于同一個數(shù)組,其所有元素的數(shù)據(jù)類型都是相同的。2)數(shù)組名的命名規(guī)則應(yīng)符合標(biāo)識符的命名規(guī)定。3)數(shù)組名不能與其他變量名相同。收拾整理—數(shù)組的應(yīng)用4)方括號中的常量表達(dá)式表示數(shù)組元素的個數(shù),如a[5]表示數(shù)組a有5個元素。其下標(biāo)從0開始計算,因此這5個元素分別為a[0]、a[1]、a[2]、a[3]、a[4]。5)允許在同一個類型說明中,定義多個數(shù)組和變量。收拾整理—數(shù)組的應(yīng)用4.一維數(shù)組的使用數(shù)組元素是組成數(shù)組的基本單元。數(shù)組元素也是一種變量,其標(biāo)識方法為數(shù)組名后跟一個下標(biāo)。下標(biāo)表示了元素在數(shù)組中的順序號。使用一維數(shù)組元素的一般格式為:數(shù)組名[下標(biāo)]收拾整理—數(shù)組的應(yīng)用5.一維數(shù)組的初始化除了用賦值語句對數(shù)組元素逐個賦值外,還可采用初始化賦值的方法。數(shù)組初始化賦值是指在定義數(shù)組時給數(shù)組元素賦予初值。數(shù)組初始化是在編譯階段進(jìn)行的,這樣可以減少運行時間,提高效率。一維數(shù)組初始化賦值的一般格式為:類型說明符數(shù)組名[常量表達(dá)式]={值,值……值};收拾整理—數(shù)組的應(yīng)用活動指南:1)分團(tuán)隊討論任務(wù)提出的問題。2)搶答。3)老師點評。4)進(jìn)行程序設(shè)計并上機(jī)調(diào)試運行。①數(shù)據(jù)結(jié)構(gòu)。申請一個帶10個數(shù)組元素的數(shù)組來保存這10個實數(shù),參考語句如下:②數(shù)據(jù)的處理。收拾整理—數(shù)組的應(yīng)用可通過鍵盤輸入的方式實現(xiàn)數(shù)組賦值,一般使用for循環(huán)來實現(xiàn),參考語句如下:界面要求參考如圖所示。收拾整理—數(shù)組的應(yīng)用我來試一試:輸入10名同學(xué)的數(shù)學(xué)成績,計算平均成績并在屏幕上顯示。提示:1)數(shù)據(jù)結(jié)構(gòu)。定義一個浮點型數(shù)組math[10],申請一個計算總成績的浮點型變量total并賦初始值,申請一個浮點型變量ave來保存平均分。參考語句如下:收拾整理—數(shù)組的應(yīng)用2)算法分析。①接收用戶輸入10個學(xué)生的數(shù)學(xué)成績,并存放在數(shù)組math[10]中。②累加求出總成績total,參考程序段如下:③利用總成績total除以總?cè)藬?shù),求出平均成績ave。④輸出平均成績ave。3)界面參考如圖所示。收拾整理—數(shù)組的應(yīng)用我來歸納:1)數(shù)組是用來存放相同數(shù)據(jù)類型的值的列表。2)要用下標(biāo)來訪問數(shù)組的單個元素,下標(biāo)從0開始。3)如果想遍歷數(shù)組的每一個元素(輸入、輸出或進(jìn)行處理),則可以用循環(huán)來實現(xiàn)。4)在數(shù)組中,不要使用比所定義的長度更多的元素。5)使用數(shù)組前一定要進(jìn)行量化的操作。Case2捉迷藏—數(shù)據(jù)搜索捉迷藏—數(shù)據(jù)搜索任務(wù)描述:在一個二維字符數(shù)組name_list[10][10]中保存了奇葩團(tuán)隊的10個成員名單,如:相關(guān)知識:1.二維數(shù)組charname_list[10][10]是一個二維的字符類型數(shù)組。二維數(shù)組定義的一般格式是:捉迷藏—數(shù)據(jù)搜索定義一個一維的字符數(shù)組:charname[10]="liming";,那么這個字符數(shù)組name一次只能保存一個名字。空間分配圖如圖所示。捉迷藏—數(shù)據(jù)搜索它代表可以保存3個字符個數(shù)小于10的名字,內(nèi)存空間分配圖如圖所示。從圖可以看出,使用以下語句就可以實現(xiàn)一個團(tuán)隊名單的錄入(設(shè)一個團(tuán)隊有6人)。捉迷藏—數(shù)據(jù)搜索2.數(shù)據(jù)搜索(1)數(shù)據(jù)搜索的概念數(shù)據(jù)搜索也叫數(shù)據(jù)查詢,是指根據(jù)查詢要求從一個計算機(jī)文件或數(shù)據(jù)庫中提取所需要的數(shù)據(jù)的技術(shù),是數(shù)據(jù)處理的基本技術(shù)之一。(2)兩種數(shù)據(jù)查找方法1)順序查找。2)二分查找。捉迷藏—數(shù)據(jù)搜索活動指南:1)數(shù)據(jù)分析。團(tuán)隊成員的名單已通過數(shù)組初始化的方式保存在一個二維字符數(shù)組name_list里,這些名字是隨機(jī)排列的。2)算法分析。根據(jù)數(shù)據(jù)分析確定數(shù)據(jù)查找的方法——順序查找。3)實現(xiàn)步驟如下:①變量的申請。可以設(shè)置接收查找名字的關(guān)鍵字變量nameSearch,控制數(shù)組循環(huán)的變量i,參考語句如下:捉迷藏—數(shù)據(jù)搜索②從鍵盤接收輸入的姓名,利用順序查找的方法查找名字,參考語句如下:4)程序參考界面如圖所示。Case3排隊—數(shù)據(jù)排序排隊—數(shù)據(jù)排序任務(wù)描述:把從鍵盤輸入的10個數(shù)按從小到大的順序輸出。相關(guān)知識:1.排序的概念排序是計算機(jī)內(nèi)經(jīng)常要進(jìn)行的一種操作,其目的是將一組“無序”的記錄序列調(diào)整為“有序”的記錄序列,分內(nèi)部排序和外部排序兩種。2.冒泡排序已知一組無序數(shù)據(jù)a[1]、a[2]、……、a[n],需要將其按升序排列。首先,比較a[1]與a[2]的值,若a[1]大于a[2]則交換兩者的值,否則不變。再比較a[2]與a[3]的值,若a[2]大于a[3]則交換兩者的值,否則不變。再比較a[3]與a[4],以此類推,最后比較a[n-1]與a[n]的值排隊—數(shù)據(jù)排序活動指南:1)數(shù)據(jù)分析。申請一個長度為10的整型數(shù)組保存輸入的數(shù)據(jù),參考語句如下:申請一個中間變量進(jìn)行數(shù)據(jù)交換,申請兩個整型變量來控制循環(huán),參考語句如下:2)輸入數(shù)據(jù)部分設(shè)計,參考語句如下:排隊—數(shù)據(jù)排序3)數(shù)據(jù)處理部分設(shè)計。利用冒泡排序的方法對數(shù)據(jù)進(jìn)行排序,參考語句如下:4)輸出結(jié)果設(shè)計,參考語句如下:5)程序界面參考如圖所示。排隊—數(shù)據(jù)排序我來試一試:在上面活動中的每個數(shù)的前面加上姓名(如組成學(xué)生成績),那么如何實現(xiàn)帶姓名的成績從小到大的排列顯示?假設(shè)有成績表(見表4-1):程序運行的參考界面如圖所示。我來歸納:1)計算機(jī)數(shù)據(jù)處理的一個重要環(huán)節(jié)就是排序。2)冒泡排序算法可以實現(xiàn)數(shù)組數(shù)據(jù)的有序排列。Case4名片—結(jié)構(gòu)體的應(yīng)用名片—結(jié)構(gòu)體的應(yīng)用任務(wù)描述:卡片處理:將以下3張卡片的內(nèi)容保存到計算機(jī)中,當(dāng)用戶輸入一個卡號或姓名時,就能找到對應(yīng)卡號的個人信息并顯示。名片—結(jié)構(gòu)體的應(yīng)用相關(guān)知識:下面先來感受一個畫面,如圖所示。同樣都是積木,可給人的感覺卻完全不一樣。左邊畫面的積木零散沒有組織,右邊畫面的積木卻是有組織的組合在一起,形成了一個明確的整體,因而積木在右邊畫面中顯示了一些積木特有的性質(zhì)與作用。名片—結(jié)構(gòu)體的應(yīng)用1.結(jié)構(gòu)體的概念在實際問題中,一組數(shù)據(jù)往往具有不同的數(shù)據(jù)類型。2.結(jié)構(gòu)體的構(gòu)造構(gòu)造一個結(jié)構(gòu)體的一般格式為:3.結(jié)構(gòu)類型變量的定義定義結(jié)構(gòu)變量有以下3種方法,下面用上面定義的structstu為例來加以說明。1)先構(gòu)造結(jié)構(gòu)體,再定義結(jié)構(gòu)變量。2)在構(gòu)造結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)變量。3)直接定義結(jié)構(gòu)體類型變量。名片—結(jié)構(gòu)體的應(yīng)用4.結(jié)構(gòu)變量的引用在程序中使用結(jié)構(gòu)變量時,往往不把它作為一個整體來使用,但在ANSIC編譯系統(tǒng)中允許具有相同類型的結(jié)構(gòu)變量相互賦值。而對結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、運算等都是通過結(jié)構(gòu)變量的成員來實現(xiàn)的。引用結(jié)構(gòu)體變量成員的一般格式是:例如:名片—結(jié)構(gòu)體的應(yīng)用5.結(jié)構(gòu)變量的初始化和其他類型變量一樣,結(jié)構(gòu)體變量也可以在定義時指定初始值。名片—結(jié)構(gòu)體的應(yīng)用6.結(jié)構(gòu)體變量的賦值結(jié)構(gòu)體變量的賦值就是給各成員賦值,可用輸入語句或賦值語句來完成。上例程序可以改為:名片—結(jié)構(gòu)體的應(yīng)用7.結(jié)構(gòu)體數(shù)組的定義數(shù)組的類型可以是結(jié)構(gòu)體類型,因此可以構(gòu)建結(jié)構(gòu)型數(shù)組。結(jié)構(gòu)數(shù)組的每一個元素都是具有相同結(jié)構(gòu)類型的下標(biāo)結(jié)構(gòu)變量。名片—結(jié)構(gòu)體的應(yīng)用8.結(jié)構(gòu)體數(shù)組的具體應(yīng)用例1:計算學(xué)生的平均成績和不及格的人數(shù),代碼如下。名片—結(jié)構(gòu)體的應(yīng)用8.結(jié)構(gòu)體數(shù)組的具體應(yīng)用例1:計算學(xué)生的平均成績和不及格的人數(shù),代碼如下。名片—結(jié)構(gòu)體的應(yīng)用活動指南:1.數(shù)據(jù)分析3張卡片的內(nèi)容固定,卡片信息獨立,可使用結(jié)構(gòu)體數(shù)組的形式來保存這3張卡片的內(nèi)容,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)本任務(wù)要根據(jù)輸入的關(guān)鍵字(姓名或序號)查找卡片信息,由于姓名和序號是兩個不同類型的數(shù)據(jù),所以輸入時要分開提示,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)本任務(wù)要根據(jù)輸入的關(guān)鍵字(姓名或序號)查找卡片信息,由于姓名和序號是兩個不同類型的數(shù)據(jù),所以輸入時要分開提示,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2)卡片信息的搜索使用順序查找法,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2)卡片信息的搜索使用順序查找法,參考語句如下:3.運行程序上機(jī)調(diào)試,運行程序,程序運行結(jié)果參考界面如圖所示。名片—結(jié)構(gòu)體的應(yīng)用我來試一試:用結(jié)構(gòu)體類型改寫前面做過的學(xué)生成績表排序程序。要求計算每個學(xué)生的總分,并按總分進(jìn)行排名。學(xué)生成績表見表4-2。提示:1.數(shù)據(jù)分析創(chuàng)建學(xué)生成績記錄結(jié)構(gòu),內(nèi)容包括:姓名,成績1,成績2,總分,名次。參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)輸入學(xué)生成績,并進(jìn)行總分統(tǒng)計,參考語句如下:2)數(shù)據(jù)處理,按總分進(jìn)行排序(冒泡排序),參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2)數(shù)據(jù)處理,按總分進(jìn)行排序(冒泡排序),參考語句如下:3)輸出排序后的結(jié)果,界面參考如圖所示。名片—結(jié)構(gòu)體的應(yīng)用我來歸納:1)結(jié)構(gòu)是一種構(gòu)造數(shù)據(jù)類型,它允許由兩個或多個屬于不同或相同的數(shù)據(jù)類型的成員組成,形成一個獨立的邏輯單元。2)同一結(jié)構(gòu)的成員存儲在相鄰的內(nèi)存單元中。3)結(jié)構(gòu)聲明通常放在程序的開始部分,位于頭文件之后。4)使用“結(jié)構(gòu)體變量名.成員名”的方式訪問結(jié)構(gòu)成員。5)可對結(jié)構(gòu)體變量進(jìn)行直接的賦值運算。6)數(shù)組元素的類型為結(jié)構(gòu)的數(shù)組稱為結(jié)構(gòu)數(shù)組。Case5珍藏—數(shù)據(jù)的存儲名片—結(jié)構(gòu)體的應(yīng)用任務(wù)描述:把從鍵盤輸入的10個學(xué)生的成績保存到硬盤的exam.dat文件里。相關(guān)知識:如圖所示,又帶來一個主題清晰的畫面——存錢。1.以文件的方式存儲數(shù)據(jù)文件是程序設(shè)計中的一個重要概念。“文件”一般是指存儲在外部介質(zhì)上的數(shù)據(jù)的集合。(1)C文件的本質(zhì)從操作系統(tǒng)的角度來看,每一個與主機(jī)相連的輸出輸入設(shè)備都看作是一個文件。名片—結(jié)構(gòu)體的應(yīng)用(2)C文件規(guī)定在C語言中,沒有輸入輸出語句,對文件的讀寫都是用庫函數(shù)來實現(xiàn)的。ANSI規(guī)定了標(biāo)準(zhǔn)輸入輸出函數(shù),用它們對文件進(jìn)行讀寫。(3)C文件操作(數(shù)據(jù)存儲方式)在C程序中使用文件,需要完成以下4步操作(簡稱4步法)。第1步:要聲明一個FILE*類型的變量(也叫文件指針變量)。第2步:要使用fopen()函數(shù)打開文件。打開一個具體的文件(有相應(yīng)的文件名),并指明該文件是用于輸入還是輸出。第3步:調(diào)用stdio.h中的函數(shù)完成對文件的讀寫操作。第4步:調(diào)用fclose()函數(shù)關(guān)閉文件。這名片—結(jié)構(gòu)體的應(yīng)用活動指南:1.數(shù)據(jù)分析輸入10個學(xué)生的成績,并保存,使用一個變量來接收即可,參考語句如下:要輸入10個數(shù),最好用循環(huán)來控制,申請控制循環(huán)的變量:文件操作的文件指針變量:名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)輸入處理:一邊輸入數(shù)據(jù)一邊進(jìn)行保存,參考語句如下:2)界面設(shè)計。程序運行結(jié)果參考如圖所示。名片—結(jié)構(gòu)體的應(yīng)用我來試一試:在以上任務(wù)中的每個成績前加上一個姓名,那么如何進(jìn)行保存?提示:數(shù)據(jù)的處理增加了一個字符串?dāng)?shù)組:那么,文件保存的語句應(yīng)修改為:程序運行結(jié)果參考如圖所示。名片—結(jié)構(gòu)體的應(yīng)用我來歸納:1)文件是數(shù)據(jù)存儲的主要方式。2)在C語言中,文件的存儲以字節(jié)為單位,稱為流文件。3)C語言對文件的操作要經(jīng)過4步。第1步:申請文件指針變量。第2步:文件打開。第3步:文件操作(讀或?qū)懀5?步:文件關(guān)閉。4)文件操作的函數(shù)都包含在庫文件“stdio.h”中。5)用fprintf()函數(shù)可以實現(xiàn)指定格式數(shù)據(jù)的保存操作。Case6汲取—文件的讀取名片—結(jié)構(gòu)體的應(yīng)用任務(wù)描述:假如在file1.txt文件中有如下難確定個數(shù)的數(shù)據(jù),如圖所示。相關(guān)知識:文件的讀取使用fscanf()函數(shù),它的一般格式是:fscanf(文件指針變量,格式字符串,輸入表列);數(shù)據(jù)分析如在F盤下有一個圣誕字符畫文件(mydata1.dat),如圖所示。名片—結(jié)構(gòu)體的應(yīng)用第1步:申請文件指針變量。第2步:打開文件。第3步:如果文件存在,則讀取文件內(nèi)容;如果文件不存在,則報錯。第4步:關(guān)閉文件。fclose(fptr);名片—結(jié)構(gòu)體的應(yīng)用綜合起來,整個程序代碼如下:程序運行的結(jié)果如圖所示。名片—結(jié)構(gòu)體的應(yīng)用活動指南:1.數(shù)據(jù)分析文件的內(nèi)容是整型數(shù)據(jù),所以要申請整型的變量來保存讀出的數(shù)據(jù),參考語句如下:申請文件指針:FILE*fp;。保存總數(shù)大小的變量:inttotal=0;。數(shù)據(jù)較多,一行一般顯示不下,因此申請變量i來控制一行顯示的個數(shù):名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)文件操作,參考語句如下:2)輸出結(jié)果設(shè)計。名片—結(jié)構(gòu)體的應(yīng)用3.運行程序上機(jī)調(diào)試、運行程序,程序界面參考如圖所示。名片—結(jié)構(gòu)體的應(yīng)用我來試一試:讀取file2.txt文件中的數(shù)據(jù),把它們放入結(jié)構(gòu)體數(shù)組里進(jìn)行總分從大到小的排序輸出,并保存在file3.txt文件中。file2.txt文件中的數(shù)據(jù)如圖所示。1.數(shù)據(jù)分析讀取的數(shù)據(jù)結(jié)構(gòu)是一個記錄集合,要用結(jié)構(gòu)體數(shù)組來保存,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2.算法分析1)把從文件讀出的數(shù)據(jù)放入結(jié)構(gòu)體數(shù)組中,參考語句如下:名片—結(jié)構(gòu)體的應(yīng)用2)數(shù)據(jù)排序。3)復(fù)制排序結(jié)果(相當(dāng)于文件的寫操作),參考語句如下:我來歸納:1)fscanf()函數(shù)可以實現(xiàn)文件的讀取操作。2)文件讀取之前,使用指向文件的指針變量是否等于NULL來判斷文件是否存在。3)文件讀取時要使用feof()函數(shù)來判斷文件是否結(jié)束。Case7組織管理—用函數(shù)組織程序組織管理—用函數(shù)組織程序任務(wù)描述:讀如下程序,找出與以往程序不同的地方。組織管理—用函數(shù)組織程序任務(wù)描述:讀如下程序,找出與以往程序不同的地方。組織管理—用函數(shù)組織程序相關(guān)知識:1.結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計(structuredprogramming)是進(jìn)行以模塊功能和處理過程設(shè)計為主的詳細(xì)設(shè)計的基本原則,其概念最早由迪克斯特拉(E.W.Dijikstra)在1965年提出,是軟件發(fā)展的一個重要里程碑。(1)結(jié)構(gòu)化程序設(shè)計的基本要點1)采用自頂向下,逐步求精的程序設(shè)計方法。2)使用3種基本控制結(jié)構(gòu)構(gòu)造程序。3)主程序員組的組織形式指開發(fā)程序的人員組織方式應(yīng)以一個主程序員。組織管理—用函數(shù)組織程序(2)結(jié)構(gòu)化程序設(shè)計的特點結(jié)構(gòu)化程序中的任意基本結(jié)構(gòu)都具有唯一的入口和出口,并且程序不會出現(xiàn)死循環(huán)。寫書結(jié)構(gòu)圖如圖所示。組織管理—用函數(shù)組織程序2.函數(shù)(1)函數(shù)的定義1)函數(shù)的傳統(tǒng)定義:設(shè)在某變化過程中有兩個變量x、y,如果對于x在某一范圍內(nèi)的每一個確定的值,y都有唯一確定的值與它對應(yīng),那么就稱y是x的函數(shù),x叫作自變量。2)函數(shù)在程序設(shè)計中的定義:C源程序是由函數(shù)組成的,雖然在前面各案例的程序中大都只有一個主函數(shù),但實際程序往往由多個函數(shù)組成。(2)無參函數(shù)無參函數(shù)定義的一般格式如下:組織管理—用函數(shù)組織程序(3)有參函數(shù)有參函數(shù)定義的一般格式如下:3.函數(shù)的使用(函數(shù)調(diào)用)無參函數(shù)調(diào)用的一般格式為:4.局部變量和全局變量C語言中所有的變量都有自己的作用域。變量說明的方式不同,其作用域也不同。C語言中的變量,按作用域范圍可分為兩種,即局部變量和全局變量。組織管理—用函數(shù)組織程序活動指南:1)在VC6.0平臺上把上述程序輸入并進(jìn)行調(diào)試、運行,觀察程序運行效果。2)分團(tuán)隊討論程序的結(jié)構(gòu)與以往的程序有什么不同。3)以團(tuán)隊的方式來回答以下問題:①這個程序完成了什么功能?②程序設(shè)計有什么特色?③采用了什么數(shù)據(jù)結(jié)構(gòu)來保存和處理數(shù)據(jù),各種變量的作用域范圍一樣嗎?④程序采用了什么樣的結(jié)構(gòu)來進(jìn)行設(shè)計,與以往的程序設(shè)計比較,它有什么好處?⑤有沒有更好的處理方法?4)畫出函數(shù)調(diào)用的線路圖。5)以團(tuán)隊的方式探討改進(jìn)此程序的更好的算法。6)教師對各環(huán)節(jié)學(xué)生的表現(xiàn)及時進(jìn)行點評。組織管理—用函數(shù)組織程序我來歸納:1)結(jié)構(gòu)化程序中的任意基本結(jié)構(gòu)都具有唯一的入口和出口,并且程序不會出現(xiàn)死循環(huán)。2)結(jié)構(gòu)化程序設(shè)計采用的方法:①自頂向下。②逐步細(xì)化。③模塊化設(shè)計。④結(jié)構(gòu)化編碼。3)函數(shù)是程序中的一個相對獨立的單元或模塊,可以實現(xiàn)結(jié)構(gòu)化程序設(shè)計的思想。4)自定義函數(shù)是用戶在程序中根據(jù)需要自行編寫的函數(shù)。5)函數(shù)要先定義后使用。Case8快樂生活—班級學(xué)生期末成績處理綜合演練快樂生活—班級學(xué)生期末成績處理綜合演練任務(wù)描述:以團(tuán)隊合作的方式完成對指定班級(如1、2或3班)的學(xué)生期末考試成績(至少3科成績)進(jìn)行總分排名的操作。程序要實現(xiàn)以下功能:1)直接從創(chuàng)建好的班級成績表文件(stu1.dat、stu2.dat或stu3.dat)中讀取數(shù)據(jù)。2)對指定班級成績表進(jìn)行如下操作:①對每位同學(xué)進(jìn)行成績匯總。②按總分進(jìn)行從高到低的排序,并記錄各同學(xué)的名次。3)把對應(yīng)班級排序好后的結(jié)果保存到另一文件(paixu1.txt、paixu2.txt或paixu3.txt)中。4)在屏幕上顯示對應(yīng)班級成績排序后的結(jié)果。快樂生活—班級學(xué)生期末成績處理綜合演練相關(guān)知識:軟件設(shè)計是一個將需求轉(zhuǎn)變?yōu)檐浖愂觯ū磉_(dá))的過程。1.任務(wù)軟件設(shè)計的任務(wù)是從軟件需求規(guī)格說明書出發(fā),根據(jù)需求分析階段確定的功能設(shè)計軟件系統(tǒng)的整體結(jié)構(gòu)、劃分功能模塊、確定每個模塊的實現(xiàn)算法以及編寫具體的代碼,形成軟件的具體設(shè)計方案。2.設(shè)計階段(1)概要設(shè)計概要設(shè)計階段主要包括以下幾點:1)結(jié)構(gòu)設(shè)計。 2)接口設(shè)計。3)全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計。4)過程設(shè)計。(2)詳細(xì)設(shè)計快樂生活—班級學(xué)生期末成績處理綜合演練3.設(shè)計要素軟件設(shè)計包括軟件的結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計和過程設(shè)計。1)結(jié)構(gòu)設(shè)計:定義軟件系統(tǒng)各主要部件之間的關(guān)系。2)數(shù)據(jù)設(shè)計:將模型轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的定義。3)接口設(shè)計:軟件內(nèi)部,軟件和操作系統(tǒng)間以及軟件和人之間如何進(jìn)行通信。4)過程設(shè)計:系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。快樂生活—班級學(xué)生期末成績處理綜合演練4.指導(dǎo)方針1)設(shè)計應(yīng)該展現(xiàn)層次結(jié)構(gòu),使得軟件各部分之間的控制更優(yōu)。2)設(shè)計應(yīng)當(dāng)模塊化,也就是說,軟件應(yīng)在邏輯上劃分為實現(xiàn)特定功能和實現(xiàn)子功能兩部分。3)設(shè)計應(yīng)當(dāng)由清晰且可分離的數(shù)據(jù)和過程表達(dá)來構(gòu)成。4)設(shè)計應(yīng)使得模塊展現(xiàn)獨立的功能特性。5)設(shè)計應(yīng)使得界面可以降低模塊之間以及與外部環(huán)境的連接的復(fù)雜性。快樂生活—班級學(xué)生期末成績處理綜合演練活動指南:1.分配任務(wù)1)信息的采集與整理。創(chuàng)建相關(guān)信息文件,包括程序介紹PPT、各班級學(xué)生期末考試成績信息文件(stu1.dat、stu2.dat、stu3.dat)。(1~2人)2)程序分5塊完成。①程序展示界面(包括團(tuán)隊標(biāo)志、口號、團(tuán)隊人員分工信息等)文件的創(chuàng)建(xuelogo.txt),并用程序?qū)崿F(xiàn)以文件讀取的方式完成界面的動態(tài)展示功能。(1人)②指定班級的學(xué)生期末考試成績信息文件數(shù)據(jù)讀入部分的程序設(shè)計。(1人)③各學(xué)生按總分進(jìn)行從大到小的排序處理的程序設(shè)計。(1人)④設(shè)計排名后的學(xué)生成績保存程序(文件操作)。(1人)⑤設(shè)計排名后的學(xué)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論