歡迎訪(fǎng)問(wèn)愛(ài)發(fā)表,線(xiàn)上期刊服務(wù)咨詢(xún)

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

時(shí)間:2023-07-19 09:28:52

緒論:在尋找寫(xiě)作靈感嗎?愛(ài)發(fā)表網(wǎng)為您精選了8篇程序設(shè)計(jì)的結(jié)構(gòu),愿這些內(nèi)容能夠啟迪您的思維,激發(fā)您的創(chuàng)作熱情,歡迎您的閱讀與分享!

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

篇1

關(guān)鍵詞:C語(yǔ)言;程序設(shè)計(jì);教學(xué);結(jié)構(gòu)體;實(shí)驗(yàn)

中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)09-0163-02

Abstract: C language programming is a profession course in the computer special field of study, and it is usually the first programming course to the students. So the experiment teaching of the course is too important. It mainly discusses the teaching design of structures in this paper, which can help the students to grasp the basic knowledge about structures, and can solve problems by using arrays of structure and linked lists. It proves that the teaching design can stimulate the students’ study interest.

Key words:C language; programming; teaching; structure; experiment

《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課一般是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生入學(xué)時(shí)所接觸到的第一門(mén)程序設(shè)計(jì)課程,這門(mén)課程需要學(xué)生掌握程序設(shè)計(jì)的方法,用C語(yǔ)言編程解決問(wèn)題。在現(xiàn)實(shí)問(wèn)題求解時(shí),往往用簡(jiǎn)單數(shù)據(jù)類(lèi)型描述問(wèn)題對(duì)象時(shí)可能不是很方便和準(zhǔn)確,例如,描述職工信息這樣不同類(lèi)型的數(shù)據(jù)組合時(shí),這時(shí)就需要定義一種構(gòu)造類(lèi)型的數(shù)據(jù)結(jié)構(gòu)來(lái)描述,這就是結(jié)構(gòu)體。而且,本文認(rèn)為結(jié)構(gòu)體是實(shí)現(xiàn)了數(shù)據(jù)的封裝,在一定程度上體現(xiàn)了封裝的特性,對(duì)后續(xù)課程的教學(xué)有一定的啟發(fā)性。所以,結(jié)構(gòu)體教學(xué)是C語(yǔ)言程序設(shè)計(jì)的一個(gè)重要的部分,同樣,在實(shí)驗(yàn)課教學(xué)中結(jié)構(gòu)體的實(shí)驗(yàn)教學(xué)也是重要的一個(gè)環(huán)節(jié),特別是鏈表方面的實(shí)驗(yàn)教學(xué)對(duì)后續(xù)課程,如《數(shù)據(jù)結(jié)構(gòu)》起著基礎(chǔ)性的作用。本文主要是對(duì)結(jié)構(gòu)體的實(shí)驗(yàn)教學(xué)的設(shè)計(jì)進(jìn)行探討。

1 結(jié)構(gòu)體實(shí)驗(yàn)教學(xué)的設(shè)計(jì)

結(jié)構(gòu)體實(shí)驗(yàn)教學(xué)在教學(xué)時(shí)設(shè)計(jì)了3個(gè)實(shí)驗(yàn)題目,這三個(gè)實(shí)驗(yàn)題目的難度由易到難,試圖讓學(xué)生掌握結(jié)構(gòu)體變量、結(jié)構(gòu)體數(shù)組和鏈表的使用。

1.1 結(jié)構(gòu)體變量的實(shí)驗(yàn)設(shè)計(jì)

結(jié)構(gòu)體變量的實(shí)驗(yàn)屬于結(jié)構(gòu)體實(shí)驗(yàn)中比較簡(jiǎn)單的實(shí)驗(yàn),這個(gè)實(shí)驗(yàn)就是讓學(xué)生練習(xí)如何根據(jù)實(shí)際問(wèn)題,用結(jié)構(gòu)體定義自己所需的類(lèi)型,再使用這種類(lèi)型定義變量,編寫(xiě)程序去解決問(wèn)題。

在實(shí)驗(yàn)教學(xué)中,教師要求學(xué)生解決如下的問(wèn)題:要求用戶(hù)輸入三個(gè)點(diǎn)的坐標(biāo),編程判斷這三個(gè)點(diǎn)是否可以構(gòu)成一個(gè)三角形,如果可以則輸出三角形的類(lèi)型,即直角三角形、銳角三角形或者鈍角三角形。這個(gè)題目在實(shí)驗(yàn)課上是以程序填空題的形式提供,這樣既可以引導(dǎo)學(xué)生初次使用結(jié)構(gòu)體進(jìn)行編程,在填寫(xiě)缺失的代碼過(guò)程中,鍛煉學(xué)生的程序閱讀能力。在題目設(shè)計(jì)中盡可能的考察學(xué)生以前的所學(xué)知識(shí)點(diǎn),比如,函數(shù)形參、函數(shù)調(diào)用、選擇結(jié)構(gòu)編程等等。

這個(gè)程序填空題首先要求完成圖1中所示的點(diǎn)的結(jié)構(gòu)體的設(shè)計(jì),從而讓學(xué)生掌握如何根據(jù)實(shí)際需要來(lái)定義結(jié)構(gòu)體這種類(lèi)型。再要求學(xué)生完成圖1中input函數(shù)和len函數(shù)的填寫(xiě),讓學(xué)生掌握如何使用結(jié)構(gòu)體變量的成員分量,并注意函數(shù)的類(lèi)型;judgeexist函數(shù)用于判斷三個(gè)點(diǎn)能否構(gòu)成三角形,在這個(gè)函數(shù)中強(qiáng)調(diào)邏輯運(yùn)算符的使用,同時(shí)讓學(xué)生注意函數(shù)的返回值類(lèi)型,強(qiáng)調(diào)C語(yǔ)言的數(shù)據(jù)類(lèi)型沒(méi)有邏輯型,若想表示真假這樣的邏輯型值可以用1和0這樣的數(shù)值型數(shù)據(jù)來(lái)表示。

圖2中的qcos函數(shù)在設(shè)計(jì)填空時(shí)主要考察的是指針的使用,讓學(xué)生加深指針作為函數(shù)形參傳遞的是地址值這一個(gè)概念的理解。這個(gè)函數(shù)在編寫(xiě)時(shí)并不是很難,就是三角形余弦函數(shù)的使用,關(guān)鍵在于形參變量中指

