編程軟件范文

時間:2023-04-04 15:05:05

導語:如何才能寫好一篇編程軟件,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

編程軟件

篇1

scratch教學體驗解讀

激發學生學習興趣與主動性 為什么越是小學高段學生在信息課上越沒有興趣?為什么我們花大量的時間控制學生玩網絡游戲,卻沒有很好的效果?為什么信息課堂紀律讓人苦惱?筆者帶著嘗試的心態將scratch引進六年級課堂教學,學生所表現出對課堂的興趣遠遠超過了我的想象。它不僅幫助學生簡單直觀地完成信息化表達和數字化創作,還提升了學生的思維能力和創造能力,更使他們從以往的個人解決問題發展到如今的團隊合作共同創作。開發Scratch項目的凱倫?布雷迪強調說:“我們的目的不是要創建電腦程序編寫大軍,而是幫助電腦使用者表達自己。”

提高學生的創造力與合作力 Scratch的可視化設計,將學生從算法中解救出來,學生不用再記憶枯燥的語法,而是專注于想象與設計,并能夠輕松將所想加以實現。教學實踐表明:當scratch走進課堂后,每個孩子都在參與課堂,甚至是以前屢屢不交課堂作業的后進生。在Scratch教學中,一直被教師所推崇的“做中學”升級為“邊設計、邊學習”,即學生在設計中一邊想、一邊實施指令、一邊創造學習。在課堂創作中大家可以感受到,一個游戲要設計的吸引別人,一定要不斷地思考、修改,多聽別人的意見,多合作。在這個互動中,教師經常可以看到學生的進步,他們的創造力越來越強了,并得到了充分展現。讓學生在設計中學習,是開拓學生思維和創造力的絕佳學習方式。

scratch教學初體驗之應用

數字動畫讓孩子產生想象和述說 當孩子對單一的指令講解感覺比較枯燥時,如果在講解腳本時加上這樣的故事教學,孩子的想象力和語言表達能力是出乎意料的。一個簡單的場景,孩子可以想象出許多角色,描述出他們之間的故事情節。有了想象,結合自然語言表達,就回避了小學生繪制流程圖的難點;同時,還讓學生們感受到“凡事預則立,不預則廢”,并樹立思維優先,先設計后制作的意識。游戲設計讓孩子學會創新和合作。實例1:走迷宮。迷宮游戲的要素是一個完整的迷宮要有迷宮圖(復雜的路線、起點、終點)、角色,外加一些障礙物。腳本設計如下:①開始執行。動作――開始執行指令。②角色起點。動作――移動到X( )Y( )。③跟隨鼠標移動。移動( )步,面向鼠標指向,外加重復執行。④判斷條件。碰到障礙物回到起點,碰到終點游戲結束。這些過程都是學生通過探討得到的,環節設計中給學生充分的時間與同桌交流,通過不斷地交流,學生可以說出整個游戲設計。在作業批改中,教師會發現原來孩子的創新能力是無窮的。圖1、圖2為學生的作業。

實例2:捉小貓。課堂導入:小游戲,捉小貓,比得分。游戲非常吸引孩子,游戲里有許多黃貓和綠貓在跑動,一只手可以抓貓,抓到黃貓加10分,抓到綠貓扣5分,游戲倒計時2分鐘。當問及他們玩過的小游戲中是否有類似的時,孩子們爭先恐后地說著網上各種各樣的小游戲名字。看得出,他們喜歡游戲。由此入手,布置任務:為你的小游戲選擇相應的角色以及繪制好擊打角色的工具。沒有演示,放手讓孩子自己去思考、探索。10分鐘后的作業展示非常豐富,有人畫了一把槍,有人畫了泡泡龍里的發射導彈……隨后讓學生思考幾分鐘后描述游戲設計過程,在說的過程中其實就是一種設計。學生A:如果導彈擊中小貓,小貓會消失一會兒再出現,分數會增加。學生B:小貓會在舞臺上隨意走動,碰到邊緣反彈。慢慢地,大家達成了共識,按著我們的語言描述設計了完整的腳本。圖3為捕捉器指令腳本,圖4為小貓指令腳本,圖5為效果圖。

結束語

篇2

關鍵詞:數據庫;計算機軟件工程;編程技術

編程技術其實是辦公實現自動化的重要基礎和關鍵組成部分,因為編程技術不僅能夠支持辦公類各種計算機軟件的正常和運行,還能夠保證辦公電腦硬件設備的安全。也就是說將計算機軟件應用在計算機數據庫之中,不僅能夠最大程度上辦公的工作效率和辦公整體水平,還能夠提升企業的綜合能力和競爭力,從而使企業在金融危機這個大環境下,一直長遠的發展下去。

1計算機軟件工程中數據庫文件的建立

1.1類型比較

數據庫文件的建立一般情況下都要在能夠讀取相關信息的前提下進行,所以在初期準備建立數據庫時,一定要針對數據庫的相關信息來進行有效的對比,而在觀察文件時還要根據信息讀取過程中容易出現的問題來進行選擇建立數據庫文件方式。

1.2建立數據庫

數據庫的創建一般情況下都是在文件類型確定之后才展開的一項工作,而在建立數據庫之后對于數據庫相關信息的訪問權限也會有較大的改變,所以在一般情況下設計都是針對相關功能不夠完善的項目來進行整改,通過更加合理的改善來解決計算機運行過程中出現的各種問題。

2計算機數據庫的概念

計算機數據庫其實就是通過編程技術來進行一系列工作的信息處理系統,其實計算機數據庫出現的根本原因就是因為現如今信息技術發展十分迅速,所以計算機數據庫應運而出,其最大的作用就是能夠為企業構建一個自動化屬性的企業內部信息處理系統,從而最大限度上為企業提供一個計算機數據庫平臺,使辦公人員能夠借助編程技術進行工作,其中包括信息的儲備、更新、維護和傳輸等等。其實從本質上看來,計算機數據庫就是一個對相關信息收集和整理的過程,這種技術十分適用于企業的辦公。

3編程技術在計算機數據庫中的作用

3.1可用性

可用性的提出是為了針對快速恢復故障和平衡負載。當計算機的主接口出現問題時,備份的接口將會自動的代替其進行工作,從而保證網絡能夠有條不紊的運行。而當網絡的數據接受量過大時,備份接口還可以幫助主接口進行數據的接收和發送,從而起到均衡的作用。

3.2信息隱藏性

主體在進行通訊連接時,可以利用計算機的NAT技術系統,來隱藏內網的網址,并且在數據上是以公網的網址訪問的網絡,也就是說企業的用戶可以直接訪問外網的因特網,但是外網的所有網絡都無法進行企業內部網絡查看企業中的任何信息和資源。

3.3身份鑒別

身份鑒別是面向所有用戶進行的驗證程序,計算機的身份鑒別主要是指訪問計算機的身份鑒別和端口計算機的身份鑒別。訪問該計算機的用戶必須通過SSH或者HTTP(HTTPS)的連接,通過輸入用戶和密碼的方式來進行連接和鑒別,并且要保證密碼以私密文件的方式保存在TACACS認證的服務器上,也就是說在計算機數據庫中應用編程技術將能夠最大限度上保證企業辦公信息和數據的安全性。

