程序設計的結構范例6篇

前言:中文期刊網精心挑選了程序設計的結構范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

程序設計的結構

程序設計的結構范文1

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

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

本書介紹了初級與高級的數據結構和算法問題,每一章開始提供了學習目標,復習題和編程練習,以及眾多的例證;同時在相關的網站提供可下載的程序和補充文件。本書可以作為計算機學科相關專業的教材或參考書,同時對計算機科技工作者也有參考價值。

程序設計的結構范文2

關鍵詞:教學設計;分支結構;IF語句

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

教材分析:

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

《分支結構的程序實現》是本模塊第四章第一節的內容。分支結構的授課分為兩課時,第一課時:分支結構的流程圖繪制;第二課時:分支結構的程序實現。本課為第二課時,主要內容是用IF語句解決日常生活中涉及分支結構的實際問題。

通過本課的學習,有助于學生體會和理解程序設計的思想,提升學生解決問題的能力,而且也為之后循環結構、枚舉算法的學習打下基礎。

學情分析:

學生在學習本課內容前,需有兩方面的知識儲備:

1.通過分支結構第一課時“分支結構的流程圖繪制”知識的學習,理解并掌握分支結構的特點、執行流程及其作用。

2.通過“順序結構及其程序實現”知識的學習,基本掌握VB控件的設置、動作的實現等內容,對于VB程序的建立、運行、調試過程也有一定的實踐經驗。

對上述內容的學習和掌握為本節課的學習奠定了一定的基礎。另外,高一的學生分析解決問題的能力、自我探究的能力也有了一定的水平。

教學資源:

根據教學內容和學生實際,在教學資源方面做如下準備:

1.技術準備:計算機網絡機房、多媒體廣播軟件、Microsoft Visual Basic 6.0中文版

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

教學目標分析:

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

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

3.情感態度與價值觀:①培養學生嚴密的邏輯思維能力、自主探究能力。②加強學生利用本學科解決日常學習生活中問題的意識。

教學重點難點:

教學重點:掌握分支結構IF語句的格式。

教學難點:能根據實際分析問題,寫出程序并調試成功。

教法與學法:

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

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

教學過程設計:

(一)創設情境,激發興趣

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

2.提出問題:該程序是一種什么結構?順序結構?還是分支結構?

3.舉例:生活中有很多分支結構的問題。

4.引出分支結構的程序實現。

(設計意圖:從生活中提取問題,讓學生能有學習興趣,并能及時了解本節課的學習任務。)

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

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

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

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

3.師生共同共同編寫代碼,程序實現。

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

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

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

7.師生共同編寫代碼,程序實現。

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

(設計意圖:通過自然語言與程序設計語言的比對,加深學生對分支結構的認識。通過師生共同參與改寫程序,使學生了解IF語句的書寫格式,并感受程序語言的嚴謹性。)

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

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

2.任務分析:判斷是單分支還是雙分支結構?鼓勵學生可多選任務來完成。

3.展示成果,教師強調IF語句的格式規范。

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

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

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

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

3.學生小組討論,組間交流。

4.學生組內共同撰寫程序。

5.教師展示學生的代碼,再次強調語句撰寫的規范。

(設計意圖:通過對新任務的探討、分析,加深學生對分支結構嵌套語句的理解。同時進一步養成良好的編程習慣。)

(五)總結回顧,布置作業

程序設計的結構范文3

關鍵詞:液壓支架;結構件斷面;抗彎強度計算;VB軟件計算

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

1 引言 背景技術

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

2 計算原理

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

3 設計意圖及VB程序的實現

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

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

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

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

4 使用效果及結語

使用效果:在進行液壓支架結構件箱體設計計算時,將技術人員從繁重的強度計算中解放出來,實現了方便快捷的抗彎強度計算過程,而且計算結果可靠,經驗證與OPT液壓支架優化軟件計算結果一致,界面友好,計算結果可靠,簡單易用、不受操作系統限制,適用所有windows98以上系統,所用時間相對較少。

