中文字幕日韩人妻|人人草人人草97|看一二三区毛片网|日韩av无码高清|阿v 国产 三区|欧洲视频1久久久|久久精品影院日日

程序設(shè)計的結(jié)構(gòu)匯總十篇

時間:2023-07-16 08:48:45

序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]十篇程序設(shè)計的結(jié)構(gòu)范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。

程序設(shè)計的結(jié)構(gòu)

篇(1)

理論上,課程整合是指對課程設(shè)置、各課程教育教學(xué)目標(biāo)、教學(xué)設(shè)計、評價等諸要素作系統(tǒng)的考察與操作。在實際教學(xué)中,課程整合是指考慮到各門相互分裂的課程之間的有機聯(lián)系,將這些課程綜合化。

在傳統(tǒng)的教學(xué)模式中,《C程序設(shè)計》是先行課程,《數(shù)據(jù)結(jié)構(gòu)》是后續(xù)課程,它們都是學(xué)習(xí)操作系統(tǒng)、數(shù)據(jù)庫原理和應(yīng)用、面向?qū)ο蟪绦蛟O(shè)計等課程的基礎(chǔ)?!禖語言程序設(shè)計》是學(xué)生最先接觸的結(jié)構(gòu)化程序設(shè)計語言,其教學(xué)目的主要是使學(xué)生了解結(jié)構(gòu)化程序設(shè)計的算法和思路,掌握程序設(shè)計和調(diào)試的基本技巧,培養(yǎng)良好的軟件設(shè)計基礎(chǔ)?!稊?shù)據(jù)結(jié)構(gòu)》主要是研究非數(shù)值應(yīng)用問題中數(shù)據(jù)之間的邏輯關(guān)系和對數(shù)據(jù)的操作,同時還研究如何將具有邏輯關(guān)系的數(shù)據(jù)按一定的存儲方式存放在計算機內(nèi)。其教學(xué)目的主要是使學(xué)生掌握數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及其相應(yīng)的算法,培養(yǎng)學(xué)生解決實際問題的能力,即能夠把現(xiàn)實世界中的客觀問題,變換為在計算機內(nèi)的表示形式,學(xué)會組織數(shù)據(jù)、選擇算法、養(yǎng)成良好的程序設(shè)計風(fēng)格。

《數(shù)據(jù)結(jié)構(gòu)》課程中分析數(shù)據(jù)之間的邏輯關(guān)系和確定數(shù)據(jù)在計算機內(nèi)的存儲結(jié)構(gòu)是所有程序設(shè)計過程中必須完成的兩大任務(wù),且《數(shù)據(jù)結(jié)構(gòu)》中算法描述的語言又多采用C語言,兩門課程之間存在著緊密而內(nèi)在聯(lián)系,為兩門課程的整合提供了可能性。

2.《C程序設(shè)計》與《數(shù)據(jù)結(jié)構(gòu)》的教學(xué)現(xiàn)狀

在傳統(tǒng)的教學(xué)模式中,《C程序設(shè)計》是先行課程,《數(shù)據(jù)結(jié)構(gòu)》是后續(xù)課程,將兩門課程分開來教學(xué),人為地割斷了它們之間的內(nèi)在聯(lián)系,導(dǎo)致學(xué)生在學(xué)習(xí)《C程序設(shè)計》時,僅局限于C語言的語法層面上,不能把C語言的程序設(shè)計思路和語法知識具體運用到數(shù)據(jù)結(jié)構(gòu)的算法中去,使理論知識與實踐運用脫鉤。而在學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》時,由于教師的更換和教材的多樣化,任課教師又不得不花掉一、兩周的時間來復(fù)習(xí)C語言的相關(guān)知識,造成了課時的浪費和學(xué)生反感。在具體運用時,又出現(xiàn)學(xué)生能理解數(shù)據(jù)結(jié)構(gòu)中的算法和讀懂算法,卻不能運用C語言去實現(xiàn)算法等程序設(shè)計能力較差的現(xiàn)象。筆者長期從事這兩門課程的教學(xué)工作,一直在探索如何提高這兩門課程的教學(xué)效果,培養(yǎng)學(xué)生運用C語言這個工具去解決實際問題的能力。

3.《C程序設(shè)計》與《數(shù)據(jù)結(jié)構(gòu)》課程整合的思路

在高職院校計算機應(yīng)用專業(yè)的課程體系中,實現(xiàn)《C程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》這兩門課程的整合,要結(jié)合職業(yè)教育培養(yǎng)實用型人才的目標(biāo),根據(jù)后續(xù)專業(yè)課程的需要來確定。《C程序設(shè)計》和《數(shù)據(jù)結(jié)構(gòu)》課程整合化的思路以C語言為工具,以實踐為中心,重視基礎(chǔ)知識,注重能力培養(yǎng),對兩門課程教學(xué)內(nèi)容和教學(xué)模式進行優(yōu)化和整合。

在實施過程中,將這兩門課程整合為一門課程,課程名稱為《C程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)》,在一個學(xué)期內(nèi)完成授課內(nèi)容。堅持理論聯(lián)系實踐的教學(xué)模式,突出實踐教學(xué)的重要性,去掉繁瑣的理論推導(dǎo),重新設(shè)計教學(xué)、實訓(xùn)大綱,處理教材,合理分配學(xué)時。在具體教學(xué)中,以C語言為主線,將數(shù)據(jù)結(jié)構(gòu)的內(nèi)容溶入到C語言的教學(xué)中,對數(shù)據(jù)結(jié)構(gòu)的內(nèi)容以“適度夠用”為原則,適當(dāng)?shù)剡M行刪減,以滿足高職教育培養(yǎng)應(yīng)用型人才的教學(xué)需要。

4.《C程序設(shè)計》與《數(shù)據(jù)結(jié)構(gòu)》課程整合的具體實施

(1)整合后理論課教學(xué)的內(nèi)容和學(xué)時分配

整合后周學(xué)時為6節(jié),總學(xué)時為102節(jié)(按17個教學(xué)周計),其中理論課時為68節(jié),上機實踐課時為34節(jié)。

(2)課程整合后的實踐教學(xué)設(shè)計

在實踐教學(xué)中,要進一步鞏固對理論知識的理解,提高學(xué)生靈活運用數(shù)據(jù)結(jié)構(gòu)和算法的能力,使學(xué)生在編程、上機操作、程序調(diào)試與正確性驗證等基本技能方面得到訓(xùn)練和提高。實驗可分兩部分,一是驗證性實驗,主要結(jié)合課堂理論教學(xué)內(nèi)容展開,學(xué)生可以對在課堂上學(xué)到的基本算法進行驗證;二是運用性實驗,組織學(xué)生以小組為單位設(shè)計一些實用程序,要求學(xué)生從實際出發(fā),在具體、真實的環(huán)境中分析研究數(shù)據(jù)對象的特性,構(gòu)造合理的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的算法。

(3)課程整合后的考試要求

整合后的課程培養(yǎng)目標(biāo)是提高學(xué)生的計算機應(yīng)用能力,計算機應(yīng)用能力包括了三個層次:操作使用能力、應(yīng)用開發(fā)能力和創(chuàng)新能力。因此整合后的課程考核,應(yīng)采取理論基礎(chǔ)閉卷和上機操作開卷相結(jié)合的方式進行,綜合評價應(yīng)從以下三個方面來著手。

①筆試。筆試主要是考察學(xué)生對理論知識的系統(tǒng)性的理解,可由客觀題型(如選擇、填空題等)和主觀題型組成,客觀題型要立足于基礎(chǔ)知識,小而全,避免死記硬背。主觀題型要靈活多樣,如問題解決分析、程序編寫等。占整個評價的30%。

②上機實踐。上機實踐貫穿于整個教學(xué)當(dāng)中,所以要注重過程考核,結(jié)合實訓(xùn)計劃,在各單元模塊結(jié)束時,進行隨堂考核,并認(rèn)真檢查和記錄學(xué)生考核情況,作為期末上機實踐成績的一部分。實行各單元過關(guān),有了各單元模塊的考核,到期末上機操作綜合考核時就不成問題了。通過對上機操作實踐的評價,可以考察學(xué)生應(yīng)用計算機解決實際問題的能力。占整個評價的40%。

③學(xué)生的平時表現(xiàn)。學(xué)生的平時表現(xiàn)是指是否認(rèn)真上課、聽課,上機練習(xí)的任務(wù)是否獨立完成,上機設(shè)計的任務(wù)是否有創(chuàng)意,作業(yè)是否按時上交等等,這些資料的積累,有利于對學(xué)生學(xué)習(xí)情況的全面認(rèn)識。學(xué)生在整個授課過程中的表現(xiàn),占整個評價的30%。

篇(2)

作者Kent D.Lee博士是美國艾奧瓦洲路德學(xué)院計算機科學(xué)教授,已成功出版兩本著作:Python編程基礎(chǔ)和編程語言基礎(chǔ)。另一作者Steve Hubbard博士是路德學(xué)院數(shù)學(xué)與計算機科學(xué)系教授。

篇(3)

中圖分類號:G64文獻(xiàn)標(biāo)識碼:B

文章編號:1672-5913(2007)02-0023-04

1 引言