4計算機數據庫中存在的問題

編程技術和傳統的計算機網絡技術其實都是一樣的,都是對于計算機的使用人員相關網絡信息的總結和整理,只是編程技術要相較于傳統計算機網絡技術來說更加的便捷和方便。但是計算機網絡技術存在著一個至關重要的問題,那就是相關信息的安全性,因為計算機網絡技術依賴于編程技術和網絡,所以編程技術具有容易修改、容易刪除、容易查閱的特點,所以計算機網絡技術中的信息很容易就被人他人進行查閱和修改,缺乏一定程度上的安全性。也正是因為這一問題,所以導致了計算機網絡技術安全信息上的安全隱患。

5數據庫文件的訪問技術改革

5.1給予計算機數據庫硬件支持

企業的工作流程內,計算機占據著其中百分之八十工作量,也就是說要想實現計算機數據庫就必須要將編程技術應用在辦公中。由于計算機數據庫涉及的業務內容較多且相關信息比較繁雜,所以不論是計算機辦公的軟件還是硬件設備都需要編程技術的支持才能夠保證辦公中所有工作的順利進行。計算機數據庫中的特定軟件有很多,其中以設備管理的軟件為主,而支持自動化辦公軟件的系統主要是計算機數據庫、SQLserver2008和Access。

5.2實現辦公軟件自動化

在辦公的文檔管理中應用編程技術,不僅能夠保證使用者在計算機辦公過程中能夠在計算機的網絡平臺進行信息文件的審閱和查看批復,還能夠在網絡信息平臺對文件信息進行審批和修改,這對于辦公來說不僅提升了工作效率,還最大程度上減少了工作量。企業的工作人員在接收到文件之后,可以先將文件錄入在網絡信息平臺內,然后再信息平臺內進行修改和存檔,存檔完畢之后,可以對其進行準確的命名,以便他日查閱文件,并且存檔的工作人員還可以將文件進行加密,針對不同用戶設置訪問權限,從而保證文件的安全性和共享性。

5.3創建全新信息平臺

現如今很多企業都將編程技術應用在企業管理和信息中,其中信息使用的最為廣泛和頻繁,企業信息主要就是利用編程技術創建一個網絡信息平臺,其中最常見的就是電子網絡論壇或者電子公告,在這個網絡信息平臺內,企業可以隨時隨地的公布企業公告和企業交流等等。

6結束語

綜上所述,只有了解了編程技術的全部應用內容,才能夠更好的將編程技術應用在計算機數據庫內,這不僅能夠提升企業的辦公質量,還能夠最大限度上的提升企業的辦公效率,多方位的保障企業辦公所有工作的順利進行,從而最大限度上企業在整個市場環境下的競爭能力。

參考文獻

[1]范麗萍.基于計算機軟件工程的數據庫編程技術[J].電子技術與軟件工程,2017,01(22):164-165.

[2]侯艷輝.礦區生態環境評估及預警實現技術研究[D].山東:山東科技大學,2014.

[3]尤晶晶.工程軟件中VB數據庫編程技術的應用及選擇思路解析[J].電腦編程技巧與維護,2016,04(134):71-72+94.

篇3

【關鍵詞】C語言 計算機 軟件編程

C語言應用建立在簡單編程語言的基礎上,是一項新型的編程語言確保了編程任務的順利完成。使用者在實際的應用過程中,不受各項限制條件影響,可以結合自身的實際使用需求,嚴格按照C語言的編程要求進行編程。通過編程運行應用軟件的實施結果上可以看出,C語言是計算機中的高級編程Z言,對提升計算機技術應用效果具有重要作用。

1 C語言下的計算機軟件編程實驗技巧

1.1 熟練掌握指針運用方法

指針是C語言編程中一種特殊的類型變量,能夠快速處理編程設計過程中存在的復雜問題。指針的三要素主要包括指針名、值和類型。在對指針編程過程中,主要確保一般變量和指針的相同性。將指針應用于數組表示和函數的參數返回值中。

1.2 明確C語言特有函數功能

特有函數在C語言編程中被廣泛應用,需要充分展現出函數的功能,編程設計人員需要將返回值、函數名字和參數名等項目進行定義。編程庫中的函數主要是由C編譯系統提供,需要確保函數系統的合理定義,確保程序調用的合理性,將“#include指令”包含到所用文件中。例如,在程序運行過程中,通常會運用sqrt函數,為了確保程序的合理運行,需要將#include“string.h”應用到頭文件中。

1.3 掌握算法程序設計技巧

算法是程序設計的靈魂,需要明確算法技巧的應用方法,運用自然語言和流程圖合理表達算法。要求程序設計員需要熟練掌握流程圖符號,將其作為計算機之母,通過對數學知識的牢固應用,有助于提升計算機編程效率。

1.4 掌握位運算及文件知識

位運算是C語言之間的重要特色,也是計算機中的高級語言運算方法,自身具有唯一性和獨特性特點。需要將位運算作為二進制位對象,嚴格按照程序要求進行運算。程序設計員在編程時,需要將所寫的程序存儲到文件中,提升數據查找效率。

2 計算機軟件C語言編程案例

2.1 混合軟件編程方法

隨著科學技術的快速發展,需要加大對語言混合編程技巧的應用,對提升系統編程開發效率具有重要作用。在對混合軟件編程方法進行研究時,主要包括以下兩方面研究內容:

(1)需要將匯編語句嵌入到C語言源程序中,例如,在將asm匯編語句嵌入到C語言源程序中,需要將asm mov as,5/*將5發送到ax寄存器*/,將匯編語句嵌入到C語言源程序中時,需要利用大括號將嵌入程序括起來,例如:

Main( )

{asm{

mov ah,2

mov bh,5

int 10h

}

}

本次實驗在實施過程中,在對程序進行嵌入式設計時,需要嚴格按照固定的格式進行嵌入式輸入,并且需要在嵌入的各行代碼前加“asm”。程序設計人員在進行嵌入式程序設計時,需要滿足以下條件要求:“asm”關鍵字不可少,并且需要將其放置在指令代碼前,需要確保嵌入匯編語言指令代碼能夠與正常的C語言程序混合使用,用“;”作為C語言的分隔符;將“/%”和“*/”作為C語言的注釋分界符。

(2)做好C語言程序和匯編程序的編寫工作,確保編譯目標代碼模塊的獨立性,確保鏈接的合理性。首先,明確C語言程序匯編語言中各種子程序和定義變量的合理性,確保匯編語言的合理調用。由于混合編程語言由若干個功能模塊共同組成,各功能模塊語言能夠獨立完成編程工作,并且通常會以函數的形式展現出來。設計人員需要結合每一模塊的特點,來合理選擇獨立的語言編程系統,并形成目標性的文件,確保能夠形成可視性的文件。其次,需要加大對參數傳遞問題的合理解決,從參數傳遞原則方面對C語言的程序調用匯編程序進行分析,運用推棧將參數傳遞給匯編程序。例如,在對voidaa(char*p,inti)函數進行編寫時,主要是利用匯編語言進行編寫,確保編譯工作能夠在小內存模式下開始,系統在調用時,將其編寫成aa(&q,n)。

