国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

程序設計之新解

2014-07-16 00:25:01王衛(wèi)華張雙獅
電腦知識與技術 2014年14期
關鍵詞:計算思維程序設計邏輯

王衛(wèi)華 張雙獅

摘要:用通俗生動的語言描述了計算機程序設計所涉及的語言、語法、結構化程序的邏輯結構,面向對象程序的事件驅動機制和消息傳遞機制,指出計算機程序已經(jīng)深入現(xiàn)代生活的各個方面,程序是人類思維共享,文明傳承和認識自然規(guī)律的工具,應重視程序設計教育。

關鍵詞:程序設計;邏輯;計算思維

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)14-3311-03

Abstract: The language, grama, logic structures, event-driven mechanism and message passing mechanism for object-oriented programs are explained. This article points out that programming is basic method tool of exchanging ideas, passing civilization and cognizing laws of nature and special attention should be given.

Key words: programming; logic; computational thinking

1 概述

計算機是人腦功能的延伸,從其誕生之日起就開始逐步替代人的勞動,大大拓展了人類思維和活動的范圍,從早期的“阿波羅登月”到今天的“嫦娥奔月”,可以說沒有計算機是不可想象的,計算機已經(jīng)以各種形式走入我們生活、學習、工作、娛樂的各個方面,改變了人們的生活,同時也影響著人類的思維模式。數(shù)值計算和數(shù)值模擬已經(jīng)成為與生產實踐、科學實驗并列的人類認識自然規(guī)律的又一種重要方式。計算數(shù)學、計算物理學、計算化學及計算生物學等計算科學的出現(xiàn)節(jié)省了大量的實驗時間和實驗經(jīng)費[1]。現(xiàn)在計算機突然癱瘓了,我們的工作可能會馬上陷入混亂,我們可能無所適從。然而,如果計算機沒有了其內部的軟件程序就如同人沒有了思維,程序如同計算機的“靈魂”,我們對計算機的使用就其本質上講是跟計算機程序在交流和互動,而且這種交流越來越頻繁,越來越可視化,越來越人性化,已經(jīng)逐步進入了虛擬現(xiàn)實的智能交互時代。也許,未來我們無法判斷我們是在跟人交流還是在跟機器交流。正像我們了解一個人的思維性格能更好的與其相處一樣,了解程序及其運行規(guī)律能更好的與計算機相處,使其更好的為我們服務。日常,說起程序設計,學生普遍都“談程色變”,不是覺得太深奧、太專業(yè)學不懂,就是覺得那些東西離我們的現(xiàn)實求職相距甚遠,不能直接提高就業(yè)機會。其實,在高等教育中不論是服務性專業(yè)、技能性專業(yè),還是理論性專業(yè),如果能使學生們對程序設計、機器思維的規(guī)律有一個比較深入的了解,那不僅會對提高職業(yè)技能有幫助,更能通過程序中許多計算機科學家、軟件工程師們的優(yōu)秀思想來影響和熏陶學生,以提高其邏輯思維能力,幫助其養(yǎng)成良好的思維方式、思維習慣和嚴謹?shù)墓ぷ髯黠L[2]。

2 Windows程序設計

日常工作中用的最多的是Windows程序,所以了解Windows程序設計是我們關注的主要內容。眾所周知,在使用Windows程序時我們總是要面對一個操作界面,然后用鼠標和其它輸入設備去觸動界面上的某些控件,以向計算機發(fā)出命令或請求,然后計算機進行相應的處理后,在界面的特定控件上或其它輸出設備上輸出、顯示、應答。從操作中我們也許能體會到程序的一些運行規(guī)律,其實Windows程序設計可分為兩個部分:界面設計和事件過程設計。

2.1 界面設計

正如我們在生活中與人相處一樣,形象良好,態(tài)度熱情、友善大方的人會給人留下深刻的印象,使人更便于溝通和交流;相反對于態(tài)度冷漠、刻薄寡恩、吹毛求疵的人,大家可能唯恐躲之不及,更不用說與之合作、交流。計算機程序也一樣,我們在辦公、娛樂中,一定更喜歡使用界面美觀大方、色彩鮮明,操作便捷的程序,對界面不友好,操作復雜,即使功能強大的程序也會感到厭倦、望而生畏、棄之不用。MS-Windows操作系統(tǒng)之所以獲得巨大的成功,就是由于她設計之初就是為了給大家提供一個更貼近生活的、人性化的、便捷的使用計算機的平臺,而UNIX雖然有比Windows更優(yōu)越的特性,卻不能在日常工作中被廣泛使用,就是因為其進入市場之初界面的不友好所致。

