算法與程序設計(高中選修)復習資料_第1頁
算法與程序設計(高中選修)復習資料_第2頁
算法與程序設計(高中選修)復習資料_第3頁
算法與程序設計(高中選修)復習資料_第4頁
算法與程序設計(高中選修)復習資料_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上主題一 利用計算機解決問題的基本過程專心-專注-專業(yè)點擊考點1、 了解利用計算機解決問題的基本過程2、 了解問題分析與算法設計之間的關系3、 了解算法的基本特征4、 能用自然語言、流程圖或偽代碼描述算法5、 了解程序設計語言產生與發(fā)展過程考點注解1、 了解利用計算機解決問題的基本過程 一般來說,用計算機解決一個具體問題時,大致經過以下幾個步驟:首先要從具體問題抽象出一個適當的數學模型,然后設計一個解此數學模型的算法,最后編出程序進行測試調整直道到最終解答。尋求數學模型的實質就是分析問題,從中提取操作的對象,并找出這些操作對象之間含有的關系,然后用數學的語言加以描述。2

2、、 了解問題分析與算法設計之間的關系 任何一個問題必須弄清楚其內容、性質、規(guī)模,才能找到解決問題的方法,所以分析問題就是要確定用計算機做什么,接下來,就解決怎么做的問題,也就是算法。 算法就是解決問題的方法與步驟。有了算法才能轉化成指令代碼,計算機才能按照指令代碼一步一步去執(zhí)行,直到得到問題的解。 算法是程序設計的靈魂,算法獨立于任何一種程序設計語言,一個算法可以用多種程序設計語言來實現。 一個問題,可能有多種算法 ,應該通過分析、比較、挑選一種最優(yōu)的算法。一個好算法必須用到科學的方法 ,應該好好學習各學科處理問題的科學方法。3、 了解算法的基本特征 一個算法應該具有以下特征: 1)有窮性:一

3、個算法必須保證它的執(zhí)行步驟是有限的,即它是能終止的。 2)確定性:算法中的每一個步驟必須有確切的含義,而不應當是模糊的,模棱兩可的。 3)可行性:算法的每一步原則上都能精確運行 4)有零個或多個輸入:所謂輸入是指算法在執(zhí)行時需要從外界獲得數據,其目的是為算法建立某些初始狀態(tài)。如果建立初始狀態(tài)所需的數據已經包含在算法中了,那就不再需要輸入了。 5)有一個或多個輸出:算法的目的是用來求解問題的,問題求解的結果應以一定的形式輸出。4、 能用自然語言、流程圖或偽代碼描述算法 一個算法可以用多種不同的方法來描述。一般用自然語言、流程圖、偽代碼描述。 1)自然語言 自然語言是人們日常所用的語言,如漢語、英

4、語、德語等。用自然語言描述算法符合我們的表達習慣,并且容易理解。缺點:書寫較煩、不確定性、對復雜的問題難以表達準確、不能被計算機識別和執(zhí)行。 用自然語言描述一下解決以下問題的算法:借助一個空杯將一杯橙汁和一杯可樂互換所盛放的杯子。 (1) 橙汁倒入空杯; (2) 可樂倒入剛空出的杯子; (3) 橙汁倒入剛倒出可樂的杯子 2)流程圖 流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內容,流程線表示操作的先后次序。也稱為程序框圖,它是算法的一種圖形化表示方法。優(yōu)點:形象、直觀、容易理解。 由鍵盤輸入一個任意值作為 n,求1到 n 的累加值。 用流程圖的方法

5、描述一下求一元二次方程 ax2+bx+c=0 (其中 a0 )的實數解的算法。Input 三個實數值(其中 a0 ) To a,b,c d=b2-4*a*c If d 大于等于 0 Then X1= ( -b-d ) /2*a X2= ( -b+d ) /2*a 輸出 X1和 X2的值 Else 輸出方程無實數解 3)偽代碼 偽代碼是介于自然語言和計算機程序語言之間的一種算法描述。 優(yōu)點:簡潔、易懂、修改容易 缺點:不直觀、錯誤不容易排查 比如: IF 九點以前 THEN do 私人事務; ELSE 9點到18點 THEN 工作; ELSE 下班; END IF這樣不但可以達到文檔的效果,同時

6、可以節(jié)約時間. 更重要的是,使結構比較清晰,表達方式更加直觀. 5、 了解程序設計語言產生與發(fā)展過程程序設計語言泛指一切用于書寫計算機程序的語言。計算機語言的發(fā)展經歷了從機器語言、匯編語言到高級語言的歷程,如圖1-1所示。1) 機器語言(Machine Language)計算機使用的是由“0”和“1”組成的二進制數,二進制編碼方式是計算機語言的基礎。計算機發(fā)明之初,科學家只能用二進制數編制的指令控制計算機運行。每一條計算機指令均由一組“0”、“1”數字,按一定的規(guī)則排列組成,若要計算機執(zhí)行一項簡單的任務,需要編寫大量的這種指令。這種有規(guī)則的二進制數組成的指令集,就是機器語言(也稱為指令系統(tǒng))。