2.2 混合軟件編程實例分析

在開展混合軟件編程工作時,需要純5個數中尋找最小值,將主程序設為“min.c”,匯編子程序設為“qiumin.asm”。主程序的編寫形式主要是利用C語言進行編寫,匯編子程序的編寫形式主要是利用匯編語言編寫,在實際的應用過程中,通常會被主程序所調用,以便完善對最小數的尋找,程序代碼如下所示:

/*文件名為:min.c*/

#include

Int extern qiumin(int count,int vl,int v2,int v3,int v4,int v5);/*聲明qiumin為外部函數*/

Main()

{

int min;

Min=qiumuin(12 ,54,8,4,23,9);

Printf(“The min is%d\n”,min);

}

主要是利用C語言和匯編語言混合的編程反復發,確保應用程序能夠滿足運行速度的要求,編程人員需要做好寄存器的合理分配,明確影響程序的因素。為了確保程序的合理運用,需要確保程序預報語言設計之間外部接口的相互協調性,提升外部調用效果。

3 結論

近年來,信息技術發展迅速,計算機軟件是信息化社會的必需品,需要加大對C語言的應用力度,將其應用到各個領域中,確保行業的高效運營,為計算機軟件的發展奠定良好的基礎。同時,確保C語言軟件能夠廣泛的應用到計算機編程實驗中,強化C語言的實踐效果,利用簡單的C語言編程,提高軟件的功能性,拓寬計算機軟件的應用領域,確保計算機軟件的多樣化發展,向網絡化和信息化方向不斷邁進。

參考文獻

[1]龔晨.基于C語言的計算機軟件編程實驗研究[J].電腦編程技巧與維護,2016(02):36-37.

[2]芮素文.基于C語言的計算機軟件編程分析[J].信息系統工程,2015(01):40.

[3]王志超,趙越.基于C語言的計算機軟件編程實驗研究[J].科技創新導報,2015(11):45.

篇4

關鍵詞:軟件人才 量化考核 獨立學院 軟件編程

獨立學院的人才培養目標是定位在高級應用型人才。因此,應科學合理地確定培養目標,建立與應用型人才培養相適應、具有獨立學院特點的人才培養模式;提高教學質量必須確定不同于其他院校的質量標準和要求,還要根據學校和學生的特點去實施教育行為達到教育實效。計算機專業應用型人才培養很重要的,也是最基本的一個方面是程序設計能力的培養。要積極探索一種方法,如何在校提高學生編程能力,這是培養計算機高級應用型人才很重要的一個環節。

獨立學院學生的特點是思想活躍、自我意識強;缺點是基礎不夠扎實、自制能力、學習的動力和自覺性不夠。為了提高獨立學院計算機專業學生教學質量,需要針對學生的特點,在實踐教學上進行改革,以取得較好的效果。

1.目前計算機實踐教學概況

目前計算機專業教學普遍的現象是:學生學了高級程序設計語言、數據結構、數據庫、操作系統、軟件工程等課程,雖然考試通過了,但絕大多數學生反映不會設計和編寫一個程序。去應聘時,感覺大學三年什么也沒有學。原因是:

1.1在大學四年里,雖然不少課程都涉及到算法和編程,但由于各門課程教學都是孤島,無法對學生編程進行系統考核。在實驗教學指導上,老師包的過多,限制學生的積極性和創造性的發揮。在實驗教學中,通常是由按教師編制好的步驟進行,使得學生容易出現依賴性,缺乏主動思維,因而影響學生創造力的發揮,對培養學生分析問題和解決問題能力培養不利。

1.2多數任課老師不太清楚,學生更不清楚大學四年學習后,各門課程的銜接,更不清楚四年學習,我們將培養怎樣的“職業標準人才”,因此,出現學生學完所有計算機課程后,編程能力很差,甚至無編程能力。

1.3在教學計劃制定后,較多的注重課堂授課質量的提高,對實踐教學部分重視不夠,措施不力,注重對理論知識的驗證,忽略解決實際工程能力的培養。創造性、設計性、綜合性實踐少。尤其是對學生創新意識的培養不夠。

1.4學生實驗報告抄襲現象較嚴重,程序不是自己編寫,而是將他人的程序拷貝過來,甚至連名字都不改的拷貝過來。

2.軟件人才編程量化考核的幾點建議

編碼行數是判斷軟件開發熟練度及從業經驗的重要指標。根據行業現狀,達到20000行編碼并具有相關職業素質的人員可被認為是一名合格的軟件從業者。分析了我們的教學計劃,對我系計算機軟件工程人才的培養提出編程量化考核的思路,并進行探討與實實踐。具體做法是:

2.1確定編碼條數。分析計算機專業學生有關編程課程特點及IT崗位對學生的基本需求,確定四年來學生在高級語言的編程能力上要達到初級程序員的水平。定位四年來學生閱讀和編程的程序條數達到12000條的指標。并探討把要求學生完成上萬行編程語句作為量化考核,量化深透到各門課程訓練(課程設計或課程實驗)中,從而使實踐教學從簡單到復雜,從單一到綜合,從虛擬到真實,把專業能力培養落到實處。

2.2確定編碼量化指標。參照按一個合格的程序員的“職業技能標尺”,將編程量化總指標分解到涉及的各門課程中,給出四年有關課程的編程量化指標如表1所示。

有了這個指標,各門課程的任課老師和實驗指導老師都明確實驗的要求,學生也明確通過這門課的學習,編程能力要有哪些提高。防止上課和實踐脫節。

2.3加強實驗指導書的編寫。根據編程量化指標的要求編寫實驗指導書,一般指導書的內容要求先讀后編,不斷提高學生的編程興趣和技能。

2.4加強實踐教學師資隊伍的建設。每一門有關課程都要有一位專任老師參加編程量化實踐教學。承擔實踐教學的老師要不斷提高自己的編程能力,經常討論編程量化實踐中出現的問題,并提出解決方法。

2.5嚴格教學環節,優化考核辦法。實驗結果的驗收方式是考核很關鍵的問題,最初幾門量化考核課程最好使用逐個學生驗收的辦法,防止學生抄襲現象,督促學生很好完成課程實驗內容,即使程序是拷貝其他同學,為了驗收,他也要很好的讀懂,真正了解程序的編寫

2.6以學生為中心,充分發揮學生的主動性。和其他教學一樣,計算機軟件教學過程同樣是由教師的教和學生的學所組成雙邊活動過程。要將量化考核的標準提前告訴學生,讓學生知道四年來,自己在編程能力應達到什么程度,提高他們學習的積極性。

3.初步實施

上學期操作系統課程設計根據編程量化的要求,針對算法的實現,讓學生閱讀了進程調度、作業調度、存儲管理、文件系統等近1000條的程序,編寫了近500條的程序,取得了較好的效果,不但對操作系統的算法有了進一步的理解,同時對C語言編程能力的提高有所幫助。學生反映這次課程設計收獲較大,由于有編程量化的要求落實到每個學生,加上最后實驗的驗收是一個一個的進行,學生很認真、努力完成任務,取得較好的效果,也增強了我們開展編程量化教學探討的信心。如果有關課程都能執行編程量化考核標準,四年下來,相信一定會為學生編程能力的提高打下很好的基礎。