針變量的引用,即諸如*cosA的賦值。而圖2中judgetype函數(shù)就是依據(jù)三個(gè)角的余弦值來(lái)判斷三角形是直角三角形、銳角三角形,還是鈍角三角形。這個(gè)函數(shù)在設(shè)計(jì)填空時(shí),主要是考察學(xué)生關(guān)系運(yùn)算符的使用,以及嵌套的選擇if語(yǔ)句的理解和應(yīng)用。圖3中主函數(shù)的設(shè)計(jì)填空主要是考察學(xué)生是否了解上述用戶(hù)自定義函數(shù)的功能,并通過(guò)填寫(xiě)函數(shù)調(diào)用語(yǔ)句能正確的使用這些函數(shù),此外,還考察了switch多分支語(yǔ)句的使用。

這個(gè)題目總體來(lái)說(shuō)設(shè)計(jì)的并不是很難,當(dāng)學(xué)生完成程序填空后,要求學(xué)生必須完成4種情況,即無(wú)法構(gòu)成三角形、構(gòu)成直角三角形、銳角三角形和鈍角三角形的數(shù)據(jù)測(cè)試,通過(guò)輸出的結(jié)果與預(yù)期結(jié)果作比較,從而檢查程序是否編寫(xiě)正確。

1.2 結(jié)構(gòu)體數(shù)組的實(shí)驗(yàn)設(shè)計(jì)

結(jié)構(gòu)體數(shù)組的實(shí)驗(yàn)在結(jié)構(gòu)體實(shí)驗(yàn)中是中等難度的實(shí)驗(yàn),這個(gè)實(shí)驗(yàn)題目的設(shè)計(jì)主要是讓學(xué)生掌握結(jié)構(gòu)體數(shù)組的定義,讓學(xué)生了解結(jié)構(gòu)體數(shù)組元素的訪(fǎng)問(wèn)和其他基本數(shù)據(jù)類(lèi)型的數(shù)組元素訪(fǎng)問(wèn)是類(lèi)似的,如若要訪(fǎng)問(wèn)某個(gè)數(shù)組元素的成員分量時(shí),需要在結(jié)構(gòu)體數(shù)組元素后加上“.成員分量名”。

在實(shí)驗(yàn)課時(shí),布置了如下的實(shí)驗(yàn)題目:輸入職工的職工號(hào)、姓名、工資和出生年、月、日,按職工工資由高到低輸出職工的職工號(hào)、姓名和周歲年齡。注意:輸入“#”表示輸入結(jié)束,假設(shè)最多只處理200個(gè)職工記錄。此題在定義職工信息這種數(shù)據(jù)類(lèi)型時(shí),涉及到了出生年、月、日這種日期類(lèi)型,而C語(yǔ)言的基本類(lèi)型中沒(méi)有這種類(lèi)型,因此,教師可以引導(dǎo)學(xué)生先寫(xiě)出如圖4(a)所示的日期類(lèi)型struct date,再引導(dǎo)學(xué)生思考職工類(lèi)型如何定義,提示學(xué)生職工信息包含出生日期這樣的日期型數(shù)據(jù),建議定義出如圖4(b)所示的職工信息類(lèi)型struct zg。一般地,學(xué)生會(huì)依據(jù)題目要求定義出struct zg的數(shù)組,其數(shù)組的大小為200。這個(gè)題目之所以這樣設(shè)計(jì)就是希望通過(guò)這個(gè)練習(xí)讓學(xué)生了解結(jié)構(gòu)體類(lèi)型中的成員分量沒(méi)有具體類(lèi)型要求,完全根據(jù)需要而設(shè)。

此題的另一個(gè)設(shè)計(jì)要點(diǎn)是排序算法在結(jié)構(gòu)體數(shù)組中的應(yīng)用,在課堂練習(xí)時(shí),有的學(xué)生使用的是冒泡排序法,有的則使用選擇排序法,但是在交換兩個(gè)struct zg的數(shù)組元素時(shí),有部分學(xué)生會(huì)注意交換結(jié)構(gòu)體數(shù)組元素的成員分量,那么這時(shí)就需要聲明交換結(jié)構(gòu)體數(shù)組元素和交換整型數(shù)組元素的方法類(lèi)似,將結(jié)構(gòu)體數(shù)組元素看作一個(gè)整體。這個(gè)設(shè)計(jì)要點(diǎn)在于復(fù)習(xí)數(shù)組章節(jié)中所提到的排序算法。

此題最后一個(gè)設(shè)計(jì)要點(diǎn)是由已知的職工出生年、月、日求出該職工的周歲年齡,此處要求學(xué)生使用計(jì)算機(jī)的系統(tǒng)時(shí)間計(jì)算出職工的周歲年齡。為了能成功獲取計(jì)算機(jī)的系統(tǒng)時(shí)間,則要求學(xué)生在幫助菜單或者網(wǎng)上查找C中“time.h”所定義的time_t這個(gè)數(shù)據(jù)類(lèi)型,讓學(xué)生了解typedef的用法;了解函數(shù)time()和localtime的用法,并能在程序中正確的使用;了解結(jié)構(gòu)體struct tm,掌握該結(jié)構(gòu)體中關(guān)于年、月、日表示的成員分量,讓學(xué)生特別注意每個(gè)成員分量所表示的意義及其取值的范圍,例如,成員分量tm_year表示的是年份,但是它的取值是從1900開(kāi)始的一個(gè)整數(shù),若想正確獲得當(dāng)前的年份值,應(yīng)該是tm_year+1900。當(dāng)學(xué)生能正確地完成獲取系統(tǒng)時(shí)間的年、月、日的程序代碼設(shè)計(jì)后,引導(dǎo)學(xué)生思考如何計(jì)算周歲年齡,實(shí)際上就是用if嵌套語(yǔ)句完成多分支結(jié)構(gòu)的設(shè)計(jì)。這個(gè)設(shè)計(jì)要點(diǎn)是希望學(xué)生了解C程序設(shè)計(jì)過(guò)程中可能會(huì)出現(xiàn)書(shū)本上所未介紹過(guò)的知識(shí),這就需要學(xué)生通過(guò)其他方式,例如查閱工具書(shū)或者上網(wǎng)等手段來(lái)獲取所需的知識(shí),同時(shí),也復(fù)習(xí)了多分支結(jié)構(gòu)的程序設(shè)計(jì)。

此外,在編程時(shí)要求學(xué)生盡量不要程序中只有一個(gè)main()函數(shù),要盡量根據(jù)需要編寫(xiě)用戶(hù)自定義函數(shù)。

1.3 鏈表的實(shí)驗(yàn)設(shè)計(jì)