設計一個便于人機交互的友好界面是Windows程序設計的第一步,也是非常重要的一步。在可視化的集成開發(fā)環(huán)境中,設計一個友好的界面是非常容易的,其基本內容就是設計一個窗體對象,然后在窗體上放置所需的操作控件對象,最后設置各對象的位置、大小、顏色、動態(tài)效果等屬性。界面設計的動作也不過是鼠標點擊和拖動,一般不需要寫代碼,非計算機專業(yè)的人都可以很快上手。界面設計跟畫圖有點相似,有點畫圖基礎的人可能會制作出更加漂亮的界面,而完成一個復雜、友好、操作便捷的界面不僅對設計者審美繪畫能力的提高有幫助,而且能使設計者對事物的運行規(guī)律有一個更深入的認識,對培養(yǎng)大局意識,考慮問題的全面性也有很大幫助。

2.2 事件過程設計

經(jīng)過第一步,一個漂亮、便捷、實用的界面呈現(xiàn)在我們面前,為人機交互創(chuàng)造了一個良好的環(huán)境與平臺,但她還只是“一幅畫”,一個靜態(tài)的界面,還不能實現(xiàn)人機交互,觸動界面上的各個控件不會有什么反應。如何使界面更加生動呢?這就是Windows程序設計第二步要解決的問題,界面上各控件對象事件過程的設計。

我們稱Windows程序為事件驅動的程序,事件指的是發(fā)生在界面控件上的或其它程序對象上的事情,事件過程是一段程序代碼。當操作者在界面的某控件對象、某區(qū)域對象上進行單擊鼠標、雙擊鼠標、按下按鍵、移動焦點等操作時,就會觸發(fā)該對象相應的事件,操作系統(tǒng)收到事件觸發(fā)的消息時,就會回調相應的事件過程程序,對操作者做出回應。當然,我們希望計算機做什么、怎么做,在事件過程中寫代碼告訴她就可以了。這就是說,要想讓程序做什么,我們自己首先得知道做什么。很自然,在設計事件過程時,必須首先要把解決的問題分析清楚,把解決問題的辦法和流程搞清楚,因為寫程序時不允許有即使是一點點的疏漏和不明確。任何思維上的瑕疵都會使我們得不到預想的結果。所以,通過程序設計我們的思路會更加清晰,我們的思維會更加嚴密,我們的作風會更加嚴謹。endprint

3 程序的觸覺

程序的觸覺也是計算機的觸覺,是鼠標、鍵盤、掃描儀等輸入設備,用戶程序通過操作系統(tǒng)來間接感知外部事件。具體流程是操作系統(tǒng)通過接口驅動程序感知外設的動作,然后發(fā)送事件消息給用戶程序。進行Windows程序設計時,用戶程序不必直接跟驅動程序打交道,操作系統(tǒng)會做好這個聯(lián)絡,我們只需設計好相應的事件過程就可以了。

4 程序的語言

程序的語言是計算機能識別的一套符號系統(tǒng),有機器語言、匯編語言、高級語言。計算機所有的行為都是我們預先設計、安排好的,但是必須得用一種她能夠明白的方式告訴她。正如世界各地的人進行交流時總的用一種大家都能明白的語言,否則他們之間無法交流。

計算機對文字、圖像、音頻及視頻等數(shù)據(jù)的處理都是按照二進制運算法則進行的,和自然語言一樣,計算機程序也有特殊的語言,有自己的文字、語匯、語句及一些語法規(guī)則。起初工程師們編制程序就是用二進制的符號來描述的,后來為了便于記憶識別,采用帶助記符的匯編語言來描述。但不論是機器語言還是匯編語言都是比較難懂、比較專業(yè)的,唯有高級語言比較適合普通學習者,從思維的學習訓練來講只明白高級語言就足夠了。Windows程序設計的開發(fā)環(huán)境中有專門的編譯程序,會將我們寫的高級語言代碼轉化成機器語言代碼,供計算機閱讀。高級語言更接近自然語言,其基本“文字”是就是各種文字、字符、字母等書面語言用到的字符和文字。