4.存在問題

4.1如何對學生編程進行系統考核。

4.2對老師提出了更高的要求,要求任課老師一定要參加實踐教學,使得課堂教學與實踐教學緊密結合。

4.3逐個驗收實驗結果,教師工作量加大了。應加大實踐教學學分比重。

篇5

打開維控PLC編程軟件新創建的工程,在菜單欄中選擇【視圖】

在展開的【視圖】子目錄中勾選【指令集】

在彈出的【指令集】目錄中選擇【基本順控指令】目錄。

使用鼠標左鍵,選中指定的順控指令,比如【LD】

按住鼠標不放,選取【LD】拖動至右側【梯形圖(寫入)】輸入框內,放置于指定位置,松開鼠標右鍵

在彈出的梯形圖輸入窗口中輸入【指令地址】,并點擊確定。

篇6

教材利用了“二分法”進行解析,可看到,作出對應值表以及每一次“取中點”進行運算縮短零點所在的區間范圍時,即使使用計算器,運算量也很大.其實借助信息技術可以很方便地求出一個方程的近似解.

下面將介紹如何應用Mathematica6.0求方程的近似解.

方法1:利用Mathematica6.0的代數自動求解功能求方程的近似解.

打開Mathematica6.0,執行命令進行輸入按下“Shift+Enter”組合鍵即可,具體如下:

ln[1]:=Solve[2Λx+3*x-7==0,x]

Out[1]={{x13(7-3Productlog[4321/3log[2] ]log[2] )

}}

經過化簡便得到方程2x+3x=7的解的表達式為:73-productln[(432/3)?ln2]ln2.

為了得到此方程的近似解,我們可以輸入命令“N[expr]” (注:表達式的機器精度近似值)和命令“Solve[eqn, var]”(注:解方程)的組合命令即直接輸入命令NSolve[lhs==rhs, var](注:求方程數值解 ),具體如下:

ln[2]:=NSolve[2Λx+3*x-7==0,x]

Out[2]={{x1.43319}}

方法2:利用Mathematica6.0的畫圖功能輔助二分法快速求解.

首先借助Mathematica繪制準確的圖像,使二分法的“無限逼近”更快,同樣,執行命令進行輸入 按下“Shift+Enter”組合鍵即可,具體如圖1:

ln[3]:=Plot[2Λx+3*x-7==0,{x,-2,5},PlotStyle{Black}]

圖1

由圖1極易看出方程2x+3x=7的解在1~2之間.同時我們還可以改變x的取值范圍,以實現圖像局部放大的目的,例如將橫坐標的取值范圍改為{x,1,2},就可

得到如圖2所示的局部放大圖像.

ln[4]:=Plot[2Λx+3*x-7==0,{x,1,2},PlotStyle{Black}]

圖2

由圖2直接就可看出方程2x+3x=7的解在1.4~1.45之間,于是我們就可以從這兒開始“二分法”的“無限逼近”……

當然也可以直接改變x的取值范圍,實現圖像局部放大來進行求解.

將橫坐標的取值范圍改為{x,1.4,1.45},則有如圖3所示的圖像:

ln[5]:=Plot[2Λx+3*x-7==0,{x,1.4,1.45},PlotStyle{Black}]

圖3由圖3中的圖像可以看出方程2x+3x=7的解在1.432~1.4434之間.

繼續將橫坐標的取值范圍改為{x,1.432,1.434},則有如圖4:

ln[6]:=Plot[2Λx+3*x-7==0,{x,1.432,1.434},PlotStyle{Black}]

圖4

篇7

關鍵詞:計算機;軟件開發;編程語言

一、引言

對于計算機應用軟件的研究與開發來說,選擇一項合適的編程語言對其影響十分深遠,編程語言的適配度將決定計算機應用軟件的優質度。其中編程語言是一項十分復雜的工作程序,它既影響著計算機應用軟件的開發難度與開發效率,也影響著計算機應用軟件后期的維護難度與維護效率。現階段隨著計算機技術的不斷發展,編程語言也得到了大力研發,編程語言的種類也越來越多,每一種不同的編程語言都具有著其獨特的性質與作用。

二、結合相關計算機應用軟件的具體開發結構進行選擇

一般情況下,在進行計算機應用軟件的相關開發編程語言的選擇過程中,往往都是一個具體的計算機應用軟件對應一個固定的編程語言,但是在特殊情況之下,也會存在研究開發一個計算機應用軟件時同時選擇多個不同的編程語言的情況。出現這種現象的主要原因還是在于在一個具體的計算機應用軟件的開發過程中,該應用軟件的結構以及功能都會隨著區域和時間的變化而不斷發生變化,換言之,在一個應用軟件中的不同區域所需要的編譯效果也是不同的。因此,在進行計算機應用軟件開發中的編程語言的選擇過程中,一定要結合相關應用軟件的具體需求與實際結構變化選擇最合適的編程語言。除此之外,當一款計算機應用軟件在開發過程中選擇了一項或幾項最合適的編程語言之后,并不意味之該應用軟件在后期更新與維護過程中不會再選擇或者替換其他的編程語言,也許在該應用軟件開發的時候這幾項編程語言十分適合該軟件,但在兩年或者更久的時間之后這項編程語言就不一定會適合該應用軟件的更新與二次開發。因此,一個計算機應用軟件的編程語言并不是一成不變的,在為計算機應用軟件的開發選擇編程語言的時候一定要結合應用軟件的具體性質與結構變化進行實時選擇與實時更新。比如,為了最大限度地提高所選的編程語言對相關計算機應用軟件開發的適配度,相關軟件開發人員可以遵循以下方式進行具體的編程語言的選擇。首先技術人員需要對將要開發的應用軟件的整體結構進行總體的把握與設計,其中不僅包括該應用軟件所開發的主要功能以及屬性,還包括該應用軟件的延伸功能與后期維護等問題。其次軟件開發人員還要在進行應用軟件首次語言編寫的過程中就將應用軟件的所有功能以及延伸功能都充分挖掘出來,并結合應用軟件的功能需求選擇最佳的編程語言。比如相對于C語言與C++語言來說,JAVA語言更適合具有簡單功能需求的應用軟件開發,而C語言和C++語言則相對適合用于開發具有相對繁瑣功能的計算機應用軟件的開發。最后還要考慮所開發應用軟件的數據規模,并根據不同的數據規模來選擇合適的編程語言,比如如果是開發相對功能比較簡易的計算機應用軟件的話,則更加適合選擇ACCESS語言。通過整體結構把握與具體功能把握相結合的方式來選擇計算機應用軟件開發的編程語言,一方面既有利于提高相關計算機應用軟件的開發效率,另一方面也可以在一定程度上降低該應用軟件的后期維護難度。

三、根據對相關計算機軟件開發編程語言的熟悉程度進行選擇

