小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VB實(shí)驗(yàn)(第14周)

 W_hy 2012-05-08

實(shí)驗(yàn)十四 過(guò)程(一)

【實(shí)驗(yàn)?zāi)康摹?/p>

1、    理解自定義函數(shù)過(guò)程的定義和調(diào)用方法;

2、   掌握自定義子過(guò)程的定義和調(diào)用方法;

3、   掌握子過(guò)程與函數(shù)過(guò)程的使用差別;

4、   掌握形參和實(shí)參使用方法;

5、   掌握值傳遞和地址傳遞的使用方法。

【實(shí)驗(yàn)內(nèi)容】   (任選3題)

1、      編寫(xiě)一子過(guò)程ProcMin,求一維數(shù)組a中的最小值,子過(guò)程的形參自己確定。主調(diào)程序隨機(jī)產(chǎn)生10個(gè)100到200之間的整數(shù),調(diào)用ProcMin子過(guò)程,顯示最小值。

 

14.1   用子過(guò)程求數(shù)組的最小值

Option Base 1

Private Sub Command1_Click()

Dim i%, n%

Dim a(10) As Integer

Randomize

For i = 1 To 10

   a(i) = Int(Rnd * 101 + 400)

   Print "a(" & i & ")=" & a(i)

Next i

  ProcMin a()

End Sub

Sub ProcMin(b() As Integer)

  Dim i%, min%

  min = b(LBound(b))

    For i = LBound(b) + 1 To UBound(b)

       If b(i) < min Then min = b(i)

    Next i

    Print "數(shù)組中最小值為:" & min

End Sub

 2、      編寫(xiě)一函數(shù)過(guò)程Max( a( ) ),求一維數(shù)組a中的最大值。主調(diào)程序隨機(jī)產(chǎn)生10個(gè)400到500之間的整數(shù),調(diào)用Max函數(shù),顯示最大值。

  

Option Base 1

Private Sub Command1_Click()

Dim i%, n%, da!

Dim a(10) As Single

Randomize

For i = 1 To 10

   a(i) = Int(Rnd * 101 + 100)

   Print "a(" & i & ")=" & a(i)

Next i

 da = max(a())

    Print "數(shù)組中最大值為:"; da

End Sub

 

Function max(b() As Single) As Single

  Dim i%

  max = b(LBound(b))

    For i = LBound(b) + 1 To UBound(b)

       If b(i) > max Then max = b(i)

    Next i

End Function

3、      編寫(xiě)一子過(guò)程Delestr(s1,s2),將字符串s1中出現(xiàn)s2子字符串刪去,結(jié)果仍舊存放于s1中。

【提示】

     (1)在S1字符串中找S2的子字符串,可利用Instr( )函數(shù),要考慮到S1中可能存在多少或不存在S2字符串,用Do while Instr(s1,s2)>0循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。

     (2)若在S1中找到S2字符串,首先確定S1 字符串,首先要確定S1字符串的長(zhǎng)度,因S1字符串在進(jìn)行多次刪除時(shí),長(zhǎng)度在變化。然后通過(guò)Left()、Mid()函數(shù)或Right()函數(shù)的調(diào)用達(dá)到刪除S1中存在的S2字符串。

 

Option Explicit

Sub DeleStr(s1$, ByVal s2$)

   Dim i%, L2%

    i = InStr(s1, s2)

    L2 = Len(s2)

    Do While i > 0

       s1 = Left(s1, i - 1) + Mid(s1, i + L2)

       i = InStr(s1, s2)

    Loop

End Sub

 

Private Sub Command1_Click()

   Dim s1$, s2$

     s1 = Text1

     s2 = Text2

     DeleStr s1, s2

     Text3 = s1

End Sub

4、      編寫(xiě)一函數(shù)過(guò)程Maxlength(s),在已知的字符串S中,找出最長(zhǎng)的單詞。假定字符串s 中只函數(shù)字母和空格,空格是用于分隔不同的單詞。

【提示】

