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

        ?

        問題求解在C程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中的應(yīng)用

        2009-08-31 07:45:14華冠萍
        計(jì)算機(jī)教育 2009年13期
        關(guān)鍵詞:實(shí)驗(yàn)教學(xué)

        華冠萍

        摘要:在程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中,一直以來“難學(xué)”、“難教”成為師生共識(shí),實(shí)驗(yàn)效果不夠理想。本文通過引入問題求解法,改變傳統(tǒng)實(shí)驗(yàn)教學(xué)模式,以達(dá)到更好的教學(xué)效果。

        關(guān)鍵詞:C程序設(shè)計(jì);實(shí)驗(yàn)教學(xué);問題求解

        中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A

        1引言

        “程序設(shè)計(jì)基礎(chǔ)”是高校計(jì)算機(jī)專業(yè)重要的專業(yè)基礎(chǔ)課,是一門理論與實(shí)驗(yàn)同步教學(xué)的課程。其中,實(shí)驗(yàn)在整個(gè)程序設(shè)計(jì)教學(xué)中起著非常重要的作用,學(xué)生只有通過上機(jī)實(shí)驗(yàn),親自動(dòng)手設(shè)計(jì)、編寫程序,才能真正掌握程序的邏輯設(shè)計(jì)及語言的基本規(guī)則,加深對(duì)理論知識(shí)的鞏固、鍛煉程序設(shè)計(jì)的邏輯思維,提高軟件開發(fā)能力。

        傳統(tǒng)的程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)是以教師傳授為中心,教師在教學(xué)過程中的占主導(dǎo)作用,學(xué)生往往是被動(dòng)的參與者,并不起主體作用。大多數(shù)學(xué)生都認(rèn)為程序設(shè)計(jì)艱澀難懂、學(xué)難致用,程序設(shè)計(jì)常常處于一種機(jī)械、被動(dòng)的狀態(tài),設(shè)計(jì)水平徘徊不前,更有甚者,做完實(shí)驗(yàn)還不知道為什么要做這個(gè)實(shí)驗(yàn),“難學(xué)”、“難教”成為師生的共識(shí)。如何有效地開展程序設(shè)計(jì)實(shí)驗(yàn)教學(xué),探討實(shí)驗(yàn)教學(xué)的新思想、新方法,成為程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)改革中亟待解決的問題。

        作者在多年程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)的基礎(chǔ)上,引入以問題求解為中心的實(shí)驗(yàn)教學(xué)方法。該方法順應(yīng)學(xué)生的認(rèn)知規(guī)律,注重學(xué)生的主體性,教師在其中主要起“導(dǎo)”的作用,引導(dǎo)學(xué)生從問題著手,啟發(fā)學(xué)生分析問題,進(jìn)而解決問

        題。這樣不僅能培養(yǎng)學(xué)生的學(xué)習(xí)興趣,還能提高學(xué)生的實(shí)際編程能力,成為真正的問題解決者。

        2問題求解法簡(jiǎn)述

        問題是學(xué)生學(xué)習(xí)的引導(dǎo)者,是最好的老師,沒有問題便沒有深入。今天的大學(xué)生所面對(duì)的是一個(gè)高度發(fā)展、變化迅速的信息時(shí)代,他們每一個(gè)人時(shí)刻面臨著各種各樣的問題,解決問題將是他們生活的重要組成部分,問題解決能力也無疑成為他們的生活是否成功的關(guān)鍵因素。而程序設(shè)計(jì)也正是以解決問題為根本目的。

        以問題求解為中心的實(shí)驗(yàn)教學(xué)模式從問題入手,啟發(fā)學(xué)生思考、分析問題,引導(dǎo)學(xué)生在問題解決中構(gòu)造算法,進(jìn)而掌握相關(guān)的概念、語法、功能及應(yīng)用,真正達(dá)到實(shí)驗(yàn)教學(xué)目的。以問題求解為中心的實(shí)驗(yàn)教學(xué)模式可分為以下步驟。

        (1) 問題引入:通過問題來展開教學(xué),創(chuàng)設(shè)問題解決的情境,引導(dǎo)學(xué)生思考程序需求,對(duì)需求有個(gè)清晰的了解,找到根本問題所在。

        (2) 分析問題:分析題意,弄清要解決什么樣的問題,即程序要實(shí)現(xiàn)什么樣的功能。具體為確定問題的輸入(要處理的數(shù)據(jù))、問題的輸出(希望的結(jié)果)、以及解決方案的附加需求或約束條件;同時(shí),規(guī)劃好存儲(chǔ)結(jié)構(gòu),即如何存放數(shù)據(jù)和中間結(jié)果,確定要使用的變量、函數(shù)等,并把簡(jiǎn)單情況描述出來。本階段還應(yīng)同時(shí)列出問題的變量及其相互關(guān)系,這些關(guān)系也可用公式的形式來表示。

        (3) 算法設(shè)計(jì):設(shè)計(jì)算法來解決問題,按照結(jié)構(gòu)化的思想,先粗后細(xì),逐步畫出求解問題的N-S流程圖。具體可采用自頂向下的方法將問題描述成幾個(gè)子問題或子功能,然后再根據(jù)具體情況將子問題進(jìn)一步細(xì)化、逐步深入,直到所有子問題或子功能都能用語句描述為止,通過解決每一子問題最終解決原始問題。

        值得一提的是,在此階段,教師不光要引導(dǎo)學(xué)生解決問題,還應(yīng)鼓勵(lì)學(xué)生尋求不同的解法,使一題多解,積極嘗試新的方法,拓寬邏輯編程思路,并在此基礎(chǔ)上分析最簡(jiǎn)捷解法(考慮經(jīng)濟(jì)性、復(fù)雜度等),引導(dǎo)學(xué)生對(duì)算法進(jìn)行優(yōu)化。

        (4) 算法實(shí)現(xiàn):編寫程序,用具體的語言將算法的每一步轉(zhuǎn)換成一個(gè)或多個(gè)語句。根據(jù)N-S流程圖,用程序設(shè)計(jì)語言編寫程序,實(shí)現(xiàn)算法。此階段要注意準(zhǔn)確表達(dá)與語言邏輯,為了使編寫的程序正確,編寫程序時(shí)必須要遵循該程序設(shè)計(jì)語言的基本規(guī)范和表達(dá)邏輯,恪守程序語句和函數(shù)等的書寫格式,比如函數(shù)頭的格式、字母的大小寫、標(biāo)點(diǎn)符號(hào)放置、花括號(hào)的使用等。同時(shí),避免語言表達(dá)的二義性和非語法錯(cuò)誤,學(xué)生在編制程序的過程中會(huì)出現(xiàn)各種錯(cuò)誤,對(duì)于語法錯(cuò)誤,不難依靠編譯工具或解釋工具給出的錯(cuò)誤信息進(jìn)行修改,但是要糾正非語法性錯(cuò)誤,就不那么容易了,比如有效數(shù)字限制、數(shù)字溢出、隱含條件的限制引起的調(diào)用或循環(huán)次數(shù)有異問題等等。因此在程序編寫階段,指導(dǎo)學(xué)生不光要掌握基本語法,還得研究非語法性錯(cuò)誤的出錯(cuò)特征,提高編制程序質(zhì)量及運(yùn)行結(jié)果和效率。

        (5) 編譯調(diào)試:在編寫好源程序的前提下,接著要測(cè)試程序是否能夠?qū)崿F(xiàn)算法設(shè)計(jì)的目的,所以必須調(diào)試程序。程序調(diào)試是當(dāng)程序發(fā)生錯(cuò)誤時(shí),分析錯(cuò)誤并改正錯(cuò)誤,作為程序?qū)懽鞯淖詈笠粋€(gè)環(huán)節(jié),它不僅是保證程序開發(fā)質(zhì)量的重要手段,也是實(shí)驗(yàn)教學(xué)的重要環(huán)節(jié)。此階段不光是為了“驗(yàn)證程序的正確性”,還要掌握分析、解決不同的錯(cuò)誤及異常,進(jìn)而掌握編程的方法與技巧,提高分析問題和解決問題的能力。一般程序錯(cuò)誤有以下幾種。

        語法錯(cuò)誤:當(dāng)代碼中違反了一條或多條C語法規(guī)則時(shí)出現(xiàn),可在編譯階段檢出。如缺分號(hào)、未聲明變量、或書法遺漏等。

        運(yùn)行時(shí)錯(cuò)誤:在程序執(zhí)行階段被檢測(cè)并顯示出來。如非法num/0,此時(shí)會(huì)停止程序執(zhí)行,并顯示診斷消息,指出在哪一行檢測(cè)到了運(yùn)行錯(cuò)誤。

        未檢測(cè)到的錯(cuò)誤:許多錯(cuò)誤執(zhí)行可能并不會(huì)阻止程序完成運(yùn)行,而僅僅是得出不正確的結(jié)果。因此,預(yù)先知道一些不正確的結(jié)果并去檢查實(shí)際的輸出是否正確是很重要的。如scanf函數(shù)在對(duì)格式參數(shù)%d和%c的處理上有所不同,前者會(huì)忽略輸入的空白和回車,而后者則不會(huì)忽略。

        邏輯錯(cuò)誤:當(dāng)程序遵循了一個(gè)有缺陷的算法時(shí)會(huì)發(fā)生。邏輯錯(cuò)誤不會(huì)導(dǎo)致運(yùn)行錯(cuò)誤,而且不會(huì)顯示錯(cuò)誤消息,所以該種錯(cuò)誤比較難以檢測(cè)到。只能采用程序調(diào)試功能中的斷點(diǎn)設(shè)置和單步調(diào)試相結(jié)合,進(jìn)行“分段檢查”,實(shí)時(shí)檢測(cè)有關(guān)變量的變化情況,逐段往下查,直到找到在某一段中代碼不對(duì)為止。

        (6) 測(cè)試:在調(diào)試成功的基礎(chǔ)上,需要測(cè)試所編寫程序是否按預(yù)期方式完成任務(wù)。此階段不能只根據(jù)一次測(cè)試就確定,應(yīng)使用不同的數(shù)據(jù)集合來多次運(yùn)行程序,從而確保該程序在算法所提供的所有情況下都正常工作并得到正確結(jié)果。

        3案例分析

        下面以程序設(shè)計(jì)基礎(chǔ)課程實(shí)驗(yàn)教學(xué)中“選擇結(jié)構(gòu)程序設(shè)計(jì)”項(xiàng)目中的一個(gè)設(shè)計(jì)性實(shí)驗(yàn)為例,設(shè)計(jì)問題求解步驟。

        (1) 問題引入:設(shè)計(jì)一實(shí)現(xiàn)公園售票功能的程序,具體要求:計(jì)算購票人應(yīng)付金額,其中每張票零售價(jià)為20元,團(tuán)體價(jià)為12元,一次購票超過20張(包含20張)時(shí)按團(tuán)體票售出。

        (2) 問題分析:通過對(duì)該問題的分析,明確了程序要求通過對(duì)輸入票數(shù)的判斷,確定票價(jià)是以團(tuán)體價(jià)還是以零售價(jià)進(jìn)行計(jì)算,進(jìn)而利用計(jì)算公式求出應(yīng)付金額,問題描述為:

        程序變量:團(tuán)體票價(jià),零售票價(jià),購票數(shù)量,應(yīng)付金額

        問題輸入:購票數(shù)量

        問題輸出:應(yīng)付金額

        相關(guān)公式:應(yīng)付金額=購票數(shù)量*團(tuán)體票價(jià)(購票數(shù)量<20)

        應(yīng)付金額=購票數(shù)量*零售票價(jià) (購票數(shù)量<20)

        (3) 算法設(shè)計(jì):根據(jù)問題分析結(jié)果,按照結(jié)構(gòu)化的思想,畫出求解問題的N-S流程,如圖1所示。

        (4) 算法實(shí)現(xiàn):根據(jù)上述N-S圖,算法代碼編寫如下:

        #include <stdio.h>

        void main()

        { int price1,price2,num,total;

        char c;

        price1=20;

        price2=12;

        c='y';

        while(c!='n')

        {

        printf("請(qǐng)輸入購買票數(shù):");

        scanf("%d",&num);

        if(num>=20)

        total=num*price2;

        else total=num*price1;

        printf(" 應(yīng)付金額:%d",total);

        printf(" 繼續(xù)嗎?(y/n)");

        getchar();

        scanf("%c",&c);

        }

        }

        (5) 調(diào)試測(cè)試:在VC++ 6.0環(huán)境中編輯、編譯、調(diào)試源程序,程序調(diào)通后進(jìn)行數(shù)據(jù)測(cè)試,我們?cè)O(shè)定購票數(shù)20

        和10分別測(cè)試結(jié)果,進(jìn)行正確性驗(yàn)證。

        4總結(jié)

        在程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中,以問題求解來驅(qū)動(dòng)教學(xué)可以更好地發(fā)揮學(xué)生的主體性,有效地培養(yǎng)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生分析問題、解決問題的能力,其優(yōu)勢(shì)是明顯的,但也存在一些問題。由于教師主要是進(jìn)行方法的引導(dǎo),學(xué)生有更多時(shí)間自主學(xué)習(xí),而學(xué)生的學(xué)習(xí)能力是不同的,因而在同一課堂內(nèi),全班同學(xué)所掌握的知識(shí)會(huì)有所不同,容易造成學(xué)生成績兩極分化和教學(xué)知識(shí)點(diǎn)的疏漏。這就需要教師在教學(xué)中加強(qiáng)課堂或階段小結(jié)和知識(shí)點(diǎn)的交流或回顧,使學(xué)習(xí)能力差的同學(xué)或操作有疏漏的同學(xué)能通過教師的總結(jié)和回顧跟上教學(xué)進(jìn)度,全面掌握知識(shí)點(diǎn),達(dá)到教學(xué)目標(biāo),促進(jìn)同步發(fā)展。

        參考文獻(xiàn):

        [1] Hanly,J.R.,Koffman,E.B..問題求解與程序設(shè)計(jì)C語言版[M]. 4版. 朱劍平,譯.北京:清華大學(xué)出版社,2007.

        [2] 沈建英.計(jì)算機(jī)程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)改革探索[J]. 實(shí)驗(yàn)技術(shù)與管理,2003,20(4):105-107.

        [3] 吳冬芹.大學(xué)生程序設(shè)計(jì)學(xué)習(xí)心理研究與教學(xué)對(duì)策探討[D].揚(yáng)州大學(xué)碩士論文,2006.

        [4] 關(guān)忠仁. C 語言教學(xué)質(zhì)量的思考與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(6):56-57.

        [5] 張曉慧,喬成立,等.問題式教學(xué)法在綜合性和設(shè)計(jì)性實(shí)驗(yàn)教學(xué)中的研究與實(shí)踐[J]. 教育探索,2008(11):81-82.

        The Application of Problem Solving Method in C Language Programming Experiment Teaching

        HUA Guan-ping

        (College of Information Science, Zhejiang Shuren University, Hangzhou 310015, China)

        Abstract: It is a common view in experiment teaching of programming that “hard to learn” and “hard to teach”. The experiment effect is not very ideal. This text introduces problem solving method to change traditional experiment teaching model and achieve the better teaching effect.

        Key words: C language programming; experiment teaching; problem solving

        猜你喜歡
        實(shí)驗(yàn)教學(xué)
        問題引導(dǎo)在初中化學(xué)實(shí)驗(yàn)教學(xué)中實(shí)踐探索
        家長(2023年2期)2023-03-14 06:55:16
        關(guān)于基礎(chǔ)教育階段實(shí)驗(yàn)教學(xué)的幾點(diǎn)看法
        光反應(yīng)與有機(jī)化學(xué)實(shí)驗(yàn)教學(xué)結(jié)合的研究
        云南化工(2021年8期)2021-12-21 06:38:04
        小議初中化學(xué)演示實(shí)驗(yàn)教學(xué)
        甘肅教育(2020年4期)2020-09-11 07:42:36
        電容器的實(shí)驗(yàn)教學(xué)
        物理之友(2020年12期)2020-07-16 05:39:20
        對(duì)初中化學(xué)實(shí)驗(yàn)教學(xué)的認(rèn)識(shí)和體會(huì)
        甘肅教育(2020年8期)2020-06-11 06:10:04
        幾何體在高中數(shù)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用
        基于云計(jì)算的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)探討
        高中生物實(shí)驗(yàn)教學(xué)中形成性評(píng)價(jià)的實(shí)施——以“觀察根尖分生區(qū)組織細(xì)胞的有絲分裂”實(shí)驗(yàn)教學(xué)為例
        高中自然地理課堂實(shí)驗(yàn)教學(xué)的探討
        狠狠爱无码一区二区三区| 情爱偷拍视频一区二区| 免费人妻无码不卡中文字幕系| 日日干夜夜操高清视频| 超碰观看| 少妇人妻精品久久888| 国产欧美一区二区精品久久久| 成人做爰高潮尖叫声免费观看| av无码一区二区三| 一区二区三区国产精品麻豆| 乱人伦精品视频在线观看| 亚洲av无码一区二区三区在线 | 国产亚洲无码1024| 国产精品性色av麻豆| 国产肉体xxxx裸体137大胆| av大片在线无码免费| 日本精品久久性大片日本| 亚洲女同恋av中文一区二区| 97夜夜澡人人双人人人喊| 精品免费福利视频| 日本中文字幕人妻精品| 男人国产av天堂www麻豆| 少妇人妻200篇白洁| 欧美日韩一区二区三区视频在线观看| 成人av一区二区三区四区| 色偷偷av一区二区三区| 国产精品久久久久久久成人午夜 | 男女做羞羞事的视频网站| 中国老熟女重囗味hdxx| 日韩欧美中文字幕不卡| 亚洲男人在线天堂av| 脱了老师内裤猛烈进入| 女人夜夜春高潮爽a∨片| 亚洲人成网站www| 久久99精品国产麻豆| 双腿张开被9个男人调教| 国产桃色在线成免费视频| 黄片国产一区二区三区| 日本最新免费二区| 一级毛片不卡在线播放免费| 国产麻豆极品高清另类|