計算機教育是高等教育的基礎(chǔ)之一,而程序設(shè)計基礎(chǔ)是一門十分重要的計算機基礎(chǔ)課程。運用現(xiàn)代教育技術(shù)的先進理論──建構(gòu)主義理論構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)結(jié)構(gòu),不僅有利于程序設(shè)計基礎(chǔ)學(xué)科的自身建設(shè),更有利于培養(yǎng)和提高廣大學(xué)生的創(chuàng)新思維、創(chuàng)新能力。

2 建構(gòu)主義理論

建構(gòu)主義理論是當(dāng)今國際教育界影響較大,并日益顯示其強大生命力的一種新的、較成熟的教育理論,它對于我們深入教育改革、進行學(xué)科教育研究等都有重要的借鑒和啟示作用。建構(gòu)主義理論的核心觀點是:人作為認(rèn)知主體對知識的獲取不是被動地接受、而是主動加工建構(gòu)的,即學(xué)習(xí)知識是“認(rèn)知主體”的內(nèi)部心理過程,并把學(xué)習(xí)者看作是“信息加工主體”,而不再是“刺激──反應(yīng)”的行為過程,而把學(xué)習(xí)者看作對外部刺激作出被動反應(yīng)的“知識灌輸對象”。也就是說,學(xué)習(xí)是學(xué)習(xí)者在原有知識的基礎(chǔ)上借助外來信息、通過雙向、交互作用來加工建構(gòu)的認(rèn)知過程,用一句話可概括為:以學(xué)生為中心,強調(diào)學(xué)生對知識的主動探索、主動發(fā)現(xiàn)和對所學(xué)知識意義的主動建構(gòu)(而不是像傳統(tǒng)教學(xué)那樣,只是把知識從教師頭腦中傳送到學(xué)生的筆記本上)。因此,建構(gòu)主義理論的主要目的是讓學(xué)生自主建構(gòu)自身知識,教師只是起到通過科學(xué)的教學(xué)方法和手段幫助學(xué)生積極主動完成知識建

構(gòu)的輔助、指導(dǎo)作用。

3 運用建構(gòu)主義理論構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)結(jié)構(gòu)

3.1程序設(shè)計基礎(chǔ)的傳統(tǒng)教學(xué)結(jié)構(gòu)

程序設(shè)計基礎(chǔ)的傳統(tǒng)教學(xué)結(jié)構(gòu)是以教師為中心,教師講、學(xué)生聽,主要靠教師向?qū)W生灌輸知識,作為認(rèn)知主體的學(xué)生在教學(xué)過程中自始至終處于被動狀態(tài),難以發(fā)揮其主動性、積極性。這樣的教學(xué),既不能保證教學(xué)的質(zhì)量與效率,又不利于培養(yǎng)學(xué)生的發(fā)散性思維、批判性思維和創(chuàng)造性思維,也不利于創(chuàng)造型人材的成長。在程序設(shè)計基礎(chǔ)的具體教學(xué)內(nèi)容安排上,過于注重語句、語法和一些細(xì)節(jié),基本上是以高級語言自身的體系為脈絡(luò)展開滿堂灌式的講解,沒有把邏輯和編程解題思路放在主體地位上;對如何分析問題和解決問題啟發(fā)和引導(dǎo)不夠,對學(xué)生的編程、上機解題的能力訓(xùn)練不夠,直接導(dǎo)致學(xué)生普遍反映該課程枯燥難學(xué),而且學(xué)過之后,不能用來很好地解決實際問題。在教學(xué)評價上,考試是“指揮棒”,它對教學(xué)目標(biāo)、教學(xué)過程有著較大的負(fù)面影響,許多學(xué)生就是為了通過考試而學(xué),學(xué)習(xí)過程中表現(xiàn)得十分被動,教師為了合格率而教,教學(xué)效果自然不好,也就更談不上學(xué)生創(chuàng)造思維、創(chuàng)造能力的培養(yǎng)了。

3.2運用建構(gòu)主義理論建構(gòu)程序設(shè)計基礎(chǔ)的新型教學(xué)結(jié)構(gòu)

運用建構(gòu)主義理論改革傳統(tǒng)的教學(xué)結(jié)構(gòu),構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)結(jié)構(gòu),可以從根本上提高教學(xué)質(zhì)量,真正培養(yǎng)和提高學(xué)生的計算機應(yīng)用能力、實際操作能力,更有助于他們的創(chuàng)造性思維和創(chuàng)造性能力的發(fā)揮。

3.2.1構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)模式

運用建構(gòu)主義理論構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)模式就是要強調(diào)以學(xué)生為中心,將學(xué)生視為教學(xué)主體,設(shè)計和安排教學(xué)首先考慮學(xué)生的認(rèn)知規(guī)律和學(xué)習(xí)特點,并在具體的教學(xué)過程甚至每一個環(huán)節(jié),都顧及到學(xué)生的實際情況,最大限度地激發(fā)學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生形成學(xué)習(xí)動機;通過創(chuàng)設(shè)符合教學(xué)內(nèi)容要求的情境和提示新舊知識之間聯(lián)系的線索,幫助學(xué)生建構(gòu)當(dāng)前所學(xué)知識的意義;為了使意義建構(gòu)更有效,教師應(yīng)在可能的條件下組織協(xié)作學(xué)習(xí)(開展討論與交流),并對協(xié)作學(xué)習(xí)過程進行引導(dǎo),使之朝有利于意義建構(gòu)的方向發(fā)展,最終引導(dǎo)學(xué)生實現(xiàn)主動學(xué)習(xí),創(chuàng)造性地學(xué)習(xí)。有了這樣先進的教學(xué)理念,程序設(shè)計基礎(chǔ)的教學(xué)內(nèi)容安排就更趨于合理:以強調(diào)動手實踐、上機編程為切入點;以任務(wù)驅(qū)動方式,通過實例講授程序設(shè)計的基本概念和基本方法;并將授課重點放在程序設(shè)計的思路解析上,即在C/C++語言的環(huán)境下,針對問題進行分析,構(gòu)建數(shù)學(xué)模型,理出算法并編程實現(xiàn),努力提高學(xué)生分析、解決問題的能力,從中激發(fā)他們的創(chuàng)新意識,鍛煉他們的創(chuàng)新精神,培養(yǎng)他們的創(chuàng)新能力。為此,在日常的教學(xué)過程中,我們采取了如下的細(xì)化方案。

(1)采用雙語教學(xué)

程序設(shè)計基礎(chǔ)的課堂教學(xué)采用雙語(英語和漢語)授課。程序設(shè)計所選用的計算機語言(如C/C++)與自然語言(英語)很相似,采用雙語教學(xué)便于學(xué)生對計算機語言的理解和掌握,有利于進一步學(xué)習(xí)程序設(shè)計。教師通過適時、必要的雙語講解和提示,啟發(fā)和引導(dǎo)學(xué)生充分利用大學(xué)英語的語言背景,站在語言學(xué)習(xí)的基點來完成計算機語言及程序設(shè)計理論意義的建構(gòu),為順利實現(xiàn)與計算機的真正交流打下堅實的理論基礎(chǔ)。在此期間,學(xué)生作為主體直接參與教學(xué),“外化”已學(xué)過的英語知識,并不斷產(chǎn)生正遷移,自己發(fā)現(xiàn)規(guī)律、自己去糾正和補充片面的認(rèn)識,進而完善程序設(shè)計知識的建構(gòu);因此,學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)熱情、主動性和建構(gòu)性不斷被激發(fā),發(fā)散、逆向等創(chuàng)造型思維得以孕育和培養(yǎng)。學(xué)生完全是在一種“探索與發(fā)現(xiàn)”式的學(xué)習(xí)過程中,去積極主動地建構(gòu)自己的計算機語言和程序設(shè)計知識。

(2)強化學(xué)生動手實踐

強化學(xué)生動手實踐貫穿程序設(shè)計基礎(chǔ)的整個教學(xué)。教師明確告訴學(xué)生:程序設(shè)計是高強度的的腦力勞動,不是聽會的,也不是看會的,而是自己練會的。在整個教學(xué)中,始終讓學(xué)生直接參與思考、直接動手操作,鼓勵和支持他們在親自參與的實際操作中發(fā)現(xiàn)問題、解決問題,并積極啟發(fā)和引導(dǎo)學(xué)生把當(dāng)前學(xué)習(xí)內(nèi)容所反映的事物盡量和自己已經(jīng)知道的事物相聯(lián)系,并對這種聯(lián)系加以認(rèn)真思考,最終用探索、發(fā)現(xiàn)的方法建構(gòu)程序設(shè)計知識的意義。例如,每節(jié)課2/3的時間,學(xué)生都在教師的鼓勵和支持下,積極動腦去參與具體的實際操作,教師既不是簡單地指出學(xué)生的錯誤操作,也不是簡單地解答學(xué)生的提問和要求,而是啟發(fā)和激勵他們進行個性化的學(xué)習(xí),讓學(xué)生自己積極主動進行所學(xué)知識意義的建構(gòu),最大限度地提高每一位學(xué)生的學(xué)習(xí)效率。除此之外,教師可將一些有較好編程基礎(chǔ)的學(xué)生組織起來,因材施教,引導(dǎo)他們進行探索式的研究性學(xué)習(xí),讓他們繼續(xù)提高,同時還讓他們擔(dān)任“輔導(dǎo)員”,指導(dǎo)和幫助其他同學(xué)解決所遇的問題,通過“自我協(xié)商”與“相互協(xié)商”,提高建構(gòu)意義的效率和質(zhì)量,開拓學(xué)生的創(chuàng)新性思維。這期間,教師始終是教學(xué)過程的組織者、指導(dǎo)者、知識建構(gòu)的幫助者、促進者;學(xué)生則是積極、主動、快樂的學(xué)習(xí)者。