7、不同系列的CPU,具有不同的機器語言,如目前個人計算機中常用AMD公司的系列CPU和Intel公司的系列CPU,具有不同的機器語言。機器語言是計算機唯一能識別并直接執(zhí)行的語言,與匯編語言或高級語言相比,其執(zhí)行效率高。但其可讀性差,不易記憶;編寫程序既難又繁,容易出錯;程序調試和修改難度巨大,不容易掌握和使用。此外,因為機器語言直接依賴于中央處理器,所以用某種機器語言編寫的程序只能在相應的計算機上執(zhí)行,無法在其他型號的計算機上執(zhí)行,也就是說,可移植性差。 2)匯編語言(Assemble Language)為了減輕使用機器語言編程的痛苦,20世紀50年代初,出現了匯編語言。匯編語言用比較容易識別、

8、記憶的助記符替代特定的二進制串。下面是幾條Intel80x86的匯編指令:ADD AX , BX ;表示將寄存器AX 和 BX 中的內容相加,結果保存在寄存器AX中。SUB AX , NUM ;表示將寄存器AX中的內容減去NUM,結果保存在寄存器AX中。MOV AX , NUM ;表示把數NUM保存在寄存器AX中。通過這種助記符,人們就能較容易地讀懂程序,調試和維護也更方便了。但這些助記符號計算機無法識別,需要一個專門的程序將其翻譯成機器語言,這種翻譯程序被稱為匯編程序。匯編語言的一條匯編指令對應一條機器指令,與機器語言性質上是一樣的,只是表示方式做了改進,其可移植性與機器語言一樣不好??傊?,

9、匯編語言是符號化的機器語言,執(zhí)行效率仍接近于機器語言,因此,匯編語言至今仍是一種常用的軟件開發(fā)工具。 3) 高級語言盡管匯編語言比機器語言方便,但匯編語言仍然具有許多不便之處,程序編寫的效率遠遠不能滿足需要。1954年,第一個高級語言FORTRAN問世了。高級語言是一種用能表達各種意義的“詞”和“數學公式”按一定的“語法規(guī)則”編寫程序的語言,也稱為高級程序設計語言或算法語言。半個多世紀以來,有幾百種高級語言問世,影響較大、使用較普遍的有FORTRAN、A LGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C+、Visual C+、Vis

10、ual Basic 、Delphi、Java等。高級語言的發(fā)展也經歷了從早期語言到結構化程序設計語言、面向對象程序設計語言的過程。高級語言與自然語言和數學表達式相當接近,不依賴于計算機型號,通用性較好。高級語言的使用,大大提高了程序編寫的效率和程序的可讀性。與匯編語言一樣,計算機無法直接識別和執(zhí)行高級語言,必須翻譯成等價的機器語言程序(稱為目標程序)才能執(zhí)行,如圖1-2所示。高級語言源程序翻譯成機器語言程序的方法有“解釋”和“編譯”兩種。解釋方法采用邊解釋邊執(zhí)行的方法,如早期的BASIC 語言即采用解釋方法,在執(zhí)行BASIC 源程序時,解釋一條BASIC語句,執(zhí)行一條語句。編譯方法采用相應語言

11、的編譯程序,先把源程序編譯成指定機型的機器語言目標程序,然后再把目標程序和各種標準庫函數連接裝配成完整的目標程序,在相應的機型上執(zhí)行。如C、C+、Visual C+及Visual Basic等均采用編譯的方法。編譯方法比解釋方法更具有效率。同步集訓一、選擇題1、人們利用計算機解決問題的基本過程一般有如下五個步驟(),請按各步驟的先后順序在下列選項(AD)中選擇正確的答案(    )調試運行程序 分析問題 設計算法 問題解決 編寫程序A、B、C、D、2、在下圖中利用計算機解決問題的基本步驟流程圖中,對于標注為(1)的流程線,以下說明正確的是()A 該流程線可有可無B

12、當程序運行不出結果時,才需要該部分流程線C該部分流程線保證了問題解決的正確性D該部分流程線有錯3、下列三種算法的描述,缺乏直觀性、簡潔性,最容易產生歧義的是( )A、自然語言描述法 B、流程圖C、偽代碼4、流程圖中表示判斷的是(     )A、矩形框B、菱形框 C、圓形框D、橢圓形框5、“分支判斷”作為解決問題的算法的一個基本步驟,正是體現了計算機的( )能力。A、算術運算能力B、邏輯運算能力C、分布式運算能力D、記憶存儲能力6、下面關于算法的描述,正確的是( )A、算法不可以用自然語言描述B、算法只能用框圖來描述C、一個算法必須保證它的執(zhí)行步驟是有限的