用程序語言來描述五彩繽紛的現(xiàn)實世界,需要將各種對象實體格式化成一定格式的數(shù)據(jù),即根據(jù)所描述對象的特點把數(shù)據(jù)設計成專門的方便運算的“數(shù)據(jù)類型”和“數(shù)據(jù)結構”。比如:整數(shù)型、浮點型、日期型、邏輯型等類型,數(shù)組、結構體、鏈表、隊列、堆、棧等結構。數(shù)據(jù)在計算機內存中存放,該處內存叫“變量”。往內存里放數(shù)叫內存變量賦值,而“變量”就是程序語言的“詞匯”,變量和常量用各種運算符連起來做算術運算、字符運算、關系運算、邏輯運算,以解決不同的問題。在運算的基礎上形成“語句”,能表達一個完整意思的語句有,給變量賦值語句、輸入/輸出語句、選擇判斷語句、循環(huán)語句、其它輔助語句等。按照一定邏輯把各種語句組織起來就形成了程序文章,程序文章既是我們解決問題的方法和思路的描述,也是計算機處理問題的流程。

5 程序的思維

程序的思維是人腦思維的表現(xiàn),我們怎么想,準備怎么做,告訴她,她就怎么想,怎么做。要想讓程序進行數(shù)據(jù)處理,我們需解決三個問題:首先,要弄清楚所解決的問題是什么,想得到什么結果,達到什么目的;其次,找出解決問題的方法,即不用程序我們如何解決這個問題,現(xiàn)在有什么數(shù)據(jù)要處理,需經(jīng)過怎樣的處理,預想的處理結果是什么,最好是能把手工處理的步驟寫下來,能寫出方案和處理流程是最好的;最后,用計算機幫我們處理,用適合的可視化程序設計語言來描述處理過程,輸入計算機,把人的思維轉化成程序的思維。

可以看出,有了計算機,讓程序行為代替我們的行為并不是讓我們不去考慮問題,恰恰相反,是要求我們對問題看的更加清楚、明確,要求我們更加深入的思考解決問題的辦法,要求我們有更加清晰的思路。

6 程序的邏輯

程序的邏輯即程序的執(zhí)行規(guī)律。程序的思維是人類思維的表現(xiàn),人的思維是對客觀物質、客觀規(guī)律的能動的反應,當然,程序執(zhí)行規(guī)律反映物質運動的規(guī)律,是客觀物質世界運動發(fā)展規(guī)律的反映。辨證唯物主義認為,世界是物質的,物質是運動的,運動是有規(guī)律的,從總體上講物質運動發(fā)展的規(guī)律是隨著時間的推移不斷由簡單向復雜、由低級向高級運動、發(fā)展。但是,就局部而言,發(fā)展并不是隨意的,而是有條件的,在一定條件下可能向這個方向發(fā)展,也可能向那個方向發(fā)展,事物發(fā)展的道路也不是平坦的,在一定條件下可能會出現(xiàn)反復,但這個反復不是簡單的重復,而是舊事物的滅亡,新事物的產生。

經(jīng)過計算機科學家和工程師們長期的研究實踐,總結提煉出,計算機程序的邏輯規(guī)律,即結構化程序的三種邏輯模式:順序結構、選擇結構、循環(huán)結構,以及面向對象程序的事件驅動模式和消息傳遞模式。順序結構用來描述現(xiàn)實世界事物隨時間發(fā)展的順序性,是程序的總邏輯,也就是任何程序必須有頭有尾,有開始有結束,既不會憑空而來,也不會無緣而去。選擇結構用來描述事物發(fā)展的條件性,依照實際條件設計邏輯判斷,決定程序的走向,其中有單分支條件結構,只描述一種條件,如果條件滿足,則做相應的處理;雙分支條件結構,用來描述判斷的兩個方面,如果滿足條件,則做相應的處理,否則也得做出另外的處理;多分支結構,因為實際事物發(fā)展的條件性是很復雜的,可能涉及多個條件,從而決定發(fā)展的多個方向,程序需設計多個判斷,滿足對應的條件,做出對應的處理,這種多條件結構,有時也用多情況選擇結構來描述,能夠非常清晰的描述多情況討論的事情。循環(huán)結構用來描述事物發(fā)展的重復性,讓計程序在一定條件下反復運算,以得出需求的結果。循環(huán)有兩種形式,一種是我們預先知道重復次數(shù)的計數(shù)循環(huán),另一種是預先不知道重復次數(shù),但是知道在什么條件下重復的條件循環(huán)。

