亚洲激情综合另类男同-中文字幕一区亚洲高清-欧美一区二区三区婷婷月色巨-欧美色欧美亚洲另类少妇

首頁 優(yōu)秀范文 程序設(shè)計(jì)的結(jié)構(gòu)

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

發(fā)布時(shí)間:2023-08-03 16:44:32

序言:寫作是分享個(gè)人見解和探索未知領(lǐng)域的橋梁,我們?yōu)槟x了8篇的程序設(shè)計(jì)的結(jié)構(gòu)樣本,期待這些樣本能夠?yàn)槟峁┴S富的參考和啟發(fā),請(qǐng)盡情閱讀。

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

第1篇

課程銜接 層次性教學(xué) 任務(wù)驅(qū)動(dòng)教學(xué)

一、引言

設(shè)計(jì)、實(shí)現(xiàn)一個(gè)復(fù)雜或者高級(jí)項(xiàng)目的軟件項(xiàng)目,可能需要涉及程序設(shè)計(jì)語言、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫等許多課程。而計(jì)算機(jī)科學(xué)技術(shù)專業(yè)的每一門課程都是從基礎(chǔ)理論入手,復(fù)雜、高級(jí)項(xiàng)目不適合作為課程的學(xué)習(xí)案例或者習(xí)題。

不少課程選用比較簡單和容易理解的小項(xiàng)目作為例題講解知識(shí)點(diǎn)或者作為習(xí)題鞏固學(xué)生所學(xué)知識(shí)點(diǎn)。比如約瑟夫程序,在程序設(shè)計(jì)語言中是鏈表操作習(xí)題,而數(shù)據(jù)結(jié)構(gòu)課程中又作為線性表的習(xí)題或者上機(jī)題目;圖書館管理程序,可能作為數(shù)據(jù)結(jié)構(gòu)課程的線性表的課程設(shè)計(jì)題目,也可能作為數(shù)據(jù)庫課程范式優(yōu)化的例題;集合的交集和并集可能作為離散數(shù)學(xué)課程的習(xí)題,也常被選做數(shù)據(jù)結(jié)構(gòu)課程線性表操作的算法優(yōu)化例題;網(wǎng)絡(luò)蜘蛛常被作為計(jì)算機(jī)網(wǎng)絡(luò)課程的課程設(shè)計(jì)題目,也常因?yàn)槠渲械牡湫蜆湫谓Y(jié)構(gòu)關(guān)系被數(shù)據(jù)結(jié)構(gòu)課程選作綜合性課程設(shè)計(jì)題目;多優(yōu)先級(jí)作業(yè)調(diào)度既是操作系統(tǒng)課程的主要研究內(nèi)容,也是數(shù)據(jù)結(jié)構(gòu)課程隊(duì)列內(nèi)容的習(xí)題。

以往的教學(xué)實(shí)踐反映,很多學(xué)生學(xué)完課程之后并沒有達(dá)到預(yù)期的目的。究其原因,一是對(duì)學(xué)生動(dòng)手能力的培養(yǎng)沒有到位,以至于部分同學(xué)對(duì)課程的學(xué)習(xí)還停留在“紙上談兵”的階段;二是對(duì)學(xué)生自主學(xué)習(xí)能力的培養(yǎng)沒有到位,以至于涉及講授范圍之外的問題學(xué)生就不知從何入手??梢圆捎梅謱哟谓虒W(xué),就是要因材施教,根據(jù)大多數(shù)學(xué)生的情況,正確處理教學(xué)中難與易、快與慢、多與少、應(yīng)知與應(yīng)會(huì)的關(guān)系。充分發(fā)揮學(xué)生學(xué)習(xí)的主體作用,轉(zhuǎn)化差生、培養(yǎng)優(yōu)生,全方位增進(jìn)教學(xué)效果。

目前的教學(xué)活動(dòng),主要考慮的先后關(guān)系,而沒有建立良好的課程的銜接關(guān)系。需要研究、整理他們直接的銜接關(guān)系。

需要整理本課程案例,考慮與先修課程或者后修課程的關(guān)系及所選題目的價(jià)值和意義,同時(shí)對(duì)案例采用層次性分解方法,滿足層次性教學(xué)需求。

鑒于計(jì)算機(jī)專業(yè)本科教學(xué)課程數(shù)量多,本文針對(duì)計(jì)算機(jī)兩大具有緊密關(guān)系的核心基礎(chǔ)課程《數(shù)據(jù)結(jié)構(gòu)》和《程序設(shè)計(jì)C語言》進(jìn)行探索,并期望擴(kuò)展到其他課程。

二、課程的銜接關(guān)系

C語言程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)是工科院校計(jì)算機(jī)專業(yè)中開設(shè)的兩門重要的專業(yè)基礎(chǔ)課。在以往教學(xué)中,這兩門課程是相對(duì)獨(dú)立、分開授課的,因此導(dǎo)致內(nèi)容脫節(jié),教學(xué)效果差。一般C語言程序設(shè)計(jì)課程只注重C語言的語法體系,因此學(xué)習(xí)后卻不能用C語言進(jìn)行程序設(shè)計(jì);后者則注重講授抽象的數(shù)據(jù)關(guān)系和算法在計(jì)算機(jī)中的表示及實(shí)現(xiàn),學(xué)生能進(jìn)行抽象算法的描述,上機(jī)實(shí)踐應(yīng)用時(shí)卻無從下手。然而,這兩門課程都以培養(yǎng)學(xué)生解決實(shí)際問題的程序設(shè)計(jì)能力為共同目標(biāo)。因此,如何將這兩門課程有機(jī)地結(jié)合起來,構(gòu)建C語言與數(shù)據(jù)結(jié)構(gòu)的新體系,改革教學(xué)方法,提高教學(xué)質(zhì)量,成了當(dāng)前教學(xué)改革中亟待解決的問題。

在傳統(tǒng)的教學(xué)模式下,C語言程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)這兩門課程分開教學(xué)。C語言程序設(shè)計(jì)的學(xué)習(xí)主要在語言語法的層次上,數(shù)據(jù)結(jié)構(gòu)難度較大,注重思維訓(xùn)練,造成學(xué)生不能結(jié)合有效結(jié)合這兩門課程運(yùn)用到實(shí)際中去。通過不斷探索,認(rèn)識(shí)到這兩門課程有很多內(nèi)在聯(lián)系,如軟件是用一種程序設(shè)計(jì)語言編寫解決該問題的算法,通過編譯、鏈接成為可執(zhí)行程序而成,而算法是通過處理輸入數(shù)據(jù)轉(zhuǎn)換為輸出的解決方案,因此數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計(jì)語言密不可分;再比如數(shù)據(jù)結(jié)構(gòu)討論的抽象數(shù)據(jù)關(guān)系和算法要用C語言去實(shí)現(xiàn)等。

針對(duì)差異化的學(xué)生現(xiàn)狀,整理課程關(guān)系,精巧的設(shè)計(jì)教學(xué)案例和習(xí)題實(shí)現(xiàn)任務(wù)驅(qū)動(dòng)式教學(xué)法,對(duì)于調(diào)動(dòng)學(xué)生學(xué)習(xí)興趣,先修課程的簡單案例讓學(xué)生能夠逐漸獨(dú)立實(shí)現(xiàn),有助于學(xué)生產(chǎn)生滿足感,增加學(xué)習(xí)自信心;對(duì)于案例的擴(kuò)展性引導(dǎo),啟發(fā)學(xué)生深入思考和逐步掌握自學(xué)方法,通過自學(xué)后修課程,提出的較難的問題又有助于激發(fā)學(xué)生參與后修課程學(xué)習(xí)的積極性。

三、擬解決的主要問題

數(shù)據(jù)結(jié)構(gòu)與C語言課程的結(jié)合方式的探討,針對(duì)探討結(jié)果設(shè)計(jì)實(shí)際結(jié)合方法,并在學(xué)生中實(shí)踐,選擇最佳結(jié)合方式。

數(shù)據(jù)結(jié)構(gòu)與C語言,每門課程需要有經(jīng)驗(yàn)的任課教師結(jié)合本課程特點(diǎn),探討并確定各個(gè)案例與各知識(shí)點(diǎn)和其他課程關(guān)系,針對(duì)學(xué)生差異性現(xiàn)狀和任務(wù)驅(qū)動(dòng)式及層次性教學(xué)需求,對(duì)選擇的案例采用遞增式設(shè)計(jì);確定跨課程案例及相關(guān)課程名,涉及的知識(shí)點(diǎn)。探討選擇的習(xí)題(包括課堂練習(xí)題、課后思考題、課后作業(yè)、上機(jī)實(shí)驗(yàn)題和課程設(shè)計(jì)題目)于知識(shí)點(diǎn)及其他課程的關(guān)系,標(biāo)注習(xí)題難度級(jí)別,以達(dá)到層次性教學(xué)目的。

針對(duì)這兩門課程的案例和習(xí)題,深入探討相互關(guān)系,特別是相互的銜接性,C語言課程首先需要講解基本語法知識(shí),幫助初學(xué)者建立簡單的程序設(shè)計(jì)過程思想,但由于教學(xué)時(shí)間限制,只依靠課內(nèi)學(xué)習(xí)和課后作業(yè)及上機(jī)實(shí)驗(yàn)是不能充分達(dá)到熟練運(yùn)行C語言解決問題,編寫項(xiàng)目程序的目的。

C語言是大一學(xué)生首先接觸的程序設(shè)計(jì)語言,加上許多學(xué)生還存在中學(xué)時(shí)期的一切依賴?yán)蠋煹膶W(xué)習(xí)方法和觀念,未能進(jìn)一步學(xué)習(xí)并提高程序設(shè)計(jì)能力,因此在后續(xù)課程中,比如數(shù)據(jù)結(jié)構(gòu)課程中需要在講解數(shù)據(jù)結(jié)構(gòu)抽象數(shù)據(jù)類型及解決問題的時(shí)候,學(xué)生應(yīng)該嘗試借用C語言編程實(shí)現(xiàn)抽象算法。因此,應(yīng)該結(jié)合學(xué)生的這個(gè)實(shí)際情況,進(jìn)一步細(xì)化和分解選擇的案例和習(xí)題,讓學(xué)生在C語言學(xué)習(xí)過程中學(xué)會(huì)應(yīng)用C語言解決和數(shù)據(jù)結(jié)構(gòu)簡單問題相關(guān)任務(wù),為數(shù)據(jù)結(jié)構(gòu)課程打下堅(jiān)實(shí)基礎(chǔ);而數(shù)據(jù)結(jié)構(gòu)課程中有意識(shí)的安排一些案例和習(xí)題,讓學(xué)生能夠有運(yùn)用C語言解決簡單問題的能力,并通過數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)和培養(yǎng),掌握復(fù)雜問題的解決方法和更加熟練的應(yīng)用C語言工具。

四、總結(jié)

根據(jù)計(jì)算機(jī)課程關(guān)系,設(shè)計(jì)優(yōu)化與其他相關(guān)課程有關(guān)系的案例與習(xí)題,一來可以引導(dǎo)學(xué)生理解后修課程部分內(nèi)容,引起學(xué)習(xí)興趣,二來在一些先修課程已經(jīng)介紹本課程該知識(shí)點(diǎn)的基礎(chǔ)上,提出新的解決方案或者優(yōu)化方法,更容易激發(fā)學(xué)生探索問題的好奇心和解決復(fù)雜問題的滿足感,加強(qiáng)學(xué)生理解課程相互關(guān)系和培養(yǎng)計(jì)算機(jī)創(chuàng)新思維。