程序設計的結構范文4

關鍵詞:大數據;荷載與結構設計方法課程;教學研究;教學現代化

中圖分類號:G642.0;TU 文獻標志碼:A 文章編號:1005-2909(2016)05-0086-04

大數據是21世紀的重要技術革新成果,大數據開發與應用帶來更多新技術的出現,各行各業也急需適應大數據發展的人才。2015年8月國務院頒發的促進大數據發展綱要提出了應加快適應大數據發展需求的人才培養,所以培養適應大數據時代需求的創新人才是擺在高等學校面前的重要任務[1-4]。目前,國內高校土木工程專業人才的培養還不能滿足大數據產業的需求,基于大數據背景下的教學改革也比較少[5-8],所以應積極推進基于大數據背景下的土木工程專業課程改革。結合土木工程專業背景和社會實際需求,融合大數據時代的技術和思想開展土木工程專業課程教學改革,除了要培養學生的基本技能,還應注重培養學生對海量數據的采集、存儲、管理、挖掘與分析等綜合能力。黑龍江科技大學土木工程專業荷載與結構設計方法課程組開展了面向大數據需求的教學改革。該項改革以荷載與結構設計方法課程的基本知識為基礎,以項目為載體,以培養學生獲取信息的能力、分析能力、工程實踐能力和綜合應用的能力為主線,從教學內容、教學方法、教學手段等方面進行改革探索,力求實現“信息―知識―能力”一體化課程教學目標。

一、大數據背景下荷載與結構設計方法課程教學現狀及存在問題

(一)教學內容離散,系統性差,知識跨越性大

由于該課程涵蓋了數學、力學及土木工程所有專業課程的荷載基本計算及原理知識,而且教材各個章節的內容聯系不緊密,所以各章節的知識跨越性大、連貫性差,導致學生學習效果不盡人意。此外,與修訂后的新規范相配套的教材內容滯后,導致教學內容差異性大,教師只能將新規范內容融入教學中,學生學習起來常常感到很茫然。加上該課程是專業基礎課,其教學內容很多是后續專業課的內容,學生由于對專業課內容不了解,也不明白該課程的具體實際用途,因此對課程的重要性認識不夠,以致學習效果差。

(二)主導思想滯后,教學方法、教學手段更新慢

教學中盡管教師也不斷改進教學方法和手段[9],如創設啟發式、討論式、案例式、比較式、互動式等教學方法,但是并沒有從根本上改變以教師講授為主導的教學理念。在大數據時代,信息量大,而且傳播速度快,很多知識僅靠教師的講授是無法跟上信息時代步伐的。因此,教師必須要轉變教學思維,構建教師與學生合作、協同參與的多元教學模式。

二、大數據時代背景下課程教學改革的總體思路

筆者所在學校荷載與結構設計方法課程教學改革總體思路:遵照國家大數據時代加快創新人才培養的綱要要求,結合土木工程專業人才培養需求,以及荷載與結構設計方法課程內容特點,借鑒國內外先進的教學理念、教學方式、方法和手段,以大數據建設為平臺,以荷載與結構設計方法課程建設項目為載體,以培養學生獲取信息的能力、分析能力、工程實踐能力和綜合應用能力為主線,實現“信息―知識―能力”一體化課程教學目標(見圖1)。大數據時代背景下,最大程度挖掘學生潛力,使荷載與結構設計方法課程教學模式越來越趨于理性,教學活動更多地開展實踐教學和情感教學,充分彰顯以學生為本的教學理念,讓教師與學生的溝通越來越多,讓教學互動性越來越強,進一步完善該課程現代多元化的教學模式。

三、基于大數據需求的課程改革路徑

(一) 依托大數據平臺建設,構建分層次、分模塊的課程內容體系