(1)首先求出輸入的字符串長(zhǎng)度,然后從字符串中分離出單詞,即對(duì)每個(gè)字符判斷:若不為空格,將每個(gè)字符連接到當(dāng)前單詞的字符串變量,當(dāng)前單詞長(zhǎng)度計(jì)數(shù)器加1;若為空格,表示一個(gè)單詞的結(jié)束,將當(dāng)前單詞長(zhǎng)度與最長(zhǎng)單詞長(zhǎng)度比較,若長(zhǎng),當(dāng)前單詞替代最長(zhǎng)單詞。當(dāng)前單詞置空,當(dāng)前單詞長(zhǎng)度計(jì)數(shù)器清除為0.

(2)注意當(dāng)前單詞、當(dāng)前單詞長(zhǎng)度、最長(zhǎng)單詞、最長(zhǎng)單詞長(zhǎng)度。

 

Private Sub Command1_Click()

Dim s$

 s = Text1.Text

 Text2.Text = MaxLength(s)

End Sub

 

Function MaxLength(s$) As String

 Dim w$, maxW$, L%, maxL$, c$, i%

   w = "": maxW = "": L = 0: maxL = 0

   If Right(s, 1) <> " " Then s = s + " "

   For i = 1 To Len(s)

     c = Mid(s, i, 1)

    If c = " " Then

       If L > maxL Then

         maxW = w

         maxL = L

       End If

      w = "": L = 0

    Else

      w = w + c

      L = L + 1

    End If

  Next

 MaxLength = maxW

End Function

 

 5、      編寫(xiě)一函數(shù)過(guò)程IsH(n),對(duì)于已知正整數(shù)n,判斷改數(shù)是否為回文數(shù),函數(shù)的返回值類(lèi)型為布爾型。主調(diào)程序每輸入一個(gè)數(shù),調(diào)用IsH函數(shù)過(guò)程,然后在圖形框顯示輸入的數(shù),對(duì)于回文數(shù)顯示一個(gè)“★”,如左下圖所示。

 VB實(shí)驗(yàn)(第14周) - albee160 - albee160的博客

 

Private Sub Text1_KeyPress(KeyAscii As Integer)

 Dim s$

  If KeyAscii = 13 Then

     s = Text1.Text

    If IsH(s) = True Then

       Picture1.Print s & " ★"

    Else

      Picture1.Print s

    End If

  End If

End Sub

 

Function IsH(x$) As Boolean

  Dim i%, L%

    IsH = True

    L = Len(x)

  For i = 1 To Int(L / 2)

    If Mid(x, i, 1) <> Mid(x, L - i + 1, 1) Then

        IsH = False

        Exit For

    End If

  Next

End Function

6、      編寫(xiě)一函數(shù)過(guò)程IsZ(n),對(duì)于已知正整數(shù)n,判斷改數(shù)是否為質(zhì)數(shù)(也稱(chēng)素?cái)?shù),指除了1和自己外不能被其他數(shù)整除的數(shù),如2, 3, 5, 7, 11, 13...),函數(shù)的返回值類(lèi)型為布爾型。主調(diào)程序每輸入一個(gè)數(shù),調(diào)用IsZ函數(shù)過(guò)程,然后在圖形框顯示輸入的數(shù),對(duì)于質(zhì)數(shù)顯示一個(gè)“★”,如右上圖所示。

 

Private Sub Text1_KeyPress(KeyAscii As Integer)

 Dim s%

  If KeyAscii = 13 Then

     s = Val(Text1.Text)

    If IsZ(s) = True Then

       Picture1.Print s & " ★"

    Else

       Picture1.Print Trim(s)

    End If

    Text1.SelStart = 0

    Text1.SelLength = Len(Text1)

  End If

End Sub

 

Function IsZ(x%) As Boolean

  Dim i%

   IsZ = True

  For i = 2 To Sqr(x)

    If x Mod i = 0 Then

      IsZ = False

      Exit For

    End If

 Next

End Function

 

7、      在文本框Text1中輸入多個(gè)英文語(yǔ)句,單擊“轉(zhuǎn)換”按鈕,將文本框Text1中的內(nèi)容做如下轉(zhuǎn)換:遇到句號(hào)時(shí),將Text1中的每句的開(kāi)頭字母大寫(xiě),每段的開(kāi)頭字母也大寫(xiě),在文本框Text2中重新顯示。

8 、     編寫(xiě)一個(gè)將N進(jìn)制轉(zhuǎn)換成十進(jìn)制的調(diào)用程序。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多