13、D、算法的框圖表示法有0個或多個輸入,但只能有一個輸出7、下面關于算法的描述,正確的是( )A、一個問題只有一個算法B、一個問題可能有多種算法C、能解決問題的算法都是好算法,沒優(yōu)劣之分D、算法不是程序設計所必需的8、下列關于算法的敘述,正確的是()A、解決一個問題的算法只有一種B、有窮性是算法的基本特征之一C、可行性不屬于算法基本特征D、算法對程序設計沒有任何作用9、下列關于算法的敘述,正確的是( )A、解決一個問題的算法只有一種B、算法必定有一個或一個以上的輸出C、算法中可以存在不確切的步驟D、描述算法的步驟可以是無窮的10、從以下計算S的算法可以看出,S的代數式表示是() 變量S的初值是0

14、;變量I從1起循環(huán)到N;循環(huán)表達式為S=S+(-1)*i;輸出變量S的值A12+34+(1)N*(N1)B12+34+(1)N1*nC1+2+3+4+(n1)+nD1234(n1)n11、下列選項都是屬于高級語言的是( )A、匯編語言 機器語言B、Basic語言 Pascal語言C、匯編語言 Basic語言 D、機器語言 Pascal語言12、下列選項都是屬于低級語言的是( )A、匯編語言 機器語言 B、Basic語言 Pascal語言C、匯編語言 Basic語言 D、機器語言 Pascal語言13、_是計算機能直接識別,理解執(zhí)行的語言。A、匯編語言 B、Pascal語言C、Basic語言 D

15、、機器語言14、下列關于程序設計言中機器語言的說法,正確的是()A、Visual Basic屬于機器語言的一種B、機器語言就是Visual BasicC、機器語言比高級語言更早出現D、高級語言比機器語言更早出現15、下列選項中,最先出現的程序設計語言是()A、匯編語言 B、高級語言C、Visual BasicD、機器語言16、不能被計算機直接識別,理解執(zhí)行的語言需要轉換,這種轉換是( )A、人工轉換或機器轉換B、計算機語言提供的解釋器或編譯器負責轉換C、操作系統(tǒng)負責轉換D、人工智能技術中的自然語言理解二、簡答題1、簡述什么是計算機程序、程序設計、程序設計語言、算法2、簡述算法的特征。3、簡述程

16、序設計語言的發(fā)展歷程4、高級語言編制的源程序計算機無法直接識別,必須經過轉換才能被計算機執(zhí)行。請問有哪些轉換方式,這些方式有什么區(qū)別?三、閱讀流程圖,寫出其處理的任務問題1、開始輸入正整數n賦初值s=0 i=1s=s+ii=i+1i>n嗎輸出s的值結束否是該流程圖處理的任務是: 備注:x mod y 是x除y的余數,如10 mod 4 余數是22、該流程圖處理的任務是:開始輸入正整數n賦初值s=0 i=1s=s+ii=i+1i>n嗎輸出s的值結束否是 四、用流程圖表示如下問題的算法,由鍵盤輸入兩個整數 a 、 b,輸出其中較大的數。 主題一 利用計算機解決問題的基本過程同步集訓答案

17、一選擇題:1、D 2、C 3、A4、B5、B6、C7、B8、B9、B10、D11、B12、A13、D14、C15、D16、B6、 簡答題1、計算機程序就是指計算機如何去解決問題或完成任務的一組機器操作的指令或語句的序列,是算法的一種描述,簡稱程序。程序設計就是尋求解決問題的方法,并將其實現步驟編寫成計算機可以執(zhí)行的程序的過程。程序設計語言泛指一切用于書寫計算機程序的語言。算法就是解決問題的方法和步驟。2、一個算法應該具有以下特征: 1)有窮性:一個算法必須保證它的執(zhí)行步驟是有限的,即它是能終止的。 2)確定性:算法中的每一個步驟必須有確切的含義,而不應當是模糊的,模棱兩可的。 3)可行性:算法

18、的每一步原則上都能精確運行 4)有零個或多個輸入:所謂輸入是指算法在執(zhí)行時需要從外界獲得數據,其目的是為算法建立某些初始狀態(tài)。如果建立初始狀態(tài)所需的數據已經包含在算法中了,那就不再需要輸入了。 5)有一個或多個輸出:算法的目的是用來求解問題的,問題求解的結果應以一定的形式輸出。3、計算機語言的發(fā)展經歷了從機器語言、匯編語言到高級語言的歷程4、高級語言源程序翻譯成機器語言程序的方法有“解釋”和“編譯”兩種。解釋方法采用邊解釋邊執(zhí)行的方法,如早期的BASIC 語言即采用解釋方法,在執(zhí)行BASIC 源程序時,解釋一條BASIC語句,執(zhí)行一條語句。編譯方法采用相應語言的編譯程序,先把源程序編譯成指定機