以數(shù)據(jù)結(jié)構(gòu)課程和程序設(shè)計(jì)語言課程為例整理課程關(guān)系,研究和設(shè)計(jì)教學(xué)案例及習(xí)題,滿足學(xué)生差異化需求和對(duì)學(xué)習(xí)內(nèi)容的興趣,進(jìn)行層次性教學(xué),將其經(jīng)驗(yàn)和方法最終推廣到計(jì)算機(jī)本科教學(xué)的各課程。

參考文獻(xiàn):

[1]黃迪明.C語言程序設(shè)計(jì)(第2版)[M].成都:電子科技大學(xué)出版社.

[2]吳躍,李樹全,尚明生.數(shù)據(jù)結(jié)構(gòu)與算法(第2版)[M].北京:機(jī)械工業(yè)出版社,2010.

[3]薩師煊.數(shù)據(jù)庫(第3版)[M].北京高等教育出版社,2000.

[4]傅彥,顧小豐,王慶先.離散數(shù)學(xué)及其應(yīng)用.北京:高等教育出版社,2007.

第2篇

關(guān)鍵詞:單片機(jī) 程序編制 模塊執(zhí)行 結(jié)構(gòu)設(shè)置

中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2014)05-0094-01

目前單片機(jī)的應(yīng)用十分廣泛,在眾多行業(yè)中都擔(dān)負(fù)起系統(tǒng)控制的任務(wù),而單片機(jī)的功能實(shí)現(xiàn)則多數(shù)依靠應(yīng)用程序的控制,所以針對(duì)單片機(jī)的程序編制問題就成為單片機(jī)應(yīng)用的基礎(chǔ)性問題,如何選擇合適的編寫結(jié)構(gòu)以及方法等成為了研究的重點(diǎn)內(nèi)容。

1 單片機(jī)程序結(jié)構(gòu)設(shè)計(jì)的特征

單片機(jī)的程序編制應(yīng)當(dāng)從程序開發(fā)的語言入手,并針對(duì)不同的功能選擇不同的程序結(jié)構(gòu),這樣才能為程序編制打下良好的基礎(chǔ),因此在實(shí)際的操作中如何選擇程序的結(jié)構(gòu)模式就成為了編程的要?jiǎng)?wù)。隨著計(jì)算機(jī)技術(shù)的成熟以及單片機(jī)的技術(shù)發(fā)展,結(jié)構(gòu)化的程序設(shè)計(jì)方式被提出并應(yīng)用。其主要是將程序編寫納入到模塊模式下,利用結(jié)構(gòu)標(biāo)準(zhǔn)化、模塊化等來實(shí)現(xiàn)對(duì)程序的編制,利用模塊化結(jié)構(gòu)來簡化編程的復(fù)雜程度。此類設(shè)計(jì)中是的是可重復(fù)利用性,可移植的標(biāo)準(zhǔn)性。簡化程序的編制過程提高模塊的利用率。從而降低出錯(cuò)的概率,提高單片機(jī)的應(yīng)用效果??梢园凑詹煌膯纹瑱C(jī)功能選擇不同的模塊,將各個(gè)模塊的功能突出應(yīng)用到系統(tǒng)中,并在特定的工作環(huán)境中解決特殊的問題??偸菍?duì)軟件結(jié)構(gòu)的合理配置,理順模塊之間的關(guān)系,從而從宏觀上完成對(duì)編程流程和結(jié)構(gòu)的控制。從而實(shí)現(xiàn)對(duì)復(fù)雜問題的簡化,提高單片機(jī)的編程效率,并提高對(duì)復(fù)雜問題的解決能力。

2 單片機(jī)的開發(fā)語言選擇

在單片機(jī)的程序編制中C語言因?yàn)樵趹?yīng)用上的優(yōu)勢(shì)而被廣泛采用,方便的應(yīng)用庫函數(shù)容易實(shí)現(xiàn)復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。但是C語言不能在時(shí)序控制上獲得優(yōu)勢(shì),速度型算法上不易達(dá)到單片機(jī)的要求。但是隨著C語言被納入到編程范圍后,其匯編混合編程的模式已經(jīng)可以幫助彌補(bǔ)其語言上的缺點(diǎn)。隨著單片機(jī)的調(diào)試技術(shù)的發(fā)展,單片機(jī)已經(jīng)適應(yīng)了C語言程序控制,從而為高級(jí)語言進(jìn)入到編程中帶來了可能。

3 單片機(jī)編程的常用程序結(jié)構(gòu)

為了方便進(jìn)行單片機(jī)的程序編制,通常可以將其程序劃分為多種結(jié)構(gòu)以此適應(yīng)不同的功能需求。具體結(jié)構(gòu)如下。

3.1 基本程序結(jié)構(gòu)

其結(jié)構(gòu)包括了初始化程序和工作程序兩個(gè)部分,初始化程序負(fù)責(zé)在單片機(jī)上電后的復(fù)位,首先執(zhí)行初始化程序,程序只要在工作前執(zhí)行一次即可。初始化程序運(yùn)行對(duì)個(gè)各種端口和變量、定時(shí)器、ADC等進(jìn)行全面的檢測(cè)和初始化。如果需要可以建立不同的初始化分支,對(duì)不同的終端進(jìn)行檢測(cè)和初始化,根據(jù)不同的條件來選擇不同的初始化方式,比如冷啟動(dòng)和熱啟動(dòng)的選擇。主程序則是一個(gè)循環(huán)程序,這所執(zhí)行的是單片機(jī)的工作內(nèi)容,實(shí)現(xiàn)具體的功能,如檢測(cè)、控制、通訊、人機(jī)交互等等。各個(gè)功能都是有子程序進(jìn)行控制,主程序是控制調(diào)用這些程序的指揮者,以此方便模塊化的程序編制和應(yīng)用。

3.2 模塊結(jié)構(gòu)

在單機(jī)片程序中主程序負(fù)責(zé)的是模塊調(diào)度工作,將實(shí)現(xiàn)功能的各個(gè)子程序進(jìn)行合理調(diào)度,此時(shí)被調(diào)度的程序就是模塊。這樣的模塊中所附加的是一定的功能性,采用模塊化的程序結(jié)構(gòu)可以方便程序多種功能的集成,即在不增加主程序難度的同時(shí)添加或者減少模塊可以實(shí)現(xiàn)系統(tǒng)功能的改變,以此實(shí)現(xiàn)程序的優(yōu)化,方便維護(hù)與降低出錯(cuò)率。

3.3 模塊控制機(jī)制

調(diào)度主程序時(shí)不是所有的模塊都被應(yīng)用,所以模塊在一段時(shí)間內(nèi)應(yīng)被控制,不是所有的循環(huán)中都需要所有模塊參與?;蛘吣承┠K的執(zhí)行不是經(jīng)常性的而是在滿足某些條件后才被執(zhí)行。為了解決這個(gè)問題,可以給模塊設(shè)定一個(gè)標(biāo)志,模塊在執(zhí)行前應(yīng)判斷自身的標(biāo)志位,只有標(biāo)志位是可用的狀態(tài)下才能執(zhí)行相關(guān)的操作。如果標(biāo)志位不可用則應(yīng)進(jìn)行返回程序,不執(zhí)行對(duì)應(yīng)的模塊功能。

3.4 優(yōu)先調(diào)用機(jī)制

主程序在調(diào)用模塊的時(shí)候應(yīng)有先后之別,因?yàn)槟K運(yùn)行的優(yōu)先級(jí)將限制其應(yīng)用,如果沒有優(yōu)先限制某些重要模塊不能相應(yīng)或者不及時(shí)。因此在調(diào)用中主程序應(yīng)可以對(duì)模塊的優(yōu)先級(jí)進(jìn)行分析與選擇,按照不同的處理事件來區(qū)分模塊的優(yōu)先級(jí)。對(duì)模塊功能的標(biāo)志進(jìn)行檢測(cè),對(duì)優(yōu)先級(jí)較高的模塊進(jìn)行調(diào)用,然后查詢后續(xù)功能模塊并異常類推。如果出現(xiàn)不可用的情況則進(jìn)行新一輪的檢測(cè)并從優(yōu)先級(jí)較高的模塊開始。

3.5 前后臺(tái)結(jié)構(gòu)

前后臺(tái)的結(jié)構(gòu)是一種中斷機(jī)制的引入,即按照實(shí)時(shí)性事件與突發(fā)事件進(jìn)行差異化對(duì)待,實(shí)時(shí)性較高的事件被前置,讓其在中斷中響應(yīng),將實(shí)時(shí)性較低的事件和任務(wù)納入到主要程序中,如顯示刷新、掃描等等。形成一個(gè)以中斷為界限的前后臺(tái)執(zhí)行程序結(jié)構(gòu)。前后臺(tái)的程序應(yīng)按照大多數(shù)任務(wù)需求進(jìn)行功能調(diào)度。在使用中應(yīng)注意前后臺(tái)任務(wù)結(jié)構(gòu)的時(shí)候,盡可能減少中斷服務(wù)程序的執(zhí)行時(shí)間??梢栽谥袛喾?wù)程序中設(shè)置一些標(biāo)志,然后由后臺(tái)程序檢測(cè)標(biāo)志來進(jìn)行進(jìn)一步處理。這樣可以很大程度上避免前臺(tái)程序和后臺(tái)程序互相搶奪處理器資源,造成某些低優(yōu)先級(jí)任務(wù)阻塞。目前隨著單片機(jī)的發(fā)展,有些單片機(jī)的中斷資源大為豐富,已經(jīng)可以將所有的任務(wù)都可以通過中斷來實(shí)現(xiàn),這樣我們就可以讓中斷承擔(dān)全部工作,廢除后臺(tái)程序,除了只保留必要的初始化程序外就進(jìn)人低功耗模式等待中斷來處理其他任務(wù)。

4 結(jié)語

上述對(duì)單片機(jī)的程序編制結(jié)構(gòu)進(jìn)行了分析,從基礎(chǔ)的結(jié)構(gòu)類型出發(fā)分析了多種模式框架下,單片機(jī)程序執(zhí)行的差異。同時(shí)說明多種結(jié)構(gòu)不是獨(dú)立存在的,而應(yīng)在具體問題的解決中進(jìn)行選擇,選擇合理而準(zhǔn)確的程序結(jié)構(gòu),有利于單片機(jī)功能的實(shí)現(xiàn),也可提高調(diào)度機(jī)制的合理性,從而有效的指揮單片機(jī)完成各種功能。

參考文獻(xiàn)

[1]王玲.提高單片機(jī)程序設(shè)計(jì)有效性的策略探究[J].考試(綜合版),2012(01):15-16.

[2]劉杰.論單片機(jī)程序設(shè)計(jì)[J].現(xiàn)代商貿(mào)工業(yè),2011(07):156-157.

第3篇

軟件工程飛速發(fā)展,被應(yīng)用于各個(gè)行業(yè)。對(duì)軟件工程的結(jié)構(gòu)建設(shè)是對(duì)軟件開發(fā)的重要過程,也是保障其應(yīng)用的重要方式。而完善結(jié)構(gòu)建設(shè)的重要過程,是將其應(yīng)用于實(shí)際,應(yīng)當(dāng)從了解需求從而分析開始。文章描述了軟件工程中的結(jié)構(gòu)建設(shè)的具體流程和方式,并且通過具體案例分析了需求的實(shí)施方案。

關(guān)鍵詞:

軟件工程;結(jié)構(gòu)建設(shè);需求分析

1軟件工程中的結(jié)構(gòu)建設(shè)

1.1軟件工程中的結(jié)構(gòu)建設(shè)流程

