06.01.2015 Views

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

51<br />

Next<br />

MsgBox масси<strong>в</strong><br />

End Sub<br />

Sub Ди<strong>на</strong>мическийМасси<strong>в</strong>СПамятью ()<br />

Dim тест () As Integer, индекс As Integer, масси<strong>в</strong> As String<br />

For индекс = 10 To 20<br />

ReDim Preserve тест (индекс) As Integer<br />

тест (индекс) = индекс<br />

масси<strong>в</strong> = масси<strong>в</strong> & тест (индекс)<br />

Next<br />

MsgBox масси<strong>в</strong><br />

End Sub<br />

Dim счетчик () As Integer<br />

Sub Очко ()<br />

‘ Популяр<strong>на</strong>я игра <strong>в</strong> очко: <strong>в</strong>ы стараетесь <strong>на</strong>брать максимум очко<strong>в</strong>, но<br />

‘ не более 21, а компьютер “<strong>в</strong>ыбрасы<strong>в</strong>ает кубик”. Кроме ди<strong>на</strong>мического<br />

‘ масси<strong>в</strong>а, здесь <strong>в</strong>ы <strong>в</strong>стретитесь с датчиком случайных чисел Rnd,<br />

‘ с функцией его <strong>на</strong>чальной устано<strong>в</strong>ки Randomize, и с рекурсией.<br />

Static i As Integer<br />

ReDim Preserve счетчик (i) As Integer<br />

Randomize<br />

счетчик (i) = Rnd * 10<br />

от<strong>в</strong>ет = Info (счетчик (), i)<br />

i = i + 1<br />

If от<strong>в</strong>ет 0 Then от<strong>в</strong>ет = MsgBox (от<strong>в</strong>ет & " Еще", vbYesNo)<br />

If от<strong>в</strong>ет = vbYes Then Очко Else End ' Пример рекурсии<br />

End Sub<br />

Function Info (список () As Integer, количест<strong>в</strong>о As Integer) As Integer<br />

Dim сумма As Integer, x As Integer<br />

сумма = 0<br />

For x = 0 To количест<strong>в</strong>о<br />

сумма = сумма + список (x)<br />

Next<br />

If сумма > 21 Then<br />

MsgBox Str (сумма) & " - Вы проиграли!"<br />

Info = 0<br />

Else<br />

If сумма = 21 Then<br />

Beep<br />

MsgBox Str (сумма) & " - Вы <strong>в</strong>ыиграли!"<br />

Info = 0<br />

Else<br />

Info = сумма<br />

End If<br />

End If<br />

End Function

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!