19、型的機器語言目標程序,然后再把目標程序和各種標準庫函數連接裝配成完整的目標程序,在相應的機型上執(zhí)行。如C、C+、Visual C+及Visual Basic等均采用編譯的方法。編譯方法比解釋方法更具有效率。三、閱讀流程圖,寫出其處理的任務問題1、 該流程圖處理的任務是:輸入兩個數a和b,求出它們的最大公約數并輸出。2、該流程圖處理的任務是:輸入一個數n,計算并輸出1到n的和 四、用流程圖表示如下問題的算法主題二 程序設計基礎點擊考點1、 能夠使用可視化程序開發(fā)工具設計簡單的用戶界面。2、 知道常用的數據類型、變量、常量的含義;學會定義常量、變量的數據類型。3、 知道程序中運算符、函數、表達式的

20、表示方式,能夠轉換數學表達式為程序接受的表達式。4、 學會使用順序結構設計程序的基本方法。5、 學會使用選擇結構設計程序的基本方法。6、 學會使用循環(huán)結構設計程序的基本方法。7、 了解程序的編輯與翻譯過程方法,比較編譯型語言與解釋型語言的優(yōu)勢與不足??键c注解7、 能夠使用可視化程序開發(fā)工具設計簡單的用戶界面。Visual Basic是可視化程序設計語言??梢暬绦蜃尦绦蛟O計人員利用軟件提供的各種控件,像搭積木式地構造應用程序的各種界面。VB的集成開發(fā)環(huán)境如下:面向對象的程序設計以對象為中心,以事件為過程執(zhí)行起點。在可視化程序開發(fā)環(huán)境中,文本框、標簽、命令按鈕等控件都叫對象。對象的特征稱為對象的

21、屬性。在對象上發(fā)生的事情稱為事件,常用的有單擊(click),雙擊(dblclick),加載(load),按鍵(keypress)等對象能夠執(zhí)行的操作叫方法。如form1.cls的作用是清除窗體form1中的內容。8、 知道常用的數據類型、變量、常量的含義;學會定義常量、變量的數據類型。數據是程序處理的對象,不同類型的數據有不同的處理方法。數據可以依照類型進行分類。數據類型用于確定一個變量所具有的值在計算機內的存儲方式,以及對變量可以進行何種操作。 VB 語言的數據類型比較豐富,此外還可以通過數據類型定義語句在基本數據類型的基礎上定義新的數據類型(自定義數據類型)。VB數據類型常量 在程序執(zhí)行

22、過程中,其值不能改變的量稱為常量。常量可以直接用一個數來表示,稱為常數(或稱為直接常量),也可以用一個符號來表示,稱為符號常量。1)直接常量(常數)各種數據類型都有其常量表示,如表所示。 2)符號常量 常量在程序中也可用符號表示。符號常量的定義格式如下:訪問權限 Const <常量名> As 數據類型=<數值>如: Const PI As Single =3.1416表示定義 PI為符號常量,代表單精度型數值3.1416。 變量 在程序執(zhí)行過程中,其值可以改變的量稱為變量。1)變量的命名規(guī)則( 1)變量名首字符必須是字母;( 2)變量名只能由字母、數字和下劃線組成;(

23、3)變量名不能使用VB中的關鍵字(保留字);( 4)變量名在同一個作用域內必須唯一;( 5)變量名長度不超過255;( 6)變量的命名最好還應遵守一定的編程約定。 2)變量的作用域變量的作用域是指變量的有效范圍,根據變量說明方式的不同,變量有三個作用域,見表 3)變量定義語句 ( 1)定義模塊或過程局部變量Dim <變量名> As <類型> , <變量名> As <類型> ( 2)定義全局變量Public <變量名> As <類型> , <變量名> As <類型> 9、 知道程序中運算符、函數、表達

24、式的表示方式,能夠轉換數學表達式為程序接受的表達式。運算符 是在代碼中對各種數據進行運算的符號。例如,有進行加、減、乘、除算術運算的運算符,有進行與、或、非、異或邏輯運算的運算符。 表達式 是由運算符和運算對象及圓括號組成的一個序列,它是由常量、變量、函數等用運算符連接而成的式子。表達式是構成程序代碼的最基本要素。1)賦值運算符賦值語句的語法格式為:<變量名> = <表達式> 例如:Count=5。 2)算術運算符與算術表達式( 1)算術運算符VB中算術運算符有(加)、(減)、*(乘)、(除)、(整除)、mod(模運算,求余數)和(冪)。( 2)算術運算符及優(yōu)先級:(乘

25、方)*、/(整除)mod(取余)、 ( 3)算術表達式:用算術運算符和括號將運算對象連接起來的式子稱為算術表達式。運算運算對象可以是常量、變量或函數等。例如:Dim a As Integer,x As Singlea=5x = a 2 * a - 1.5 + a 2 + a Mod 2運算結果為 X=5 2*5-1.5+52+5 mod 2 =125-1.5+2+1=126.53)字符串運算符VB中的字符串運算符主要用來將兩個字符串連接成一個字符串。VB提供了兩個字符串運算符:“&”和“+”。如: "中國" & "江蘇" "中國

