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