鏈表實(shí)驗(yàn)的題目主要是讓學(xué)生熟悉結(jié)構(gòu)體與指針相結(jié)合,對(duì)鏈表有個(gè)初步認(rèn)識(shí),了解鏈表中的一些操作。題目與1.2中結(jié)構(gòu)體數(shù)組的題目非常類(lèi)似,但是要求必須用鏈表來(lái)完成,從而讓學(xué)生熟悉鏈表這種結(jié)構(gòu)。實(shí)驗(yàn)題目是:輸入學(xué)生的學(xué)號(hào)、姓名和年齡,要求按學(xué)號(hào)由小到大輸出學(xué)生的學(xué)號(hào)、姓名和年齡,要求輸入“#”表示輸入結(jié)束。這個(gè)題目解決的方法很多,因?yàn)閷W(xué)生初次接觸鏈表,因此實(shí)驗(yàn)教學(xué)時(shí)沒(méi)有提出任何方法的限制,只是要求學(xué)生用單鏈表求解,在求解過(guò)程中要求學(xué)生注意鏈表的創(chuàng)建算法,鏈表的輸出算法,以及鏈表修改結(jié)點(diǎn)指針的一些操作。

首先,教師要引導(dǎo)學(xué)生正確的完成鏈表結(jié)點(diǎn)的定義,即指針與結(jié)構(gòu)體相結(jié)合,學(xué)生信息結(jié)點(diǎn)的定義可以如圖5所示。在求解問(wèn)題時(shí),需要學(xué)生注意結(jié)點(diǎn)指針的操作。實(shí)驗(yàn)課上,有的學(xué)生在輸入學(xué)生信息時(shí),即建鏈表時(shí)采用插入排序的思想,將待插入的學(xué)生信息的結(jié)點(diǎn)插入到已建好的且有序的鏈表中,用這種方法創(chuàng)建鏈表后,鏈表本身就是有序的,那么只需用循環(huán)結(jié)構(gòu)輸出鏈表就可以完成問(wèn)題的求解。在實(shí)驗(yàn)課上,會(huì)發(fā)現(xiàn)有的學(xué)生有了這個(gè)想法但是算法編寫(xiě)有問(wèn)題,教師在指導(dǎo)的過(guò)程中可以建議學(xué)生在建鏈表過(guò)程中,每插入一個(gè)結(jié)點(diǎn)后就完成當(dāng)前鏈表的輸出,從而有助于發(fā)現(xiàn)算法設(shè)計(jì)出錯(cuò)之處。

在實(shí)驗(yàn)課上,有的學(xué)生則先是創(chuàng)建鏈表,即將學(xué)生信息結(jié)點(diǎn)按輸入的順序插入到鏈表中,此時(shí)鏈表中的學(xué)生信息結(jié)點(diǎn)是無(wú)序的,再采用冒泡排序法或者選擇排序法對(duì)鏈表中的結(jié)點(diǎn)調(diào)整順序,最后編寫(xiě)循環(huán)完成鏈表輸出。在調(diào)整結(jié)點(diǎn)時(shí)有的學(xué)生會(huì)出現(xiàn)算法思路不夠清晰,有點(diǎn)混亂這種現(xiàn)象,這時(shí)教師可以建議學(xué)生在草稿紙畫(huà)出鏈表結(jié)點(diǎn)的調(diào)整草圖,再依據(jù)圖示編寫(xiě)代碼。在實(shí)驗(yàn)課上,有的學(xué)生采用排序算法調(diào)整結(jié)點(diǎn)時(shí)直接交換圖5所示結(jié)點(diǎn)的no、name和age值,這種方法很便捷,但是達(dá)不到鏈表練習(xí)的目的,因此,教師可以鼓勵(lì)學(xué)生再換一種算法。

2 結(jié)束語(yǔ)

本文給出了結(jié)構(gòu)體實(shí)驗(yàn)教學(xué)的三個(gè)實(shí)驗(yàn)題目,這三個(gè)題目有各自的重點(diǎn),而且題目有程序填空,也有程序設(shè)計(jì),讓學(xué)生由淺入深地逐步掌握結(jié)構(gòu)體的定義,使用結(jié)構(gòu)體變量和數(shù)組編程求解實(shí)際問(wèn)題。并且實(shí)驗(yàn)題目中有的內(nèi)容是對(duì)課本上的知識(shí)進(jìn)行一定的擴(kuò)展,力圖培養(yǎng)學(xué)生的自學(xué)能力,因?yàn)樵趯?shí)際解決問(wèn)題時(shí),有的知識(shí)可能是課堂上沒(méi)有提到的,因此,學(xué)生要學(xué)會(huì)查閱資料進(jìn)行自學(xué)。

參考文獻(xiàn):

[1] 胡明, 王紅梅. 程序設(shè)計(jì)基礎(chǔ)――從問(wèn)題到程序[M]. 北京: 清華大學(xué)出版社, 2011.

[2] 孫燮華. C程序設(shè)計(jì)導(dǎo)引實(shí)驗(yàn)與習(xí)題解答[M]. 北京: 清華大學(xué)出版社, 2011.

[3] 羅永龍, 方群. C語(yǔ)言程序設(shè)計(jì)[M]. 北京: 科學(xué)出版社, 2013.

篇2