26、" +"江蘇"結果均為 "中國江蘇" 4)關系運算符與關系表達式( 1)關系運算符VB的關系運算符用于對兩個數據進行比較,其運算結果為邏輯值True或False。關系運算符有: =、<>、<、>、>=、<=、IS(用于比較兩個對象的引用變量)。( 2)關系表達式:由常量、變量、函數等用關系運算符連接而成的式子稱為關系表達式。例如:Dim a As Integer,b As Integer, x As Booleana=3b=5x=a<b+3運算結果為 x=3<8=True 5)邏輯運算符與邏輯表達

27、式 ( 1)邏輯運算符VB中常用的邏輯運算符有Not、And、Or 和Xor,也稱為布爾運算符。邏輯運算符的運算對象應是邏輯值或關系表達式,運算結果為邏輯值。如表所示邏輯運算符的優(yōu)先級為: Not(非) And(與) Or(或) Xor(異或)( 2)邏輯表達式 用邏輯運算符將運算對象連接起來的式子,稱為邏輯表達式。例如:5>3 And 3>1Not x Or (b>c)邏輯表達式的值是一個邏輯值,用 True或False來表示。例如,邏輯表達式5>3 And 3>1,其結果為True。6)運算規(guī)則 運算符優(yōu)先級運算符的優(yōu)先級:算術運算符 字符運算符關系運算符邏輯

28、運算符賦值運算符。 算術函數字符函數轉換函數日期與時間函數10、 學會使用順序結構設計程序的基本方法。按照語句代碼出現的先后順序依次執(zhí)行的程序結構稱為順序結構,如圖所示11、 學會使用選擇結構設計程序的基本方法。在一種以上可能的操作中按條件選取一個執(zhí)行的結構稱為分支結構。( 1)兩路分支:在兩種可能的操作中按條件選取一個執(zhí)行的結構稱為兩路分支結構,也稱雙分支結構。左圖為雙分支結構流程圖。( 2)多路分支:在多種可能的操作中按條件選取一個執(zhí)行的結構稱為多分支結構。右圖為多分支結構流程圖,執(zhí)行時從B1至Bn依次判斷每個條件是否成立,成立時,就執(zhí)行相應的操作,如果所有條件都不成立,就執(zhí)行Sn+1操作

29、。VB中用于實現分支結構程序設計的語句有兩種,即If與Select語句。1、 If 語句VB中有三種形式的If語句,分別是單分支、雙分支和多分支If語句。1)單分支If語句單分支If語句的使用格式通常是:If <條件> Then<語句>End If2)雙選條件語句If <條件> Then<語句1>Else<語句2>End If執(zhí)行過程:當表達式的值為真時,執(zhí)行語句 1,否則執(zhí)行語句2。3)多選條件語句If <條件> Then<語句1>ElseIf <條件2> Then<語句2>.Else

30、If <條件n-1> Then<語句n-1>Else<語句n>End If2、 Select Case 語句 當程序中分支較多,尤其需要多重嵌套的時候,使用 If分支語句比較冗長,而且結構也不清晰,為此VB提供了一種更加簡潔的分支語句Select Case。該語句對一個結果的多種情況進行判斷,語法格式如下:Select Case <條件表達式>Case <表達式1><語句1>Case <表達式2><語句2>Case <表達式n-1><語句n-1>Case Else<語句

31、n>End Select 12、 學會使用循環(huán)結構設計程序的基本方法。按條件重復執(zhí)行一種操作的結構稱為循環(huán)結構。循環(huán)結構有兩種形式,即當型循環(huán)結構和直到型循環(huán)結構。( 1)當型循環(huán)結構:先進行判斷,然后根據判斷結果(真或假)再決定是否執(zhí)行循環(huán)體的循環(huán)結構稱為當型循環(huán)結構,如左圖所示。( 2)直到型循環(huán)結構:先執(zhí)行一次循環(huán)體,然后再根據判斷結果(真或假)決定是否繼續(xù)執(zhí)行循環(huán)體的循環(huán)結構稱為直到型循環(huán)結構,如下圖所示。從上述兩種循環(huán)結構的流程圖可以看出,對于當型循環(huán)結構,程序有可能一次也不執(zhí)行循環(huán)體;對于直到型循環(huán)結構,程序至少要執(zhí)行一次循環(huán)體。循環(huán)語句實現循環(huán)結構。 VB中循環(huán)語句有兩種:

32、DoLoop語句和ForNext語句。DoLoop語句是條件型循環(huán),當循環(huán)的執(zhí)行是由條件控制,在循環(huán)的次數不確定時通常選用該語句;For語句是計數循環(huán),在循環(huán)次數已知時選用該語句。 1、 DoLoop 語句(1)當型循環(huán)語句 Do WhileLoop語句語句格式為:Do While <條件表達式>語句LoopDo While Loop語句的執(zhí)行過程是,先計算條件表達式的值,當其值為True 時,執(zhí)行循環(huán)體中的語句序列,然后再重新計算條件表達式的值,當條件表達式的值為False時,循環(huán)終止,執(zhí)行Loop語句后的語句。 Do UntilLoop 語句 語句格式為:Do Until &l

33、t;條件>語句LoopDo Until Loop 語句的執(zhí)行過程是,先計算條件表達式的值,當其值為False時,執(zhí)行循環(huán)體中的語句序列,然后再重新計算條件表達式的值,直到條件表達式的值為True時,循環(huán)終止,執(zhí)行Do Until Loop 語句的下一條語句。( 2)直到型循環(huán)語句 Do Loop While語句語句格式為:Do語句Loop While<條件>Do Loop While語句的執(zhí)行過程是:先執(zhí)行循環(huán)語句,再判斷條件表達式的值,當條件條件表達式的值為True時繼續(xù)執(zhí)行循環(huán)體,當條件表達式的值為alse結束循環(huán),轉而執(zhí)行Loop While后面的語句。 Do Loop

34、 Until語句語句格式為:Do語句Loop Until<條件>Do Loop Until語句的執(zhí)行過程是:先執(zhí)行循環(huán)語句,再判斷條件表達式的值,當條件條件表達式的值為False時繼續(xù)執(zhí)行循環(huán)體,直到條件為True結束循環(huán)轉而執(zhí)行Loop Until后面的語句。2、 ForNext 語句在循環(huán)次數已知的情況下,采用 ForNext語句實現循環(huán)結構是比較合適的選擇。ForNext語句的格式如下:For <循環(huán)變量>=初值 To 終值 Step 步長<語句>Exit For <語句>Next <循環(huán)變量>13、 了解程序的編輯與翻譯過程方

35、法,比較編譯型語言與解釋型語言的優(yōu)勢與不足。高級語言與自然語言和數學表達式相當接近,不依賴于計算機型號,通用性較好。高級語言的使用,大大提高了程序編寫的效率和程序的可讀性。與匯編語言一樣,計算機無法直接識別和執(zhí)行高級語言,必須翻譯成等價的機器語言程序(稱為目標程序)才能執(zhí)行,高級語言源程序翻譯成機器語言程序的方法有“解釋”和“編譯”兩種。解釋方法采用邊解釋邊執(zhí)行的方法,如早期的BASIC 語言即采用解釋方法,在執(zhí)行BASIC 源程序時,解釋一條BASIC語句,執(zhí)行一條語句。編譯方法采用相應語言的編譯程序,先把源程序編譯成指定機型的機器語言目標程序,然后再把目標程序和各種標準庫函數連接裝配成完整

36、的目標程序,在相應的機型上執(zhí)行。如C、C+、Visual C+及Visual Basic等均采用編譯的方法。編譯方法比解釋方法更具有效率。同步集訓一、單項選擇題1以下窗口可以在設計時直觀的調整窗口在屏幕上的位置()A代碼窗口B窗體布局窗口C窗體設計窗口D屬性窗口2在VisualBasic中,所有的窗體和控件都必定具有一個屬性是()AN ame BFontCCaption DFillcolor3Visual Basic窗體設計器的主要功能是:()A建立用戶界面 B編寫源程序代碼C畫圖 D顯示文字4Visual Basic中窗體文件的擴展名是()AVBP BFRMCVBW DPDM5當一

37、個工程含有多個窗體時,其中的啟動窗體是()A啟動Visual Basic時建立的窗體B第一個添加的窗體C最后一個添加的窗體D在“工程屬性”對話框中指定的窗體6在窗體上畫一個名稱為Label1的標簽。當單擊標簽時,在標簽中顯示“我喜歡學習VB語言”。下列能實現上述功能的程序是()APrivate Sub Label1_Click()Label1.Caption = "我喜歡學習VB語言"End SubBPrivate Sub Form1_Click()Label1.Caption = "我喜歡學習VB語言"End SubCPrivate Sub Label

38、1_Click()Label1.Enabled = "我喜歡學習VB語言"End SubDPrivate Sub Label1_Click()Label1.Visible = "我喜歡學習VB語言"End Sub7Visual Basic中工程文件的擴展名是()AVBP BFRMCVBW DPDM8下面的四個VB邏輯表達式語法中,正確的是()A.x>y.And.x<>y B.x>yzC.x>y And <>z D.x>y And y<>z9表達式”123”+”A”&100的值是()A.

