鄧歡++陳振梅
摘要:程序設計基礎課程是高等院校學生的必修課程,對于程序初學者而言,不易理解和把握程序的復雜語法和程序的運行過程。為了促進學生理解、提高課堂效果,引入圖示法。以多表邏輯連接、變量作用域和參數傳遞為例展示了圖示法在程序語言教學中的應用,探討了圖示法對學生學習的輔助性作用。
關鍵詞:程序設計;圖示法;多表連接;變量作用域;參數傳遞
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)01-0131-03
Application of Graphic Method in Programming Language Teaching
DENG Huan, CHEN Zhen-mei
(Sichuan Medical University, Department of Biomedical Engineering, Luzhou 646000, China)
Abstract: Programming Language is compulsory subject in the university. The programming grammar and the running process are difficult for Beginner. Graphic method can help students to understand programming and improve the class effect. Application of graphic method in the fields of Logic link between tables, scope of variable and parameter transmission are showed in this paper, and the supplementary role of graphic method in teaching is discussed.
Key words: Programming; Graphic method; Multi table connection; Scope of variable; Parameter transmission
1 概述
為了提高高等院校學生的計算機水平,根據高等學校計算機基礎課程教學基本要求,在我國的高等院校中,計算機基礎教學的課程設置為“2+x”的模式,其中“2”代表大學計算機基礎和程序設計基礎這兩門必修課。在我校的非計算機專業學生中,開設的程序設計基礎課程為《VFP程序設計》。在為非計算機專業學生授課過程中,筆者發現由于程序設計教學中,由于大部分學生初次接觸命令和程序,命令的語法和程序的結構對于初學者而言太過抽象,難于理解,很多學生因為對程序的運行過程不清晰,直接造成了對編程理解的混亂。在教學過程中,筆者應用了“圖示法”給學生講解程序,有助于為學生理清思路,獲得了較好的教學效果。
2 圖示法的應用
2.1 圖示法的基本含義
“圖示法”是一種以圖形為主要手段,揭示事物本質和聯系,激發學生思維,促進知識掌握,加快教學進程的教學策略。應用圖示法教學,使抽象問題清晰化,復雜的問題條理化,有利于學生對知識的整體掌握,提高學習效率。下面以多工作區的表連接操作、變量的作用域和主程序與子程序的參數傳遞三個知識點為例,說明圖示法在VFP程序設計中的使用。
2.2 多表邏輯關聯
在VFP中,一個工作區只能打開一張表,如果需要同時打開多張表操作,其中常用的方法是在多個工作區將表分別打開,再建立相互的邏輯關聯。這是學生首次接觸“多表聯合操作”的概念,由于在多表連接操作命令中涉及的操作元素多,在學習過程中容易發生與單表操作混淆、漏寫或錯寫命令子句的錯誤,借助圖示法可以將其中的邏輯關系展示清楚,有助于命令的正確書寫。
在建立表的邏輯關聯中,需要確定的因素有:
1選擇兩表的相同字段作為關鍵字;
2確定主表、從表;
3確定主從表的對應關系。
根據這幾個關鍵因素,兩表關聯的圖示法可以作如下設計,如圖1所示。
其中,方框“主表”、“從表”位置填寫已經確定的主表和從表的名稱,“關聯字段”填寫具有相同值的字段,“<1/多>”填寫主表和從表基于關聯字段的對應關系。
圖1
例如有兩張表,表結構為:學生(學號,姓名,性別,班級),成績(學號,課程號,成績),若選擇學生表為主表,成績表為從表,它們基于關聯字段“學號”的對應關系為一對多,則用圖示法可以表示如圖2所示。
從本例可以看出,相對文字描述,圖示法更清晰明了地表示了兩張表的邏輯關系,展現了確立關聯時的操作元素,有利于命令的理解和書寫。另外根據操作情況,還可以有選擇地在圖中分別標注主表和從表打開的工作區區號,如果在程序中存在工作區切換的情況,這樣的標識會更有助于操作命令的理解和書寫。
圖2
2.3變量的作用域
在多模塊程序設計中,主調程序(主程序)和被調程序(子程序)之間需要以一定的方法傳遞變量的值,內存變量的作用域是主程序和子程序共享內存信息的一種形式。根據變量的名稱相同但作用的范圍不同,變量的作用域有以下4種類型:
1主定子用:凡是主程序定義的變量,子程序可用可改,并且主程序會同步修改。反之,子程序定義的變量主程序是不可使用的。
2公有變量:用PUBLIC聲明的變量為公有變量。該類型的變量各級程序都能直接使用和修改。
3局部變量:用PRIVATE聲明的變量為局部變量。該類型的變量只在聲明為PRIVATE的本級程序及其下級程序中共同使用和修改,而其上級程序被屏蔽了修改結果。
4本地變量:用LOCAL聲明的變量為本地變量。該類型的變量屏蔽了其所有的上級和下級程序,只在本程序段起作用。
根據變量的作用域范圍的不同,在圖示法中,以下列形式表示:
其中以雙向箭頭?代表PUBLIC變量,表示變量值各級程序均可共享;單向箭頭→代表PRIVATE變量,表示變量值由主調程序向下級被調程序共享,以短橫線–代表LOCAL變量,表示變量值的改變僅本程序段有效,不與上級主調程序和下級被調程序共享。沒有打上作用域標記的變量則必須滿足“主定子用”的原則。
下面以四川省第34次二級考試的真題為例,題目如圖3所示:
圖3
在主程序main和子程序sub1間,要共享兩個變量k1和k2的值,其中k2滿足主定子用的原則,而k1是private類型變量,需要由特殊符號→表示,根據題目,用圖示法表示如圖4所示。
圖4
由圖示法可以清晰地看出,由于k1是private變量,所以在子程序sub1調用完成后,k1的值不會回傳到主程序main。
2.4 參數傳遞
參數傳遞是主程序和子程序之間另一種變量值的共享方式。主程序作為參數的發送方,使用命令 do <子程序名> with <參數列表1> ,參數為實際參數,簡稱實參。子程序作為參數的接收方,使用命令 parameter <參數列表2> 來依次接收主程序傳遞過來的參數值,參數為形式參數,簡稱形參。
當實參為變量名稱時,對應形參所做的修改在程序結束后會返回給主程序,為雙向傳遞。而當實參為其他形式,如常量、表達式、數組變量等形式時,對應形參所做的修改則不會返回給主程序,為單向傳遞。根據該特點,在圖示法中以表示雙向箭頭?表示雙向傳遞,以單向箭頭→表示單向傳遞。下面以四川省計算機第35次等級考試筆試真題為例說明圖示法的使用,題目見圖5所示。
圖5
在題目中,主程序向子程序傳遞了兩個實參x1和x1+x2,子程序對應由形參y1和y2接收其值。但由于實參中只有x1是變量名,滿足地址傳遞的要求,因此在子程序執行完成后,只有x1對應的形參y1會返回修改值給x1。將上述分析過程用圖示法表示,如圖6所示。
圖6
3 總結
“圖示法”是一種輔助教學方法,直觀形象地表示教學內容各部分之間的聯系,幫助學生整理思路,深刻理解和記憶教學內容。多次的課堂教學反應情況也表明,使用圖示法講解程序所獲得的教學效果比直接灌輸理論知識更好。
在使用圖示法時,應本著“簡單明了”的原則,太過復雜的圖示反而會使學生陷入更加困惑的境地[4],并不是所有的問題都能以圖示法表示和解決,因此教師在教學時要根據實際需要決定是否使用圖示法。
參考文獻:
[1]汪紅兵,姚琳.C++語言中函數參數傳遞方式的圖示說明[J].計算機教育,2010,2(4):96-99.
[2]張承虎,康曉宇,婁坤.醫學院校工科專業計算機教學的探討[J].中國成人教育,2006(10):141.
[3]孫晉飛,管紅杰.在程序設計中培養學生鉆研創新精神的探索[J].2010,2(4).
[4]王健華.成本會計教學方法新探-圖示法.財會月刊[J].2010,11(103).