全書(shū)共20章。1.Python編程101:對(duì)使用Python語(yǔ)言編程進(jìn)行總體介紹,包括創(chuàng)建對(duì)象、對(duì)象調(diào)用方法、運(yùn)算符重載、讀取文件方法、XML文件等內(nèi)容;2.計(jì)算復(fù)雜度:包括計(jì)算機(jī)體系結(jié)構(gòu)介紹、常見(jiàn)的計(jì)算復(fù)雜性、攤銷(xiāo)復(fù)雜度的方法等;3.遞歸:包括時(shí)棧和堆的概念、簡(jiǎn)單遞歸函數(shù)的編寫(xiě)、運(yùn)行,遞歸計(jì)算機(jī)圖形學(xué)、列表與字符串等;4.排序:包括選擇排序、歸并排序、快速排序、鏈表、棧和隊(duì)列等內(nèi)容;5.集合與映射:數(shù)獨(dú)游戲介紹、集、散列等相關(guān)概念,最后分析規(guī)劃問(wèn)題;6.樹(shù):抽象語(yǔ)法樹(shù)和表達(dá)、前綴和后綴表達(dá)式、解析前綴表達(dá)式、二叉搜索樹(shù)等內(nèi)容;7.圖:包括圖的定義及理論、存儲(chǔ)結(jié)構(gòu)及算法實(shí)現(xiàn)、Kruskal算法、Dijkstra算法、圖的表示方法等;8.Bloom過(guò)濾器、Trie數(shù)據(jù)類(lèi)型等相關(guān)內(nèi)容;9.堆:包括堆的主要思想及其建立、排序算法、與其他算法的比較等;10.平衡二叉搜索樹(shù):二叉搜索樹(shù)的概念、存儲(chǔ)結(jié)構(gòu)與性質(zhì)、AVL樹(shù)與 Splay樹(shù)等具體實(shí)例;11.B樹(shù):包括關(guān)系型數(shù)據(jù)庫(kù)的概念、B樹(shù)的組織結(jié)構(gòu)、優(yōu)勢(shì)、實(shí)現(xiàn)、B樹(shù)的插入與刪除等內(nèi)容;12.啟發(fā)式搜索:包括深度優(yōu)先搜索與廣度優(yōu)先搜索、A*搜索、最佳搜索等相關(guān)內(nèi)容;13.附錄A:整數(shù)操作符;14.附錄B:浮算子;15.附錄C:字符串運(yùn)算符和方法;16.附錄D:列表操作符和方法;17.附錄E:字典操作和方法;18.附錄F:Turtle方法;19附錄G:TurtleScreen方法;20.附錄H:完整的程序。

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

本書(shū)介紹了初級(jí)與高級(jí)的數(shù)據(jù)結(jié)構(gòu)和算法問(wèn)題,每一章開(kāi)始提供了學(xué)習(xí)目標(biāo),復(fù)習(xí)題和編程練習(xí),以及眾多的例證;同時(shí)在相關(guān)的網(wǎng)站提供可下載的程序和補(bǔ)充文件。本書(shū)可以作為計(jì)算機(jī)學(xué)科相關(guān)專(zhuān)業(yè)的教材或參考書(shū),同時(shí)對(duì)計(jì)算機(jī)科技工作者也有參考價(jià)值。

篇3

關(guān)鍵詞:循環(huán)結(jié)構(gòu);C語(yǔ)言程序設(shè)計(jì);非計(jì)算機(jī)專(zhuān)業(yè)

中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)26-6323-05

Discussion on Loop Structure Teaching in C Language Programming of Non-computer Specialty

XIA Yun

(College of Mathematics and Computer Science, Anhui Normal University , Wuhu 241000 , China)

Abstract: The teaching of loop structure is an important component in C language programming. This paper designed 5 teach? ing examples for the students of non-computer specialty. This paper analyzes the teaching progress in detail and emphasizes the teaching points of the loop structure teaching. And it produces a good effect in the actual teaching progress.

Key words: loop structure; C Language programming; non-computer specialty

大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)作為一門(mén)課程大約于20世紀(jì)90年代中期開(kāi)設(shè),現(xiàn)在已成為大學(xué)里的計(jì)算機(jī)學(xué)習(xí)基礎(chǔ)課程,是所有非計(jì)算機(jī)專(zhuān)業(yè)大一新生的必修公共基礎(chǔ)課,也是培養(yǎng)學(xué)生基本素質(zhì)的一門(mén)重要課程[1]。作為大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)課程,理工類(lèi)專(zhuān)業(yè)大部分會(huì)開(kāi)設(shè)程序設(shè)計(jì)課程,有部分專(zhuān)業(yè)會(huì)開(kāi)設(shè)C程序設(shè)計(jì)課程。C語(yǔ)言是一種語(yǔ)法靈活、適用范圍廣的高級(jí)程序設(shè)計(jì)語(yǔ)言。結(jié)構(gòu)化程序設(shè)計(jì)方法有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)和分支結(jié)構(gòu)比較簡(jiǎn)單,循環(huán)結(jié)構(gòu)從教學(xué)上來(lái)說(shuō)是重點(diǎn)也是難點(diǎn)。本文主要對(duì)C語(yǔ)言循環(huán)結(jié)構(gòu)教學(xué)進(jìn)行探討。

1教學(xué)內(nèi)容的分析

C語(yǔ)言循環(huán)結(jié)構(gòu)編程主要涉及到三種循環(huán)結(jié)構(gòu)語(yǔ)句while、do-while和for。本文作者認(rèn)為非計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)這門(mén)課程,主要是講解程序設(shè)計(jì)的方法,培養(yǎng)學(xué)生的編程能力和思維能力,因此,在教學(xué)中上述的三種語(yǔ)句可以以while語(yǔ)句為重點(diǎn),講解循環(huán)結(jié)構(gòu)編程的思想,do-while和for語(yǔ)句可以簡(jiǎn)單舉例說(shuō)明它們的流程。在講解循環(huán)結(jié)構(gòu)編程分析時(shí),可以以流程圖或者用自然語(yǔ)言逐步描述操作步驟的形式,指出循環(huán)結(jié)構(gòu)編程關(guān)鍵是找到在什么情況下需要反復(fù)執(zhí)行某些操作,并找到這些反復(fù)執(zhí)行的操作是什么。

2教學(xué)用例的分析

在課程教學(xué)過(guò)程中,需要用一些例子來(lái)配合講解循環(huán)結(jié)構(gòu)的編程。在教學(xué)時(shí),選取一些比較合適的例子,可以很好地幫助學(xué)生理解所教授的內(nèi)容。教師在教學(xué)過(guò)程中除了要加強(qiáng)課堂啟發(fā)外,盡可能結(jié)合課程自身的特點(diǎn),注重學(xué)生現(xiàn)場(chǎng)演練,并采用任務(wù)驅(qū)動(dòng)、師生互動(dòng)、鼓勵(lì)學(xué)生等教學(xué)手段來(lái)提高其學(xué)習(xí)的主動(dòng)性和積極性[2]。

2.1導(dǎo)入的例子

在教學(xué)活動(dòng)中,講授后面知識(shí)內(nèi)容時(shí)要與前面知識(shí)相互呼應(yīng)[3],因此,在上課時(shí),可以以這樣的問(wèn)題開(kāi)始,例題1:用戶(hù)輸入正整數(shù)n值的大小后,要求計(jì)算1+2+3+…+n,將所得出的結(jié)果輸出。這個(gè)例題主要是復(fù)習(xí)前面的內(nèi)容,復(fù)習(xí)輸入、輸出函數(shù)和分支結(jié)構(gòu)的編程。該問(wèn)題提出后,可以讓同學(xué)們思考一下,然后再進(jìn)行提問(wèn),提問(wèn)時(shí)可以讓學(xué)生說(shuō)出編程思路,若課堂時(shí)間比較多也可以請(qǐng)學(xué)生直接編寫(xiě)源代碼并運(yùn)行。