39、B.123A100C.”123A100” D.10代數式ab2÷(5c+d)的VB表達式是()A.a * b b / (5 c + d) B.a×b×b / (5 × c + d)C.a * b * b / 5 * c + d D.a * b * b / (5 * c + d)11按變量名的命名規(guī)則,下面字符中不能用于構成變量名的是()A.字母 B.數字C.下劃線 D.空格12在程序中用到某一整型變量的數據范圍為-3276840000,則該變量類型應聲明為()A.Integer B. ByteCLong D. Double13設a=2,b=3,c=4,d

40、=5,表達式3>2*b OR a=c AND b<>c OR c>d的值是()A1 B-1 CFalse DTrue14實現數值轉換字符串的函數是()ASTR() B.CHR()C.VAL() D.ASC()15實現字符串轉換數值的函數是()ASTR() BCHR()CVAL() DASC()二、填空題1在窗體上畫一個標簽按鈕(名稱為Label1),編寫如下事件過程:Private Sub Label1_Click()Dim a, b, c As Integerb = 5c = 6Print a = b + cEnd Sub程序運行后,單擊標簽,輸出的結果是:_。2VB

41、應用程序中窗體文件的擴展名是_。3VB是一種面向對象的程序設計語言,構成對象的三要素是_、_、_。4下列程序段執(zhí)行后,a=5b=9c=14a=a+bc=c-b則a=_、b=_、c=_。5若X=1,則Abs(X)=_。6表達式8 <> 5 + 3 Or Not 10 > 12 3的值是_。7表達式9 2 Mod 6 3 3 2的值為_。8若s=”I am John”,則LEN(s)的值為_。9ABS(-2)+SQR(16)=_。10補充完善下列程序段 從鍵盤輸入圓的半徑R,輸出圓的周長L和面積S。Dim R As SingleDim L As Single Dim S As S

42、ingle _=InputBox("輸入半徑R ")       L=2*3.14*RS=3.14*R*RPrint "圓的周長L= "LPrint "圓的面積S= "S 計算旅客的行李費,收費標準為:20千克以下(包括20千克)不收費,超過20千克的部分每千克收20元。X表示行李重量,Y表示行李費。    Dim X As Single    Dim Y As Single   

43、60;    X=InputBox("輸入行李重量")        If _  Then           Y=0        Else           Y=20*(X-20) &

44、#160;      End If    Print "行李費= "Y 求s=2+4+6+100之和。Dim i As IntegerDim s As Integers=0For i=2 To 100 Step 2   s=_Next iPrint s 輸出100以內(包含100)能被3整除的數。Dim I As IntegerI=1Do  If  I  Mod 3=0 Then Print I  End IfI=I+1Loop Unt

45、il _. 有一張單據上有一個5位數的號碼678,其中百位和十位上的數字看不清了,但知道該數能夠被78整除,也能被67整除,下面是用窮舉法求出該號碼的程序段:Dim a As Integer, b As IntegerDim n As LongFor a = 0 To 9  For b = 0 To       n = 67008 +   * 100 + b * 10 If n Mod 78 = 0 n  Mod67=0  Then    

46、60;  Print       End If  Next bNext a請將應填寫的內容寫在下面相應的空格內并運行程序寫出該號碼(每空3分,共12分)。_ _主題二 程序設計基礎同步集訓答案一選擇題:1、B 2、A 3、A4、B5、D6、A7、A8、D9、B10、C11、D12、C13、C14、A15、C16、B二、填空題1、11 14、 frm 15、 屬性、事件、方法 16、 a=14 b=9 c=5 17、 x=118、 False19、 920、 921、 622、 1)r 2)x<=20 3)s+i 4)i

47、=100 5)9 a and n主題三 算法與程序實現點擊考點1、 理解解析法的基本思想。2、 了解枚(窮)舉算法求解問題的過程3、 了解使用數組存儲批量數據的基本方法4、 理解順序查找、二分查找算法思想5、 了解一到兩種經典排序算法思想(如插入排序、冒泡排序)。6、 了解遞歸思想與遞歸的數學意義。考點注解1、 理解解析法的基本思想。 所謂解析法(analysis algorithm)是指用解析的方法找出表示問題的前提條件與結果之間關系的數學表達式,并通過表達式的計算來實現問題求解。解析法舉例:【出租車計費】 某城市的出租車計費標準為起步價10元(3公里內),此外,在3公里到10公里之間每公里

