亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        定時關(guān)機程序在C語言教學(xué)中的應(yīng)用

        2015-03-28 01:53:48翁省輝吳方
        電子設(shè)計工程 2015年15期
        關(guān)鍵詞:案例課程教學(xué)

        翁省輝,吳方

        (北京理工大學(xué)珠海學(xué)院計算機學(xué)院,廣東珠海519085)

        C語言作為程序設(shè)計的入門課程,我校各理工科專業(yè)均有開設(shè)。該課程的主要目的是培養(yǎng)學(xué)生的計算思維能力,初步掌握程序設(shè)計和程序?qū)崿F(xiàn)方法,對培養(yǎng)學(xué)生程序設(shè)計基本思想、利用計算機求解問題能力有著重要的意義[1-2]。

        本文針對學(xué)生在學(xué)習(xí)該課程中普遍存在的一些問題,探討以漸進(jìn)式案例教學(xué)為主線的模式,使學(xué)生更容易掌握課程知識點。本次探討并不是完全放棄傳統(tǒng)的教學(xué)方式,而是將兩者有機結(jié)合,教學(xué)過程中將案例教學(xué)融入傳統(tǒng)教學(xué)中[3]。

        1 目前存在的一些問題

        1.1 知識點多、學(xué)時較少

        以北京理工大學(xué)珠海學(xué)院面向全校非計算機專業(yè)開設(shè)的C語言程序設(shè)計課程為例,該課程重點講授計算機基礎(chǔ)、進(jìn)制轉(zhuǎn)換、C語言簡介、編程環(huán)境、基本數(shù)據(jù)類型、標(biāo)識符、運算符、輸入輸出、順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、字符串、函數(shù)等內(nèi)容,而課程學(xué)時為48學(xué)時。

        1.2 知識枯燥、興趣不大

        由于課程性質(zhì)以及學(xué)時等原因,傳統(tǒng)教學(xué)容易出現(xiàn)注重語法算法知識,輔以例題講解,學(xué)生被動地接受知識[4]。這類方法雖能較好地保證知識的系統(tǒng)性,但是容易導(dǎo)致學(xué)生死記硬背知識點、學(xué)習(xí)興趣不大、掌握知識不牢固等問題,不能充分發(fā)揮學(xué)生學(xué)習(xí)的興趣,導(dǎo)致教學(xué)效果較差。

        1.3 案例不當(dāng)、學(xué)習(xí)迷茫

        教材中的傳統(tǒng)案例多數(shù)以數(shù)學(xué)知識為主[5]。一方面我校部分學(xué)生數(shù)學(xué)較薄弱,對案例的理解有一定困難,并且離實際應(yīng)用較遠(yuǎn),學(xué)生普遍存在疑惑:學(xué)習(xí)C語言到底有什么用,無法感受C語言帶來的成就感與自豪感;另一方面這些案例大都圍繞知識點設(shè)計成一個個獨立的案例,無法有效串聯(lián)起來。

        2 漸進(jìn)式案例教學(xué)模式

        漸進(jìn)式案例教學(xué)是指在教學(xué)過程中以一個綜合案例做為主線來展開教學(xué),功能由簡到難,不斷引入新問題,利用每個章節(jié)的知識點逐步解決問題、完善功能,最終達(dá)到一個完整的、具有較強實際意義的綜合案例,從而培養(yǎng)學(xué)生興趣、培養(yǎng)學(xué)生分析、解決問題的能力的一種教學(xué)方法。具體實施時,先向?qū)W生展示案例的最終效果,然后逐步引導(dǎo)學(xué)生完成。

        該教學(xué)模式有以下幾個原則:

        2.1 精心設(shè)計教學(xué)案例

        教學(xué)案例的選擇直接影響學(xué)生的積極性。興趣是最好的老師,如果案例沒選好,學(xué)生初學(xué)時很難認(rèn)可它的價值,學(xué)習(xí)缺乏目地性。這就需要在選擇案例時要充分考慮其趣味性,讓學(xué)生產(chǎn)生興趣,從而調(diào)動學(xué)生的學(xué)習(xí)熱情。

        2.2 組織學(xué)生參與案例討論

        學(xué)生參與討論是案例教學(xué)重要的一環(huán),通過分析案例,學(xué)生可由被動學(xué)習(xí)變?yōu)橹鲃?,教師組織學(xué)生討論,并通過恰當(dāng)?shù)囊龑?dǎo),讓學(xué)生主動提出問題,并思考如何解決。

        2.3 覆蓋大部分章節(jié)知識點

        初始的案例可能覆蓋部分知識點,這就要求要對案例進(jìn)行擴展,既要符合實際需求,又要盡量覆蓋大部分知識點。

        3 漸進(jìn)式案例的設(shè)計

        本文所采用的案例是一個定時關(guān)機的綜合案例。多年的演示情況可以看出學(xué)生對這個案例表現(xiàn)出較大的興趣。整個程序的運行結(jié)果如圖1所示。

        圖1 定時關(guān)機運行界面Fig.1 Timing shutdown operation interface

        下面以課程教材李鳳霞教授主編的《C語言程序設(shè)計教程(第3版)》[6]為例,列舉該案例覆蓋教材中的章節(jié)內(nèi)容和知識點(我校非計算機專業(yè)學(xué)生只要求講到函數(shù),如有需要,案例可以再進(jìn)行擴展),如表1所示。

        表1 定時關(guān)機案例覆蓋的章節(jié)內(nèi)容及知識點Tab.1 Timing shutdown case covered sections of content and know ledge points

        例中的關(guān)機功能是通過執(zhí)行DOS命令中的shutdown來實現(xiàn)的,所以在講解案例前需要講解一些預(yù)備知識點。首先需要講解shutdown這個命令以及參數(shù)的意義,然后再講解stdlib.h中的system函數(shù)的用法。最簡單的關(guān)機代碼如下:

        #include<stdio.h>

        #include<stdlib.h>

        int main()

        {

        printf("歡迎使用定時關(guān)機程序 ");

        system("shutdown-s-t 100");/*“-s”表示關(guān)閉計算機,“-t”表括示設(shè)置關(guān)機倒計時,后面的100是時間*/

        return 0;

        }

        取消關(guān)機代碼如下:

        #include<stdio.h>

        #include<stdlib.h>

        int main()

        {

        system("shutdown-a");/*“-a”表示取消關(guān)閉計算機*/

        return 0;

        }

        下面就以上兩段代碼探討漸進(jìn)式案例教學(xué)。

        3.1 主界面設(shè)計

        在學(xué)習(xí)完最簡單的HelloWolrd程序之后,就可以利用printf函數(shù)和轉(zhuǎn)義符‘ ’在關(guān)機代碼的基礎(chǔ)上進(jìn)行主界面設(shè)計。主要代碼如下:

        printf("---------------------------------- ");

        printf("歡迎使用定時關(guān)機程序! 1表示關(guān)機 2表示取消關(guān)機 0表示退出 ");

        printf("---------------------------------- ");printf("請輸入您的選擇: ");

        3.2 基本輸入輸出語句和選擇結(jié)構(gòu)的應(yīng)用

        不難看出,以上的代碼分別實現(xiàn)了關(guān)機和取消關(guān)機功能,能否將以上代碼合在一起實現(xiàn)一個既可以關(guān)機又可以取消關(guān)機的程序?接下來可以引導(dǎo)學(xué)生應(yīng)用所學(xué)知識來實現(xiàn)此功能。該問題的解決包括3個方面:

        1)如何實現(xiàn)讓用戶輸入自己的選擇。此時可以使用scanf函數(shù),同時提醒學(xué)生注意標(biāo)識符的命名規(guī)范以及良好的代碼規(guī)范。主要代碼如下:

        int choice=0;

        printf("---------------------------------- ");

        printf("歡迎使用定時關(guān)機程序! 1表示關(guān)機 2表示取消關(guān)機 0表示退出 ");

        printf("---------------------------------- ");

        printf("請輸入您的選擇: ");

        scanf("%d",&choice);

        2)如何跟據(jù)用戶的選擇完成相應(yīng)的功能。此時可以使用多分支if語句來實現(xiàn)。值得注意的是,學(xué)生經(jīng)常將”==”與‘=’混淆,此時可以故意寫漏一個‘=’以加深學(xué)生的印象。另外,此時可以講解1==choice與choice==1的區(qū)別,前者能夠避免將”==”寫成‘=’而編譯器檢查不出的問題。主要代碼如下:

        if(1==choice)

        {

        system("shutdown-s-t 100");

        }

        else if(2==choice)

        {

        system("shutdown-a");

        }

        else if(0==choice)

        {

        /*此處代碼之后再添加*/

        }

        else

        {

        printf("您的輸入有誤! 請重新輸入: ");

        }

        3)程序運行后一旦用戶完成輸入程序立即退出。這一問題可以通過引入getch()函數(shù)(需要添加頭文件conio.h)來解決。在程序語句return 0之前添加getch()即可實現(xiàn)。

        3.3 循環(huán)結(jié)構(gòu)的應(yīng)用

        以上的程序只能讓用戶做出一次選擇,而且一旦用戶輸入錯誤,程序運行結(jié)束,程序設(shè)計不夠人性化,此時通過引入while語句和break語句可以解決這一問題。主要代碼如下:

        while(1)/*條件為1,永遠(yuǎn)滿足,會一直循環(huán)直至break

        退出*/

        {

        if(1==choice)

        {

        system("shutdown-s-t 100");

        }

        else if(2==choice)

        {

        system("shutdown-a");

        }

        else if(0==choice)

        {

        break;/*此處在3.2的基礎(chǔ)上增加break是為了在用戶輸入0時跳出循環(huán)*/

        }

        }

        3.4 字符數(shù)組和字符串函數(shù)的應(yīng)用

        以上的代碼實現(xiàn)了定時關(guān)機功能,但是時間并不能由用戶自己指定,案例的實用性大打折扣,此時可以引導(dǎo)學(xué)生使用scanf函數(shù)讓用戶輸入一個時間(int型),然后通過使用itoa函數(shù)將int轉(zhuǎn)換成字符串型,最后使用字符串函數(shù)strcat函數(shù)將兩個字符串連接在一起。主要代碼如下:

        int hour=0,minute=0;

        int seconds=0;

        printf("請設(shè)置關(guān)閉超時時間:如1 20表示1小時20分鐘后關(guān)機,請輸入 ");

        scanf("%d%d",&hour,&minute);

        seconds=hour*3600+minute*60;

        char strTime[20];

        itoa(seconds,strTime,10);

        char strCommands[30]="shutdown-s-t";

        strcat(strCommands,strTime);

        printf("系統(tǒng)將在%d小時%d分鐘(%d秒)后關(guān)閉! ",hour,minute,seconds);

        system(strCommands);

        3.5 函數(shù)的應(yīng)用

        在講解函數(shù)這一章節(jié)內(nèi)容的時候?qū)⒁陨洗a中功能相近的代碼寫在一個函數(shù)中。如3.1中主界面中的代碼可以作為一個函數(shù)的函數(shù)體。主要代碼如下:

        void PrintUI

        {

        printf("---------------------------------- ");

        printf("歡迎使用定時關(guān)機程序! 1表示關(guān)機 2表示取消關(guān)機 0表示退出 ");

        printf("---------------------------------- ");

        printf("請輸入您的選擇: ");

        }

        4 結(jié)束語

        C語言程序設(shè)計課程概念抽象、語法枯燥、知識眾多,對學(xué)生的學(xué)習(xí)帶來很大的壓力。鑒于該課程的重要性,應(yīng)該對該課程進(jìn)行各種探索,本文提出的教學(xué)模式也是一個嘗試。多年的實踐結(jié)果表明,本文中的定時關(guān)機案例能夠讓學(xué)生認(rèn)識到C語言的實用性,引起學(xué)生的極大興趣,能改變學(xué)生被動學(xué)習(xí)的局面,取得了較好的教學(xué)效果。

        [1] 徐大華.C語言程序設(shè)計教學(xué)探索[J].信息技術(shù),2010(12):26-28.XU Da-hua.Discussion on teaching-method with C programming language[J].Information Technology,2010(12):26-28.

        [2] 葛文庚,藺莉.程序設(shè)計基礎(chǔ)課程教學(xué)模式研究與設(shè)計[J].電子設(shè)計工程,2012(4):44-46.GE Wen-geng,LIN Li.Research and design of the program design foundation course teaching[J].International Electronic Elements,2012(4):44-46.

        [3] 徐新海,林宇斐.注重計算思維的啟發(fā)式C語言語法教學(xué)[J].計算機教育,2014(17):1-4.XU Xin-hai,LIN Yu-fei.Pay attention to the heuristic C language grammar teaching of Computational Thinking[J].IT Education,2014(17):1-4.

        [4] 米磊,賁可榮,趙皚.“面向?qū)W生”的C語言教學(xué)方法研究與實踐[J].計算機工程與科學(xué),2014(A1):5-9.MI Lei,BEN Ke-rong,ZHAO Ai.“Student-Oriented”teaching method of C language[J].Computer Engineering&Science,2014(A1):5-9.

        [5] 劉淑嫻,阿里甫·庫爾班,李曉華.簡單案例為主線的教學(xué)模式在C語言教學(xué)中的應(yīng)用[J].計算機教育,2011(4):89-93.LIU Shu-xian,A Li-pu·KU Er-ban,LI Xiao-hua.Application of a simple case of the main line of the teaching model in C language teaching[J].IT Education,2011(4):89-93.

        [6] 李鳳霞.C語言程序設(shè)計教程[M].3版.北京:北京理工大學(xué)出版社,2011.

        猜你喜歡
        案例課程教學(xué)
        案例4 奔跑吧,少年!
        少先隊活動(2021年2期)2021-03-29 05:40:48
        數(shù)字圖像處理課程混合式教學(xué)改革與探索
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        軟件設(shè)計與開發(fā)實踐課程探索與實踐
        計算機教育(2020年5期)2020-07-24 08:53:38
        為什么要學(xué)習(xí)HAA課程?
        隨機變量分布及統(tǒng)計案例拔高卷
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        發(fā)生在你我身邊的那些治超案例
        中國公路(2017年7期)2017-07-24 13:56:38
        對外漢語教學(xué)中“想”和“要”的比較
        一個模擬案例引發(fā)的多重思考
        无遮挡网站| 97人人模人人爽人人喊电影| 六月丁香婷婷色狠狠久久| 99久久这里只精品国产免费| 女同另类专区精品女同| 久久精品国产久精国产爱| 国产av无码专区亚洲awww| 久精品国产欧美亚洲色aⅴ大片 | 人妻系列无码专区久久五月天| 97中文乱码字幕在线| 欧美疯狂性受xxxxx喷水| 欧美 变态 另类 人妖| 最新国产精品亚洲二区| 亚洲视频在线免费观看一区二区| 青青草精品在线视频观看| 久久精品国产网红主播| AV无码中文字幕不卡一二三区| 亚洲精品精品日本日本| 中文字幕女优av在线| 午夜福利院电影| 日韩av在线毛片| 日韩黄色大片免费网站| 欧美肥妇毛多水多bbxx水蜜桃| 日韩精品无码免费专区网站| 日本精品免费一区二区三区| 麻豆成人久久精品二区三区免费| 深夜放纵内射少妇| 日韩精品中文字幕无码一区| 成年女人窝窝视频| 中文字幕在线乱码av| yw尤物av无码国产在线观看| 一级午夜视频| 久久免费看视频少妇高潮| 欧美伦费免费全部午夜最新| 内射精品无码中文字幕| 日本成熟妇人高潮aⅴ| 久久一区二区三区久久久| 尤物网址在线观看| 婷婷激情六月| 亚洲视频在线观看第一页| 人人妻一区二区三区|