(3)培養(yǎng)理性思維,進行理性實踐

有的學(xué)者認(rèn)為:

程序設(shè)計=計算機編程語言+數(shù)據(jù)結(jié)構(gòu)+算法

程序設(shè)計就是把用戶解決問題的方法思路(數(shù)據(jù)結(jié)構(gòu)和算法)用計算機能夠讀懂的語法格式表達(dá)出來,并通過運行來完成用戶問題的解答。計算機是由人發(fā)明的,是“人類通用的智力工具”,它的“思維模式”完全是人類思維模式的反映。因此,在程序設(shè)計基礎(chǔ)的教學(xué)中,教師有意識地將人的思維與程序設(shè)計的編程算法一一對照,引導(dǎo)學(xué)生不斷尋找兩者間的聯(lián)系,理性思維,從而積極主動地建構(gòu)起程序設(shè)計編程算法的理論和規(guī)律,并指導(dǎo)自己進行理性實踐。

例如,在課堂教學(xué)中,針對一些理論知識,如計算機語言的語法結(jié)構(gòu)及程序設(shè)計的算法等,教師可以利用5~10分鐘的時間,通過精煉、簡短的CAI雙語課件演示和講解,然后分別對比自然語言和人的思維,由感性認(rèn)識上升到理性認(rèn)識,啟發(fā)他們通過理性思維遞推和建構(gòu)起計算機語言的語法結(jié)構(gòu);面對一些程序設(shè)計的經(jīng)典實例,同樣對照人的自然思維,結(jié)合一些數(shù)學(xué)知識,引導(dǎo)他們理性地總結(jié)和建構(gòu)出程序設(shè)計編程算法的理論和規(guī)律,進而在具體的編程實戰(zhàn)中舉一反三,進行理性實踐。教師平時比較注意對學(xué)生學(xué)習(xí)方式的正確引導(dǎo),讓他們明白:理論很重要,動手實踐更重要。要在理論指導(dǎo)下,動手動腦、有條有理地進行實踐。

因此,學(xué)生經(jīng)過這樣的理性思維和理性實踐,掌握了程序設(shè)計的技巧和方法,成功地解決了具體問題,獲得了成就感,進而對程序設(shè)計產(chǎn)生興趣,真正克服了學(xué)習(xí)程序設(shè)計的畏難情緒,學(xué)習(xí)起來也會更加從容。

(4)培養(yǎng)良好的編程習(xí)慣

程序除了寫給自己看,還要交流,良好的編程風(fēng)格可以提高程序的可讀性、規(guī)范性、通用性。在日常教學(xué)中,教師應(yīng)該注意對學(xué)生這方面習(xí)慣的培養(yǎng)。比如,教師可通過規(guī)范、嚴(yán)謹(jǐn)?shù)慕虒W(xué)課件展示聲明變量加注釋,程序構(gòu)思有說明,通過分析和調(diào)試典型的編程實例,讓學(xué)生學(xué)會有效地編寫程序、調(diào)試程序、優(yōu)化程序,并對程序的運行結(jié)果作出正確與否的判斷和分析,從而達(dá)到對學(xué)生良好編程素質(zhì)的培養(yǎng),也有助于學(xué)生嚴(yán)謹(jǐn)治學(xué)精神的塑造,這是建構(gòu)主義理論對教師在教學(xué)中進行學(xué)習(xí)情景設(shè)計的要求。

(5)培養(yǎng)和提高學(xué)習(xí)能力,創(chuàng)新能力

程序設(shè)計基礎(chǔ)是培養(yǎng)大學(xué)生學(xué)習(xí)能力、創(chuàng)新能力的大課堂。程序設(shè)計是一門實踐性極強的計算機學(xué)科,所學(xué)內(nèi)容與要求實踐的操作完全一致。因此,適當(dāng)安排學(xué)生自學(xué),有助于提高學(xué)生的自學(xué)能力。網(wǎng)絡(luò)平臺的搭建為學(xué)生提供了一個較好的學(xué)習(xí)環(huán)境,為此,教師在教學(xué)期間可以不時地設(shè)計一些能夠調(diào)動學(xué)生學(xué)習(xí)積極性的有關(guān)程序設(shè)計的最新問題,鼓勵他們通過網(wǎng)絡(luò)渠道學(xué)習(xí)和提高自己的程序設(shè)計能力,而且通過上網(wǎng)可以提高他們獲取信息、處理信息和交流信息的能力,有助于培養(yǎng)他們的批判性思維和創(chuàng)制性思維[4]。

總之,經(jīng)過近幾年程序設(shè)計基礎(chǔ)的教學(xué)實踐證明:這種新型的教學(xué)結(jié)構(gòu)產(chǎn)生了較好的教學(xué)效果,學(xué)生不僅掌握了程序設(shè)計的編程方法和技巧,還養(yǎng)成了良好的編程習(xí)慣,同時又培養(yǎng)了學(xué)生的創(chuàng)新思維能力和較強的動手實踐能力,得到了廣大學(xué)生的贊同。

3.2.2 構(gòu)建程序設(shè)計基礎(chǔ)的新型教學(xué)評價模式

運用建構(gòu)主義理論構(gòu)建程序設(shè)計基礎(chǔ)課程的新型教學(xué)評價模式,主張評價不能僅依據(jù)客觀的教學(xué)目標(biāo),還應(yīng)該包括學(xué)習(xí)任務(wù)的整體性評價,學(xué)習(xí)參與度的評價等,即通過讓學(xué)生去實際完成一個真實的任務(wù)來檢驗學(xué)生學(xué)習(xí)結(jié)果的優(yōu)劣。而建構(gòu)主義主張學(xué)習(xí)是自我建構(gòu)知識意義的過程,因此,源于建構(gòu)觀的評價并不強調(diào)使用強化和行為控制工具,而較多使用自我分析和元認(rèn)知工具。因此,程序設(shè)計基礎(chǔ)的新型評價模式既便于學(xué)生及時了解自己學(xué)習(xí)的進展情況、存在的問題等,以便能夠及時彌補知識漏洞,學(xué)生自主學(xué)習(xí)的積極性、創(chuàng)造性被調(diào)動和激發(fā),同時又能夠幫助教師及時調(diào)整和改進教學(xué)工作,最終促進教學(xué)質(zhì)量的提高。

(1)學(xué)生學(xué)習(xí)效果的評價

考試是檢驗學(xué)生學(xué)習(xí)效果、評價學(xué)生學(xué)習(xí)業(yè)績的重要環(huán)節(jié)。開課之初,我們就提醒同學(xué):課程的考核方式是以上機考試取試,考試結(jié)果也由計算機評判,對就是對,錯就是錯,不紙上談兵,不考死記硬背的東西。這樣對學(xué)生的日常學(xué)習(xí)有一個正確的引導(dǎo)。然而,考試只是手段,不是最終目的,我們采用設(shè)計合理的階段測試系統(tǒng),對學(xué)生各階段的學(xué)習(xí)情況進行跟蹤測試,測試結(jié)果隨機給出,學(xué)生可以根據(jù)結(jié)果隨時調(diào)整和糾正這一階段的學(xué)習(xí)方式和方法,及時查漏補缺,進而積極主動、創(chuàng)造性地完成學(xué)習(xí)。

(2)教師教學(xué)效果的評價

設(shè)計開發(fā)科學(xué)的程序設(shè)計考試系統(tǒng),不僅可以實現(xiàn)考試功能,同時還可對考試結(jié)果進行評析,針對各位教師所教班級的考試結(jié)果給出相應(yīng)的評估報告,實現(xiàn)學(xué)校對教師教學(xué)情況的監(jiān)控,進而對教師的教學(xué)予以指導(dǎo),以提高程序設(shè)計的教學(xué)質(zhì)量,而教師本人也可根據(jù)評估報告及時調(diào)整自己的教學(xué)計劃和教學(xué)設(shè)計,進而摸索出符合教學(xué)規(guī)律、更能培養(yǎng)學(xué)生創(chuàng)造性思維和能力的教學(xué)方法,最大限度地提高教學(xué)效果。

4 結(jié)束語

不論是從國際還是從國內(nèi)的教學(xué)情況看,當(dāng)前各級各類學(xué)校深化教學(xué)改革的關(guān)鍵都在于能否打破長期以來統(tǒng)治他們課堂的傳統(tǒng)教學(xué)模式。為了改變這種狀況,國內(nèi)外許多教育工作者、教育學(xué)家、教育技術(shù)專家多年來從理論與實踐兩個方面作了大量的研究與探索,建構(gòu)主義理論正是這種努力所取得的主要理論研究成果。廣大教師在具體的教學(xué)實踐中如何理論聯(lián)系實際,將之轉(zhuǎn)化成有效的教學(xué)方法和手段,還需要不懈地探索和開拓,最終才能使建構(gòu)主義理論成為我們深化教學(xué)改革的指導(dǎo)思想和批判傳統(tǒng)教育思想與教學(xué)觀念的銳利武器。