48、2.1元,超過10公里部分每公里3元,輸入行車距離x,輸出車費y。編寫數學表達式:設車程數為X公里,車費為Y元,則Y= 10 (x<=3) 10+2.1*(x-3) (3<x<=10) 10+2.1*7+3*(x-10) (x>10)VB代碼:Privat sub command1_click()Dim x,y as singleX=val(inputbox("請輸入行車距離")If x<=3 then Y=10Elseif x>3 and x<=10 then Y=10+2.1*(x-3)Else Y=10+2.1*7+3*(x-

49、10)EndifPrint yEnd sub小結:用解析法解決問題的關鍵就是找到求解問題的解析表達式。2、 了解枚(窮)舉算法求解問題的過程 窮舉法也叫枚舉法或列舉法。在研究對象是由有限個元素構成的集合時,把所有對象一一列舉出來,再對其一一進行研究。帶入實際,一個個檢驗是否符合,窮舉完所有對象問題將最終得以解決。這種方法一般在計算機中運用,因為計算機計算速度快,可以很快驗證答案是否正確。窮舉法舉例:百錢買百雞問題。用100元錢買100只雞,公雞每只5元,母雞每只3元,小雞3只1元,要求每種都買,問能買公雞、母雞、小雞各買幾只?算法分析:設x為公雞數量,取值從1只到20只,y為母雞的數量,取值從

50、1只到33只,z為小雞的數量,判斷5元*x+3元*y+z/3是否等于100元,輸出每次符合條件的x,y,z即為所求。VB代碼:Privat sub command1_click()Dim x,y ,z as integerFor x=1 to 20 step 1For y=1 to 33 step 1z=100-x-yIf 5*x+3*y+z/3=100 thenPrint x,y,zNext yNext xEnd sub小結:窮舉法的思路與解題步驟窮舉法的基本思路:把問題涉及的可能情況一一羅列出來,并且根據題目的條件和實際背景逐個作出判斷,從中挑選出符合條件的解答。窮舉法的解題步驟:1)、分

51、析問題,找出條件與未知數,確定變量;2)、列舉出變量所有可能的情況,用循環(huán)或循環(huán)的嵌套實現;3)、寫出符合條件的判斷語句,用選擇語句實現;4)、輸出符合條件的情況;5)、優(yōu)化程序。3、 了解使用數組存儲批量數據的基本方法。 數組在程序設計中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來。這些按序排列的同類數據元素的集合稱為數組。在VB中定義數組的格式為:Dim 數組名(常量)as 數據類型下面舉例說明定長數組的定義:Dim a(1 to 3)As IntegerDim b(5 to 9)As StringDim c(7)As Integer其中,例定義了一個具有三個元素的整型數

52、組,其下標從1到3。例定義了一個具有五個元素的字符型數組,其下標從5到9。例缺省了下界,它定義了一個具有八個元素的整型數組,其下標從0到7。數組的賦值一般是通過循環(huán)來完成的。例如For i=0 to 50 step 1 Chinese(i)=100Next i數組元素是組成數組的。數組元素也是一種變量, 其標識方法為數組名后跟一個下標。 下標表示了元素在數組中的順序號。數組中的數據在邏輯上應該是相互關聯的。4、 理解順序查找、二分查找算法思想 【順序查找】 所謂順序查找就是從數組的第一個數開始,逐個與要查找的數進行比較,如果相同則輸出找到的信息。以下程序是隨機生成num個整數放在數組d中,然后

53、輸入一個數,在數組d中順序查找,如果找到就輸出在數組中的位置,否則輸出在數組中沒有找到的信息。Dim d(1 To 1000) As IntegerDim num As IntegerPrivate Sub Command1_Click() '生成隨機數按鈕num = Val(Text1.Text)If num <= 0 Or num >= 1000 Then Text1.Text = "數據個數不符合" Exit SubEnd IfRandomize '初始化隨機函數List1.ClearFor i = 1 To num j = Round(R

54、nd * 1000) 'rnd函數生成一個0,1)之間的隨機數 List1.AddItem Str(i) + " " + Str(j) d(i) = j NextEnd SubPrivate Sub Command3_Click()Key = Val(Text2.Text)j = 1Do While j <= num If d(j) = Key Then Label5.Caption = "在數組的 " + Str(j) + " 位置中" Exit Do End If j = j+1LoopIf j = num + 1

55、Then Label5.Caption = "在數組中沒有找到" + Str(Key)End IfEnd Sub【二分查找】又稱,它是一種效率較高的查找方法?!径植檎乙蟆浚?.必須采用 2.必須按關鍵字大小有序排列。 【優(yōu)缺點】折半查找法的優(yōu)點是比較次數少,查找速度快,平均性能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查找方法適用于不經常變動而查找頻繁的有序列表。 【算法思想】首先,將表中間位置記錄的關鍵字與查找關鍵字比較,如果兩者相等,則查找成功;否則利用中間位置記錄將表分成前、后兩個子表,如果中間位置記錄的關鍵字大于查找關鍵字,則進一步查找前一子表,否則進一步查找后一子表。 重復以上過程,直到找到滿足條件的記錄,使查找成功,或直到子表不存在為止,此時查找不成功。以下程序是在上面的command1_click中隨機生成nu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論