基于大綱要求,在改革原來課程內容的基礎上進一步梳理,分成荷載計算與結構設計方法兩個層次,然后將荷載計算分成豎向荷載、水平荷載兩個大模塊,結構設計方法分為結構可靠度理論、規范設計方法,并注重內容與新規范之間的差別,強調新舊規范的對比,同時更新規范知識,突出以信息化為主導,將各模塊的內容與專業課程內容銜接起來,教學中引入各專業課程知識,將荷載課程內容平臺與專業課程平臺進行合理的銜接。

(二)借鑒國內外先進的教學經驗,構建“信息化、開放式、多元化”的教學模式

1.構建“多元混合式”教學模式,實現翻轉課堂教學

借鑒“慕課”網絡教學平臺的教育模式,開發該課程的網絡教學平臺,構建“多元混合式”教學模式,實現課程教學信息化。該課程教學中將網絡在線教學與課堂教學相結合,實現每節荷載課程的課前網絡在線導學,特別對課程中涉及的相關專業課程內容提前在導學內容中進行布置,學生可以利用多方資源有針對性地提前對相關內容進行學習。在課堂上教師可組織學生對學習過程中的收獲、問題和心得進行交流、解答和分享,并針對學生的學習情況進行有針對性的指導和講解,對教學內容的主要知識點進行總體梳理和總結,整個教學過程實現信息與知識的融合,加深教師與學生的溝通。可以說這種“多元混合式”教學模式,實現了由傳統以教師為主的填鴨式課堂教學模式向以學生為主的翻轉課堂教學模式的轉變,有助于教學相長,有利于學生的全面發展。

2.采用微課教學的輔助模式,開放、拓展教學和學習空間

在改革傳統教學模式的基礎上,引入現代化的微課教學模式,發揮微課內容精短、主題鮮明的優勢,利用其形象性、精品化、便捷性等特征,將每一章的重點和難點內容制作成微課。例如,水平荷載中的風荷載、地震、土側壓力等的計算是學習的重點,也是學習的難點,將這部分內容制作成微課后學生不僅在課堂上,而且在課堂后也可以對教師所講的內容進行學習,非常方便。將微課教學與傳統教學相結合,拓展了教師教學和學生學習的空間,使教學任務和學習任務得到分解,解決了傳統教學中課堂時間緊、任務重的問題。目前微課教學應用越來越廣,因此,在荷載課程教學中將微課教學模式與傳統教學模式相結合,是大數據時代荷載課程教學模式改革的有效途徑之一。

3.加強傳統教學模式與新的教學模式的融合

一切事物都具有兩面性,優缺點并存,教學模式也不例外,新的教學模式也存在弊端,需要與傳統教學模式進行融合,這樣才可以達到事半功倍的效果。新的教學模式可以體現學生的自主性,引導學生自覺參與學習。但是針對目前學生的基本功、能力等狀況,荷載與結構設計方法課程學習還需要教師的督促和指導。另外,對荷載課程中實際規范的應用及新舊規范的對比,也需要在教師的指導下對具體實際問題進行分析,尤其需要教師與學生的及時溝通。因此,完全依靠學生通過網絡等新的教學模式仍然不能很好地解決學習中的實際問題,現代教學與傳統教學的融合才是理想的教學方式。

(三) 依托大數據的平臺建設,創建荷載課程的教學空間與學習環境

以土木工程專業大數據平臺建設為契機,創建荷載與結構設計方法課程教學現代化環境。通過大數據信息平臺建設,建設并完善荷載與結構設計優秀課程網絡平臺,為教師教學、學生學習和師生交流提供網絡空間,教師和學生都可以在網絡平臺上下載該課程的學習資源、作業要求,還可以實現學生和教師在線互動、答疑解惑。此外,平臺還提供與該課程內容相關的眾多專業課程優秀網絡資源的鏈接地址(例如:土力學、工程結構抗震、高層建筑結構等精品課程資源網址),大家可以在這里獲取與課程相關內容的有益資源。在此平臺還可獲取該課程在后續課程及工程中的實際應用實例、工程事故案例等,幫助學生明確該課程學習的重要性,拓展學生專業視野。另外,可以建立該課程的微信群和QQ群,師生可以隨時隨地進行溝通交流。教學和學習空間的拓展,能充分發揮學生和教師的主觀能動性,開闊學生的視野,增強學生的學習積極性。