如圖1所示,首先對(duì)數(shù)據(jù)分析進(jìn)行研究,通過審查數(shù)據(jù)分析結(jié)果,主要從所做軟件的用戶需求中做出分析,從而設(shè)計(jì)數(shù)據(jù)流程的加工過程。然后以數(shù)據(jù)流程圖的分析結(jié)果為依據(jù)處理確定類型。要求針對(duì)變換型和事物型,做出分析和處理。從而對(duì)系統(tǒng)初始結(jié)構(gòu)進(jìn)行推導(dǎo)。根據(jù)啟發(fā)式的原則對(duì)初始結(jié)構(gòu)圖作出相應(yīng)的改進(jìn),便可以得到人們需求的結(jié)構(gòu)圖。利用分析模型ER圖和數(shù)據(jù)字典對(duì)數(shù)據(jù)做出合理編排,從而設(shè)計(jì)出數(shù)據(jù)庫和數(shù)據(jù)文件。最后以加工規(guī)格的說明和狀態(tài)轉(zhuǎn)換圖為依托,進(jìn)行工程設(shè)計(jì)。

1.2軟件工程中的結(jié)構(gòu)建設(shè)方法

驅(qū)動(dòng)設(shè)計(jì)方法依據(jù)數(shù)據(jù)流程圖的方法設(shè)計(jì)過程。在這一過程中,軟件需求階段的SA有所銜接,從數(shù)據(jù)流圖的表述轉(zhuǎn)變?yōu)榭梢詰?yīng)用的程序結(jié)構(gòu)的數(shù)據(jù)描述。對(duì)于典型的數(shù)據(jù)分類,其中包含了變換型數(shù)據(jù)流和事務(wù)型數(shù)據(jù)流,在其類型存在區(qū)別的時(shí)候,所明確的系統(tǒng)結(jié)構(gòu)要存在差異。可以把系統(tǒng)內(nèi)的所有數(shù)據(jù)流當(dāng)成變換流,數(shù)據(jù)沿寫入系統(tǒng)的通道,在經(jīng)歷了數(shù)據(jù)的變化,從而將外部特征轉(zhuǎn)換為內(nèi)部描述,再通過變化中心作出分析處理,從輸出系統(tǒng)通道離開,而得出數(shù)據(jù)就是變換流。然而在遇到事務(wù)流具有明顯特征的時(shí)候,可以采用事務(wù)型的映射方式從而進(jìn)行結(jié)構(gòu)建設(shè)。其中變換流系統(tǒng)的機(jī)構(gòu)中包含了輸出變換和輸入變換。在事務(wù)流的處理中,數(shù)據(jù)通過輸入通過進(jìn)入事務(wù)中心,在事務(wù)中心完成數(shù)據(jù)動(dòng)作的執(zhí)行,這其中事務(wù)中心是明顯存在的,所有活動(dòng)流都從事務(wù)中心出發(fā),再依據(jù)輻射的形狀輸出。變換分析是從數(shù)據(jù)流圖中導(dǎo)出系統(tǒng)結(jié)構(gòu)圖,首先對(duì)數(shù)據(jù)流圖完成更新,然后從輸入和輸出以及變換中心進(jìn)行分區(qū),最后進(jìn)行級(jí)別分解。在分析事務(wù)的過程里,從數(shù)據(jù)流圖分析開始,從上到下進(jìn)行分步驟解析,才能最終建立系統(tǒng)結(jié)構(gòu)。首先需要對(duì)事物中心的每天過程信息進(jìn)行確認(rèn),然后利用數(shù)據(jù)流圖映射作為系統(tǒng)結(jié)構(gòu)的高層。最后再次分解從而確定事物模塊的下層操作模塊。

2軟件工程中的需求分析

在軟件工程的建設(shè)中,對(duì)軟件需求分析是最先開始的階段。例如對(duì)用戶的使用情況和期望情況進(jìn)行調(diào)查,統(tǒng)計(jì)數(shù)據(jù),從而分析得出軟件工程的建設(shè)方向。本文以打車軟件為例,舉出2016年9—12月我國32個(gè)大中城市1765份調(diào)查結(jié)果的綜合分析,如圖2所示。對(duì)其使用功能和期待做出具體分析,從而得出軟件的使用方向,確定建設(shè)標(biāo)準(zhǔn)。那么對(duì)軟件工程的需求分析時(shí)應(yīng)注意的問題,作如下分析。

2.1綜合行業(yè)特性展開需求分析

軟件工程的需求分析要針對(duì)所處行業(yè)的特性進(jìn)行分析,然后才能結(jié)合需求進(jìn)行分析。只有切合行業(yè)針對(duì)性的軟件工程建設(shè)才能在應(yīng)用中發(fā)揮有效作用。通過針對(duì)不同行業(yè)所屬領(lǐng)域的熱衷進(jìn)行軟件的開發(fā)和設(shè)計(jì)。例如工業(yè)領(lǐng)域?qū)浖笞詣?dòng)化或者智能化的功能,而對(duì)于硬件生產(chǎn)過程,軟件的設(shè)計(jì)建設(shè)要從硬件使用中的方向開始。決不能在不了解使用意圖的情況下,沒有目標(biāo)的開始軟件建設(shè),這樣會(huì)導(dǎo)致最終設(shè)計(jì)結(jié)構(gòu)與硬件無法匹配。

2.2分析結(jié)果要求清晰明了

軟件工程的需求一定要做到明確,已經(jīng)邏輯基礎(chǔ)使其具備完整邏輯功能。在開展軟件設(shè)計(jì)的時(shí)候,如果存在不清晰的建設(shè)需求,將會(huì)令軟件的調(diào)試無法完成,也會(huì)在使用過程中出現(xiàn)很多問題,那么就無法完善用戶體驗(yàn)。所以一般情況下,一定要先與用戶溝通好設(shè)計(jì)需求,避免沖突發(fā)生。由于用戶并不了解軟件設(shè)計(jì)的原理,在設(shè)計(jì)完成后,發(fā)現(xiàn)與自身期望相去甚遠(yuǎn),就會(huì)導(dǎo)致無法達(dá)到目標(biāo)價(jià)值的體現(xiàn)。所以軟件工程必須了解需求的重要性,以用戶需求為中心從而完成設(shè)計(jì)。

2.3軟件需求分析是促進(jìn)軟件工程完成的前提

軟件工程的順利開展要以軟件需求分析為前提。如果需求分析不充分的話,必然會(huì)導(dǎo)致軟件工程無法順利進(jìn)行,一方面會(huì)浪費(fèi)大量前期工作,另一方面可能導(dǎo)致軟件工程無法按時(shí)完成,從而要對(duì)工程需求予以確定,同時(shí)呈現(xiàn)用戶要求的編程邏輯。從符合實(shí)際的工程需求出發(fā),從而與硬件完成匹配,才能切實(shí)投入生產(chǎn)以便應(yīng)用。如果在建設(shè)過程中片面強(qiáng)調(diào)軟件突破,而造成硬件無法匹配,會(huì)帶來重大損失,從而導(dǎo)致硬件發(fā)展無法跟上軟件進(jìn)程。所以要盡可能完成硬件和軟件的協(xié)調(diào),以確保軟件的需求分析切實(shí)可用,才能順利開始軟件工程的建設(shè)。

[參考文獻(xiàn)]

[1]趙承乾.軟件需求分析方法創(chuàng)新分析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(3):56-57.

第4篇

關(guān)鍵詞: 鋼結(jié)構(gòu)設(shè)計(jì);支撐布置;空間分析程序

Abstract: The plant design should make every effort to meet the technical requirements under the premise of rational harmonic structure, layout and process layout of the contradiction between, as much as possible to use seismic performance and economical structural system. In this paper, an instance of the power plant project characteristics, the use of STAAD Pro technical analysis of its structure and layout design optimization, to provide a reference for such projects and references.

Keywords: steel structure design; support arrangement; spatial analysis procedures

1 工程概況

某發(fā)電廠主廠房由汽機(jī)房和煤倉間兩大部分組成,廠房縱向總長為81m,柱距分別為9m和12m。橫向總長45m,其中汽機(jī)房(即AB軸線間)30m,煤倉間(即BC軸線間)15m。主廠房外墻采用壓型鋼板輕型封閉,僅在B軸線處即汽機(jī)房和煤倉間分界處以及6.6kV配電室、MCC室、I/O站等少量局部設(shè)置填充墻。

2 廠房鋼結(jié)構(gòu)設(shè)計(jì)分析及優(yōu)化

主廠房與一般建筑物相比具有平面不規(guī)則性且樓面經(jīng)常出現(xiàn)大開孔導(dǎo)致樓板不連續(xù),在地震作用下容易出現(xiàn)扭轉(zhuǎn)。樓面活荷載大且荷載分布不均,如煤斗、粉斗、高低壓加熱器、除氧器等重型設(shè)備分布相對(duì)集中,有些設(shè)備還往往位于較高樓層。由于工藝設(shè)備和管道布置的限制,主廠房結(jié)構(gòu)的抗側(cè)力構(gòu)件特別是支撐構(gòu)件的設(shè)置受到很大的制約。因而主廠房結(jié)構(gòu)往往在水平和垂直方向上剛度和質(zhì)量分布都不均勻,給抗震設(shè)計(jì)帶來不利影響。根據(jù)主廠房結(jié)構(gòu)的上述特點(diǎn),在對(duì)其進(jìn)行結(jié)構(gòu)設(shè)計(jì)時(shí),與工藝專業(yè)緊密配合,在盡力滿足工藝要求的前提下,合理地調(diào)和結(jié)構(gòu)布置與工藝布置之間產(chǎn)生的矛盾,盡可能地選用抗震性能好又經(jīng)濟(jì)合理的結(jié)構(gòu)體系,并且在結(jié)構(gòu)設(shè)計(jì)中結(jié)合本工程的特點(diǎn)進(jìn)行了布置優(yōu)化的工作。

2.1結(jié)構(gòu)體系分析

主廠房橫向結(jié)構(gòu)體系由汽機(jī)房A列柱通過屋面大跨度實(shí)腹式鋼梁及下部兩層汽機(jī)平臺(tái)鋼梁與煤倉間框架相連,與煤倉間框架及支撐共同組成。常規(guī)電廠通常是汽機(jī)房A列柱與除氧間和煤倉間雙列框架共同組成抗側(cè)力體系,具有較好的橫向剛度。而本工程按照工藝布置,主廠房不設(shè)置除氧間,橫向僅有煤倉間單列框架,承受橫向水平地震作用及風(fēng)荷載的能力較弱。針對(duì)這一情況,設(shè)計(jì)時(shí)對(duì)橫向框架采用剛接加支撐的方案,即汽機(jī)房屋面鋼梁、煤倉間各層框架橫梁與框架柱均采用剛接,同時(shí),在煤倉間承擔(dān)較大設(shè)備荷載(粉斗等)的③、④、⑥、⑦軸線皮帶層以下貫通設(shè)置大十字交叉撐,在汽機(jī)房兩層平臺(tái)內(nèi)工藝允許的地方亦設(shè)置一組垂直支撐,這樣一來,橫向框架具有較好的側(cè)向剛度,適應(yīng)由支撐梁柱的屈服順序機(jī)制,成為雙重抗側(cè)力體系,也符合多道設(shè)防的原則。

主廠房縱向框架主要采用框架梁與柱鉸接加支撐的方案。經(jīng)與工藝專業(yè)協(xié)調(diào)配合后,在A、B、C列縱向框架③~④和⑥~⑦軸線柱間從0m至屋面設(shè)置了兩道豎向連續(xù)布置的垂直支撐。在這兩跨間設(shè)置垂直支撐是經(jīng)過反復(fù)比較和考慮的。一方面由于其他跨間在底層布置有大型磨煤機(jī),C列縱向框架在這些跨間必須為其留出安裝檢修通道,因此底層不便設(shè)置柱間支撐,見圖1;另一方面,重型設(shè)備粉斗懸掛于煤倉間③~④和⑥~⑦軸線間皮帶層下方,在這兩跨設(shè)置柱間垂直支撐更能有效傳遞地震作用產(chǎn)生的水平荷載。