面向對象程序的事件驅動模式用來描述事物對外界刺激反應的情況。比如家養(yǎng)看門狗,一旦有盜賊出現(xiàn),狗狗馬上做出反應,狗的行為就是事件驅動的。事件驅動是Windows程序的最大特色,程序一旦啟動就進入Windows系統(tǒng)的任務隊列,等待用戶操作或其它外部事件的發(fā)生,Windows系統(tǒng)會不停的巡視隊列中程序的狀態(tài),一旦某程序發(fā)生某種事件,則系統(tǒng)會調用預先編寫好的事件處理程序做出相應的處理。事件驅動機制是針對對象而言的,具體對象做出什么樣的處理,那就看事件過程里寫的什么內容了。消息傳遞模式是用來描述程序中各對象之間信息交流的通信機制。操作系統(tǒng)通過消息循環(huán)來監(jiān)視任務隊列中程序的狀態(tài),通過消息傳遞實現(xiàn)各程序之間的通信。

7 程序與人腦

計算機程序產生初期只是某些專業(yè)技術人員思維的物化,一般人望塵莫及,隨著計算機軟硬件技術的發(fā)展,程序能夠解決的事情越來越多,越來越復雜,越來越人性化,程序已經(jīng)成為我們生活不可缺少的一部分,程序設計語言也越來越接近自然語言,設計程序、閱讀程序也不再只是專業(yè)技術人員的專利。

但是,不論程序語言多么自然,要想讓程序解決一個更復雜問題,更完美的解決問題,要求編寫程序的人思維更加縝密細致。程序設計的過程是平心靜氣整理思維的過程,也是激發(fā)靈感的過程。程序的思維總歸是人的思維表現(xiàn),而使用程序的過程既是與機器交流的過程,也是與設計者交流的過程,是一個學習提高的過程,不僅僅是知識,更多的是程序中蘊含的思維和流程。人類在推動計算機程序向前發(fā)展的同時,程序也在反過來激發(fā)我們的思維不斷提高,工作不斷流程化,工作中的盲目性、隨意性不斷減少。程序是目前最簡潔的思想方法的表達方式,她拋開了太多描寫和修飾的語言,留下的只有工作流程和思想方法。程序已經(jīng)成為人類思維共享,文明傳承的橋梁和紐帶。學習程序設計,并經(jīng)常能閱讀一些優(yōu)秀的程序對我們思維能力的提高大有裨益,將使我們思路更加清晰,做事更加有條理。

參考文獻:

[1] 王秉中.計算電磁學[M].北京:科學出版社,2007(8).

[2] 龔沛曾,楊志強. 大學計算機基礎教學中的計算思維培養(yǎng)[J].中國大學教學,2012(5):51-54.endprint

猜你喜歡
計算思維程序設計邏輯
刑事印證證明準確達成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
邏輯
創(chuàng)新的邏輯
基于Visual Studio Code的C語言程序設計實踐教學探索
計算機教育(2020年5期)2020-07-24 08:52:56
從細節(jié)入手,談PLC程序設計技巧
電子制作(2019年9期)2019-05-30 09:42:04
女人買買買的神邏輯
37°女人(2017年11期)2017-11-14 20:27:40
高職高專院校C語言程序設計教學改革探索
程序設計課程中計算思維和應用能力培養(yǎng)問題研究
計算機教育(2016年7期)2016-11-10 08:16:19
民族高校C語言程序設計課程教學改革的研究
軟件工程(2016年8期)2016-10-25 16:03:32
算法的案例教學探析
吴江市| 河南省| 岚皋县| 淮北市| 凤阳县| 五河县| 长春市| 崇仁县| 武穴市| 新干县| 乐亭县| 榆树市| 临澧县| 大同县| 黔东| 广宁县| 专栏| 临邑县| 阿克陶县| 宁陵县| 汾西县| 九江县| 信阳市| 美姑县| 尖扎县| 津南区| 闽侯县| 浦东新区| 饶河县| 乌拉特后旗| 项城市| 广德县| 耿马| 石渠县| 临汾市| 南部县| 阳高县| 白山市| 新安县| 云安县| 宜州市|