對于很多計算機軟件開發人員來說,都希望能夠在每一次的計算機應用軟件的開發過程中進行勇敢的嘗試與創新,從而實現自己的職業理想與自我完善。但是在實際的計算機應用軟件開發項目中,尤其是對于非專業研究類的應用軟件開發項目來說,開發人員在選擇對應的編程語言的時候還是要盡量從自己知識范圍內的熟悉掌握的編程語言入手。這主要是因為在計算機應用軟件的開發過程總選擇熟悉的編程語言能夠在軟件開發初期就幫助開發人員計算與估量出大概的項目進度表。一方面可以有效避免在計算機應用軟件開發過程中出現其他的不必要的變數,使得整個項目完成得更加具有計劃性與體系性;另一方面也可以有效提高計算機應用軟件開發的效率與質量,最大限度地避免各種意外的發生概率。因此,軟件開發人員的技術儲備將決定一個計算機軟件開發中所選用的編程語言的適配范圍與選擇廣度,對于計算機應用軟件的開發與后期維護來說,當然是所選擇的編程語言范圍越廣,開發與后期維護的難度也就越低,效率也就越高。因此相應地軟件開發人員的自身知識與技能儲備在計算機應用軟件開發的編程語言選擇上就發揮出了至關重要的作用。只有不斷提高軟件開發人員的技能儲備,才可以確保在相關應用軟件開發編程語言的選擇過程中擁有更多的選擇,從而最大限度地避免在開發過程中可能會遇到的各種問題。比如,為了提高軟件開發人員對相關編程語言的熟悉程度與掌握程度,從而在計算機應用軟件開發時能夠擁有更多的編程語言可以選擇,相關計算機軟件開發公司要提高對相關軟件開發人員的技術儲備與知識儲備的考察強度與審核力度。首先針對于具有不同特長的軟件開發人員,即可以十分熟練地掌握幾項編程語言,但對于其他的編程語言都不太了解,這類技術人員其實已經十分優秀,但為了進一步提高與完善其綜合水平,公司相關部門可以就這部分技術人員開展互助小組活動。換言之,掌握不同編程語言的兩個或者三個技術人員可以結成學習對子或者學習小組,互相學習對方所熟練掌握的編程語言,從而切實達到互相進步的目的。其次還可以通過科普講座的方式,讓不同的軟件開發人員對于不同的編程語言都能夠有一個更加深入的了解,不斷豐富軟件開發人員的專業技能與綜合水平。通過這種方式,軟件開發人員所熟悉的編程語言將會得到一個質的提升,那么在進行計算機應用軟件開發編程語言的選擇時,也將會大大提高選擇的廣度與深度,有利于提升應用軟件的開發效率與開發質量。

四、綜合考慮不同編程語言的特性進行選擇

每一種不同的編程語言都有其存在的理由與價值,這而在相關計算機應用軟件開發中編程語言選擇的過程中,具體應用軟件編程語言的選擇則要充分考慮到不同的編程語言的特點與性質。當前階段比較常見的計算機應用軟件開發所用的編程語言主要有以下幾種,其中分別是C語言、C++語言、JAVA語言、ACCESS語言以及PESCAL語言等幾種。以上這幾種不同的編程語言都有著其獨特的使用優勢與適用范圍。其中應用最廣泛的是C語言,該編程語言是所有的計算機語言里最常用的一種,從開始出現截止到目前為止已經擁有四十幾年的應用歷史。而C語言最大的優勢就是擁有十分豐富的運算符、數據結構,但是語法卻十分簡潔且語法要求也相對較低,功能十分強大。除此之外,C語言還是一種兼容能力很強的編程語言,通過C語言編程開發的計算機應用軟件可以十分方便地移植到其他類型的計算機上。因此相關計算機軟件開發人員在進行應用軟件的編程過程中應該以提升工作完成質量為前提,以提升工作完成效率為目標,在結合實際應用軟件開發需求的基礎上,充分考慮不同編程語言的優勢與特色,從中選擇最合適的編程語言,選擇最規范的軟件開發程序,從而達到順利完成工作任務,提高工作效率的目的。比如,以C++語言為例,作為C語言的拓展與延伸,C++語言在匯聚了C語言的眾多優勢與特點的基礎上,又在應用軟件的編程過程中注入了新的編程思想與編程模式,可以更加貼近與滿足計算機應用軟件的開發需求。作為一種全新的編程語言與編程形式,C++編程語言也在計算機編程領域得到了廣泛的應用。結合C++語言的特色與優勢,軟件開發人員在計算機應用軟件開發的過程中就可以做出更加合適與科學的選擇。尤其是在大部分的計算機應用軟件的開發過程中,針對于具體的硬件資源的使用是十分有限的,而且在很多時候收到運行環境與開發平臺的限制,很多編程語言都無法實現很好的兼容,這時就完全可以選擇C++語言作為應用軟件的主要編程語言。C++語言可以在有限的外部環境與硬件資源條件下實現對環境與資源的最大化利用。

五、總結

綜上所述,計算機應用軟件的研究與開發是一項極其艱巨與復雜的工程,很多因素都會對其最終的研發效果與研發質量產生直接或間接的影響,其中編程語言的選擇對于這項工程的完成則發揮著至關重要的作用。因此,計算機軟件開發人員要不斷提高自身素養與技能水平,充分掌握各種編程語言的應有優勢與適用范圍,在結合具體的計算機應用軟件開發需求的基礎上,選擇最合適的編程語言,從而實現計算機應用軟件的高效率與高質量開發。

參考文獻

[1]王樹琴.計算機應用軟件開發中編程語言的選擇研究[J].軟件設計開發,2017(19):219.

篇8

1計算機軟件工程中的數據庫建立

在進行計算機數據庫建立的整個過程中最開始就需要對計算機基礎框架進行設計,并且同時需要對計算機中的數據庫進行改進,而計算機軟件的運行是需要通過網絡這個媒介來作為支撐,要不然計算機系統中的軟件就不能發揮作用,因此在系統數據庫的搭建過程中要考慮到這些相關的影響因素,整個系統的各子系統之間相互之間需要形成良好的交互關系,最終才能使系統的軟件運行,同時也可以保證計算機系統中的信息的安全性。在軟件工程數據庫一開始建立初期就必須要有明確的應用范圍,這樣就能夠高效地做好計算機數據庫的管理工作,在初步形成了數據庫的總體構架之后,需要在此基礎上進行其他功能的完善,提升整個軟件的使用性能和安全性能并解決在使用過程中出現的漏洞,當這個軟件在不斷更新升級改進后它的功能將會越來越人性化以滿足用戶的需求,同時在抵抗外界的干擾方面也是會做得更好,此外數據庫也要及時進行更新以免出現使用故障問題。編程技術是形成計算機數據庫的基礎,各功能的協調是解決軟件技術問題的主要途徑,軟件在開發出后投入市場讓用戶進行使用中要有效利用好計算機數據庫中的資源,使得軟件能夠在使用過程中可以進行自動更新,來解決軟件在使用過程中出現的問題同時增加一些必要的功能。在做軟件過程中工程師要合理的選擇匯編語言,然后進行軟件框架的編程,這樣就能更好的做出所需的軟件和提升用戶的使用體驗。

2數據庫文件建立

2.1類型比較