圖1 C軸線框架模型

汽機(jī)房、煤倉間各層樓面及煤倉間屋面均以壓型鋼板做永久底模,底模上現(xiàn)澆100mm厚鋼筋混凝土板。連接件選用圓柱頭焊釘穿透壓型鋼板焊接在鋼梁上翼緣。以壓型鋼板為底模的鋼筋混凝土樓板具有較好的平面內(nèi)剛度,在空間結(jié)構(gòu)體系中發(fā)揮著協(xié)調(diào)各榀框架剛度和側(cè)移的作用,是重要的傳遞水平荷載的構(gòu)件,也是將主廠房框架形成空間整體結(jié)構(gòu)重要的一環(huán)。由于工藝布置的要求,樓面經(jīng)常會(huì)出現(xiàn)大開孔,一定程度上削弱了樓板剛度,且混凝土樓板對(duì)框架柱的約束減弱,這時(shí)在開孔周圍柱網(wǎng)區(qū)格內(nèi)適當(dāng)?shù)卦O(shè)置樓面水平支撐,以便于增強(qiáng)樓板對(duì)柱的橫向約束及傳遞水平地震力。

2.2 結(jié)構(gòu)設(shè)計(jì)的優(yōu)化

由于框架梁、柱的布置主要是根據(jù)工藝要求確定的,所以主廠房結(jié)構(gòu)的優(yōu)化布置主要指支撐布置的優(yōu)化。支撐布置得合理,能夠有效傳遞地震水平力,調(diào)整主廠房結(jié)構(gòu)的剛度,使整體結(jié)構(gòu)受力更合理,動(dòng)力性能也更好。

2.2.1 柱間垂直支撐布置的優(yōu)化

本工程與其他工程相比,垂直支撐的布置有兩個(gè)顯著的特點(diǎn)。其一,橫向框架在煤倉間皮帶層以下貫通采用大十字交叉撐。這與本工程的工藝布置特點(diǎn)密不可分。通常情況下由于沿煤倉間縱向設(shè)置有磨煤機(jī)檢修單軌,煤倉間縱向成為磨煤機(jī)安裝檢修通道,因此只能在避開通道處局部設(shè)置支撐。本工程由于磨煤機(jī)由軌吊設(shè)備起吊沿橫向進(jìn)出C列進(jìn)行安裝和檢修,橫向結(jié)構(gòu)布置時(shí)不再需要為其讓出通道,因此大十字交叉撐的布置能夠得以實(shí)現(xiàn)。

在抗震設(shè)計(jì)中采用大十字撐尤其是在如此重要的位置采用是具有明顯好處的。在地震作用下,支撐作為主要抗側(cè)力構(gòu)件是最容易屈服的桿,而十字交叉支撐,可保證在地震作用下受壓支撐失穩(wěn)后,受拉肢仍能正常工作。與V形支撐或人字形支撐相比,十字交叉撐在與梁的相交處不會(huì)由于支撐桿件分別受拉、受壓而對(duì)梁產(chǎn)生豎向不平衡力,因此對(duì)框架更為有利。其二,在煤倉間內(nèi),縱向框架柱間垂直支撐與橫向框架的柱間垂直支撐相互呼應(yīng),在存在較大荷載的③~④和⑥~⑦跨形成了一個(gè)連續(xù)封閉的支撐系統(tǒng),類似于鋼筋混凝土框-筒結(jié)構(gòu)中的“筒”。通過STAAD Pro程序分析結(jié)果(詳見表1),可以發(fā)現(xiàn)垂直支撐這樣布置以后,主廠房整體結(jié)構(gòu)在地震作用下具有良好的動(dòng)力特性,第一振型僅存在有很小的扭轉(zhuǎn),基本為縱向平動(dòng)振型,第二振型為橫向平動(dòng)振型,第三振型為扭轉(zhuǎn)振型。并且第一、第二振型振動(dòng)周期差別很?。?.252s和1.181s),說明結(jié)構(gòu)在兩個(gè)主軸方向的動(dòng)力特性接近,地震作用下的扭轉(zhuǎn)效應(yīng)得到有效改善。

表1 在③④⑥⑦軸線橫向框架B、C列間(煤倉間)設(shè)置垂直支撐的結(jié)構(gòu)模型數(shù)據(jù)

2.2.2支撐截面的優(yōu)化

就鋼結(jié)構(gòu)而言,豎向支撐是抵抗地震水平荷載最有利的手段;同時(shí),在地震作用下,支撐也是最容易屈服的桿件。由于主廠房縱向結(jié)構(gòu)為鉸接結(jié)構(gòu),支撐為縱向的主要抗側(cè)力構(gòu)件,當(dāng)支撐失穩(wěn)時(shí),也就意味著結(jié)構(gòu)在縱向罕遇地震作用下很難滿足大震不倒的設(shè)計(jì)目標(biāo),因此對(duì)縱向柱間支撐尤其是底層柱間支撐截面應(yīng)予以加強(qiáng)。同時(shí)也應(yīng)當(dāng)意識(shí)到,對(duì)于支撐構(gòu)件的設(shè)計(jì),并非截面尺寸越大越安全。當(dāng)支撐布置一定時(shí),在合理的范圍內(nèi)(即滿足構(gòu)件長細(xì)比和強(qiáng)度、結(jié)構(gòu)側(cè)移限制等)適當(dāng)減小支撐截面面積可有效減小結(jié)構(gòu)局部剛度,從而達(dá)到減小地震反應(yīng)的效果。特別是對(duì)抗側(cè)力不敏感部分的支撐應(yīng)提高支撐截面利用率,支撐構(gòu)件應(yīng)力比不宜過小,以提高工程的經(jīng)濟(jì)性能。

3 STAAD Pro空間分析程序的運(yùn)用

本工程在主廠房結(jié)構(gòu)設(shè)計(jì)中采用了STAAD Pro空間分析程序進(jìn)行結(jié)構(gòu)分析。作為一款三維空間結(jié)構(gòu)分析程序,STAAD Pro能夠更加準(zhǔn)確和快捷地建立接近真實(shí)的結(jié)構(gòu)模型,它能夠充分考慮各類構(gòu)件之間的協(xié)調(diào)作用,更為準(zhǔn)確地模擬約束條件等,因此結(jié)構(gòu)受力分析的結(jié)果更合理、更接近實(shí)際受力情況。

STAAD Pro空間分析程序與以往平面桿系結(jié)構(gòu)分析程序相比,具有明顯的優(yōu)點(diǎn)。首先,它能夠克服平面桿系結(jié)構(gòu)分析中無法避免的荷載重復(fù)作用和作用分配過大的缺點(diǎn)。其次,后期的結(jié)構(gòu)動(dòng)力計(jì)算結(jié)果顯示,水平地震作用下,主廠房在平面內(nèi)的變形表現(xiàn)出扭轉(zhuǎn)特征,具有平面扭轉(zhuǎn)不規(guī)則性,對(duì)電廠主廠房結(jié)構(gòu)采用平面框架進(jìn)行抗震計(jì)算將無法反映該扭轉(zhuǎn)效應(yīng),同時(shí)也無法反映相鄰框架之間水平支撐或樓板對(duì)整體結(jié)構(gòu)的水平剛度和側(cè)向剛度的協(xié)調(diào)作用,既不安全也不經(jīng)濟(jì)。

STAAD Pro空間分析程序可以真實(shí)模擬結(jié)構(gòu)構(gòu)件間的連接形式和約束條件。主廠房框架結(jié)構(gòu)體系采用橫向剛接+支撐、縱向鉸接+支撐的方案時(shí),框架柱與基礎(chǔ)的連接形式就需要相應(yīng)地采用一個(gè)方向釋放彎矩而另一個(gè)方向保持固結(jié)的方式。在STAAD Pro中,通過對(duì)支座約束信息的編輯,能夠輕松地達(dá)到這一目的。

STAAD Pro分析程序賦予了用戶靈活處理各種荷載的自由。相比一些結(jié)構(gòu)程序?qū)τ脩糨斎氲暮奢d通常按照規(guī)范要求自動(dòng)進(jìn)行組合,這種方法雖然簡便,但是卻很封閉,它基本不允許用戶對(duì)其荷載組合進(jìn)行人工干預(yù)。STAAD Pro允許用戶根據(jù)情況對(duì)基本荷載進(jìn)行分組輸入,然后對(duì)這些荷載自行定義組合方式,列出各種組合工況,然后由程序完成組合計(jì)算。為滿足合同的要求,需要對(duì)X向和Z向水平地震力分別放大1.12倍和1.05倍。因此,在有地震作用參與的荷載組合中對(duì)X向水平地震力EX和Z向水平地震力EZ分別乘以放大系數(shù)1.12和1.05,以滿足合同要求。可見,STAAD Pro開放荷載組合的方法確實(shí)能為設(shè)計(jì)人員提供便利。

4 結(jié)語

綜上所述,對(duì)主廠房鋼結(jié)構(gòu)這種體積大、構(gòu)件多、結(jié)構(gòu)體系復(fù)雜、結(jié)構(gòu)剛度和質(zhì)量分布不均的結(jié)構(gòu)采用空間分析程序可以更好地反映結(jié)構(gòu)實(shí)際受力和工作情況,提高設(shè)計(jì)的準(zhǔn)確性,為設(shè)計(jì)插上翅膀。

參考文獻(xiàn):

[1] DL 5022-93,火力發(fā)電廠土建結(jié)構(gòu)設(shè)計(jì)技術(shù)規(guī)定[S]。

[2] 劉剛。高烈度地震區(qū)大型火電廠鋼結(jié)構(gòu)主廠房的布置優(yōu)化[J]。工業(yè)建筑,2008

作者簡歷:

第5篇

關(guān)鍵詞:程序設(shè)計(jì);數(shù)據(jù)結(jié)構(gòu);算法;編碼;調(diào)試

中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)33-9490-02

The Effective Strategy of Raises the Student Programming Ability

XIAO Han-peng

(The Secondary School of Nanyang, Nanyang 473000, China)

Abstract: This paper analyzes the design disciplines in the computer programming of the status and the knowledge and ability, combined with their many years of computer science teaching practice of teaching computer programming students an effective strategy.

Key words: program design; data structure; algorithm; coding; debugging

計(jì)算機(jī)科學(xué)是一種創(chuàng)造性思維活動(dòng),其教育必須面向設(shè)計(jì)。計(jì)算機(jī)的本質(zhì)是“程序的機(jī)器”, 只有懂得程序設(shè)計(jì),才能懂得計(jì)算機(jī),真正了解計(jì)算機(jī)是怎樣工作的。培養(yǎng)學(xué)生程序設(shè)計(jì)能力對(duì)計(jì)算機(jī)專業(yè)的學(xué)生來說不僅是培養(yǎng)職業(yè)技能的需要,也是培養(yǎng)大學(xué)生創(chuàng)造性思維的重要途徑。學(xué)習(xí)程序設(shè)計(jì)語言可以培養(yǎng)學(xué)生運(yùn)用算法來解決實(shí)際問題的能力,這種解決問題的方式是計(jì)算機(jī)所獨(dú)有的,也只有通過對(duì)計(jì)算機(jī)的程序設(shè)計(jì)語言和程序設(shè)計(jì)方法的學(xué)習(xí)才有可能獲得這種解決問題的能力。

1 程序設(shè)計(jì)在計(jì)算機(jī)學(xué)科中的地位

程序設(shè)計(jì)是利用某種計(jì)算機(jī)語言,編制完成某一特定功能的程序的過程,是涉及描述、開發(fā)及有效實(shí)現(xiàn)求解的一系列活動(dòng),是利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)化的重要手段。