提問(wèn)時(shí),有的同學(xué)可能給出如下的順序結(jié)構(gòu)編程的解答:

步驟1:輸入整數(shù)n

步驟2:求s=(1+n)*n/2

步驟3:輸出s

while (j

{輸出i*j

j++;}

由此,得出在循環(huán)while (i

循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)的一種重要結(jié)構(gòu),在教學(xué)中不僅需要學(xué)生掌握這種結(jié)構(gòu)的語(yǔ)法,更重要的是培養(yǎng)學(xué)生的設(shè)計(jì)思維和思考方法,本文主要是從教學(xué)的角度,對(duì)循環(huán)結(jié)構(gòu)的整個(gè)教學(xué)過(guò)程設(shè)計(jì)了5個(gè)教學(xué)用例,并對(duì)其進(jìn)行展開(kāi)分析,重點(diǎn)是讓學(xué)生掌握循環(huán)結(jié)構(gòu)編程的思想,實(shí)際上就是在問(wèn)題分析過(guò)程中找循環(huán)條件和循環(huán)操作,在實(shí)際教學(xué)中取得了較好的效果。

[1]何文海,吳明珠,謝劍剛.情商與智商相結(jié)合的教學(xué)模式[J].現(xiàn)代計(jì)算機(jī),2007(8):73-75.

[2]郭海花,陳允芳,王健.非計(jì)算機(jī)專(zhuān)業(yè)中“VB程序設(shè)計(jì)”教學(xué)方法初探[J].計(jì)算機(jī)教育,2009(18):98-100.

篇4

1、整體思路清楚,目標(biāo)明確。

2、設(shè)計(jì)工作中階段性非常強(qiáng),有利于系統(tǒng)開(kāi)發(fā)的總體管理和控制。

3、在系統(tǒng)分析時(shí)可以診斷出原系統(tǒng)中存在的問(wèn)題和結(jié)構(gòu)上的缺陷。

4、用戶(hù)要求難以在系統(tǒng)分析階段準(zhǔn)確定義,致使系統(tǒng)在交付使用時(shí)產(chǎn)生許多問(wèn)題。

5、用系統(tǒng)開(kāi)發(fā)每個(gè)階段的成果來(lái)進(jìn)行控制,不能適應(yīng)事物變化的要求。

6、系統(tǒng)的開(kāi)發(fā)周期長(zhǎng)。

篇5

關(guān)鍵詞:教學(xué)設(shè)計(jì);分支結(jié)構(gòu);IF語(yǔ)句

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

教材分析:

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

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

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

學(xué)情分析:

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

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

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

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

教學(xué)資源:

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

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

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

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

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

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

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

教學(xué)重點(diǎn)難點(diǎn):

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

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

教法與學(xué)法:

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

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

教學(xué)過(guò)程設(shè)計(jì):

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

1.教師演示猜價(jià)格的小程序。

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

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

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

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

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

以“銀行ATM機(jī)錄入密碼”程序?yàn)槔?/p>

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

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

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

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

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

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

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

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

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

(三)學(xué)生實(shí)踐,解決問(wèn)題

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

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

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

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

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

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

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

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

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

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

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

(五)總結(jié)回顧,布置作業(yè)

篇6

關(guān)鍵詞:PLC;結(jié)構(gòu)化;給排水

1 引言

隨著現(xiàn)代工業(yè)發(fā)展進(jìn)程的不斷加快,工業(yè)自動(dòng)化控制技術(shù)發(fā)揮著越來(lái)越大的作用,PLC控制系統(tǒng)的應(yīng)用也日益廣泛。PLC程序設(shè)計(jì)的水平優(yōu)劣往往決定著工程能否及時(shí)竣工投產(chǎn),工業(yè)設(shè)備能否充分發(fā)揮其設(shè)計(jì)生產(chǎn)能力。傳統(tǒng)的PLC編程方式程序繁瑣冗長(zhǎng),結(jié)構(gòu)不清晰,不利于控制程序在多個(gè)項(xiàng)目中的重復(fù)使用。如何迅速、優(yōu)質(zhì)地編制符合不同設(shè)備工藝特點(diǎn),參數(shù)的PLC程序,對(duì)工業(yè)控制系統(tǒng)的及時(shí)完工,提高自動(dòng)化控制水平具有較大的意義。本文結(jié)合給排水行業(yè)常用設(shè)備及工藝程序的編寫(xiě),對(duì)結(jié)構(gòu)化編程在PLC中的應(yīng)用進(jìn)行了初步的探索,取得了較理想的效果。

2 PLC程序設(shè)計(jì)方法簡(jiǎn)介

常見(jiàn)的程序設(shè)計(jì)方法分為三種:線(xiàn)性化方法、模塊化方法以及結(jié)構(gòu)化方法[1]。

線(xiàn)性化編程方法:將所有的程序代碼全部放在一個(gè)程序塊中,如對(duì)S7-300/400來(lái)說(shuō),在OB1中寫(xiě)入數(shù)據(jù)采集、設(shè)備控制、臺(tái)時(shí)統(tǒng)計(jì)等全部用戶(hù)程序。該方法與PLC所代替的繼電器控制電路類(lèi)似,系統(tǒng)按照順序處理各條指令。它適用于小型設(shè)備配套PLC的編程,對(duì)于大中型項(xiàng)目則顯得程序結(jié)構(gòu)不清晰,同時(shí)由于需要對(duì)不同設(shè)備編制大量類(lèi)似的代碼,導(dǎo)致代碼冗長(zhǎng),難以調(diào)試和維護(hù)。

模塊化編程方法:將程序根據(jù)不同功能需求分成不同的塊,每個(gè)功能的控制指令在各自的塊內(nèi),OB1按順序調(diào)用每個(gè)塊。該方法程序結(jié)構(gòu)清晰,便于調(diào)試和維護(hù),但僅將功能按塊分配,加以有條件的調(diào)用,故雖然CPU效率得到提高,但代碼冗長(zhǎng)、調(diào)試?yán)щy的缺點(diǎn)未得到明顯改善。