數據庫需要處于讀取的條件下才能對數據庫的文件進行建立,為此在數據庫進行數據建立的最初階段需要做好對比工作,防止出現在讀取的過程中出現數據的丟失卻不能及時發現的問題。通常采用對比的數據讀取方式更能夠保證數據讀取的穩定性,同時在文件讀取出現問題時也更能夠直觀的發現問題,也更能夠找到合適的類型。在文件讀取時要做到節省計算機的存儲空間,并且短時間地對數據進行讀取,這樣做的目的就是可以保證軟件運行的流暢度和穩定性,更不容易出現運行故障問題。

2.2創建數據庫

一般情況下是在文件建立之后進行數據庫的建立,并且在創建之后系統將會對訪問的權限進行限制,會限制用戶之后的相關操作,特別是在當系統出現一些問題需要進行相應的改進時,由于權限限制的原因將需要對各方面進行調整,需要更加有效的關聯才能使得整個系統的穩定性有較高的保障。為了保證系統的穩定可靠性可以采用分模塊的形式來對系統的多個功能進行逐一控制,如此一來就可以有效的提升數據庫各功能的穩定性,保證系統的流暢運行。而一些在外部安裝的軟件就相對來說在對數據庫創建時簡便很多,在對外部軟件進行安裝時可以采取私人模式的安裝方法可以保證用戶的數據安全。同時需要根據軟件的具體特征來建立合適的數據庫,保證數據庫中的資源能夠充分利用,此外還需要不斷對編程技術進行改進。為了能夠保證系統在系統出現問題數據丟失的情況下保證系統快速的快速恢復運行,需要對數據庫中的信息做好備份工作。

3對數據庫文件的訪問

3.1面向對象的數據庫存儲模式選擇

分區之后就可以進行數據庫存儲模式狀態,但是這項功能又存在多方面的安全問題。數據庫的存儲的作用就是對用戶的各項權限進行一定的限制,以保證系統能夠穩定運行,這種訪問權限是被分為多個訪問級別,不同類型的訪問用戶,進入系統的頁面信息也會有所區別,主要目的還是在于保證系統的安全和穩定。建立了文件類型數據庫后,更加有利于文件的訪問,在進行系統的功能設計時需要重點針對這一方面,要做好合理優化系統資源,保證系統高效穩定運行。

3.2數據庫文件的加密保護

文件加密主要是防止用戶的個人重要信息被他人盜取而采取的保護措施,需要采取相應的措施來保證用戶的信息安全,主要的措施就是通過對用戶的信息根據信息的重要程度來設置,在用戶進行使用時需要設置登錄密碼來保證信息安全,同時在登錄數據庫時也需要密碼,這類分等級分類型的密碼設置可以保證技術人員高效找到解決問題的策略,保證數據庫和用戶的信息不會被木馬等其他病毒攻擊竊取信息,損壞計算機系統,造成重大財產損失。對于在這個過程中信息選擇問題可以通過加密選擇來解決,通過結構優化來解決功能沖突問題,最終保證系統處于一個安全穩定的狀態下運行。

3.3數據存儲模式使用方法比較

使用方法的對比過程影響著系統運行的穩定性,同時在軟件處于工作狀態下進行判斷系統是否處于不穩定運行的狀態,最終技術人員根據出現的具體問題進而采取相應的改進措施。同在網絡如何進行選取完全看之前設計時的功能選擇,以及在實際使用過程中所遇到的具體問題決定的,最終可以達到提高系統穩定性的作用,而這種解決策略在防止計算機病毒的入侵系統這一方面起到了很好的作用,也在保障數據庫的信息安全方面起到了很關鍵的作用,一般性的軟件技術問題,在這種模式下軟件都能穩定運行,此時在系統獲得到信息后能夠自動進行選擇分類,這樣就能保證數據庫調動數據的效率和速度,同時軟件也會根據具體要求進行自動更新,而這都需要各系統間高效配合才能實現。同時系統會對各模式進行篩選,找出其中的問題,優化整個運行系統。

3.4開發設計中的編程技術選擇

保證軟件系統的穩定性是選擇哪種編程技術的重要參考標準,得到編程技術能否保證資源的高效利用,還有保證系統穩定性的能力。通過采用對比的方法進行編程來解決系統的一些相關問題,當系統出現不穩定時要及時發現問題所在采取相應的解決措施,保證軟件不會出現較大的功能問題影響到軟件的正常運行。相關的技術人員在進行問題診斷時也要針對性的進行檢查,保證系統能夠處于一種穩定的狀態下持續安全運行。所以軟件運行的穩定性和編程技術的選擇有著密不可分的聯系,編程技術選取的是否合適直接影響到軟件運行的穩定性,因此要選擇最為適合特定軟件開發的編程技術。在一開始的軟件開發階段遇到問題可以對軟件開發的基礎框架進行優化,以保證之后的開發能夠有效進行,這就對編程技術提出了更高的要求,需要編程技術能夠實現軟件特定功能的同時也要保證軟件的安全性。

4結語

在互聯網時代背景下,各行各業都需要利用計算機技術來獲得發展,因此在很多非計算機類的工程領域內也越來越需要懂得計算機編程技術的人才,而對于非計算機專業人員面對這門較為復雜的學科一開始學習都會有所困惑甚至退卻。本文就關于數據庫系統做了詳細的說明,希望對相關的使用人員有所幫助,也為非計算機專業人員提供學習方法。

軟件工程碩士論文參考文獻

[1]范麗萍.基于計算機軟件工程的數據庫編程技術[J].電子技術與軟件工程,2017(1):164-165.

[2]張程譽.基于計算機軟件工程的數據庫編程技術[J].自動化與儀器儀表,2018(6).

篇9

關鍵詞 極限編程技術;軟件開發;重要作用

中圖分類號:TP313

文獻標識碼:A

文章編號:1007-7316-(2014)02-

一、極限編程技術在軟件開發中能夠控制風險

在軟件開發的過程中,風險是不可避免的,這就會導致軟件開發進度受到影響,并且不利于保證軟件開發的正常進展。而借助于極限編程技術在軟件開發過程中的應用,可以控制風險,盡可能地確保軟件開發過程的正常進行。

(一)極限編程技術在軟件開發中能夠控制進度延遲的風險

極限編程技術的時間非常短暫,所以,這種技術對于進度延遲的現象是非常不容許的。在運用極限編程技術的過程中,最為首要的就是要開發出那些具備最高的應用性能的功能模塊,只有這樣,客戶才會發現軟件是能夠利用的,從而方便客戶的使用,不應該像傳統的軟件開發方法那樣僅僅提供文檔信息。與此同時,對于開發完成的軟件產品,一定要定期對客戶進行回訪,并且根據客戶的需求進行不斷地改進,從而能夠最大限度地迎合客戶的需求。

(二)極限編程技術在軟件開發中能夠控制項目被取消的風險

在利用極限編程技術來進行軟件開發的項目中,先開發出具備較高的應用性能的功能模塊以滿足客戶的需求,在這種情況下,如果項目被取消,那么,就不會像傳統的軟件開發方法那樣面臨巨大的損失,仍然有許多功能模塊是能夠利用的,從而能夠節約大量的軟件開發成本。

(三)極限編程技術在軟件開發中能夠控制不被客戶認可的風險