參考文獻(xiàn):

[1]何克抗,李文光.教育技術(shù)學(xué)[M].北京:北京師范大學(xué)出版社,2005.

[2]馮忠良,伍新春,姚梅林,等.教育心理學(xué)[M]. 北京:人民教育出版社,2002.

篇(4)

當(dāng)前,計算機技術(shù)飛速發(fā)展,程序設(shè)計技術(shù)已從結(jié)構(gòu)化程序設(shè)計技術(shù)向面向?qū)ο蟪绦蛟O(shè)計技術(shù)過渡,對一個規(guī)模較大的應(yīng)用程序,總體框架是由面向?qū)ο蟪绦蛟O(shè)計構(gòu)搭而成,而在局部實現(xiàn)時仍需采用結(jié)構(gòu)化程序設(shè)計技術(shù)。C語言是一種很好的結(jié)構(gòu)化程序設(shè)計語言,因此,筆者論述了C中的的結(jié)構(gòu)化程序設(shè)計的方法。

結(jié)構(gòu)化程序設(shè)計(STRUCTURED PROGRAMING,簡稱SP)的概念是由荷蘭學(xué)者E·W.DUKSTRA等人在20世紀(jì)60年代后期提出的,是以模塊化設(shè)計為中心,將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計,也就是將—個大的計算任務(wù)劃分為一個個比較小的任務(wù),這些小任務(wù)均由函數(shù)來完成。而函數(shù)既可以是C的標(biāo)準(zhǔn)庫函數(shù)。也可以是自定義函數(shù)。在C中,一個具備一定規(guī)模的C程序往往是由多個函數(shù)組成,其中必有一個名為main的主函數(shù),由main來調(diào)用其他函數(shù),必要的話,其他函數(shù)還可以調(diào)用另外的函數(shù)。同一函數(shù)可以被一個或多個函數(shù)調(diào)用一次或多次。模塊的獨立性還為擴充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為我們可以充分利用現(xiàn)有的模塊作積木式的擴展。

篇(5)

中圖分類號:G633.67 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2012)03-0226-02

教材分析:

該課題的內(nèi)容選自于《算法與程序設(shè)計》教材,該教材是上海市高中信息科技課程選修模塊。學(xué)習(xí)本模塊的內(nèi)容,目的是進一步激發(fā)學(xué)生對計算機探索學(xué)習(xí)的興趣,培養(yǎng)運用計算機解決具體問題的基礎(chǔ)能力,養(yǎng)成良好的思維與程序設(shè)計基本習(xí)慣。

《分支結(jié)構(gòu)的程序?qū)崿F(xiàn)》是本模塊第四章第一節(jié)的內(nèi)容。分支結(jié)構(gòu)的授課分為兩課時,第一課時:分支結(jié)構(gòu)的流程圖繪制;第二課時:分支結(jié)構(gòu)的程序?qū)崿F(xiàn)。本課為第二課時,主要內(nèi)容是用IF語句解決日常生活中涉及分支結(jié)構(gòu)的實際問題。

通過本課的學(xué)習(xí),有助于學(xué)生體會和理解程序設(shè)計的思想,提升學(xué)生解決問題的能力,而且也為之后循環(huán)結(jié)構(gòu)、枚舉算法的學(xué)習(xí)打下基礎(chǔ)。

學(xué)情分析:

學(xué)生在學(xué)習(xí)本課內(nèi)容前,需有兩方面的知識儲備:

1.通過分支結(jié)構(gòu)第一課時“分支結(jié)構(gòu)的流程圖繪制”知識的學(xué)習(xí),理解并掌握分支結(jié)構(gòu)的特點、執(zhí)行流程及其作用。

2.通過“順序結(jié)構(gòu)及其程序?qū)崿F(xiàn)”知識的學(xué)習(xí),基本掌握VB控件的設(shè)置、動作的實現(xiàn)等內(nèi)容,對于VB程序的建立、運行、調(diào)試過程也有一定的實踐經(jīng)驗。

對上述內(nèi)容的學(xué)習(xí)和掌握為本節(jié)課的學(xué)習(xí)奠定了一定的基礎(chǔ)。另外,高一的學(xué)生分析解決問題的能力、自我探究的能力也有了一定的水平。

教學(xué)資源:

根據(jù)教學(xué)內(nèi)容和學(xué)生實際,在教學(xué)資源方面做如下準(zhǔn)備:

1.技術(shù)準(zhǔn)備:計算機網(wǎng)絡(luò)機房、多媒體廣播軟件、Microsoft Visual Basic 6.0中文版

2.資源。①教師機:1個PPT課件,2個程序(1個“猜價格”的演示程序,1個“ATM機錄入密碼”半成品程序)②學(xué)生機:1個“半成品”程序(包含3個小任務(wù))

教學(xué)目標(biāo)分析:

1.知識與技能:①掌握分支選擇中IF語句(塊語句)的格式和功能。②學(xué)會用IF語句解決日常生活中的實際問題。

2.過程與方法:①通過依次學(xué)習(xí)單分支語句、雙分支語句,再到分支嵌套語句,學(xué)生能循序漸進地掌握分支結(jié)構(gòu)。②通過采用VB半成品加工策略來完善程序,學(xué)生能體驗運用編寫程序解決問題的基本過程。

3.情感態(tài)度與價值觀:①培養(yǎng)學(xué)生嚴(yán)密的邏輯思維能力、自主探究能力。②加強學(xué)生利用本學(xué)科解決日常學(xué)習(xí)生活中問題的意識。

教學(xué)重點難點:

教學(xué)重點:掌握分支結(jié)構(gòu)IF語句的格式。

教學(xué)難點:能根據(jù)實際分析問題,寫出程序并調(diào)試成功。

教法與學(xué)法:

1.教法:半成品加工方法。采用半成品加工方法,可以淡化與分支結(jié)構(gòu)無關(guān)的內(nèi)容,例如可視化VB界面的設(shè)計,從而有效提高課堂效率,這種方式在鞏固練習(xí)中使用非常合適。

2.學(xué)法:自主學(xué)習(xí)、小組討論、組間交流。學(xué)生作為學(xué)習(xí)的個人主體,必須通過自主學(xué)習(xí)掌握本節(jié)課的學(xué)習(xí)內(nèi)容,從而培養(yǎng)學(xué)生獨立解決問題的能力。采用小組討論、組間交流的方法,培養(yǎng)學(xué)生互助、團結(jié)協(xié)作的良好品質(zhì);增強學(xué)生協(xié)作學(xué)習(xí)、與人合作交流的意識;形成積極主動的學(xué)習(xí)和使用信息技術(shù)、參與信息活動的態(tài)度。

教學(xué)過程設(shè)計:

(一)創(chuàng)設(shè)情境,激發(fā)興趣

1.教師演示猜價格的小程序。

2.提出問題:該程序是一種什么結(jié)構(gòu)?順序結(jié)構(gòu)?還是分支結(jié)構(gòu)?

3.舉例:生活中有很多分支結(jié)構(gòu)的問題。

4.引出分支結(jié)構(gòu)的程序?qū)崿F(xiàn)。

(設(shè)計意圖:從生活中提取問題,讓學(xué)生能有學(xué)習(xí)興趣,并能及時了解本節(jié)課的學(xué)習(xí)任務(wù)。)

(二)合作探究,獲得新知

以“銀行ATM機錄入密碼”程序為例:

1.教師展示“密碼判斷”的單分支結(jié)構(gòu)流程圖,請同學(xué)用自然語言來描述。學(xué)生回答:如果(用戶輸入的密碼為999)那么(程序提示密碼正確)。

2.教師引出VB中單分支結(jié)構(gòu)IF語句的基本用法。同時讓同學(xué)們討論IF…THEN…中省略號代表什么含義。學(xué)生回答:IF(條件)THEN(條件成立時執(zhí)行的語句)。

3.師生共同共同編寫代碼,程序?qū)崿F(xiàn)。

4.教師提出問題:如果密碼是錯誤的,那么將會出現(xiàn)什么情況?如果要讓程序在密碼輸入錯誤時,也要出現(xiàn)提示,該如何做。

5.教師展示雙分支結(jié)構(gòu)流程圖,請同學(xué)用自然語言來描述算法。學(xué)生回答:如果(用戶輸入的密碼為999)那么(程序提示密碼正確)否則(程序提示密碼錯誤)。

6.教師引出VB中雙分支結(jié)構(gòu)IF語句的基本用法,同時讓學(xué)生討論IF…THEN…ELSE…中省略號代表什么含義。學(xué)生回答:IF(條件)THEN(條件成立時執(zhí)行的語句)ELSE(條件不成立時執(zhí)行的語句)。

7.師生共同編寫代碼,程序?qū)崿F(xiàn)。

8.教師講解IF語句的兩種格式:行IF語句和塊IF語句的用法。