計(jì)算機(jī)學(xué)科主要是系統(tǒng)地研究信息描述和變換的算法過程,包括它們的理論、分析、設(shè)計(jì)、效率、實(shí)現(xiàn)和應(yīng)用??梢赃@樣說,一切算法的基本問題是“什么能被自動(dòng)化”以及“如何有效地自動(dòng)化”。這個(gè)自動(dòng)化的過程就是程序設(shè)計(jì)的過程。

程序設(shè)計(jì)語言是人們學(xué)習(xí)計(jì)算機(jī)的最基本的工具,也是人們學(xué)習(xí)計(jì)算機(jī)基礎(chǔ)與應(yīng)用知識(shí)的基本課程。通過學(xué)習(xí),使學(xué)生掌握程序設(shè)計(jì)的基本概念、基本知識(shí)和基本方法,養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格,得到一定的程序設(shè)計(jì)訓(xùn)練,具備初步編寫程序解決實(shí)際問題的能力。程序設(shè)計(jì)也正是有形表達(dá)抽象思維的方法,在程序設(shè)計(jì)過程中貫穿閱讀判斷、分析思考、工具利用、抽象表達(dá)、綜合創(chuàng)造等多項(xiàng)技能,是理論、抽象、設(shè)計(jì)和應(yīng)用的綜合能力培養(yǎng)過程。因此程序設(shè)計(jì)是計(jì)算機(jī)學(xué)科教學(xué)的重要內(nèi)容之一,對(duì)計(jì)算機(jī)專業(yè)人才素質(zhì)的培養(yǎng)至關(guān)重要。

2 程序設(shè)計(jì)的知識(shí)和能力構(gòu)成

根據(jù)循序漸進(jìn)的原則,與程序設(shè)計(jì)有關(guān)的教學(xué)內(nèi)容主要有:計(jì)算機(jī)基礎(chǔ)知識(shí)和操作、程序設(shè)計(jì)語言和基本的程序設(shè)計(jì)方法、最基本的數(shù)據(jù)結(jié)構(gòu)及其基本算法、常用的算法設(shè)計(jì)方法等。在學(xué)習(xí)這些知識(shí)的同時(shí),必須與能力的訓(xùn)練有機(jī)地結(jié)合起來。程序設(shè)計(jì)能力表現(xiàn)在以下幾個(gè)方面:

1)自然語言能力。要有較強(qiáng)的運(yùn)用自然語言描述現(xiàn)實(shí)事物的能力,只有運(yùn)用背景知識(shí)正確且清晰地陳述問題及其求解目標(biāo),才能確定程序的功能。

2)數(shù)學(xué)描述能力。程序設(shè)計(jì)是為了告訴計(jì)算機(jī)做什么和如何做。這就需要利用定義、定理、公式、函數(shù)等數(shù)學(xué)工具把問題形式化,建立數(shù)學(xué)模型。

3)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)能力。選擇合理的存儲(chǔ)結(jié)構(gòu),在計(jì)算機(jī)中表示數(shù)學(xué)模型,是程序設(shè)計(jì)的一個(gè)重要方面。

4)算法構(gòu)造能力。好的程序由精心構(gòu)造的、好的算法構(gòu)成。給出問題求解的離散化計(jì)算過程,是程序設(shè)計(jì)中最具有創(chuàng)造性的工作。

5)程序編碼能力。用某種程序設(shè)計(jì)語言表達(dá)算法,盡管這種能力往往被認(rèn)為技術(shù)含量不高,但也需要對(duì)程序設(shè)計(jì)語言的熟練掌握和對(duì)算法設(shè)計(jì)的深刻理解。

6)程序調(diào)試能力。程序調(diào)試能力是一種專業(yè)綜合技能,需要對(duì)程序設(shè)計(jì)語言和程序結(jié)構(gòu)有深刻的理解,需要熟練的操作技能,需要會(huì)設(shè)置測(cè)試數(shù)據(jù)和設(shè)置程序斷點(diǎn),這些都有待于學(xué)生在實(shí)踐中逐步積累經(jīng)驗(yàn)。

可以說,程序設(shè)計(jì)能力的高低很大程度上反映在駕馭自然語言、數(shù)學(xué)語言和計(jì)算機(jī)語言的能力上。這3種語言是人們畢生有用的3種通用智能工具。前兩者是后者的基礎(chǔ),良好的英語和數(shù)學(xué)訓(xùn)練是學(xué)好程序設(shè)計(jì)語言和培養(yǎng)程序設(shè)計(jì)能力的重要基礎(chǔ)。

3 培養(yǎng)程序設(shè)計(jì)能力的有效策略

知識(shí)的價(jià)值在于運(yùn)用,知識(shí)的運(yùn)用需要技能,而技能的形成則依賴訓(xùn)練。程序設(shè)計(jì)知識(shí)的學(xué)習(xí)和能力的培養(yǎng)需要各方面的知識(shí)基礎(chǔ),它是一個(gè)系統(tǒng)的教育訓(xùn)練過程,需要多個(gè)教學(xué)環(huán)節(jié)的緊密配合才能完成。

1)明確教學(xué)要求

程序設(shè)計(jì)語言課程一般是為應(yīng)用性教學(xué)而設(shè)置的,因此,課程的教學(xué)不僅僅是傳授知識(shí),而且應(yīng)該強(qiáng)調(diào)應(yīng)用性,應(yīng)該以培養(yǎng)學(xué)生的能力為主。程序設(shè)計(jì)語言的內(nèi)容比較豐富,在教學(xué)中如果面面俱到,必會(huì)耗費(fèi)較多課時(shí),而且教學(xué)效果不一定好。因?yàn)檫^分強(qiáng)調(diào)程序設(shè)計(jì)語言的系統(tǒng)性和完整性就可能會(huì)轉(zhuǎn)移學(xué)生對(duì)課程重點(diǎn)的注意力,關(guān)鍵在于教會(huì)學(xué)生如何正確運(yùn)用程序設(shè)計(jì)語言編寫程序,訓(xùn)練實(shí)用編程能力。所以必須突出重點(diǎn),突出應(yīng)用性,側(cè)重教思想,即把程序設(shè)計(jì)語言的基本思想、基本環(huán)境、基本概念、基本知識(shí)和基本方法教給學(xué)生,使他們?cè)趯W(xué)習(xí)中對(duì)硬件、軟件環(huán)境、程序設(shè)計(jì)的基本思想和基本技巧,所學(xué)程序設(shè)計(jì)語言的基本概念和使用方法以及編程技術(shù)有一個(gè)比較全面的感性認(rèn)識(shí),從而提高解決實(shí)際問題的能力。

2)打好數(shù)學(xué)基礎(chǔ)。嚴(yán)格的數(shù)學(xué)訓(xùn)練是程序設(shè)計(jì)能力的基礎(chǔ),學(xué)習(xí)和加強(qiáng)排列與組合、數(shù)列、數(shù)學(xué)歸納法等離散系統(tǒng)的數(shù)學(xué)方法對(duì)提高程序設(shè)計(jì)能力尤為重要。問題描述和建立數(shù)學(xué)模型是程序設(shè)計(jì)的前奏,數(shù)學(xué)歸納法、窮舉法、構(gòu)造證明法等證明技巧是算法設(shè)計(jì)方法的基礎(chǔ)。

3)強(qiáng)化英語水平。程序設(shè)計(jì)語言的符號(hào)系統(tǒng)以英語為基礎(chǔ),程序設(shè)計(jì)文檔語言首選英語。英文資料是計(jì)算機(jī)最新和最大的技術(shù)資料來源,英語水平是我國軟件產(chǎn)業(yè)發(fā)展和參與國際競(jìng)爭的制約因素。

4)重視閱讀訓(xùn)練。從某種意義上來說,程序設(shè)計(jì)是用程序設(shè)計(jì)語言和方法進(jìn)行的一種寫作??梢韵胂?如果學(xué)生沒有閱讀過一份完整、規(guī)范、有實(shí)用價(jià)值的標(biāo)準(zhǔn)程序,即使記住了有關(guān)語言的語法規(guī)則,也不可能寫出像樣的程序。所以,大量閱讀、分析、修改和擴(kuò)充典型的算法和程序,是提高程序?qū)懽髂芰Φ挠行緩?。而這個(gè)重要學(xué)習(xí)環(huán)節(jié)往往未得到應(yīng)有的重視,缺乏配套的程序設(shè)計(jì)閱讀分析教材。教師應(yīng)經(jīng)常指導(dǎo)學(xué)生閱讀程序,理解程序,提高學(xué)生分析程序的能力。

5)注重算法設(shè)計(jì),突出數(shù)據(jù)結(jié)構(gòu)內(nèi)容。瑞士科學(xué)家、PASCAL語言和MODULA-2語言的發(fā)明者沃思(Wirth)教授提出了著名的公式:程序=算法+數(shù)據(jù)結(jié)構(gòu)。這個(gè)公式表達(dá)了程序的實(shí)質(zhì),說明對(duì)于一個(gè)程序設(shè)計(jì)問題來講,算法與程序設(shè)計(jì)是緊密聯(lián)系的,絕不能脫離數(shù)據(jù)結(jié)構(gòu)去講解算法設(shè)計(jì)。程序設(shè)計(jì)語言的教學(xué)應(yīng)該結(jié)合數(shù)據(jù)結(jié)構(gòu)的基本內(nèi)容。對(duì)于同一個(gè)計(jì)算問題,選用不同的數(shù)據(jù)結(jié)構(gòu),其算法大不一樣,算法的優(yōu)劣程度也不同。因此,要教會(huì)學(xué)生對(duì)不同的問題選擇合適的數(shù)據(jù)結(jié)構(gòu)。在整個(gè)程序設(shè)計(jì)課程中,必須強(qiáng)調(diào)算法設(shè)計(jì)方法,通過不斷的算法設(shè)計(jì)訓(xùn)練,使學(xué)生切實(shí)掌握迭代、枚舉、遞歸、分類等常用算法設(shè)計(jì)方法。

6)更新教學(xué)內(nèi)容。計(jì)算機(jī)學(xué)科是一門綜合性學(xué)科,而且程序設(shè)計(jì)語言的應(yīng)用領(lǐng)域在不斷擴(kuò)大和發(fā)展。因此,在教學(xué)中應(yīng)結(jié)合專業(yè)的特點(diǎn)和教學(xué)的要求,將軟件工程的思想方法貫穿于整個(gè)教學(xué)過程,介紹程序設(shè)計(jì)語言的最新發(fā)展和應(yīng)用,重視面向?qū)ο蟪绦蛟O(shè)計(jì)方法的引入,搞好教材內(nèi)容的更新。如圖形程序設(shè)計(jì)、下拉式或彈出式菜單、計(jì)算機(jī)病毒防治等等。這樣不僅能把最新的知識(shí)和最新發(fā)展動(dòng)態(tài)充實(shí)到教學(xué)上來,大大豐富了教學(xué)內(nèi)容,而且使學(xué)生加深對(duì)程序設(shè)計(jì)語言的理解和掌握,保持對(duì)信息技術(shù)和專業(yè)的興趣,及時(shí)跟上信息技術(shù)日新月異的發(fā)展趨勢(shì),在今后工作中保持領(lǐng)先地位。

7)采用先進(jìn)教學(xué)手段。用傳統(tǒng)的課堂教學(xué)方法講授動(dòng)態(tài)的算法和數(shù)據(jù)結(jié)構(gòu)是十分低效的,像排序、遞歸等抽象動(dòng)態(tài)的內(nèi)容講解就常常是費(fèi)力不討好。應(yīng)該根據(jù)課程特點(diǎn),采用先進(jìn)的現(xiàn)代教學(xué)方法,如直觀教學(xué)方法:利用掛圖、教具等講解,以及計(jì)算機(jī)輔助教學(xué)(CAI)和計(jì)算機(jī)輔助學(xué)習(xí)(Computer Aided Learning,簡稱CAL)進(jìn)行教學(xué),通常開發(fā)利用與課程內(nèi)容與教學(xué)特點(diǎn)相適應(yīng)的多媒體課件進(jìn)行教學(xué)。它們是講解算法和進(jìn)行程序設(shè)計(jì)訓(xùn)練的最佳教學(xué)平臺(tái),既能增加學(xué)習(xí)的趣味性,又可利用圖形的直觀性幫助抽象和動(dòng)態(tài)過程的理解。