結(jié)構(gòu)化編程方法:將復(fù)雜的自動(dòng)化任務(wù)分割成過(guò)程相關(guān)的功能或可多次處理的小任務(wù),以提供可以用于類(lèi)似任務(wù)的通用的程序代碼,這樣更易于控制復(fù)雜任務(wù)。而這些小任務(wù)以相應(yīng)的程序段表示,稱(chēng)為塊。只需要在調(diào)用程序塊時(shí)針對(duì)不同的設(shè)備和工藝流程代入不同的參數(shù)或地址,即可實(shí)現(xiàn)不同設(shè)備的控制,無(wú)須多處重復(fù)輸入相同功能的代碼。當(dāng)需要對(duì)功能進(jìn)行修改時(shí)只需要修改程序塊即可,提高了編程的效率和可靠性。

3 結(jié)構(gòu)化編程方法設(shè)計(jì)實(shí)例

在實(shí)際應(yīng)用中,在對(duì)給排水行業(yè)通用設(shè)備和工藝進(jìn)行詳細(xì)分析的基礎(chǔ)上,針對(duì)典型設(shè)備和工藝分別編制了水泵、儀表、閥門(mén)、泵站水泵調(diào)度、自動(dòng)加藥等不同的控制模塊,使高效開(kāi)發(fā)PLC程序在給排水行業(yè)的應(yīng)用成為可能。下面以變頻水泵及泵站的水泵調(diào)度為例來(lái)介紹結(jié)構(gòu)化編程方法。

3.1 變頻水泵功能塊

變頻水泵是給排水行業(yè)最常見(jiàn)的設(shè)備,其調(diào)用如圖2所示。

圖2為變頻水泵控制塊的調(diào)用實(shí)例,該FB的輸入輸出參數(shù)如圖3示。

功能塊接口參數(shù)共分為三種類(lèi)型:輸入(INPUT);輸出(OUTPUT);輸入輸出(IN_OUT)。其中輸入?yún)?shù)主要有:遠(yuǎn)程信號(hào),上電信號(hào),運(yùn)行信號(hào),水泵故障,電回路故障,變頻器故障,頻率輸入等;輸出參數(shù)主要有:開(kāi)停控制,頻率控制輸出,實(shí)際運(yùn)行頻率等;輸入輸出類(lèi)型參數(shù)主要有:變頻電機(jī)狀態(tài),變頻電機(jī)控制命令,電機(jī)臺(tái)時(shí)及開(kāi)停次數(shù)統(tǒng)計(jì),頻率設(shè)定值等。

輸入輸出類(lèi)型參數(shù)可由人工或自控程序在功能塊外部進(jìn)行賦值,也可由本功能塊內(nèi)部邏輯進(jìn)行修改。其中的State、Command等參數(shù)均為WORD類(lèi)型,其每一位分別代表了不同的含義。

該功能塊包含了除電流外的變頻水泵常見(jiàn)的絕大部分信號(hào)處理及控制功能,對(duì)于部分實(shí)際工程中未使用的參數(shù),可通過(guò)直接設(shè)置默認(rèn)值或空置的方式進(jìn)行處理。水泵電流可通過(guò)專(zhuān)門(mén)的模擬量處理程序塊進(jìn)行數(shù)據(jù)轉(zhuǎn)換和上下限報(bào)警判斷,當(dāng)電流超過(guò)上下限設(shè)定值時(shí)發(fā)出報(bào)警信號(hào)(過(guò)流、欠流)傳送給變頻水泵功能塊,從而實(shí)現(xiàn)水泵的電流超限保護(hù)功能。

3.2 泵站水泵調(diào)度功能塊

污水廠(chǎng)一般具有進(jìn)水泵房、中間提升泵站、出水泵房等工藝段,其水泵控制模式基本相同,都是根據(jù)液位的變化來(lái)調(diào)節(jié)運(yùn)行的水泵頻率和臺(tái)數(shù),調(diào)泵時(shí)又要考慮單臺(tái)設(shè)備的運(yùn)行臺(tái)時(shí)和啟停間隔等因素。其基本原理介紹如下:

泵站的液位控制一般采用根據(jù)液位分段啟停泵的模式,不同的液位分別對(duì)應(yīng)當(dāng)前需要開(kāi)泵的臺(tái)數(shù),同時(shí)具備死區(qū)保護(hù)功能,停泵液位設(shè)定值比啟泵液位設(shè)定值略低,以防止特殊情況下水泵的頻繁啟停[2]。

水泵的啟停選擇需要考慮以下幾個(gè)條件:

(1)熱備狀態(tài)。PLC首先檢測(cè)水泵上電情況,遠(yuǎn)程狀態(tài),控制模式,故障情況等,當(dāng)以上條件均滿(mǎn)足時(shí)認(rèn)為該泵處于熱備狀態(tài),可被自控程序進(jìn)行開(kāi)停調(diào)度。

(2)平衡調(diào)泵。累計(jì)運(yùn)行時(shí)間最短的泵優(yōu)先被啟動(dòng),運(yùn)行時(shí)間最長(zhǎng)的泵優(yōu)先停止,使每臺(tái)泵運(yùn)轉(zhuǎn)時(shí)間大致相等。當(dāng)運(yùn)行時(shí)間相同時(shí),按泵的順序啟停。

(3)啟動(dòng)間隔保護(hù)。控制程序使每一臺(tái)泵每小時(shí)起動(dòng)次數(shù)少于6次,兩次起動(dòng)間隔≥10分鐘,且不論何種情況,不同時(shí)起動(dòng)2臺(tái)及2臺(tái)以上水泵。

在實(shí)際應(yīng)用中,根據(jù)分段啟泵原理以及低水位保護(hù)等條件編制泵站自控功能塊,計(jì)算當(dāng)前需要開(kāi)泵臺(tái)數(shù)。根據(jù)上述三條件,編制了水泵啟停調(diào)度選擇功能塊,用于選擇當(dāng)前需要啟動(dòng)的水泵編號(hào)。兩功能塊配套使用,可快速完成泵站自動(dòng)調(diào)泵程序的編制工作。限于篇幅,本處不再詳述其具體實(shí)現(xiàn)過(guò)程。

篇7

關(guān)鍵詞:實(shí)例拓展;結(jié)構(gòu)化;程序設(shè)計(jì)教學(xué);教學(xué)應(yīng)用

中圖分類(lèi)號(hào):TP311.1

