覃煒達(dá)
摘 要 C程序設(shè)計(jì)是理工科專業(yè)的一門很重要的基礎(chǔ)課程,本文結(jié)合作者的教學(xué)實(shí)踐經(jīng)驗(yàn)以結(jié)構(gòu)體數(shù)組的教學(xué)內(nèi)容為例就如何采用類比法進(jìn)行分析程序以提高此門課程的教學(xué)質(zhì)量進(jìn)行探討。
關(guān)鍵詞 C程序設(shè)計(jì) 教學(xué)質(zhì)量 探討
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A
C程序設(shè)計(jì)作為高校理工科專業(yè)一門重要的基礎(chǔ)課,這門課程的特點(diǎn)就是內(nèi)容較為抽象、定義和概念比較多,前后章節(jié)聯(lián)系緊密,環(huán)環(huán)相扣,相互滲透。教師在教授過(guò)程中如何講解書上的新的概念從而引導(dǎo)學(xué)生學(xué)會(huì)分析程序以及掌握程序設(shè)計(jì)思想促進(jìn)教學(xué)質(zhì)量的提高是值得執(zhí)教者探究的問(wèn)題。文獻(xiàn)[1-3]分別從課堂互動(dòng)、整合教學(xué)資源、移動(dòng)學(xué)習(xí)模式等三個(gè)方面來(lái)說(shuō)明如何提高課堂教學(xué)質(zhì)量。類比法也是提高課堂教學(xué)質(zhì)量一種重要方法,文獻(xiàn)[4-5]將類比法應(yīng)用到for循環(huán)教學(xué)、參數(shù)概念、遞歸思想等C程序設(shè)計(jì)有關(guān)章節(jié)教學(xué)內(nèi)容中。本文根據(jù)作者的教育教學(xué)經(jīng)驗(yàn),以文獻(xiàn)[6]結(jié)構(gòu)體數(shù)組的教學(xué)內(nèi)容為例,將難理解的編程思想同已學(xué)過(guò)的知識(shí)進(jìn)行類比,收到了良好的教學(xué)效果,下面結(jié)合相關(guān)的知識(shí)點(diǎn)介紹教學(xué)過(guò)程的開展。
結(jié)構(gòu)體數(shù)組對(duì)于初學(xué)者來(lái)說(shuō)是一個(gè)新的概念,但學(xué)生已經(jīng)學(xué)習(xí)并掌握了文獻(xiàn)[7]關(guān)系的屬性、關(guān)系中的元組及關(guān)系模式。為此,在教學(xué)中,可以通過(guò)關(guān)系的屬性和關(guān)系的元組類比結(jié)構(gòu)體數(shù)組的概念。
例:有n個(gè)學(xué)生的信息(包括學(xué)號(hào)、姓名、成績(jī)),要求按照成績(jī)的高低順序輸出各學(xué)生的信息。
解題思路:用結(jié)構(gòu)體數(shù)組存放n個(gè)學(xué)生信息,采用選擇法對(duì)各元素進(jìn)行排序(進(jìn)行比較的是各元素中的成績(jī))。
(1)i是整形數(shù)據(jù)并由0到4進(jìn)行取值。
(2)當(dāng)i等于0時(shí),輸出的是 stu[0].num,stu[0].name,stu[0].score的值,
而stu[0].num,stu[0].name,stu[0].score的值類比關(guān)系中第一個(gè)元組的各屬性(學(xué)號(hào)、姓名、成績(jī))的屬性值,所以輸出結(jié)果等于關(guān)系中第一個(gè)元組的各屬性(學(xué)號(hào)、姓名、成績(jī))的屬性值。
(3)當(dāng)i等于1時(shí),輸出的是 stu[1].num,stu[1].name,stu[1].score的值,而stu[1].num,stu[1].name,stu[1].score的值類比關(guān)系中第二個(gè)元組的各屬性(學(xué)號(hào)、姓名、成績(jī))的屬性值,所以輸出結(jié)果等于關(guān)系中第一個(gè)元組的各屬性(學(xué)號(hào)、姓名、成績(jī))的屬性值。
(4)同樣的方法分析當(dāng)i分別等于2,3,4時(shí)程序的輸出結(jié)果。
最后,把程序中的把聲明結(jié)構(gòu)體類型的語(yǔ)句
struct Student
{ int num; char name[20]; float score; ?};
與關(guān)系中的屬性(表1)進(jìn)行類比分析,并強(qiáng)調(diào):
(1)語(yǔ)句中的num、name、score分別類比于關(guān)系中的各屬性(學(xué)號(hào)、姓名、成績(jī))。
(2)結(jié)構(gòu)體中,成員表列定義的類型不同(學(xué)號(hào)定義為整型數(shù)據(jù),姓名為字符數(shù)組,成績(jī)?yōu)楦↑c(diǎn)型數(shù)據(jù)),在語(yǔ)句printf("%6d %8s %6.2f\n", stu[i].num,stu[i].name,stu[i].score)中,因?yàn)檩敵霰砹袑?duì)應(yīng)著結(jié)構(gòu)體的成員表列,所以輸出表列相對(duì)應(yīng)的格式聲明各不相同。
2使用類比法來(lái)分析程序運(yùn)行結(jié)果
將運(yùn)行結(jié)果(圖1)與關(guān)系中的元組(表1)進(jìn)行類比分析
并對(duì)程序設(shè)計(jì)的思想進(jìn)行概括總結(jié),加深學(xué)生對(duì)概念的理解,從而提高教學(xué)質(zhì)量。
基金項(xiàng)目:河池學(xué)院2019年A類教改課題立項(xiàng)(項(xiàng)目名稱:數(shù)學(xué)建模的思想融入統(tǒng)計(jì)學(xué)專業(yè)課堂教學(xué)的研究;項(xiàng)目編號(hào):2019EA003)。
參考文獻(xiàn)
[1] 張皓.C程序設(shè)計(jì)課程教學(xué)研究[J].教育現(xiàn)代化,2017:138-142.
[2] 孫敏.C語(yǔ)言程序設(shè)計(jì)教學(xué)內(nèi)容研究[J].教學(xué)革新,2018:32-33.
[3] 王瑞.移動(dòng)學(xué)習(xí)模式在C語(yǔ)言程序設(shè)計(jì)課程教學(xué)中的應(yīng)用[J].教學(xué)攬勝,2003:34-35.
[4] 許文芳.類比法在《C語(yǔ)言程序設(shè)計(jì)》教學(xué)中的運(yùn)用[J].電腦知識(shí)與技術(shù),2009:18-19.
[5] 程艷.《C語(yǔ)言程序設(shè)計(jì)》教學(xué)中“類比法”的運(yùn)用[J].教學(xué)攬勝,2003:34.
[6] 譚浩強(qiáng).C程序設(shè)計(jì)(第五版)[M].北京:清華大學(xué)出版社,2017:302.
[7] 陳志泊.數(shù)據(jù)庫(kù)原理及應(yīng)用教程(第4版)[M].北京:人民郵電出版社,2017:45-46.