8)加強(qiáng)實(shí)踐環(huán)節(jié),強(qiáng)化創(chuàng)造性思維能力培養(yǎng)。在教學(xué)中,常常聽到學(xué)生提出這樣的問題:“程序設(shè)計(jì)語言有什么用?”,有的學(xué)生還反映:“程序設(shè)計(jì)語言并不難學(xué),就是不知道如何應(yīng)用?”一些學(xué)生學(xué)到了一定的科學(xué)知識(shí),但上機(jī)動(dòng)手水平低。這種現(xiàn)象與普遍忽視實(shí)踐環(huán)節(jié)有關(guān)。為了扭轉(zhuǎn)這一局面,在整個(gè)教學(xué)過程中,必須強(qiáng)調(diào)實(shí)踐環(huán)節(jié)的重要性,充分安排上機(jī)實(shí)踐時(shí)間,加強(qiáng)系統(tǒng)訓(xùn)練和實(shí)踐能力的培養(yǎng),強(qiáng)化創(chuàng)造性思維能力培養(yǎng)。根據(jù)課程特點(diǎn),在教學(xué)中,采用案例驅(qū)動(dòng)教學(xué),進(jìn)行興趣引導(dǎo);在實(shí)踐中,可以精心組織一系列由易到難、由淺入深、配套銜接、結(jié)合學(xué)科學(xué)習(xí)、有一定設(shè)計(jì)技巧的程序設(shè)計(jì)作業(yè),最后再安排一次綜合性強(qiáng)、有一定難度的課程設(shè)計(jì)實(shí)踐,對(duì)學(xué)生進(jìn)行項(xiàng)目訓(xùn)練,提高學(xué)生應(yīng)用能力。通過上機(jī)作業(yè)和課程設(shè)計(jì)的完成,使學(xué)生獨(dú)立思考,各顯才干,總結(jié)經(jīng)驗(yàn),培養(yǎng)他們的動(dòng)手能力和編程能力,以及分析問題和解決問題的能力。

4 結(jié)論

總之,培養(yǎng)學(xué)生計(jì)算機(jī)程序設(shè)計(jì)能力的方法和途徑很多,但是編程序不難,編好程序不易。作為教師,必須從培養(yǎng)學(xué)生編程思維的角度出發(fā),按照以上策略認(rèn)真進(jìn)行編程知識(shí)的教學(xué)和技能的培養(yǎng),加強(qiáng)實(shí)踐,提高學(xué)生科學(xué)思維的能力,真正學(xué)會(huì)程序設(shè)計(jì)的真本領(lǐng)。

參考文獻(xiàn):

[1] ,王楠.淺談程序設(shè)計(jì)語言課程教學(xué)方法[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2005(S2).

[2] 徐進(jìn)華.提高學(xué)生程序設(shè)計(jì)能力的幾個(gè)措施[J].計(jì)算機(jī)時(shí)代,2005(11).

[3] 李凌.淺談高級(jí)語言程序設(shè)計(jì)課堂教學(xué)方法[J].淮北職業(yè)技術(shù)學(xué)院學(xué)報(bào),2005(04).

第6篇

關(guān)鍵字:程序設(shè)計(jì)語言教學(xué)改革

中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)02(c)-0000-00

1 概述

計(jì)算機(jī)程序設(shè)計(jì)語言,通常簡稱為編程語言,是一組用來定義計(jì)算機(jī)程序的語法規(guī)則。它是一種被標(biāo)準(zhǔn)化的交流技巧,用來向計(jì)算機(jī)發(fā)出指令。

當(dāng)今計(jì)算機(jī)程序設(shè)計(jì)語言種類繁多、共性大、更新速度快,同時(shí)軟件工程和項(xiàng)目管理的蓬勃發(fā)展使得計(jì)算機(jī)軟件開發(fā)從業(yè)人員的職業(yè)分工更為明確。從人力資源與社會(huì)保障部頒布的“計(jì)算機(jī)程序設(shè)計(jì)員國家職業(yè)標(biāo)準(zhǔn)”上看,除了要求從業(yè)者必須要有扎實(shí)的基本功外,還要具備解決問題的綜合能力。因此計(jì)算機(jī)程序設(shè)計(jì)員專業(yè)的學(xué)生在計(jì)算機(jī)程序設(shè)計(jì)語言的知識(shí)和技能的學(xué)習(xí)中,不能再僅僅孤立地教授幾門編程語言、幾門相關(guān)的專業(yè)課程而已,而是要教會(huì)學(xué)生掌握通過計(jì)算機(jī)程序設(shè)計(jì)來解決實(shí)際問題的知識(shí)和技能,成為一名合格的“軟件藍(lán)領(lǐng)”。這就要求我們不能延續(xù)傳統(tǒng)的學(xué)歷教育方法,計(jì)算機(jī)程序設(shè)計(jì)語言教學(xué)需要改革,需要一種全新的教學(xué)理念和模式。

當(dāng)前的教學(xué)改革更多的體現(xiàn)在教學(xué)方法和內(nèi)容上,“學(xué)習(xí)領(lǐng)域”、“任務(wù)驅(qū)動(dòng)”、“職業(yè)崗位導(dǎo)向”、“面向工作”等各種課程設(shè)計(jì)方法層出不窮。然而,縱觀大部分課程改革,我們發(fā)現(xiàn)其教學(xué)改革更多體現(xiàn)在獨(dú)立的課程中,并沒有在課程與課程的銜接上下功夫。大部分院校均先后開設(shè)VB、C、C++、JAVA等多門程序設(shè)計(jì)語言和數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫管理系統(tǒng)等專業(yè)課程,學(xué)生雖然學(xué)習(xí)了多門程序設(shè)計(jì)語言,然而每一門語言都只學(xué)了皮毛,每一門課程都學(xué)了基礎(chǔ),只能完成課堂和課后的作業(yè)和練習(xí),而對(duì)于能解決什么問題,怎么解決問題,如何綜合解決問題一籌莫展,碰到問題時(shí)往往覺得無從下手。

2 程序設(shè)計(jì)語言教學(xué)探索與改革:C語言學(xué)習(xí)三部曲

C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn),同時(shí)很多新型的語言都是衍生自C語言,,掌握了C語言,經(jīng)過簡單的再學(xué)習(xí),就可以用其他新型的語言去進(jìn)行程序開發(fā)了。因此,在計(jì)算機(jī)專業(yè)的課程中,只要把C語言學(xué)扎實(shí)了、學(xué)透了,就可以說掌握了計(jì)算機(jī)程序設(shè)計(jì)語言的精粹。在課程設(shè)計(jì)中,我們以C語言為主線,以一脈相承的C語言、C++語言、C#語言為基本知識(shí)內(nèi)容,配合上數(shù)據(jù)結(jié)構(gòu)、UML、數(shù)據(jù)庫等相關(guān)知識(shí)點(diǎn),提出語言知識(shí)入門、語言能力提高、語言技能應(yīng)用三個(gè)階段和應(yīng)用層次的“C語言學(xué)習(xí)三部曲”的課程改革方案。

第一階段:語言知識(shí)入門――C語言與數(shù)據(jù)結(jié)構(gòu)整合

1、課程知識(shí)要求:

1) 掌握C語言的基本語法,如數(shù)據(jù)類型,3種語句結(jié)構(gòu),數(shù)組,指針等。

2) 掌握數(shù)據(jù)基本結(jié)構(gòu)形式和操作,如線性結(jié)構(gòu),樹形結(jié)構(gòu),圖形結(jié)構(gòu),以及數(shù)據(jù)結(jié)點(diǎn)的查找、添加、刪除、排序等操作。

3) 掌握“自頂先下、逐步細(xì)化”的結(jié)構(gòu)化程序設(shè)計(jì)方法。

2、課程技能要求:

掌握如何用計(jì)算機(jī)解決日常問題,特別是數(shù)據(jù)的表現(xiàn)形式和動(dòng)作行為的表現(xiàn)形式。

3、課程設(shè)計(jì)要點(diǎn):

將C語言和數(shù)據(jù)結(jié)構(gòu)進(jìn)行有機(jī)整合,特別是在講解C語言的數(shù)據(jù)類型時(shí)溶入數(shù)據(jù)結(jié)構(gòu)知識(shí),在講解C語言的語法結(jié)構(gòu)時(shí)溶入數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)操作知識(shí)。

4、課程目的:

通過該課程的學(xué)習(xí),要求學(xué)生掌握基本程序設(shè)計(jì)思想和理論,學(xué)會(huì)數(shù)據(jù)及數(shù)據(jù)處理由現(xiàn)實(shí)世界向計(jì)算機(jī)世界的轉(zhuǎn)換方法和過程,學(xué)會(huì)用計(jì)算機(jī)程序設(shè)計(jì)語言描述和解決日常生活中問題。

第二階段:語言能力提高――C++語言與UML工具整合

1、課程知識(shí)要求:

1) 掌握C++語言的高級(jí)語法知識(shí)以及面向?qū)ο蟮母拍詈托问剑缑嫦驅(qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài),以及模板等概念。

2) 掌握UML知識(shí),掌握利用UML工具(如ROSE)來進(jìn)行面向?qū)ο蟮姆治龊徒5姆椒ê瓦^程。

3) 掌握以“抽象與分類”為關(guān)鍵的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。

2、課程技能要求:

掌握如何用計(jì)算機(jī)解決日常問題,特別是以面向?qū)ο蟮姆椒▉矸治龊徒鉀Q問題。該課程要求學(xué)生在第一階段掌握了結(jié)構(gòu)化的設(shè)計(jì)方法后,進(jìn)一步了解面向?qū)ο蟪绦蛟O(shè)計(jì)方法。

3、課程設(shè)計(jì)要點(diǎn):

把C++語言和UML進(jìn)行有機(jī)的整合。將UML作為面向?qū)ο蟪绦蛟O(shè)計(jì)的分析和設(shè)計(jì)的工具,而將C++語言作為進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)的編程和實(shí)現(xiàn)工具。

4、課程目的:

通過該課程的學(xué)習(xí),要求學(xué)生掌握面向?qū)ο罄碚摚瑢W(xué)會(huì)面向?qū)ο蠓治觯∣OA)、面向?qū)ο笤O(shè)計(jì)(OOD)和面向?qū)ο缶幊蹋∣OP)方法和工具。

第三階段:語言技能應(yīng)用――C#語言與數(shù)據(jù)庫操作整合

1、課程知識(shí)要求:

1) 掌握C#語言的高級(jí)語法知識(shí)和軟件架構(gòu)知識(shí),如集合、委托、托管、、C/S與B/S架構(gòu)開發(fā)方法等。

2) 掌握數(shù)據(jù)庫操作知識(shí),如SQL語法、、XML等。

2、課程技能要求:

掌握多層架構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)方法。,該課程要求學(xué)生在復(fù)習(xí)第二階段的面向?qū)ο蟮脑O(shè)計(jì)方法后,掌握開發(fā).Net應(yīng)用系統(tǒng)的方法,掌握將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中的方法,以及掌握對(duì)數(shù)據(jù)庫進(jìn)行查詢、添加、刪除等操作的方法和步驟。

3、課程設(shè)計(jì)要點(diǎn):