在計(jì)算機(jī)專(zhuān)業(yè)的教學(xué)中,程序設(shè)計(jì)是一門(mén)最基礎(chǔ),也是最重要的課程之一,是培養(yǎng)學(xué)生計(jì)算編程能力的主要課程[1]。但是又因?yàn)檫@門(mén)課程涉及到很多理論性極強(qiáng)的內(nèi)容和大量的編碼知識(shí),不容易被學(xué)生理解,所以是計(jì)算機(jī)專(zhuān)業(yè)教學(xué)的重點(diǎn)和難點(diǎn)。在過(guò)去傳統(tǒng)的教學(xué)方式之下,老師只是按照大綱的順序來(lái)講解相關(guān)的知識(shí)點(diǎn),即使舉例也只是引用一些比較典型的例題,例題和例題之間缺乏聯(lián)系,使得學(xué)生只能進(jìn)行生硬的記憶法來(lái)掌握程序設(shè)計(jì)各種語(yǔ)句,不能真正理解這些編程方法,達(dá)不到自主編程的教學(xué)目的,收效甚微。為了改變這一現(xiàn)狀,讓學(xué)生能夠真正理解程序結(jié)構(gòu)之間的關(guān)系,能夠靈活運(yùn)用各種編程方法進(jìn)行自主編程,在教學(xué)的過(guò)程中怎樣選擇具合適的實(shí)例已經(jīng)成為提高教學(xué)效果的關(guān)鍵。我校推行的實(shí)例拓展教學(xué)法很好地解決了這一難題,在我校大力推行之后,受到廣大師生的好評(píng),結(jié)構(gòu)化程序設(shè)計(jì)的教學(xué)效果明顯。

1 實(shí)例拓展法概述

實(shí)例拓展教學(xué)法屬于教學(xué)方式創(chuàng)新的表現(xiàn)形式之一。在這種教學(xué)方法中,實(shí)例就是整個(gè)教學(xué)的中心,所有的教學(xué)活動(dòng)都可以通過(guò)實(shí)例來(lái)完成,這也是這種教學(xué)方法最典型的特征[2]。運(yùn)用實(shí)例拓展法進(jìn)行教學(xué),學(xué)王可以充分利用各種學(xué)習(xí)資源,通過(guò)自主探索或者相互合作的方式來(lái)完成實(shí)例任務(wù),同時(shí)又會(huì)催生出一種新的實(shí)例。這種重在學(xué)生實(shí)踐活動(dòng)的教學(xué)方式就被稱(chēng)之為拓展實(shí)例法。這種教學(xué)方法有助于培養(yǎng)學(xué)生的自主學(xué)習(xí)能力,提高他們獨(dú)立分析問(wèn)題和解決問(wèn)題的能力。在計(jì)算機(jī)結(jié)構(gòu)化程序設(shè)計(jì)這種實(shí)踐性較強(qiáng)的課程教學(xué)中,尤其適合使用這種方法。

2 實(shí)例拓展法在結(jié)構(gòu)化程序設(shè)計(jì)教學(xué)中的實(shí)際應(yīng)用

在計(jì)算機(jī)程序設(shè)計(jì)中,VB語(yǔ)言是一門(mén)重要的課程,所以我們就以這門(mén)課程為例,對(duì)實(shí)例拓展教學(xué)方法在課堂上的具體應(yīng)用進(jìn)行具體。為了便于學(xué)生理解和練習(xí),我們將實(shí)例分成了兩種,一種在老師進(jìn)行課堂理論教學(xué)時(shí)應(yīng)用,另一種則在上機(jī)實(shí)踐活動(dòng)中應(yīng)用,下面我們對(duì)實(shí)例的應(yīng)用進(jìn)行出詳細(xì)介紹。

老師在進(jìn)行教學(xué)設(shè)計(jì)時(shí),如何安排實(shí)例是教學(xué)活動(dòng)的核心所在。在對(duì)教學(xué)實(shí)例進(jìn)行安排時(shí),老師一定要結(jié)合中專(zhuān)學(xué)生的年齡特點(diǎn)、心理發(fā)展水平和實(shí)際生活的需要等因素。同時(shí),實(shí)例的拓展應(yīng)該遵循教育學(xué)的客觀(guān)規(guī)律,從易到難,由淺入深,便于學(xué)生進(jìn)行理解[3]。另外,實(shí)例的難度應(yīng)該適中,既不能讓他們一看就明白,也不能讓他們冥思苦想而不得,要讓大部分學(xué)生通過(guò)自己的思考能夠完成,而且要將相關(guān)的知識(shí)點(diǎn)囊括其中,這樣才能充分實(shí)例拓展的作用。

在VB結(jié)構(gòu)化程序設(shè)計(jì)的教學(xué)中,課堂內(nèi)容可以被大致分成順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組應(yīng)用和過(guò)程設(shè)計(jì)等五個(gè)部分[4]。老師在進(jìn)行教學(xué)的過(guò)程中一定要全面掌握這些內(nèi)容之間的內(nèi)在關(guān)系。在本文中,我們將省略比較復(fù)雜的程序代碼,對(duì)這5部分內(nèi)容運(yùn)用到的實(shí)例進(jìn)行簡(jiǎn)單分析。

在進(jìn)行順序結(jié)構(gòu)這一內(nèi)容的教學(xué)時(shí),我們可以以計(jì)算圓的面積為例,在輸入圓的半徑之后就可以計(jì)算出來(lái)。這一實(shí)例可以作為入門(mén)介紹,理解起來(lái)并不困難。在這個(gè)實(shí)例中,融入了程序的三大基本組成部分,即數(shù)據(jù)輸入、處理和輸出,在講解實(shí)例的過(guò)程中,就能讓學(xué)生掌握這一知識(shí)點(diǎn)。

在結(jié)構(gòu)程序的教學(xué)中,可以在對(duì)上述實(shí)例進(jìn)行拓展,提出問(wèn)題:“假設(shè)圓的半徑的小于0時(shí)該怎們辦?”讓學(xué)生進(jìn)行思考,然后提出程序設(shè)計(jì)中的基本語(yǔ)句――選擇結(jié)構(gòu)的if語(yǔ)句。為了讓學(xué)生理解if語(yǔ)句的語(yǔ)法,老師可以讓學(xué)生在鍵盤(pán)上隨意輸入三個(gè)數(shù)字,求解最大值和最小值,在這個(gè)過(guò)程中介紹if語(yǔ)句的兩種格式,即單行格式和多行格式。到這里,我們就在前兩個(gè)實(shí)例的基礎(chǔ)上衍生出了新的實(shí)例。在了解if語(yǔ)句的格式之后,老師還可以對(duì)實(shí)例進(jìn)行進(jìn)一步拓展,讓學(xué)生求解分段函數(shù),明確if語(yǔ)句和Select Case這兩種多支結(jié)構(gòu)的語(yǔ)句格式。