在利用極限編程技術來進行軟件開發的項目中,客戶也參與到軟件開發過程中來。在開發遇到問題的情況下,軟件開發人員會和客戶進行相互溝通,以便推動軟件開發過程的順利進行。

(四)極限編程技術在軟件開發中能夠控制缺陷率高的風險

在利用極限編程技術來進行軟件開發的項目中,可以借助于自動化測試和測試先行的編碼方式來最大限度地控制缺陷,一旦出現缺陷,客戶就能夠在最短的時間內察覺出來,從而能夠和軟件開發人員一起在最短的時間內進行處理。

二、極限編程技術在軟件開發中能夠提高質量

通常情況下,質量是由觀察者來進行決定的,而質量的具體內涵則是根據不同的風險承擔者而存在著差別的。在利用極限編程技術來進行軟件開發的項目中,極限編程技術能夠最大限度地保證所開發出的軟件產品的質量,它確保質量的質量指標有很多。表1列出了一些質量標準,并詳細說明了極限編程技術是如何確保質量的。

表1極限編程技術確保質量的質量指標

指標 描述 極限編程技術實踐

易用性 在最終用戶看來系統易于使用 現場客戶

可伸縮性 容量(用戶、數據量等)不斷增加時,系統仍能夠處理 測試

持續集成

可用性 用戶可以使用系統的時間百分比 簡單設計

重構

測試

可維護性 度量修復缺陷所需費用的指標 測試

集體擁有

編碼標準

結對編程

可支持性 在運行時,修補或升級系統的難易程度 簡單設計

測試

持續集成

功能性 系統的特性滿足客戶需求的程度 現場客戶

用戶故事

比喻

擴展性 在系統中添加新特性的難易程度 簡單設計

小型

持續集成

平均故障間隔 系統可靠性的度量指標——

兩次故障之間的平均時間

測試

集體擁有

編碼標準

結對編程

三、極限編程技術在軟件開發中能夠管理變化

在利用極限編程技術來進行軟件開發的項目中,能夠確保在軟件構建期間和需求收集期間對軟件項目進行修改的成本相同,能夠最大限度地節約成本。極限編程技術能夠實現修改成本的均勻化,這種技術沒有必要明確地指定需求。與此同時,軟件開發小組也沒有必要迫切地要求客戶看到未來可能的需求。極限編程技術來進行軟件開發就好比一次不能夠準確界定最終的目的地的旅行。倘若客戶能夠帶領軟件開發成員快速地提供業務價值,并且及時進行反饋,那么,整個軟件開發過程一定能夠非常順利地開展。

四、結束語

綜上所述,本文探索了極限編程技術。雖然極限編程技術已經被提出了十多年的時間了,然而,這種編程理念仍然是一種新興的軟件開發方法,值得相關領域的專家和學者繼續進行在不斷的探索和完善。希望通過本文的研究,能夠拋磚引玉,引起國內外專家學者對于極限編程技術領域的進一步的重視。

參考文獻:

[1] 賀亞茹. 極限編程(XP):概念、特點和應用[J]. 新西部(下半月), 2008,(12)

[2] 張鵬,唐發根,林廣艷. 軟件架構設計在XP方法中的實施[J]. 計算機工程與應用, 2003,(33) .

[3] 王曉華,趙明. XP過程對軟件缺陷影響分析[J]. 航天控制, 2008,(01) .

[4] 周立力. 極限編程的質量保證分析[J]. 計算機應用與軟件, 2010,(04) .

[5] 王曉華,趙明. 一種XP項目迭代周期估計方法[J]. 計算機應用, 2007,(05) .

[6] 林明泉,譚云蘭,鄧易偲,余友儒,劉粱軍. 基于極限編程的電子政務考評平臺的研究與開發[J]. 科技廣場, 2009,(05) .

[7] 廖瑞華,文海英,胡英. 極限編程(XP)方法及其應用[J]. 電腦知識與技術, 2009,(27) .

[8] Amr Elssamadisy,Gregory Schalliol. Recognizing and re-sponding toBad Smellin Extreme Programming[J] .ICSE‘02,May 19-25,2002. :617-622 .

篇10

關鍵詞:LINGO軟件;集合;非線性規劃;最優解

中圖分類號:O144文獻標識碼:A文章編號:1009-3044(2012)10-2419-04

Modeling of Nonlinear Programming and LINGO’s Programming and Application

SANG Yang-yang, ZHU Wan-hong, DAN Bing-bing

(Engineering Institute of Engineer Corps .PLA Univ. of Sci. &Tech., Nanjing 210007, China)

Abstract: It’s very difficult for the fast modeling and solution of the nonlinear programming. LINGO modeling language greatly simplifies the process. Introduce the programming skills of LINGO and the SET in detail combined with a nonlinear programming problem. The calculation results show that the programming language is simple, flexible and applicability when using LINGO to solve the nonlinear programming problems contained a lot of variables and constraints.

Key words: LINGO; SET; nonlinear programming; optimal solution

對于大型復雜的優化模型,包含變量和約束條件較多,通過手工計算求解這類問題是非常困難的。使用MATLAB或C語言等編程計算雖然可行,但一般情況下程序編寫繁瑣,不僅容易出錯,還可能耗費大量的時間和精力。LINGO軟件是美國LINDO系統公司(Lindo System Inc.)開發的求解最優化問題的軟件包,在求解大型線性、非線性和整數規劃問題方面具有編程簡單,計算穩定可靠和求解迅速的優勢。其內置的建模語言提供了幾十個內部函數,能以較少的語句,較直觀的方式描述較大規模的優化模型。

1非線性規劃類問題及其實例建模

1.1非線性規劃類問題求解的一般特點

線性規劃問題的目標函數和約束條件是自變量的一次函數,如果在目標函數或約束條件中包含有非線性的函數,就稱這種規劃問題為非線性規劃問題。由于非線性函數的復雜性,解非線性規劃問題要比解線性規劃問題困難得多。而且,也不像線性規劃有單純形法等通用方法,且可用于求解的各個方法都有自己特定的適用范圍,掌握起來較為困難。

非線性規劃問題的一般模型為:min f(x)

s.t. gi(x)≥0,i=1,…,m

hj(x)=0,j=1,…,p

其中,x=(x1,…,xn)屬于定義域D,符號min表示求“最小值”,符號s.t.表示“受約束于”。定義域D中滿足約束條件的點稱為問題的可行解。對于一個可行解x*,如果存在x*的一個鄰域,使目標函數在x*處的值f(x*)優于該鄰域中如何其他可行解處的函數值,則稱x*為問題的局部最優解。如果f(x*)優于一切可行解處的目標函數值。則稱x*為問題的整體最優解。實際應用中的非線性規劃問題一般要求得到整體最優解。

1.2實例分析與建模

首先對一個求解電廠監控系統的最優化改造方案的問題進行非線性規劃的實例分析與數學建模。

指標一系統穩壓設施各等級安全概率及其費用

上面各表中數據反映的是某電廠改造其內部的監控系統(主要包括一個主設備間和多條監控管線),在模擬出現爆炸,火災等惡劣和極端工作條件下,各類安全防護指標所選取的方案、相應的費用和破壞概率。整個系統的改造費用為400萬元,求出該系統各種防護指標方案的最優搭配,使系統的總體安全概率最高。

