精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

VB 教案之數組

時間:2023-04-24 22:38:52 教案 我要投稿
  • 相關推薦

VB 教案之數組

授課對象:初一興趣班學生) 教學過程: 一、引入: 在學習if語句時,我們曾做過一個題,在文本框內輸入正整數,判斷這3個數的大小然后將他們按從小到大的順序輸出。   if a>b then   temp =a:a=b : b =temp   end if   if a >c then   temp =a : a=c :c= temp   end if   if b>c then   temp = b : b=c : c=temp   end if   print 這三個數從小到大的順序是; a;b;c; 這是3個數的大小排序,假如多于三個數的排序呢? 當然我們還可以用IF語句予以解決,但大家可以想象到它的麻煩程度,其實,我們可以用數組來解決這個問題。那么何謂數組呢? 二、1)新課講授:所謂數組是一群數據類型相同的變量,在內存里能擁有連續存放空間的集合。數組在使用之前必須先聲明,聲明的目的是確定內存中應保留多少連續空間給此數組使用,并定出數組中每一個元素的數據類型。    語法:dim 數組名稱(下標1,[下標2[……]])[as 數據類型]    功能:聲明所指定數據類型為一維(二維……)數據 eg :  dim a(6) as integer  聲明一個a(6)的數組,其包含了a(0)---a(6)7個整型變量。數組的默認下標值從0開始,假如你覺得不習慣的話,可以用用這個方式聲明:  dim 數組名稱(下界to上界[下界to上界][……])[as 數據類型] 假若要定義a(1)----a(6)的整型數組,則可以這樣寫:   dim a(1to 6) as integer 請學生判斷以下下列數組說明語句是否正確,說明原因: (1) Dim a(10) as integer (2) Dim b(-10) as integer      /錯誤  沒有用關鍵之to顯示知名下標范圍。 (3)Dim c(5,3)as byte (4)Dim y()          /錯誤,只有重定義語句才可以不帶下標 2)回到我們剛上課講的內容,如何利用數組解決數字的排序問題呢?這里我們先介紹兩個函數: 隨機函數Rnd  產生介于0到1之間的函數   隨機數種子函數 Randomize 在Rnd函數之前使用,以當做隨機數產生器的種子。 (注:如果不用語句來播放隨機數的種子,則每次使用Rnd函數時將會得到相同順序的隨機數) 下面我們用數組來解決數字的排序問題: 1)定義數組,產生1000內的隨機數 (這里我們以生成6個數為例) Dim a(1 to 6) as integer Dim i as integer,j as integer Dim t as integer cls                          /  清除屏幕 Randomize  for i =1 to 6              a(i)=int(Rnd*1000+1)                 /產生1--1000的隨機整數 print a(i); next i print ----------------------------------------------- end sub (解釋程序,使學生讀懂本程序后,關閉代碼。讓學生自己編程:由button控制產生出10個隨機整數) 2) 6個隨機數按大小順序排列 for i = 1 to 6   if a(1)<a(i) then   t = a(1)   a(1)= a(i)   a(i) =t   end if next i                    print a(1)                             / 打印出最大的那個數 end sub 我們當然可以用5個if語句依次將6個數從小到大打印出來,但如果是20個、100、1000個數的排序,那我們就得相應的寫出無數的if語句來做,但顯然這辦法是不理想的。其實這里我們可以套用兩個循環語句完成此題。 3)將2)改成 for i=1 to 6   for j = i+1 to 6     if a(i) < a(j) then     t = a (i)     a(i)= a(j)     a(j)=t     end if   next j   print a(i); next i                /  雙重循環將6個數從大到小打印出來。 end sub 解釋:1)當i =1的時候, j=2時,比較出a(1) a(2)的大小,將大的數給a(1)                     j =2時,比較出a(1) a(3)的大小,將大的數給a(1)                     ……                     j =6時,比較出a(2) a(6)的大小,將大的數給a(1)       打印出a(1)   i變成2     2)當i=2時, j =3時,比較出a(2)a(3)的大小,將大的數給a(2)                 …………      打印出a(2) i 變成3     ……     5) 當i=5時 j=6時, 比較a(5) a(6)的大小,將大的數給a(5)     6) 當i=6時,j 已經超出了循環范圍。所以這里的循環我們也可以將i的語句改為     for i =1 to 5 (在學生讀懂程序的情況下請學生寫出程序:隨機產生100個數并將其排序)    const n =100    Dim a(1to n) as integer    Dim i as integer,j as integer,t as interger    cls    Randomize    for i=1 to n    a(i)=int(Rnd*1000+1)    print a(i);    if i mod 20 =0 then    print    end if    next i    print ————————————————————————————————    for i =1 to n     for j =i+1 to n     if a(i)<a(j) then     t = a(i)     a(i)=a(j)     a(j)= t     end if     next j    print a(i);    if i mod 20 = 0 then    print    end if    next i    end sub 三、課堂小結 :(數組聲明、如何利用數組和循環語句給數字排序等) 四、作業:對于給定的數組a(n)as integer(n>=20),設計一個程序,找出在a中出現頻率最高的元素值及出現的次數。例如(1,5,4,2,5,8,5,4)中,出現頻率最高的是5, 次數是3次。  

【VB 教案之數組】相關文章:

vb實訓心得11-25

vb實訓心得7篇11-25

《橋之美》的教案03-07

《黔之驢》教案03-05

《橋之美》教案03-05

旅鼠之迷教案02-17

《橋之美》教案04-30

小學教案之我們的太陽08-25

驚弓之鳥教案08-26

《生命之杯》音樂教案09-21