(四) 依托荷載優秀課程平臺,建立“網上―課上―卷上”一體化、全方位的考核評價體系現代化的信息技術,為荷載課程考核評價提供了眾多的評價手段。改革原有荷載與結構設計方法課程評定辦法,在繼續采取將期末最終評定與平時考核相結合的考核辦法的基礎上,基于荷載優秀課程網絡平臺建設增加網上評價的環節,評定內容更加全面,方式更加多樣。最終期末成績(100分)=網上(15分)+課上(15分)+創新(10分)+期末試卷(60分)。具體考核辦法網絡評價10分:由學生在荷載課程網絡學習平臺上完成各階段學習任務及作業情況,系統給出評價;學生互評5分:通過網絡平臺學生提出并解決問題,學生之間給出客觀評價;創新實踐能力10分:學生應用荷載課程的知識對實際工程事故案例提出自己的觀點和處理辦法;課堂作業、出勤率和課堂表現各5分:課堂上學生對該課程的重視程度,對教學內容的掌握和課程參與互動情況;試卷評價60分:通過期末考試考核學生對整體內容的掌握情況。由此建立的“網上―課上―卷上”一體化、多樣性、全方位的考核評價體系(如圖2所示),打破了傳統的一張試卷定成績的考核辦法,是信息時代荷載課程教學改革的又一突破。

四、結語

大數據正在改變當今的社會生活,對高等教育改革也提出了一個全新的課題。本文基于教育大數據平臺建設,對荷載與結構設計方法課程教學進行前瞻性研究,從課程的教學內容體系、教學模式、教學環境及考核評價體系進行創新改革探索,立足該課程學科前沿,順應大數據時代的需求,充分彰顯荷載課程教學以學生為本的教學理念,最大程度挖掘學生的潛力,實現教學方法手段的現代化、多元化,以及“信息―知識―能力”一體化的教學目標,使荷載與結構設計方法課程教學符合時代的發展步伐。

參考文獻:

[1]許曄.大數據時代中國面臨的挑戰與對策[J].中國科技論壇,2015(3):24-30.

[2]萬靜.大數據:大學變革的機遇[J].國家教育行政學院學報,2015(4):67-72.

[3]黃晉.關于大數據人才培養的思考與探索[J].教育教學論壇,2014(45):201-204.

[4]楚文波.大數據背景下的教育教學改革[J].教學與教育信息化, 2015(13):181-183.

[5]孫鋒.面向大數據的信息與計算科學專業實驗課程體系研究[J].福建電腦, 2014(2):57-59.

[6]詹少強.大數據背景下的數據挖掘課程教學新探[J]. 長春教育學院學報,2014(22):30-33.

[7]曾祥蓉,陳進,謝孝,王薇.土木工程專業網絡課程推廣應用研究與實踐――以混凝土結構設計原理網絡課程為例[J].高等建筑教育, 2012,(21)5:142-145.