(設(shè)計意圖:通過自然語言與程序設(shè)計語言的比對,加深學(xué)生對分支結(jié)構(gòu)的認(rèn)識。通過師生共同參與改寫程序,使學(xué)生了解IF語句的書寫格式,并感受程序語言的嚴(yán)謹(jǐn)性。)

(三)學(xué)生實踐,解決問題

1.教師布置3個任務(wù),學(xué)生選擇其中一個進行操作,要求自主完成。①判斷是否中獎,要求如下:程序設(shè)置初始中獎號碼,若用戶輸入的號碼為中獎號碼,程序則顯示“恭喜您,您中獎啦!”②判斷是否打折,超市進行蘋果促銷,如果買5斤以內(nèi)就按價格4.5元/斤計算,如果大于等于5斤,總價可打九折。要求如下:輸入你買的蘋果重量(單位:斤),程序顯示總金額。③判斷一元二次方程是否有解。要求:輸入一元二次方程的系數(shù)a,b,c,判斷該方程是否有解,如果有解,則輸出解,如果沒有解,則輸出“該方程無解”。

2.任務(wù)分析:判斷是單分支還是雙分支結(jié)構(gòu)?鼓勵學(xué)生可多選任務(wù)來完成。

3.展示成果,教師強調(diào)IF語句的格式規(guī)范。

(設(shè)計意圖:通過三道難易不同的題目進行分層訓(xùn)練,讓不同知識基礎(chǔ)和思維能力的學(xué)生都能夠體驗到成功的喜悅,提高學(xué)生分析問題、解決問題的能力,突出本課的重點。)

(四)交流提升,應(yīng)用拓展

1.教師提出在任務(wù)2中,若要求如下:輸入斤數(shù),如果小于5斤,就按價格4.5元/斤計算,如果大于等于5斤,就打九折,如果大于等于10斤就打八折,程序顯示總金額,該如何設(shè)計算法?學(xué)生回答:利用分支嵌套結(jié)構(gòu)可以實現(xiàn)該算法。

2.教師展示分支嵌套流程圖。

3.學(xué)生小組討論,組間交流。

4.學(xué)生組內(nèi)共同撰寫程序。

5.教師展示學(xué)生的代碼,再次強調(diào)語句撰寫的規(guī)范。

(設(shè)計意圖:通過對新任務(wù)的探討、分析,加深學(xué)生對分支結(jié)構(gòu)嵌套語句的理解。同時進一步養(yǎng)成良好的編程習(xí)慣。)

篇(6)

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

1引言

“C語言程序設(shè)計”是計算機系各專業(yè)的必修課程,屬專業(yè)主干課,是一門學(xué)位課程。也是各高校部分非計算機專業(yè)開設(shè)的程序設(shè)計課程之一。本課程開設(shè)的目的是使學(xué)生掌握面向過程的程序設(shè)計的基本概念,逐步形成正確的程序設(shè)計思想,理解結(jié)構(gòu)化程序設(shè)計方法;掌握程序設(shè)計的基本技術(shù),程序設(shè)計的基本組織方法即函數(shù)(模塊)程序設(shè)計;具備調(diào)試程序的能力。因為C語言功能強大,程序編寫靈活,具有較強的實踐性,是一門高級語言中的“低級語言”,既可以用來編寫系統(tǒng)軟件,又可以用來開發(fā)應(yīng)用軟件,因此對學(xué)生以后參與專業(yè)領(lǐng)域的應(yīng)用軟件的開發(fā)和使用會有極大的幫助。C語言是結(jié)構(gòu)化的語言,學(xué)好C語言程序設(shè)計,能為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)、C++、Java等)及其他程序設(shè)計課程的學(xué)習(xí)打下基礎(chǔ)。同時,C語言程序設(shè)計也是計算機類各種考試所要求的重點課程之一。

2循環(huán)結(jié)構(gòu)程序設(shè)計

結(jié)構(gòu)化程序設(shè)計中包含三種基本技術(shù):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)的程序設(shè)計是學(xué)生學(xué)習(xí)了結(jié)構(gòu)化程序設(shè)計的前兩種基本技術(shù)之后的第三種基本技術(shù),是結(jié)構(gòu)化程序設(shè)計技術(shù)中最重要也是最難的部分。這門課程一般都是學(xué)生學(xué)習(xí)程序設(shè)計的入門課程,第一次學(xué)習(xí)循環(huán),可能難于理解“循環(huán)”的含義,在設(shè)計程序時正確使用循環(huán)也就更困難了。針對這些特點,循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué)方法和教學(xué)手段也就值得探討。

3循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué)方法

3.1教學(xué)重點和難點

要想學(xué)生能夠輕松理解和掌握循環(huán)結(jié)構(gòu)的程序設(shè)計,首先得確定本部分內(nèi)容的重點和難點。

本部分的重點主要是:(1)循環(huán)控制結(jié)構(gòu)及其設(shè)計。(2)循環(huán)控制語句的應(yīng)用。教學(xué)重點是循環(huán)控制語句中的while語句,只要把while語句的使用講解清楚了,后面的for語句和do-while語句就容易多了。

本部分的難點是循環(huán)控制結(jié)構(gòu)及其設(shè)計。

3.2突出教學(xué)重點與分散難點的方法

為了突出教學(xué)中的重點并分散難點,可以從三方面入手:

(1) 從分析問題的重復(fù)性入手。學(xué)生在日常的生活、學(xué)習(xí)中能看到、體會到重復(fù)這種行為。精心設(shè)計實例,給學(xué)生一個比較實際的切入點,通過教師的引導(dǎo),使學(xué)生能體查、歸納“重復(fù)行為”,從而理解和掌握循環(huán)的主要特點:有規(guī)律地重復(fù)操作。在教師的啟發(fā)、引導(dǎo)下,使學(xué)生在課堂上真正地成為“主體”,教師扮演“主導(dǎo)”角色。在整個過程中,緊緊抓住循環(huán)程序設(shè)計的思想,采用“自頂向下,逐步求精”的結(jié)構(gòu)化程序設(shè)計方法,把重點突出出來,并把難點進行分散,使學(xué)生容易理解和接受。

(2) 難點內(nèi)容,提前做好鋪墊。在前面內(nèi)容適當(dāng)?shù)牡胤桨才懦霈F(xiàn)循環(huán)程序,但不講它的功能,為講解現(xiàn)在的內(nèi)容做好鋪墊,打下伏筆。這使得學(xué)生的每一步學(xué)習(xí)都有基礎(chǔ),是一個循序漸進的過程,使學(xué)生的學(xué)習(xí)是在“走臺階”,而不是“三級跳”,效果很好。

(3) 在循環(huán)程序設(shè)計的應(yīng)用中,可以從簡單公式化的循環(huán)入手到復(fù)雜非公式化的循環(huán)的處理。講解過程中,通過黑板進行詳細(xì)分析和講解,使學(xué)生加深學(xué)習(xí)和理解。適當(dāng)?shù)牡胤竭M行提問,教師引導(dǎo)學(xué)生積極參與到分析問題,解決問題的過程中,寫出程序后,放到實際的環(huán)境下運行,讓學(xué)生來分析程序的正確性,改正程序的錯誤,有利于學(xué)生理解難點、掌握重點。

3.3教學(xué)過程的設(shè)計與組織

(1) 提出問題

本部分的內(nèi)容是循環(huán)程序設(shè)計,體現(xiàn)在兩個方面,一是循環(huán)結(jié)構(gòu)程序設(shè)計的算法表示;二是循環(huán)結(jié)構(gòu)程序的C語言表示。循環(huán)程序設(shè)計是結(jié)構(gòu)化程序設(shè)計中最難、最復(fù)雜的部分,而授課對象是初次接觸程序設(shè)計和循環(huán)結(jié)構(gòu),因此循環(huán)的引入就至關(guān)重要。例如:通過引入求5!這個簡單的例子,運用已經(jīng)學(xué)過的順序結(jié)構(gòu)程序設(shè)計就可以實現(xiàn);但是求復(fù)雜的階乘,比如20!,任意自然數(shù)n!,用已經(jīng)學(xué)過的順序結(jié)構(gòu)程序設(shè)計和選擇結(jié)構(gòu)程序設(shè)計就難于解決,要用簡單的方法解決這樣的問題,就必須使用結(jié)構(gòu)化程序設(shè)計中的第三種基本技術(shù):循環(huán)結(jié)構(gòu)的程序設(shè)計。這樣就輕松地引入了循環(huán)結(jié)構(gòu)程序設(shè)計。在引入的過程中,要注重調(diào)動學(xué)生的積極性,采用互動教學(xué)法帶動學(xué)生的積極性。

(2) 解決問題的方法及講授新內(nèi)容

在用問題引入了循環(huán)后,第一步,分析用循環(huán)控制結(jié)構(gòu)求20!的算法的自然語言和流程圖表示。第二步,為了實現(xiàn)這種循環(huán)控制行為,C語言提供了多種循環(huán)控制語句,while語句就是其中的一種,介紹while語句的一般形式和功能。第三步,講解while循環(huán)語句的應(yīng)用。在講解的過程中,為了提高學(xué)生的學(xué)習(xí)效果,達(dá)到預(yù)期的目標(biāo),除了采用常用的教學(xué)方法和手段外,還可以采用以下一些教學(xué)方法和手段:

① 注重啟發(fā)、引導(dǎo)學(xué)生。教師在講解分析時,注重啟發(fā)、引導(dǎo)學(xué)生主動分析問題、解決問題。

② 注重采用任務(wù)驅(qū)動的教學(xué)模式。通過提出問題,分析問題,引入新知識,解決問題,總結(jié)提高,一步步實現(xiàn)教學(xué)的目標(biāo)。

③ 采用國際上慣用的解析教學(xué)法。

④ 把編寫的程序放到實際環(huán)境下運行。讓學(xué)生來分析程序的正確性,改正程序的錯誤,有利于學(xué)生掌握好重點、難點知識。

⑤ 應(yīng)用現(xiàn)代化多媒體教學(xué)手段,有利于提高教學(xué)效率,便于學(xué)生理解。充分利用黑板和投影相結(jié)合的方式;分析過程用黑板進行教學(xué),以便體現(xiàn)思維過程。

4結(jié)束語

要使學(xué)生輕松容易地理解和掌握C語言中的循環(huán)結(jié)構(gòu)程序設(shè)計方法和技巧,必須在教學(xué)的所有環(huán)節(jié)上都進行認(rèn)真研究和精心設(shè)計。通過對循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué),使學(xué)生提高綜合應(yīng)用的能力,為今后的后續(xù)課程及軟件的設(shè)計和開發(fā)打下堅實的基礎(chǔ)。

參考文獻(xiàn):

[1] 徐慶生.C語言程序設(shè)計[M].北京:科學(xué)普及出版社,2007.

[2] 高牧,楊志強,許蘭蘭,等. C/C++教學(xué)改革的探索與實踐[J]. 計算機時代,2005(11).

The Design and Discussion of Programming Course of Iteration Structure Pedagogical

in C Programming Language

SUN Ying, XU Shun-qiong, LI Xing-mei

篇(7)

【中圖分類號】G71 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2013)09-0249-02

在數(shù)控類專業(yè)的高等職業(yè)技能“雙證”培訓(xùn)中,非圓曲線的數(shù)控編程與加工是一個教學(xué)重點,也是一個難點,因為它不僅是《數(shù)控編程》課程教學(xué)標(biāo)準(zhǔn)中要求掌握的內(nèi)容,也是數(shù)控中級操作員職業(yè)資格證考試大綱中要求掌握的技能及各級各類數(shù)控大賽中必考的一個部分,涉及到了數(shù)控宏程序的編制,也涉及到了數(shù)控系統(tǒng)中變量的分配與使用。非圓曲線數(shù)控加工宏程序的編制是以計算機程序設(shè)計為基礎(chǔ)的,學(xué)生能否正確理解并寫出該加工程序,在很大程度上取決于學(xué)生能否準(zhǔn)確理解計算機程序中數(shù)據(jù)存儲的方式、數(shù)據(jù)處理的方法以及計算機程序設(shè)計中控制結(jié)構(gòu)知識,掌握計算機程序編制技能,并在兩個平臺(計算機程序設(shè)計與數(shù)控編程系統(tǒng))下將關(guān)聯(lián)知識進行有效對接并完成技能遷移。本文將對這一環(huán)節(jié)的教學(xué)過程進行設(shè)計探討,分析實施結(jié)果。

一、教學(xué)設(shè)計的思路

1.將基礎(chǔ)知識課程與職業(yè)技能標(biāo)準(zhǔn)進行有效銜接,突出重點,突破難點

數(shù)控加工的宏程序是數(shù)控中級操作員職業(yè)資格考試中必須掌握的內(nèi)容,也是學(xué)生在數(shù)控編程中的難點。程序設(shè)計中控制結(jié)構(gòu)的三種形式在非圓曲線數(shù)控加工宏程序中都有所體現(xiàn),如果單純考慮程序設(shè)計而沒有具體應(yīng)用,程序設(shè)計就失去了原有的意義。如何將知識點在不同的平臺上進行對接,將知識進行有效遷移,轉(zhuǎn)換成相應(yīng)的技能在實際生產(chǎn)中加以應(yīng)用,是突破難點的關(guān)鍵。本次課程的設(shè)計就是通過有效突破難點達(dá)到突出重點的目的。

2.從易到難的算法案例設(shè)計、從熟悉到陌生應(yīng)用平臺、從理論深入到實踐淺出的引導(dǎo)式教學(xué)

本次課程的教學(xué)目標(biāo)是通過循環(huán)控制結(jié)構(gòu)在非圓曲線數(shù)控加工宏程序中的應(yīng)用達(dá)到培養(yǎng)學(xué)生在不同的平臺上進行知識對接與技能轉(zhuǎn)化的能力。在教學(xué)中,采用任務(wù)驅(qū)動(如圖1)的模式及項目式教學(xué)法來設(shè)計教學(xué)案例(如圖2)。

三個案例的選擇圍繞教學(xué)目的,采用循序漸進的引導(dǎo)式教學(xué);案例1是計算機程序設(shè)計中循環(huán)結(jié)構(gòu)設(shè)計的典型問題,學(xué)生很容易在熟悉的計算機程序設(shè)計平臺(如C)下完成,該案例為案例2的問題解決建立了一個數(shù)學(xué)模型,因此,案例1不僅僅是一個計算機程序的算法問題,而是案例2中實現(xiàn)各擬合點步進距關(guān)系確定的基礎(chǔ);案例2的任務(wù)是找到曲線擬合節(jié)點,從而完成曲線擬合,而擬合節(jié)點就是案例3中數(shù)控加工的關(guān)鍵點,因此,案例2的算法就是非圓曲線數(shù)控宏程序加工軌跡上各點的算法,在將該算法移置到數(shù)控系統(tǒng)的編程平臺(如華中數(shù)控系統(tǒng)或FANUC數(shù)控系統(tǒng))中實現(xiàn)就可完成案例3要求的數(shù)控宏程序的編制,故此為案例2設(shè)計了“計算機編程環(huán)境下編程調(diào)試運行程序驗證擬合點”的教學(xué)過程,為案例3設(shè)計了“擬合非圓曲線的計算機程序轉(zhuǎn)換成數(shù)控平臺下加工的宏程序按數(shù)控機床的加工要求設(shè)定毛壞與機床狀態(tài)運行加工宏程序進行仿真加工檢驗算法及程序”的教學(xué)過程,這樣的過渡讓學(xué)生在知識遷移時沒有突兀的感覺,符合認(rèn)知的習(xí)慣和思維方式,自然而然地加深了對程序設(shè)計中循環(huán)結(jié)構(gòu)理論知識的理解,掌握了將其應(yīng)用于加工非圓曲線數(shù)控宏程序時的方法,在實踐中獲得了技能的提高。

二、教學(xué)實施的方法

1.形象直觀的多媒體課件與板書的有效結(jié)合

本次課程信息量較大,重點、難點明顯。在教學(xué)中,把三個案例的構(gòu)建、曲線擬合的方法、曲線坐標(biāo)系與編程坐標(biāo)系的轉(zhuǎn)換等內(nèi)容中涉及到的圖形圖像以多媒體課件的形式進行表達(dá),便捷直觀,提高了課堂時間的利用率;將學(xué)生難以理解的非圓曲線擬合理論、過程及擬合曲線的計算機程序轉(zhuǎn)化為數(shù)控加工宏程序的過程,以板書的形式完成,一方面從視覺得上強化對學(xué)生的刺激,加深印象,另一方面讓學(xué)生對這一重點和難點知識有充分的時間進行思考,實現(xiàn)教師與學(xué)生的課堂互動,使學(xué)生的思維與老師的啟發(fā)保持協(xié)調(diào)一致。根據(jù)需要,在教學(xué)過程中多媒體課件的演示與板書教學(xué)穿插實施。

2.三個軟件平臺的有效利用

本次課程涉及到三個軟件平臺的應(yīng)用――計算機程序設(shè)計、斯沃?jǐn)?shù)控仿真系統(tǒng)和傳奇多媒體教學(xué)網(wǎng)絡(luò),其中前兩個是與職業(yè)技能訓(xùn)練有關(guān)的軟件。在計算機程序設(shè)計的環(huán)境下,實現(xiàn)了用循環(huán)結(jié)構(gòu)進行橢圓曲線擬合的算法實施并驗證,這是將曲線擬合的理論和循環(huán)控制結(jié)構(gòu)的理論進行的第一次有效結(jié)合并加以實踐的過程,但這一過程并沒有具體的生產(chǎn)應(yīng)用,因此它仍然停留在理論的層面上;在斯沃?jǐn)?shù)控仿真系統(tǒng)的平臺中,實現(xiàn)了把相應(yīng)程序用數(shù)控系統(tǒng)要求的變量及程序格式轉(zhuǎn)化而成的數(shù)控加工程序進行零件的模擬加工,并有了一個可見的虛擬加工成果,雖然不是真實的加工生產(chǎn),但這兩個軟件的有效利用已經(jīng)將循環(huán)結(jié)構(gòu)在非圓曲線輪廓數(shù)控加工宏程序中的應(yīng)用推上了一個真實的應(yīng)用環(huán)境,學(xué)生從這兩個軟件的教學(xué)過程中非常直觀地感受到了課程內(nèi)容與職業(yè)標(biāo)準(zhǔn)之間的關(guān)系。