將C#語言與數(shù)據(jù)庫操作知識(shí)進(jìn)行有機(jī)整合,在講解用C#語言開發(fā)基于.Net的多層架構(gòu)應(yīng)用系統(tǒng)中,通過講解與LINQ將SQL溶入C#語言。

4、課程目的:

通過該課程的學(xué)習(xí),要求學(xué)生掌握C#語言和數(shù)據(jù)庫操作,掌握通用的企業(yè)級(jí)應(yīng)用系統(tǒng)的開發(fā)方法和過程。

3 結(jié)語

教育部部長周濟(jì)在2008年度職業(yè)教育會(huì)議上說到:“以改革創(chuàng)新為強(qiáng)大動(dòng)力,推動(dòng)職業(yè)教育又好又快發(fā)展”。職業(yè)教育的生存和發(fā)展,離不開教學(xué)改革和創(chuàng)新。在進(jìn)行計(jì)算機(jī)程序設(shè)計(jì)語言教學(xué)探索與研究中,我們通過走進(jìn)企業(yè),與企業(yè)軟件開發(fā)人員的進(jìn)行密切聯(lián)系與溝通,了解市場(chǎng)發(fā)展與需求等一系列調(diào)研后,提出了改革方案并付諸實(shí)施。實(shí)踐證明我們的改革思路是正確的,課程改革是卓有成效的。

參考文獻(xiàn)

[1] 譚浩強(qiáng),“C程序設(shè)計(jì)”[M],清華大學(xué)出版社

第7篇

(寶雞職業(yè)技術(shù)學(xué)院,陜西 寶雞 721013)

【摘要】數(shù)據(jù)結(jié)構(gòu)是高職院校計(jì)算機(jī)專業(yè)中一門專業(yè)基礎(chǔ)課程和核心課程,本文關(guān)注了當(dāng)前《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)的現(xiàn)狀,總結(jié)該課程教學(xué)中存在的一些不足,并提出了一些見解。

關(guān)鍵詞 數(shù)據(jù)結(jié)構(gòu);算法;程序設(shè)計(jì)

1 《數(shù)據(jù)結(jié)構(gòu)》課程的作用及意義

1968年美國唐納德·克努特(Donald Ervin Knuth)教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作,是《數(shù)據(jù)結(jié)構(gòu)》的經(jīng)典之作。隨后,數(shù)據(jù)結(jié)構(gòu)作為一門獨(dú)立的課程開始進(jìn)入大學(xué)課堂。

數(shù)據(jù)結(jié)構(gòu)課程主要是研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題中所出現(xiàn)的計(jì)算機(jī)操作對(duì)象以及它們之間的關(guān)系和操作的學(xué)科。主要內(nèi)容包括數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)和對(duì)數(shù)據(jù)的操作(或算法)。通常,算法的設(shè)計(jì)取決于數(shù)據(jù)的邏輯結(jié)構(gòu),算法的實(shí)現(xiàn)取決于數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是通過對(duì)數(shù)據(jù)的抽象與研究,幫助我們把生活中具體的事物抽象出數(shù)學(xué)模型,從而幫助我們寫出“好”的算法。

數(shù)據(jù)結(jié)構(gòu)課程與數(shù)學(xué)、計(jì)算機(jī)硬件和軟件有十分密切的關(guān)系,它是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件之間的一門計(jì)算機(jī)專業(yè)的核心課程。伴隨計(jì)算機(jī)應(yīng)用領(lǐng)域的擴(kuò)大和軟、硬件的發(fā)展,非數(shù)值計(jì)算性問題使得人們?cè)絹碓街匾晹?shù)據(jù)結(jié)構(gòu),所有的計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件的設(shè)計(jì)、開發(fā)都要用到各種類型的數(shù)據(jù)結(jié)構(gòu),已成為高級(jí)程序設(shè)計(jì)語言、操作系統(tǒng)、編譯原理、數(shù)據(jù)庫、人工智能、圖視學(xué)等課程的基礎(chǔ)。同時(shí),數(shù)據(jù)結(jié)構(gòu)技術(shù)也廣泛應(yīng)用于信息科學(xué)、系統(tǒng)工程、應(yīng)用數(shù)學(xué)以及各種工程技術(shù)領(lǐng)域。《數(shù)據(jù)結(jié)構(gòu)》的學(xué)習(xí)越來越被人們所重視,成為構(gòu)建計(jì)算機(jī)類專業(yè)群的重要課程。目前,這門課程不僅在本科段開設(shè),同時(shí)也是高職高專院校計(jì)算機(jī)相關(guān)專業(yè)開設(shè)的主要課程之一,許多非計(jì)算機(jī)專業(yè)的理工專業(yè)也都將它作為必修課程或熱門選修課。

學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的目的是使學(xué)生在軟件開發(fā)的過程中能夠正確、合理地選擇數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),有效地設(shè)計(jì)算法,從而提高軟件整體質(zhì)量,既可以為后續(xù)課程的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ),也可以培養(yǎng)學(xué)生的分析與解決問題能力,提高學(xué)生的思維能力和程序設(shè)計(jì)能力,進(jìn)而促進(jìn)學(xué)生的綜合應(yīng)用能力和專業(yè)素質(zhì)的提高。

2 《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)現(xiàn)狀

《數(shù)據(jù)結(jié)構(gòu)》課程具有概念抽象、理論性強(qiáng)、邏輯性強(qiáng)、難度大等特點(diǎn),它涉及到不同的數(shù)據(jù)邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),以及相應(yīng)結(jié)構(gòu)上的算法,因而總被認(rèn)為是一門深?yuàn)W、抽象的課程,一門理論性很強(qiáng)、和實(shí)踐相脫節(jié)的課程。學(xué)完后不能形成一個(gè)完整的知識(shí)體系,學(xué)生為了考試而學(xué)習(xí),而在程序設(shè)計(jì)的能力上不能得到提高,分析原因主要有以下幾點(diǎn):

2.1 教學(xué)目的不夠明確

《數(shù)據(jù)結(jié)構(gòu)》課程本來是以在程序設(shè)計(jì)過程中總結(jié)而得到的數(shù)據(jù)組織和操作的體驗(yàn)和認(rèn)識(shí),用于程序設(shè)計(jì)的指導(dǎo)工作,而當(dāng)下的教學(xué)很大程度上只要求掌握數(shù)據(jù)結(jié)構(gòu)的幾種基本類型和基本操作,期望通過基本數(shù)據(jù)類型的掌握能夠用于指導(dǎo)實(shí)際程序設(shè)計(jì)。這就使得教學(xué)過程偏重理論而忽略了本課程的根本目的和意義,導(dǎo)致學(xué)生對(duì)學(xué)習(xí)這門課程的作用不夠明確。從而使學(xué)生感覺課程內(nèi)容抽象、算法復(fù)雜、實(shí)用性不強(qiáng)。

因此,學(xué)生的學(xué)習(xí)目的主要變成是為了應(yīng)付考試,只注重課本上的理論內(nèi)容,而不去考慮在具體程序設(shè)計(jì)中如何去使用《數(shù)據(jù)結(jié)構(gòu)》基本理論來設(shè)計(jì)和解決具體的問題。在課程設(shè)計(jì)中,學(xué)生只是為完成編程去苦苦思索,而根本就想不到如何去進(jìn)行數(shù)據(jù)的有效組織和實(shí)現(xiàn)數(shù)據(jù)的基本操作。很難想象不帶問題去學(xué)習(xí)一門課程,會(huì)有很高的學(xué)習(xí)積極性。

2.2 教學(xué)內(nèi)容不盡合理

學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》課程的最終目的是為了使學(xué)生獲得求解問題的能力,就是從實(shí)際問題中抽象出數(shù)學(xué)模型,選擇合適計(jì)算機(jī)表示的數(shù)據(jù)結(jié)構(gòu),再把解決問題的算法程序化,這是一個(gè)復(fù)雜抽象思維的過程,是一項(xiàng)創(chuàng)造性的智力勞動(dòng)。但從目前的教學(xué)內(nèi)容來看,強(qiáng)調(diào)的是數(shù)據(jù)結(jié)構(gòu)的各個(gè)模型內(nèi)容,每個(gè)模型只是說明模型的結(jié)構(gòu)和模型的計(jì)算機(jī)實(shí)現(xiàn),在理論描述上力求做到盡善盡美,從內(nèi)容安排上,各個(gè)模型之間表現(xiàn)為相對(duì)獨(dú)立的關(guān)系,使得學(xué)生在學(xué)習(xí)過程中不能將課程的內(nèi)容聯(lián)貫在一起而形成一個(gè)整體,更就談不上思維訓(xùn)練、分析和解決問題能力的提高了。

而課程安排的實(shí)驗(yàn)環(huán)節(jié),通常是對(duì)所講述的內(nèi)容的偽代碼翻譯成高級(jí)語言進(jìn)行調(diào)試,或者是仿造例子依葫蘆畫瓢地來解決一個(gè)簡單的問題。沒有通過具體應(yīng)用教會(huì)學(xué)生解決問題的思路、算法思想和數(shù)據(jù)結(jié)構(gòu)的使用,在實(shí)驗(yàn)中也只能停留在完成課本內(nèi)容,而對(duì)實(shí)際問題則是一籌莫展。

2.3 教學(xué)方式不夠新穎

計(jì)算機(jī)技術(shù)日新月異,程序設(shè)計(jì)的思想也在不斷發(fā)展。程序設(shè)計(jì)方法已從面向過程的設(shè)計(jì)方法發(fā)展到面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。然而目前大部分的數(shù)據(jù)結(jié)構(gòu)教學(xué)方式還是停留在面向過程的設(shè)計(jì)思路上,所使用的教材也大致類似,教師按照課本的思維方法傳授知識(shí),學(xué)生被當(dāng)成聽眾。這種教學(xué)思維嚴(yán)重落后技術(shù)發(fā)展的的現(xiàn)象制約了教學(xué)效果的提高。

教學(xué)手段比較單一,依然主要是老師講,學(xué)生聽的狀況。學(xué)生接受的知識(shí)局限于教材和老師授課的內(nèi)容,學(xué)生的認(rèn)知水平被壓制,出現(xiàn)能力強(qiáng)的學(xué)生不滿足,能力弱的學(xué)生比較吃力的現(xiàn)象。這種單向的教學(xué)方式,不利于《數(shù)據(jù)結(jié)構(gòu)》課程的學(xué)習(xí),對(duì)鍛煉學(xué)生創(chuàng)造和分析問題的能力也無益處。

2.4 學(xué)生素質(zhì)有所制約

必要的數(shù)學(xué)知識(shí)是學(xué)好《數(shù)據(jù)結(jié)構(gòu)》課程的前提。目前,由于高職學(xué)生的基礎(chǔ)較差,特別是數(shù)學(xué)基礎(chǔ)更加薄弱,這對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程的學(xué)習(xí)極為不利。另外,《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)基本上都是在學(xué)過一門或幾門程序設(shè)計(jì)語言(如C語言)的基礎(chǔ)上進(jìn)行的。不少學(xué)生對(duì)這些程序設(shè)計(jì)語言課程就沒有學(xué)好,因此學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》課程就覺得困難。再加上學(xué)習(xí)的積極性不高,學(xué)習(xí)的目的性不明確,學(xué)習(xí)習(xí)慣不良等,因此學(xué)習(xí)效果可想而知。

3 方法出路

基于改變上述現(xiàn)狀的思考,可以從以下幾方面著手:

3.1 整合教學(xué)內(nèi)容