程序設計的結構范文5

    當前,計算機技術飛速發展,程序設計技術已從結構化程序設計技術向面向對象程序設計技術過渡,對一個規模較大的應用程序,總體框架是由面向對象程序設計構搭而成,而在局部實現時仍需采用結構化程序設計技術。C語言是一種很好的結構化程序設計語言,因此,筆者論述了C中的的結構化程序設計的方法。

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

    結構化程序設計的思想是一個程序的任何邏輯問題,均可用順序結構、選擇結構和循環結構這3種基本結構來描述。順序結構的程序流程是按語句的書寫順序依次執行;選擇結構是對給定條件進行判斷,根據判斷結果決定執行兩分支中的一個分支或多分支中的一個分支;循環結構是在給定條件成立的情況下,反復執行某個程序段。實現這些程序流程的語句都是流程控制語句。流程控制語句在程序設計中起著重要的作用,通過3種基本控制結構使結構化程序具有唯一的人口和出口,沒有死循環,而且程序的靜態形式與動態執行形式之間具有良好的對應關系。在C語言中,有4種語句是順序執行的:①空語句,光有一個分號“;”作為語句結束符,它表示什么也不做。②表達式語句,表達式后面加一個分號,表達式語句主要有賦值語句、自加減運算符構成的語句和逗號表達式語句。③函數調用語句,它是由一個函數調用加上一個分號組成的。④復合語句,由“{”和“}”把一些變量說明和語句組合放在一起,又稱為語句塊。選擇語句有if語句和switch語句。循環語句有for,while和do-while語句以及一些輔助流程轉向語句如continue,break,goto等。順序結構,選擇結構和循環結構共同作為各種復雜程序的基本構造單元,由這3種結構經過反復嵌套構成的程序稱為結構化程序,也就是說,結構化程序是由上述3種基本結構組成的。但如果在編程過程中無限制地使用轉移語句(-goto),會使程序的控制流程強制性地向前或向后跳轉而導致程序的流程無序可循,結構雜亂無章。結構化構造減少了程序的復雜性,提高了可靠性、可測試性和可維護性,使用少數的基本結構,就可使程序邏輯結構清晰,易讀易懂,并且容易驗證程序的正確性。對—個初學計算機語言的人來說。最重要的就是要有正確的程序流程概念,不僅要懂得而且要靈活應用。由此可見,用結構化方法設計的結構是清晰的,有利于編寫出結構良好的程序。因此。結構化程序設計方法的主要原則可以概括為自頂向下,逐步求精,模塊化,限制使用goto語句。

程序設計的結構范文6

關鍵詞:C語言;程序設計;for循環語句;程序算法

中圖分類號:G433 文獻標識碼:A 文章編號:16727800(2013)003018403

0 引言

設計程序就好比寫文章和蓋房子,寫文章要有文章結構,蓋房子要事先設計房子的建筑結構,設計程序則要有程序結構。早在1966年,Bohm和Jacopini提出了程序設計的3種基本結構:順序結構程序設計、選擇結構程序設計和循環結構程序設計,并且已經證明所有程序都可以由這3種基本結構組合而成。其中,循環結構程序設計是《C語言程序設計》中最重要和最難掌握的一種結構,幾乎每一個實用的程序都少不了循環結構。因此,循環結構程序的教學內容對《C語言程序設計》的學習非常重要,在《C語言程序設計》中提供了3種循環語句:while循環語句、do~while循環語句和for循環語句。其中,for循環語句是最難掌握和最難使用的一種語句,是整個C語言程序結構中的一個重點內容,也是初學者最難理解的一種語句。在《C語言程序設計》中,for循環語句是最常使用的“計數”型循環結構語句。解決實際問題時,一般情況下,如果題目中明確給出循環次數,應該首選for循環語句設計程序,因為for循環語句看起來結構最清晰、最緊湊,在語句結構中循環結構程序設計的四要素一目了然,而且執行效率高,使用靈活,可以完全取代while語句和do~while語句。當然,對于一些循環次數不明確的問題,同樣也可以使用for語句來解決。

1 教學問題分析

for循環語句是3種循環語句之一,一般情況下,教學是在學生掌握了《C語言程序設計》的基本語法知識、順序結構和選擇結構,學習了while循環語句和do~while循環語句后,對循環結構程序設計的進一步學習。for循環語句對于那些沒有學習《C語言程序設計》的初學者來說,的確有點難度。但是,學好for循環語句對后續章節內容的學習相當重要,因此,作為教師一定要清楚學生學好for循環語句的重要性,明確教學目標。對于學生而言,能夠靈活地使用for循環語句解決實際問題,并非一件容易的事情。在多年教學實踐中,筆者發現學生學習for循環語句時主要存在以下幾個方面的問題:①不清楚什么樣的問題需要循環結構來處理;②對for循環語句的執行過程不易掌握和理解;③不能靈活地使用for循環語句解決實際問題;④編寫的程序經常出現死循環。2 教學問題解決