3.“教、學(xué)、做”一體化的有效教學(xué)過程

本課程是一門理論與實踐結(jié)合較為緊密的課程,理論與實踐并重,教學(xué)中不僅要解決“怎么做”的問題,還要解決“為什么這么做”的問題才能達(dá)到讓學(xué)生知識遷移與技能轉(zhuǎn)化的目的。因此在教學(xué)中采用了“教中做”、“做中教”、學(xué)生“做中學(xué)”、“學(xué)中做”、“做中會”的教學(xué)過程,將程序邊講解邊輸入到相應(yīng)的軟件中,現(xiàn)場進行程序的調(diào)試及運行,學(xué)生邊看邊學(xué),有問題教師可以及時在傳奇多媒體教學(xué)網(wǎng)絡(luò)的監(jiān)控中發(fā)現(xiàn)并解決。學(xué)生在自己動手的過程中增加了學(xué)習(xí)的興趣,提高了技能。

三、教學(xué)的總結(jié)與反思

1.本課程是一門計算機編程理論與實踐相結(jié)合的課程,它不僅有利于提高學(xué)生的編程能力、思維能力,還培養(yǎng)學(xué)生的實際動手能力和創(chuàng)新能力。觸類旁通、舉一反三、實現(xiàn)知識對接與遷移、提升技能是本次課的教學(xué)目的,課后的作業(yè)應(yīng)該體現(xiàn)這一點。

2.《計算機程序設(shè)計》這門課程的設(shè)置影響本次課程的教學(xué)效果。如果學(xué)生對計算機程序設(shè)計基本理論與方法有比較好的基礎(chǔ)的話,用本次課來實現(xiàn)數(shù)控宏程序的編制,效果很好;反之,基礎(chǔ)較差的話,仿真軟件上模擬加工過程可以直接以視頻的形式展現(xiàn),也會激發(fā)學(xué)生對《數(shù)控編程》這門課程的興趣。

篇(8)

DOI:10.16640/ki.37-1222/t.2017.02.034

1 引言 背景技術(shù)

液壓支架為煤礦機械化采煤的主要支護設(shè)備,結(jié)構(gòu)件是液壓支架的主體框架,其結(jié)構(gòu)多呈箱型,目前,對于液壓支架結(jié)構(gòu)件箱體斷面抗彎強度設(shè)計計算,多為依靠OPT液壓支架計算程序、采用邁實軟件或人工列方程計算等方式進行計算,前者涉及到程序不能升級、不能支持win7以上操作系統(tǒng),且界面可視化程度不好;中者為采用導(dǎo)入截面圖形來識別各個截面圖形尺寸分別對每塊板進行計算,原理不同,使用起來效率方面并不算出眾;而后者在計算時效性方面計算太煩瑣,耗時耗力,多已放棄采用。

2 計算原理

根據(jù)液壓支架受力分析給出結(jié)構(gòu)件危險斷面的最大彎矩M進行抗彎強度校核,畫出該部件危險斷面圖,該斷面圖通常為數(shù)十塊鋼板拼裝組成,首先需對相同類型尺寸鋼板進行歸類,整理出若干組鋼板類型;分別對每組鋼板進行截面積、截面型心高度計算,進而計算出斷面的總型心高度、并分別計算出每組鋼板的矩形截面慣性矩,進而計算出斷面總慣性矩J;依次計算出最大、最小彎曲應(yīng)力、、最大最小安全系數(shù);通過使用VB語言編制出自動計算結(jié)構(gòu)件斷面抗彎強度計算分析程序,獲得相應(yīng)安全系數(shù)并校核出該斷面是否設(shè)計合理;如圖1所示為某一部件危險斷面圖:

3 設(shè)計意圖及VB程序的實現(xiàn)

(1)設(shè)計意圖:使用VB語言編寫程序代替人工計算意義在于利用計算機快捷準(zhǔn)確、功能強大以及具有可視化界;本程序設(shè)計目的在于克服上述缺點,基于VB語言設(shè)計,對各功能模塊編寫代碼、并進行編譯生成可執(zhí)行exe文件。該程序包括信息參數(shù)輸入模塊、導(dǎo)入導(dǎo)出模塊、計算結(jié)果顯示模塊,并設(shè)有計算按鈕、導(dǎo)入、導(dǎo)出、清除按鈕;斷面抗彎強度計算分析截圖如2所示:

(2)信息參數(shù)輸入模塊:可按要求將已知的箱體截面的組件數(shù)量、斷面最大高度、箱體選用的材料強度、斷面位置所受最大彎矩,各組件的寬度、高度、形心高度、塊數(shù)依次輸入模塊;如該斷面中有某組鋼板高于或低其他材料強度,可按相應(yīng)的板材屈服強度比比值換算出該組鋼板在與其他鋼板使用相同材料強度時的厚度換算輸入即可;如鋼板組數(shù)9為使用Q690材料,其他各組鋼板都采用Q550材料,相應(yīng)厚度換算為30*690/550=37.636。

(3)計算結(jié)果顯示模塊:點擊計算按鈕后,計算程序就會根據(jù)信息參數(shù)輸入模塊中的數(shù)據(jù)計算出截面形心高度y、截面慣性矩Jz、最大彎曲應(yīng)力σmax、最小彎曲應(yīng)力σmin、最大安全系數(shù)Nmax、最小安全系數(shù)Nmin,并在計算結(jié)果顯示模塊中相應(yīng)位置顯示出來,液壓支架工藝設(shè)計人員可根據(jù)計算分析安全系數(shù)大小作出相應(yīng)的強度增補或驗證措施。

(4)導(dǎo)入導(dǎo)出模塊:點擊導(dǎo)出按鈕后,計算程序會彈出另存為對話框,將信息參數(shù)輸入數(shù)據(jù)及輸出分析按txt格式保存;以備后期存檔或方便查看。點擊導(dǎo)入按鈕后,計算程序會彈出打開對話框,供工藝設(shè)計人員選擇已保存的txt文件進行導(dǎo)入至信息參數(shù)輸入模塊,方便設(shè)計人員及時驗算用;既可在信息參數(shù)輸入模塊直接輸入數(shù)據(jù)方式,也可按導(dǎo)入txt數(shù)據(jù)文件方式計算,期間可以根據(jù)設(shè)計意圖臨時更改輸入的參數(shù),并且還可識別原OPT生成格式文件進行導(dǎo)入、計算分析進而實現(xiàn)新舊計算工具的融合體現(xiàn)。

4 使用效果及結(jié)語

篇(9)

在早期的計算機程序開發(fā)中用的比較多的方法即是結(jié)構(gòu)化程序設(shè)計,因此也出現(xiàn)了一批優(yōu)秀的結(jié)構(gòu)化程序設(shè)計的語言,如C語言、Pascal等。但是隨著計算機軟硬件的不斷發(fā)展,傳統(tǒng)的的程序設(shè)計方法出現(xiàn)的弊端:結(jié)構(gòu)化方法開發(fā)的軟件,其穩(wěn)定性、可修改性和可重用性都比較差,這是因為結(jié)構(gòu)化方法的本質(zhì)是功能分解,從代表目標(biāo)系統(tǒng)整體功能的單個處理著手,自頂向下不斷把復(fù)雜的處理分解為子模塊,這樣一層一層的分解下去,直到僅剩下若干個容易實現(xiàn)的子模塊功能為止,然后用相應(yīng)的工具來描述各個最低層的處理。因此,結(jié)構(gòu)化方法是圍繞實現(xiàn)處理功能的整個過程來構(gòu)造系統(tǒng)的,我們又稱其為面向過程程序設(shè)計。

由于結(jié)構(gòu)化程序設(shè)計存在一定的問題,因此勢必有一個新的程序設(shè)計思路來完善,這就是面向?qū)ο蟪绦蛟O(shè)計出現(xiàn)和發(fā)展的必然。

一、結(jié)構(gòu)化程序設(shè)計存在的問題

1.軟件的重用性差

重用性是指同一事物不經(jīng)修改或稍加修改就可多次重復(fù)使用的性質(zhì)。軟件重用性是軟件工程追求的目標(biāo)之一。如果軟件的重用性較差那么軟件的造價就相對高。

2.軟件的可維護性差

軟件工程強調(diào)軟件的可維護性,強調(diào)文檔資料的重要性,規(guī)定最終的軟件產(chǎn)品應(yīng)該由完整、一致的配置成分組成。在軟件開發(fā)過程中,始終強調(diào)軟件的可讀性、可修改性和可測試性是軟件的重要的質(zhì)量指標(biāo)。實踐證明,用傳統(tǒng)方法開發(fā)出來的軟件,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導(dǎo)致可維護性差。

3.開發(fā)出的軟件不能真正滿足用戶需要

結(jié)構(gòu)化方法開發(fā)大型軟件系統(tǒng)涉及各種不同領(lǐng)域的知識,在開發(fā)需求模糊或需求動態(tài)變化的系統(tǒng)時,所開發(fā)出的軟件系統(tǒng)往往不能真正滿足用戶的需要。

二、面向?qū)ο蟪绦蛟O(shè)計的思想