首先從教材的選用上,力求教材版本新、質(zhì)量高,以防止教材內(nèi)容滯后。教材內(nèi)容的編排,要以程序設(shè)計(jì)的基本原理引領(lǐng)數(shù)據(jù)結(jié)構(gòu)的內(nèi)容;教材內(nèi)容的描述,要以程序設(shè)計(jì)技術(shù)發(fā)展相對(duì)應(yīng)的手段,如現(xiàn)階段可選擇面向?qū)ο蟮姆椒枋?;其次要及時(shí)把反映學(xué)科前沿動(dòng)態(tài)的新成果反映在授課內(nèi)容里,如數(shù)據(jù)結(jié)構(gòu)的描述上盡量使用面向?qū)ο蟮姆椒?,描述語言盡量選擇目前較為流行的C++、JAVA等語言;再次是教師在授課過程中,對(duì)教學(xué)內(nèi)容進(jìn)行整合,將形似分散的各種數(shù)據(jù)結(jié)構(gòu)類型通過實(shí)例能夠組成一個(gè)整體。

同樣的,實(shí)驗(yàn)的內(nèi)容也應(yīng)是配合授課內(nèi)容,對(duì)同一項(xiàng)目能夠逐步深入,從低效率的程序設(shè)計(jì),隨著數(shù)據(jù)結(jié)構(gòu)內(nèi)容的不斷深入,不斷完善程序。體會(huì)采用不同的數(shù)據(jù)組織方式,帶來不同的程序運(yùn)行的效率。

3.2 改進(jìn)教學(xué)方法

將學(xué)生為主體,教師為主導(dǎo)的教學(xué)模式始終貫徹于教學(xué)的全過程。采取實(shí)例式與研討式教學(xué)相結(jié)合的方式,以項(xiàng)目作為切入點(diǎn),分組組織學(xué)生對(duì)項(xiàng)目展開討論,在討論的過程中發(fā)現(xiàn)并提出問題,老師參與學(xué)生的討論并針對(duì)問題講解解決問題所需要的數(shù)據(jù)結(jié)構(gòu)的知識(shí)。這樣學(xué)生由被動(dòng)變主動(dòng)地學(xué)習(xí)課程內(nèi)容,既增加了師生之間的互動(dòng),也調(diào)動(dòng)了學(xué)生學(xué)習(xí)的主觀能動(dòng)性;同時(shí),學(xué)生的發(fā)現(xiàn)問題,分析問題、解決問題的思維能力也得到提高。

3.3 加強(qiáng)實(shí)踐環(huán)節(jié)

提高學(xué)生程序設(shè)計(jì)的能力是《數(shù)據(jù)結(jié)構(gòu)》課程的目的之一,實(shí)踐環(huán)節(jié)自然必不可少。而且也只有通過實(shí)踐才能體會(huì)到數(shù)據(jù)結(jié)構(gòu)對(duì)程序設(shè)計(jì)的影響。首先對(duì)每一部分的理論內(nèi)容安排實(shí)驗(yàn)內(nèi)容,既要使學(xué)生能夠加深對(duì)所學(xué)內(nèi)容的理解和應(yīng)用,也要通過實(shí)驗(yàn)讓學(xué)生逐步提高程序設(shè)計(jì)的邏輯思維能力,擺脫的單純的為了解決某個(gè)問題而編程的粗放方式。其次是要合理安排課程設(shè)計(jì)的內(nèi)容。課程設(shè)計(jì)是對(duì)所學(xué)內(nèi)容的一個(gè)綜合練習(xí),也是檢驗(yàn)學(xué)生具體應(yīng)用所學(xué)內(nèi)容的能力。在題目選擇上應(yīng)考慮學(xué)生的知識(shí)水平層次,從難度上做到難易結(jié)合,由淺入深完成設(shè)計(jì)內(nèi)容。關(guān)注解決問題中程序設(shè)計(jì)的過程,規(guī)范化程序設(shè)計(jì)思維。三是剖析講解典型程序設(shè)計(jì)中數(shù)據(jù)結(jié)構(gòu)的具體使用過程,以增加學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)的實(shí)際應(yīng)用的直觀感性認(rèn)識(shí)。

4 結(jié)束語

縱觀作者數(shù)年來的《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)實(shí)踐,僅是根據(jù)自己的教學(xué)經(jīng)驗(yàn)和體會(huì),提出了存在的問題,并在實(shí)際的教學(xué)工作中積極摸索改進(jìn)方法。經(jīng)過多年的努力,學(xué)生的程序設(shè)計(jì)能力都得到不同程度的提高,也增強(qiáng)了學(xué)生對(duì)計(jì)算機(jī)課程的學(xué)習(xí)積極性。

參考文獻(xiàn)

[1]張紅霞.數(shù)據(jù)結(jié)構(gòu)教程與實(shí)踐[M].北京理工大學(xué)出版社,2006.

[2]數(shù)據(jù)結(jié)構(gòu)[M].西安電子科技大學(xué)出版社,2004.

第8篇

關(guān)鍵詞:c/c++;程序設(shè)計(jì);編程思想

1 引言

“c語言程序設(shè)計(jì)”課程是高校計(jì)算機(jī)及相關(guān)專業(yè)的傳統(tǒng)課程,近年來該課程卻逐漸向“C/C++程序設(shè)計(jì)”過渡,更有甚者干脆摒棄C語言課程直接開設(shè)C++課程,這一現(xiàn)象值得我們反思,究竟如何在C與C++之間取舍,二者有何聯(lián)系與區(qū)別?下面分別從三方面進(jìn)行闡述。

2 聯(lián)系

C++是以G語言為基礎(chǔ)增加新內(nèi)容發(fā)展而來,是C語言的推廣和延伸。絕大部分C語言中正確的語句在C十十中也可以使用,C語言是C++的子集。

2.1 main函數(shù)

c++與c語言中都有main函數(shù),main函數(shù)在兩種語言中都起著不可或缺的作用,擔(dān)當(dāng)重要作用即程序的入口。簡單的不帶類的c++程序中的主函數(shù)除了輸入輸出(Gout/cin)與G語言不同。別的二者非常類似。

2.2類與結(jié)構(gòu)

類是面向?qū)ο蟪绦蛟O(shè)計(jì)中最基本的概念,是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)與核心。類是將不同類型的數(shù)據(jù)和與數(shù)據(jù)相關(guān)的操作封裝在一起的集合體,是對(duì)要處理問題的抽象描述。定義了抽象類之后可利用該類定義其實(shí)體即該類的對(duì)象。結(jié)構(gòu)是c語言中很有用的一種數(shù)據(jù)類型,是以后學(xué)習(xí)c++中“類”的基礎(chǔ)。結(jié)構(gòu)體成員組合在一起形成一個(gè)整體,其成員可為不同的類型。定義結(jié)構(gòu)體之后可用該結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量。c中的結(jié)構(gòu)可以說是c++中類的雛形,但其區(qū)別也是顯而易見的,結(jié)構(gòu)中只是有數(shù)據(jù)成員沒有成員函數(shù);結(jié)構(gòu)中也沒有public和private關(guān)鍵字,其中的數(shù)據(jù)成員默認(rèn)都是公有的,一般函數(shù)都可以訪問,而C++的類中的數(shù)據(jù)成員默認(rèn)情況下都是私有的,只有類對(duì)象中的成員函數(shù)和友元函數(shù)能夠訪問,這樣極大地提高了數(shù)據(jù)的安全性。

2.3模板與宏

模板是c++程序設(shè)計(jì)中的重要機(jī)制,可以節(jié)約程序代碼,提高面向?qū)ο蟪绦蛟O(shè)計(jì)的可重用性和可維護(hù)性。模板把函數(shù)或類要處理的數(shù)據(jù)類型參數(shù)化,表現(xiàn)為參數(shù)的多態(tài)性,從而有效實(shí)現(xiàn)了程序設(shè)計(jì)中的代碼重用。c語言中的宏定義是一種預(yù)處理方式??筛倪M(jìn)程序設(shè)計(jì)環(huán)境,提高編程效率。其中帶參數(shù)的宏定義方式不只是簡單的字符串替換,還要進(jìn)行參數(shù)替換,為日后學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)中的函數(shù)模板奠定基礎(chǔ)。

3 區(qū)別

C是一種結(jié)構(gòu)化語言,其重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)。C程序設(shè)計(jì)首要考慮如何通過一個(gè)過程,對(duì)輸入或環(huán)境條件進(jìn)行運(yùn)算處理得到輸出或?qū)崿F(xiàn)過程控制,而c++首要考慮如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能契合與之對(duì)應(yīng)的問題域,這樣就可通過獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程控制。

3.1編程思想

c++與C語言最大的區(qū)別在于編程思想的截然不同,前者是面向?qū)ο蟮木幊陶Z言,后者則是面向過程的結(jié)構(gòu)化的編程語言。面向?qū)ο蟪绦蛘Z言將程序設(shè)計(jì)領(lǐng)域與日常生活拉得更近,面向過程的C語言強(qiáng)調(diào)程序的功能,以函數(shù)為中心,c++在C語言這一強(qiáng)大巨人的肩膀上發(fā)展,通過C語言強(qiáng)大的軟硬件控制功能,融入面向?qū)ο蟮木幊趟枷?。?qiáng)調(diào)程序的分層。分類,以抽象的類為基礎(chǔ),進(jìn)行對(duì)象的定義與展示,使應(yīng)用程序具有封裝性、繼承性和多態(tài)性。

3.2關(guān)鍵字

c語言中的關(guān)鍵字幾乎都可以在C++中使用,但c++中增加了一些C語言中所不支持的關(guān)鍵字,這些關(guān)鍵字能夠作為函數(shù)和變量的標(biāo)識(shí)符在c程序中使用,盡管C++包含了所有的c,很顯然沒有任何e++編譯器能夠編譯這樣的c程序。例如c++中的new和delete取代了C中的malloc和free,C++中還增加了public、private、try catch。throw等很多關(guān)鍵字。

3.3語法格式

c++和c語言在語法格式上也有很大的不同。c程序員可以省略函數(shù)的返回類型,C++卻不可以,即使無返回也應(yīng)加上void類型。注釋的格式:c語言只支持**。C++還支持//在C語言中輸入輸出是使用scanf和printf函數(shù)來實(shí)現(xiàn)的,而e++是使用類來實(shí)現(xiàn)的,C++中用于控制1/O的iostream類庫替代了C語言中的stdio函數(shù)庫。C++中的try/oatch/thrOw異常處理機(jī)制取代了C中的setjmp和Iongjmp函數(shù)。C++中的引用簡化了c語言中過于繁雜的指針。

日本特黄特色大片免费观看 | 国产99久久精品果冻传媒| 91在线爽的少妇嗷嗷叫| 少妇成人精品一区二区| 欧美日韩免费观看视频| 日本午夜福利视频免费观看| 字幕日本欧美一区二区| 亚洲最大的中文字幕在线视频| 丝袜美女诱惑在线观看| 99久久人妻精品免费一区| 五月婷婷综合激情啪啪| 国产精品美女午夜福利| 精品午夜福利无人区乱码| 日本91在线观看视频| 久七久精品视频黄色的| 中文字幕不卡欧美在线| 久久精品视频就在久久| 欧美日韩国产精品第五页| 欧洲精品一区二区三区四区| 国内外免费在线激情视频| 久久精品国产在热久久| 国产精品成人一区二区三区夜夜夜| 国产视频福利一区二区| 国产福利一区二区三区四区| 精品国产丝袜一区二区| 国产中文字幕久久黄色片| 亚洲内射人妻一区二区| 国产又粗又猛又长又黄视频| 亚洲第一区二区三区女厕偷拍| 久久精品视频就在久久| 99一级特黄色性生活片| 青青草草免费在线视频| 国产欧美日韩不卡在线视频| 国产精品推荐在线一区| 中文字幕有码视频熟女| 亚洲精品一区二区三区日韩| 国产又色又爽又黄的精品视频| 婷婷激情四射在线观看视频| 国产精品一区二区视频| 草草视频福利在线观看| 亚洲欧美日本成人在线|