教師在教學過程中如何取得良好的教學效果,并很好地達到教學目標,離不開教師的“教”和學生的“學”,如何“教”和怎樣引導學生“學”是教師所要探討的問題。整個教學過程的教學設計、教學環節、教學方法、教學手段和教學思路都特別重要。對《C語言程序設計》這門課程中的for循環語句來說,根據知識點的特點,主要應采用案例教學法和任務驅動教學法,并通過遷移式指導的學習方法,引導學生學會如何運用新知識解決實際問題。

在教學活動中,學生掌握for循環語句的格式,并能夠正確地理解for循環語句的流程和功能,對于學生學習和使用for循環語句來編寫程序相當重要。所以,本節課的重點確定為“掌握for循環語句的結構”。學生掌握for語句的結構和用法并不困難,難的是在實際應用中,如何分析問題、解決問題,使程序變得更加簡潔、高效。因此,本節課的難點確定為“for循環語句的應用”。為了取得良好的教學效果,讓學生很好地掌握for循環語句,根據知識點的特點,設計的教學思路是:厚基礎、抓重點、破難點。根據知識點難易程度的不同,把教學新內容由易到難、由淺入深地劃分為3個層次進行講解。

第一:講解for循環語句的一般格式和流程。

在教學過程中,主要采用的辦法是把教材原本復雜的內容簡單化,變得易于理解和掌握。針對語句格式,首先講解語句的一般格式:

for(表達式1;表達式2;表達式3)

{ 循環體語句; }

進一步講解易于理解的應用格式:

for( 循環變量初始化;循環控制條件;修正循環變量 )

{ 循環體語句; }

最后講解簡化為容易掌握的四要素格式:

for( 1 ; 2 ; 4 )

{ 3; }

同時,為加深學生對知識點的理解,將for循環語句與while循環語句、do~while循環語句進行比較學習,并且強調應用for語句格式應注意的事項。

針對語句的流程,并沒有講解教材中描述的復雜流程圖,而是想辦法把復雜內容簡單化后再講解。在for循環語句四要素格式的基礎上,給出一種能夠將語句的流程在語句格式上體現得清晰、明了的 “語句格式流程圖”。見圖1。

在講解了語句格式和流程后,緊接著采用案例教學法和任務驅動教學法,引導學生自己設計一個簡單程序:運用for語句在屏幕上輸出20個“*”。主要目的是給學生創造一定的條件,引導學生主動探索、獨立思考、發現問題、分析問題和解決問題,以培養學生的探索精神和自學能力,從而提高學生學習新知識、解決新問題的能力。

第二:講解for循環語句靈活多變的語句格式。

for循環語句靈活多變的格式是學習for循環語句的重點內容。緊抓重點,在教學活動中主要采用遷移式指導的學習方法,教師“舉一”,主要以輸出20個“*”的問題為例,培養學生“反三”,反復變化for語句的格式來解決同一個問題。結合循環結構程序設計的四要素,對for循環語句的各種形式進行詳細地剖析,并且演示程序的運行結果,使學生完全透徹地理解for語句靈活多變的結構。從而解決教學的重點內容:for語句的結構,并從中拓展以提高學生對知識點的學習。

第三:for循環語句的應用。

運用for循環語句解決實際問題是教學的難點所在。教師在授課時應盡量結合生活中的實際問題,講解程序設計的基本思想和方法。既讓學生掌握for循環程序設計的思路和方法,同時教會學生學習新知識,并培養其解決實際問題的能力。在教學活動中通過解決一個實際問題:判斷素數(輸入一個正整數m,判斷它是否為素數),來突破教學的難點內容。教學活動中采用了案例教學法和情景教學法,并輔以任務驅動及討論的方式。從問題的概念出發,教學活動通過如下的一系列問答來開展:

問:什么是素數?

答:除了1和它本身,不能被其它數整除的數叫素數。

問:17是不是素數?

答:是。

問:你們是怎么知道17是素數的?怎么才能讓計算機明白?

答:從2開始一個一個去找,看是否能找到一個能被17整除的數,如果找到了,就不是素數,如果找不到,就是素數。

教學的目的是為學生創造自主體驗的情景和語言描述的情景,使學生在課堂上處于主體地位,并且為學生提供良好的暗示和啟迪,從而鍛煉學生的創造性思維,以培養學生的適應能力為目標。在學生主動參與教學活動的前提下,詳細講解算法分析,從而獲得良好的教學效果。

算法分析如下:

判斷一個數m是否為素數,需要判斷該數是否能被除了1和自身以外的其它數整除,即判斷m能否能被2~m-1之間的數整除。運用C語言算術運算符中的求余運算來判斷整除。

設i取值\[2,m-1\],如果判斷m不能被該區間上的任何一個數整除,即對每個i,m%i都不為0,則m是素數;但是只要m能被該區間上的某個數整除,即只要找到一個i,使m%i為0,則m肯定不是素數。顯然,這個判斷過程是一個循環問題。

從數學的角度考慮,m不可能被大于m/2的數整除,所以上述i的取值區間可以縮小到\[2,m/2\]。

引導學生編寫程序代碼如下:

#include

void main ( )

{ int i , m ;

printf (“ 請輸入m的值:”);

scanf (“%d” , &m);

for ( i=2 ; i

if ( m%i==0 ) break ;

if ( i>m/2)

printf (“%d是一個素數\n” , m);

else printf (“%d不是素數\n” , m);

}

數學上可以充分證明,i的取值區間還可以縮小到\[2,sqrt(m)\]。從減少判斷范圍的角度出發,進一步優化程序的算法,編寫出更加簡潔、高效的程序,從而提高學生的程序設計能力,激發學生的編程興趣。

#include

#include

void main ( )

{ int i , m ;

printf (“ 請輸入m的值:”);

scanf (“%d” , &m);

for ( i=2 ; i

if ( m%i==0 ) break ;

if ( i>sqrt(m))

printf (“%d是一個素數\n” , m);

else printf (“%d不是素數\n” , m);;

}

為鞏固學生對新知識點的掌握,安排課堂作業:仍然解決判斷素數的問題,在以上講解的基礎上,引導學生從排除偶數的角度出發,進一步優化程序的算法,要求學生分組討論問題,課堂完成作業。教學設計的主要目的是實現學生情感目標的培養,增強學生的編程興趣,提高學生的學習積極性。

3 循環程序實現要點

實現循環結構程序必須具備4個組成部分:循環變量的初始化;循環控制條件;循環體語句;循環變量的修改。其中,最關鍵的是要確定以下兩點:①歸納出哪些操作需要反復執行?――循環體語句;②這些操作在什么情況下重復執行?――循環控制條件。只要明確地分析出循環體語句和循環控制條件,那么循環結構也就基本確定了,再根據具體問題,加上循環變量的初始化和循環變量的修改,最后從《C語言程序設計》提供的3種循環語句中選擇一種具體循環語句來實現程序代碼。

4 結語

for循環語句在整個《C語言程序設計》的學習中相當重要,在程序設計中幾乎是無處不用。因此,在教學過程中一定要想辦法讓學生很好地掌握for循環語句,為學好《C語言程序設計》打下堅實的基礎。

參考文獻:

\[1\] 廖雷.C語言程序設計\[M\].北京:高等教育出版社,2002.

[2] 譚浩強.C語言程序設計\[M\].北京:清華大學出版社,2000.

[3] 楊起帆.C語言程序設計\[M\].杭州:浙江大學出版社,2006.

亚洲精品一二三区-久久