在循環(huán)結(jié)構(gòu)的教學(xué)中,我們可以引入一個(gè)新的實(shí)例來(lái)介紹循環(huán)結(jié)構(gòu)For Next語(yǔ)句,例如在窗體上顯示出1、3、5、7、9這五個(gè)奇數(shù)。然后讓學(xué)生對(duì)求解上述數(shù)字之和,對(duì)上述實(shí)例進(jìn)行拓展。進(jìn)一步掌握For Next語(yǔ)句。在求和的基礎(chǔ)上,再一次對(duì)實(shí)例進(jìn)行拓展,讓學(xué)生在100以?xún)?nèi),求出1+3+5+7+……的最大奇數(shù)值,在講解實(shí)例的過(guò)程中引入循環(huán)結(jié)構(gòu)中一種重要的語(yǔ)句形式――Do Loop語(yǔ)句。

在講解數(shù)組應(yīng)用這一內(nèi)容時(shí),可以在任意輸入3個(gè)數(shù)字求解最大值和最小值這一實(shí)例的基礎(chǔ)上加以拓展,讓學(xué)生思考怎樣求出任意10個(gè)數(shù)字的最大值和最小值,通過(guò)這個(gè)實(shí)例引入數(shù)組概念和靜態(tài)數(shù)組的使用方法。在這一實(shí)例的基礎(chǔ)上還能進(jìn)一步拓展,求出任意數(shù)字的最大值和最小,引入動(dòng)態(tài)數(shù)組的概念的和具體的使用方法。

在進(jìn)行過(guò)程設(shè)計(jì)這一內(nèi)容的教學(xué)時(shí),依然在任意求解3個(gè)數(shù)字的最大值和最小值這一實(shí)例的基礎(chǔ)上加以拓展,將它們分成兩個(gè)函數(shù),在講解的過(guò)程中讓學(xué)生掌握過(guò)程的概念以及Function過(guò)程的建立和使用方法。在此基礎(chǔ)上,對(duì)實(shí)例進(jìn)一步拓展,將3個(gè)數(shù)字的最大值和最小值看成兩個(gè)Sub過(guò)程,讓學(xué)生通過(guò)老師對(duì)實(shí)例的講解掌握Sub過(guò)程的建立和使用方法[5],并與Function過(guò)程進(jìn)行對(duì)比。

以上的實(shí)例主要是在引入相關(guān)概念和講解程序基本原理時(shí)使用的,需要在多個(gè)課時(shí)中講解。根據(jù)所講內(nèi)容的課時(shí)安排,可適當(dāng)補(bǔ)充其他實(shí)例,更加詳細(xì)地講解相關(guān)知識(shí),也可以補(bǔ)充一些比較有趣實(shí)用的綜合例子,如制作計(jì)算器、打印九九乘法表等,進(jìn)一步開(kāi)闊學(xué)生的眼界。

經(jīng)過(guò)多年的教學(xué)實(shí)踐,筆者發(fā)現(xiàn)在運(yùn)用實(shí)力拓展法之后,學(xué)生對(duì)程序設(shè)計(jì)的學(xué)習(xí)興趣大增,不管是課堂表現(xiàn)還是作業(yè)完成情況都有了明顯改善,考試成績(jī)也得到了大幅度提升。通過(guò)這種教學(xué)方法,學(xué)生能夠從中學(xué)到自己需要的知識(shí),并真正將其轉(zhuǎn)化為實(shí)際應(yīng)用,設(shè)計(jì)出實(shí)用的小軟件來(lái),對(duì)于他們將來(lái)學(xué)習(xí)其他知識(shí)和提高計(jì)算機(jī)操作水平都有很大的促進(jìn)作用。

3 結(jié)束語(yǔ)

綜上所述,在結(jié)構(gòu)化程序設(shè)計(jì)的教學(xué)中,實(shí)力拓展法對(duì)于提高教學(xué)效果,培養(yǎng)學(xué)生的計(jì)算機(jī)運(yùn)用能力具有非常重要的作用。但是在具體的教學(xué)過(guò)程中還要從學(xué)生的實(shí)際情況出發(fā),進(jìn)行靈活地調(diào)整,才能真正激發(fā)出學(xué)生的興趣,充分發(fā)揮實(shí)例拓展法的作用。

參考文獻(xiàn):

[1]武相軍,白晨希.實(shí)例拓展法在結(jié)構(gòu)化程序設(shè)計(jì)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)教育,2013(17):47-49.

[2]傅籬.計(jì)算機(jī)結(jié)構(gòu)化程序設(shè)計(jì)教學(xué)探索與實(shí)踐[J].計(jì)算機(jī)教育,2009(12):78-80.

[3]孫英,徐順瓊,李興美.C語(yǔ)言中循環(huán)結(jié)構(gòu)程序課的教學(xué)設(shè)計(jì)與探討[J].計(jì)算機(jī)教育,2009(07):186-187.

[4]周顯春.合作探究式教學(xué)法在結(jié)構(gòu)化程序設(shè)計(jì)教學(xué)中的運(yùn)用[J].學(xué)習(xí)月刊,2010(30):91-92.

篇8

關(guān)鍵詞:液壓支架;結(jié)構(gòu)件斷面;抗彎強(qiáng)度計(jì)算;VB軟件計(jì)算

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

1 引言 背景技術(shù)

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

2 計(jì)算原理

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

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

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

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

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

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

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

使用效果:在進(jìn)行液壓支架結(jié)構(gòu)件箱體設(shè)計(jì)計(jì)算時(shí),將技術(shù)人員從繁重的強(qiáng)度計(jì)算中解放出來(lái),實(shí)現(xiàn)了方便快捷的抗彎強(qiáng)度計(jì)算過(guò)程,而且計(jì)算結(jié)果可靠,經(jīng)驗(yàn)證與OPT液壓支架優(yōu)化軟件計(jì)算結(jié)果一致,界面友好,計(jì)算結(jié)果可靠,簡(jiǎn)單易用、不受操作系統(tǒng)限制,適用所有windows98以上系統(tǒng),所用時(shí)間相對(duì)較少。

推薦期刊
欧美午夜精品一区二区三区,欧美激情精品久久久久久,亚洲av片不卡无码久东京搔,亚洲鲁丝片AV无码APP
亚洲制服丝袜另类中文字幕第一区 | 在线亚洲一区二区 | 亚洲日本人一成在线网播放 | 亚洲欧洲视频在线播放 | 视频精品中文字幕一区二区 | 性开放国产精品按摩Av |