按照上述的思路,共設4種安全防護指標,即N=4。目標函數為:

其中F總=400萬元,pij為第i項指標下第j個方案的破壞概率,x為引入的0-1變量,xij=1代表第i項指標下第j個方案為使用,為0則為不使用。C為建設費用。P總為系統整體安全概率。

為便于后面的編程計算,我們首先把第一項指標中的安全防護效能轉化為破壞概率。其次,在三,四項指標中各添加一個方案五(重復一遍任意方案即可,這里直接復制四方案)。

指標一系統穩壓設施各等級安全概率及其費用

2運用LINGO程序求解非線性規劃問題

2.1 LINGO程序段的一般組成

LINGO的主要功能是求解大型線性、非線性和整數規劃問題,對于這類問題中大量的變量和約束條件,采用“集”(集合)的形式進行管理和參與運算,極大地方便了對復雜規劃類問題的建模與求解。理解LINGO建模語言最重要的是理解集“SET”及其屬性的概念。

常見的LINGO程序段包含下面三個部分:

1)“集”定義部分:定義“集”及其屬性(從“SETS:”到“ENDSETS”)。

2)數據輸入部分:已知屬性賦以初始值(從“DATA:”到“ENDDATA”)。

3)目標函數和約束條件:定義了目標函數,約束條件等反映LINGO對數學模型的編譯內容。

2.2 LINGO程序的編程

2.2.1 LINGO程序“集”的定義

“集”是一組相關對象構成的組合,代表模型中的實際事物,是實際問題到數學的抽象。例子中的4項防護指標可以看成一個集合,每項指標都有5項方案,這5項方案又可以看成一個集合。每個“集”在使用之前需要預先給出定義,定義集時要明確三方面的內容,集的名稱,集內的成員(也稱元素),集的屬性(可以看成是與該集合有關的變量和常量,相當于數組)。本例集合定義如下:

scheme/s1..s5/;

measure/m1..m4/;

為了表示數學模型中指標與連隊的各項關系,又定義了一個新的集:

links(measure,scheme):c,p,x;

該集以初始集measure和scheme為基礎,稱為衍生集合(或稱派生集合)。c、p和x是該衍生集合的三個屬性,分別表示每項指標下的每項方案的建設費用、破壞概率還有決定采用還是不采用的0-1型決策變量,實際運算中,引入(i,j)依次標示這兩個緯度里的各項成員。

2.2.2數據的輸入

以上集合中屬性X是決策變量,是待求未知數,屬性c和p都是已知數,LINGO建模語言通過數據初始化部分來實現對已知屬性賦以初始值,格式為:

DATA:

p=0.066,0.18,0.238,0.385,0.477 0.084,0.228,0.376,0.580,0.831 0.017,0.076,0.154,0.810,0.810 0.000,0.015,0.552,0.826,0.826; c=100,60,40,20,0 250,180,120,90,0 50,42,30,0,0 50,40,30,0,0; ENDDATA

2.2.3目標函數和約束條件

目標函數表達式:,表達式中p和x即links的兩個屬性。

如果表達式中參與運算的屬性屬于同一個集合,則@prod語句中索引(i,j)(或下標)可以省略,假如表達式中參與運算的屬性屬于不同的集合,則不能省略屬性的索引,故前一LINGO語句可寫為:max=@prod(links:1-p*x);

約束條件實際上表示了4個不等式,用LINGO語言表示該約束條件,語句為:@for(measure(i):@sum(links(i,j):x(i,j))=1);語句中@for是LINGO提供的內部函數,它的作用是對某個集合的所有成員分別生成一個約束表達式,它有兩個參數,以上述語句為例,@for的一個參數為measure,它表示指標或措施,共有4個成員,故應生成4個約束表達式,@for的第二個參數是約束表達式的具體內容,此外再調用@sum函數(使用方法和@prod函數相同),表示約束表達式的左邊是求和,是對集合links的5個成員,并且對表達式X(i,j)中的第二維j求和,即

用LINGO語句表示為:

@sum(links(i,j):c(i,j)*x(i,j))

2.3完整的模型

MODEL:

SETS:

scheme/s1..s5/;

measure/m1..m4/;

links(measure,scheme):c,p,x;

ENDSETS

DATA:

p=0.066,0.18,0.238,0.385,0.477

0.084,0.228,0.376,0.580,0.831

0.017,0.076,0.154,0.810,0.810

0.000,0.015,0.552,0.826,0.826;

c=100,60,40,20,0

250,180,120,90,0

50,42,30,0,0

50,40,30,0,0;

ENDDATA

max=@prod(links(i,j):1-p(i,j)*x(i,j));

@sum(links(i,j):c(i,j)*x(i,j))

@for(links(i,j):@bin(x(i,j)));

@for(measure(i):@sum(links(i,j):x(i,j))=1); END

3求解報告分析

點擊“求解”按鈕,很快得出求解報告,部分求解報告如下:

Objective value:0.7272757

……

VariableValueReduced Cost

……(省略c,p常量的列舉)

X( M1, S1)0.000000-0.4012672E-01 X( M1, S2)1.0000000.1487580E-01 X( M1, S3)0.0000000.000000

X( M1, S4)0.0000000.7858797E-01 X( M1, S5)0.0000000.1171758

……(省略指標2、3、4的求解結果)

以指標一為例,x12求得等于1,其它三項為0,說明在最優方案中,指標一系統穩壓設施采用方案2,其它三項若使用達不到總體的這個最優結果,故不使用。同理,x21,x31,x42為1,即分別對應系統結構抗力措施采取方案1,防震隔振措施采取方案1,屏蔽防護措施采取方案2時,該監控系統可得到最大的安全防護概率0.727%。

4結束語

通過對這個非線性規劃類問題的建模求解,體現了運用LINGO軟件求解非線性規劃問題的三個優點:一是工程實際中涉及到的運籌分析往往是包含大小多個不同的系統,LINGO軟件的編程語言可以簡明高效的表達其中的各類數學關系,定義部分也較為簡單直觀。“集”在建模的過程中簡化了運算關系;二是LINGO軟件提供了大量的內部函數,可以簡單有效地表達目標函數以及約束條件,如求和表達式,若用直接輸入的方式,將有200個Nij和200個Mij相乘再相加,需要輸出長長一大竄,不便于輸入和修改,提供的@sum,@prod則大大簡化了編程輸入;三是符合LINGO的“集”和其它部分編程的語法規定的表達式都可以進行計算,沒有線性規劃和非線性規劃的具體區別。而如果用手工計算,兩者對應的完全是不同的求解方法,非線性問題的解決也相當復雜,一般人較難掌握。

參考文獻:

[1]謝金星,薛毅.優化建模與LINGO/LINDO軟件[M].北京:清華大學出版社,2005.

[2]袁新生,邵大宏,郁時煉.LINGO和Excel在數學建模中的應用[M].北京:科學出版社,2007.

[3]甘應愛,田豐,李梅生.運籌學[M].北京:清華大學出版社,2005.