從現(xiàn)實世界中客觀存在的事物(我們稱為對象)出發(fā)來構(gòu)造軟件系統(tǒng),并在系統(tǒng)構(gòu)造中盡可能運用人類的自然思維方式,強調(diào)直接以現(xiàn)實世界中的事物為中心來思考問題,認(rèn)識問題,并根據(jù)這些事物的本質(zhì)特點,把它們抽象地表示為系統(tǒng)中的對象,作為系統(tǒng)的基本構(gòu)成單位。這可以使系統(tǒng)直接地映射問題域,保持問題域中事物及其相互關(guān)系的本來面貌。

面向?qū)ο蠓椒ㄊ且哉J(rèn)識論為基礎(chǔ),用對象來理解和分析問題空間,并設(shè)計和開發(fā)出由對象構(gòu)成的軟件系統(tǒng)的方法。簡言之,面向?qū)ο缶褪敲嫦蚴虑楸旧恚嫦驅(qū)ο蟮姆治鲞^程就是認(rèn)識客觀世界的過程。面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象,類,消息,繼承等概念。 面向?qū)ο蠓椒ǖ闹饕獌?yōu)點是:符合人們通常的思維方式,從分析到設(shè)計再到編碼采用一致的模型表示具有高度連續(xù)性,軟件重用性好。

面向?qū)ο蟮某绦蛟O(shè)計語言必須有描述對象及其相互之間關(guān)系的語言成分。這些程序設(shè)計語言可以歸納為以下幾類:系統(tǒng)中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質(zhì)劃分為類,對象成為類的實例;實例關(guān)系和繼承關(guān)系是對象之間的靜態(tài)關(guān)系;消息傳遞是對象之間動態(tài)聯(lián)系的唯一形式,也是計算的唯一形式;方法是消息的序列。現(xiàn)在用的比較多的面向?qū)ο蟮某绦蛟O(shè)計語言有Java,C#等。

三、面向?qū)ο蟪绦蛟O(shè)計的實現(xiàn)過程

1.選擇面向?qū)ο笳Z言

采用面向?qū)ο蠓椒ㄩ_發(fā)軟件的基本目的和主要優(yōu)點是通過重用提高軟件的生產(chǎn)率。因此,應(yīng)該優(yōu)先選用能夠最完善、最準(zhǔn)確地表達(dá)問題域語義的面向?qū)ο笳Z言。

在選擇編程語言時,應(yīng)該考慮的其他因素還有:對用戶學(xué)習(xí)面向?qū)ο蠓治?、設(shè)計和編碼技術(shù)所能提供的培訓(xùn)操作;在使用這個面向?qū)ο笳Z言期間能提供的技術(shù)支持;能提供給開發(fā)人員使用的開發(fā)工具、開發(fā)平臺,對機器性能和內(nèi)存的需求,集成已有軟件的容易程度。

2.類的實現(xiàn)

在開發(fā)過程中,類的實現(xiàn)是核心問題。在用面向?qū)ο箫L(fēng)格所寫的系統(tǒng)中,所有的數(shù)據(jù)都被封裝在類的實例中。而整個程序則被封裝在一個更高級的類中。在使用既存部件的面向?qū)ο笙到y(tǒng)中,可以只花費少量時間和工作量來實現(xiàn)軟件。只要增加類的實例,開發(fā)少量的新類和實現(xiàn)各個對象之間互相通信的操作,就能建立需要的軟件。

一種方案是先開發(fā)一個比較小、比較簡單的來,作為開發(fā)比較大、比較復(fù)雜的類的基礎(chǔ)。

3.應(yīng)用系統(tǒng)的實現(xiàn)

應(yīng)用系統(tǒng)的實現(xiàn)是在所有的類都被實現(xiàn)之后的事。實現(xiàn)一個系統(tǒng)是一個比用過程性方法更簡單、更簡短的過程。有些實例將在其他類的初始化過程中使用。而其余的則必須用某種主過程顯式地加以說明,或者當(dāng)作系統(tǒng)最高層的類的表示的一部分。

4.面向?qū)ο鬁y試

把各個子系統(tǒng)組裝成完整的面向?qū)ο筌浖到y(tǒng),在組裝過程中同時進行測試。

從事面向?qū)ο缶幊痰娜税凑辗止碚f,可以分為“類庫的創(chuàng)建者”和“類庫的使用者”。使用類庫的人并不都是具備了面向?qū)ο笏枷氲娜?,通常知道如何繼承和派生新對象就可以使用類庫了,然而我們的思維并沒有真正的轉(zhuǎn)過來,使用類庫只是在形式上是面向?qū)ο螅鴮嵸|(zhì)上只是庫函數(shù)的一種擴展。

面向?qū)ο笫且环N思想,是我們考慮事情的方法,通常表現(xiàn)為我們是將問題的解決按照過程方式來解決呢,還是將問題抽象為一個對象來解決它。很多情況下,我們會不知不覺的按照過程方式來解決它,而不是考慮將要解決問題抽象為對象去解決它。

由于面向?qū)ο蟮某绦蛟O(shè)計還是有待發(fā)展和改進的,我們勢必對它有一個期待,結(jié)構(gòu)化程序設(shè)計的思路我們也不是全部都要丟棄,因為面向?qū)ο罄锩嬉灿羞^程的東西,不過面向?qū)ο蟮某绦蛟O(shè)計思路是程序開發(fā)的一個主流的方面,也是對結(jié)構(gòu)化程序設(shè)計的一個發(fā)展的新思路。

篇(10)

中圖分類號:TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)10-54-03

Design of program structure analyzer based on Clang compiler

Zhou Rui

(Shaanxi institute of technology, Xi'an, Shaanxi 710300, China)

Abstract: At present, the research of software testing in China is still in the basic stage of theoretical methods and management methods, and it has not made any breakthrough in the software testing technology. Based on the front end of current popular Clang compiler, using different rules to identify the structure of statement in the abstract syntax tree generation process, and to carry out the reform and correction of the intermediate structure, an effective program structure analyzer with high accuracy is obtained. The design of program structure analyzer lays a solid underlying data support for realizing a theory based comprehensive white box testing tool.

Key words: Clang compiler; abstract syntax tree; program structure analysis; software testing

0 引言

程序結(jié)構(gòu)分析器的實現(xiàn)離不開一個高效的編譯前端作支持,而編譯技術(shù)到目前為止在各領(lǐng)域得到了廣泛的應(yīng)用。從銀行的管理軟件到高性能計算,大多數(shù)都是高級語言進行編寫完成,然后通過靜態(tài)或動態(tài)編譯最終在計算機上運用。目前比較流行的編譯器是在Apple上使用的LLVM/Clang編譯器、由GNU開發(fā)的程序語言編譯器GCC用于Linux系統(tǒng)下編程、IBM公司研制開發(fā)的Java編譯器Jikes、Inter公司開發(fā)的Open Research Compile,還有常見的MSVC、Borland c、myeclipse和jbuilder等等[3-4]。

程序中的缺陷檢測是編譯器的一項重要任務(wù),也是目前研究的熱點和探討的核心問題。要識別各種錯誤包括:變量未定義、類型檢驗、語義錯誤以及內(nèi)存泄漏和違規(guī)等,就必須在程序分析方面投入更多精力進行設(shè)計研究。在保證可靠性和安全性的同時也要減少分析工具的誤報,從而避免給程序員帶來不必要的麻煩,節(jié)約時間,提高效率。因此,編譯器技術(shù)中靜態(tài)或動態(tài)的程序分析對識別程序中的錯誤和缺陷有著重要的作用,不過現(xiàn)在面臨的問題還不少,出現(xiàn)了許多新的挑戰(zhàn)[5]。

1 clang的靜態(tài)分析器

現(xiàn)有的Clang靜態(tài)分析器已經(jīng)完成了過程內(nèi)分析(Intra-ProceduralAnalysis)和路徑診斷(Path Diagnostics)兩個大模塊。其中已實現(xiàn)的過程內(nèi)分析功能包括源代碼級別的控制流圖、流敏感的數(shù)據(jù)流解析器、路徑敏感數(shù)據(jù)流分析引擎、死存儲檢查和接口檢查。而路徑診斷信息模塊已經(jīng)提供路徑診斷客戶端(提供開發(fā)新bug報告的抽象接口、獨立于生成過程的可視報告、HTML診斷報告)、缺陷報告器(為前一個模塊服務(wù))[6]。

1.1 靜態(tài)分析概述

靜態(tài)分析(static analysis)[1]是指在不執(zhí)行的情況下對代碼進行評估的過程。靜態(tài)分析非常強大,這是因為它允許對多種可能性進行快速參考量。一個靜態(tài)分析工具能夠探查大量“如果……將會……”的假定情況,而不必為所有這些假定進行計算,進而執(zhí)行這些代碼。靜態(tài)分析技術(shù)非常適合于識別安全問題。

⑴ 靜態(tài)分析工具徹底而一致地進行檢查,而不管程序員的檢查角度和代碼的復(fù)雜程度。

⑵ 通過對代碼本身的檢查,靜態(tài)分析工具往往能指出安全問題的根源,而不僅僅是指出某種癥狀。

上一篇: 保險公司的增值服務(wù) 下一篇: 財務(wù)審計重要性
相關(guān)精選