Реферат по предмету "Информатика, программирование"


Бросание игральной кости на VBA

Курсовая работа
по курсу
«Прикладное программное обеспечение»
на тему:
 
«Бросание игральной кости на VBA»
 

СОДЕРЖАНИЕ
 Введение
1.  Основные средстваи возможности VBA
1.1            ИспользованиеVBAв MicrosoftExcel
1.2            Адресацияячеек в Excel
2.  Игральная кость.Имитация бросания игральной кости
2.1 Постановка задачи и план решения
2.2Описание программы
3. Исходный текст
Заключение
Библиографическийсписок

Введение
Программноеобеспечение прикладного уровня представляет собой комплекс программ, с помощьюкоторых на данном месте выполняется конкретная задача. Спектр этих задач можетбыть достаточно широк, от производственных до творческих иразвлекательно-обучающих программ. Огромный функциональный диапазон приложенийобусловлен наличием прикладных программ для различных видов деятельности.
Прикладные программы предназначены для того, чтобыобеспечить применение вычислительной техники в различных сферах деятельностичеловека. Помимо создания новых программных продуктов разработчики прикладныхпрограмм большие усилия тратят на совершенствование и модернизацию популярныхсистем, создание их новых версий. Новые версии, как правило, поддерживаютстарые, сохраняя преемственность, и включают в себя базовый минимум (стандарт)возможностей.
 

1. Основные средства и возможности VBA
 
VisualBasicforApplication(VBA) – развитаясистема визуального программирования для создания прикладных программ в среде MicrosoftOffice. С помощью VBAможно создавать объекты управления графического интерфейса пользователя,задавать и изменять свойства объектов, подключать к ним соответствующийпрограммный код. Методика программирования с использованием средств VBAсводится к следующему:
—   созданиеобъектов управления и контроля (диалоговые окна, пиктограммы, меню);
—   разработкапроцедур, используемых при вызове объектов.
Прикладныепрограммы на языке VBA оперируют соследующими понятиями:
—   объектуправления и контроля – экранные формы, графические элементы внутри форм, в томчисле текстовые окна, линейки прокрутки, пиктограммы, окна-списки, командныекнопки и др.;
—   свойство(параметр)– характеристика или атрибут объекта управления;
—   методдоступа – аналогичное понятиям функция, оператор, который воздействует всегдана объект;
—   процедура– подпрограммы и функции, произвольная последовательность операторов VBA;процедуры делятся на событийные (запускаются при наступлении событий) и общиепроцедуры.
Программына языке VBA для приложений,функционирующих в Excel 5ю0, создаютсядвумя способами:
—   вавтоматическом режиме как результат построения клавишной макрокоманды;
—   внеавтоматическом режиме путем создания программного кода.
Длясоздания программного модуля в составе рабочей книги выполняется командаменю ВСТАВКА, Макрос с указанием типа макроса – Модуль. При этомсоздается новый рабочий лист со стандартным именем Модуль и порядковымномером программного модуля в рабочей книге. Имя модульного листа можноизменить.
Приработе с модулем на экран выводится новая панель инструментов VisualBasic.
Первыйряд кнопокпанели (слева направо):
— вставляет в активную рабочую книгу новый программный модуль;
— редактирование строк и команд меню рабочей книги;
— просмотр списка доступных в текущей рабочей книге процедур,модулей, и объектов и их свойств.
Второйряд кнопок:
— выбор нужного макроса для запуска через окно диалога Макрос;
— пошаговое выполнение выбранного макроса (шаг – одна строка кода);
— возобновление выполнения макроса после его останова;
— останов выполнения или записи макроса;
— ввод через окно диалога Макрос имени нового макроса и егозапись.
Третийряд кнопок:
— установление (снятие) точки прерывания для строки процедуры;
- указание в окне диалога выражения VBAдля наблюдения его значений;
— выполнение следующей строки кода процедуры VBA;
— выполнение следующей строки кода процедуры VBAс приостановкой.
Экранмодуля используется для записи строк программы на языке VBA.
Доступк компоненту набора осуществляется двумя способами:
1)   пономеру компонента
2)   поимени компонента.
Наборыобладают следующими свойствами:
—   Count– определяет число компонентов в наборе;
—   Name– определяетимя компонента;
—   Parent– определяет имя объекта, включающего набор.
Для добавления иудаления компонентов набора используют методы Addи Delete.Отдельныеячейки таблицы доступны через объект Rangeи следующие методы:
1.   Cell–в качестве аргументов указываются два целых числа, определяющих местоположениеячейки таблицы – Cell (число1;число2).
2.   Range–работа с прямоугольной областью ячеек, в качестве аргументов используется однаили две ссылки на ячейки таблицы в стиле A1:
3.   Offset– вкачестве аргументов передаются два числа, указывающие местоположение ячейкиотносительно верхнего левого угла указанной области. При записи макросов сотносительными ссылками макрорекордер использует данный метод для указаниявыбора.
4.   Union–методмножественного выделения областей ячеек – Union(область1; область2).
Некоторыевстроенные типы данных. VBAиспользует 11 встроенных типов данных. В данной курсовой работе использованыследующие:
Booleanиспользует2 байта, или 16 бит, памяти для хранения логических данных; имеет два возможныхзначения: True и False/
Integerиспользует2 байта памяти для хранения целых чисел, в том числе 1 бит для хранения знакачисла, 15 бит – для числа.
Longиспользует4 байта или 32 бита, памяти для хранения целого числа двоичной точности, в томчисле 1 бит – для хранения знака числа, 31 бит – для числа.
Doubleиспользует8 байтов для раздельного хранения мантиссы (максимум 15 знаков) и порядка.
Stringиспользует1 байт для хранения 1 символа плюс 1 байт для отметки конца строки.
Objectиспользует4 байта памяти для ссылки на любой объект VisualBasic.
Variant используетсявсегда, когда явно указан какой-либо тип; может соответствовать любому другомуразрешенному типу данных.
Процедуры.Взависимости от назначения процедуры они разделяются на процедуры обработкисобытий и процедуры общего назначения. В зависимости от областиопределения процедуры бывают открытыми и закрытыми. Закрытыепроцедуры доступны только внутри формы, модуля, класса модулей, объявляются ключевымсловом private.Открытые процедуры доступны для любых форм, модулей и классов модулей иобъявляются ключевым словом public.Процедура обработки событий имеет имя, полученное сцеплением с помощью символовподчеркивания имени и события. Например:
CommandButton_Clickобъявляется по умолчанию как закрытая (private).
Впроцедурах обработки событий набор аргументов зависит от события и не можетбыть изменен разработчиком. В процедурах общего доступа количество и порядокаргументов определяется разработчиком. Для передачи аргументов по ссылкеследует указать ключевое слово ByRef,по значению ByVal. По умолчаниюаргументы передаются в одну ссылку.
Операторыуправления:
1.If…then– условный оператор, который может иметь однострочный или блочный синтаксис;
Например:
If условие then
[оператор]
[else if условиеthen]
[else]
[оператор]
[endif]
end if
2.SelectCase– оператор выбора имеет следующий синтаксис:
Select Caseпроверочное выражение
Case список выражений
[оператор]
Case else
[оператор]
End Select
1.   For…Next– оператор цикла имеет следующий синтаксис:
For счетчик = начальное значение Т/>
конечноезначение [Step шаг]
[оператор]
Next [счетчик]
Шагможет быть как положительным так и отрицательным.
2.   Do…Loop– оператор повторения существует в двух вариантах:
1)  Do[{While/ Until}условие]
[оператор]
Loop
2)с постусловием
Do
[оператор]
Loop [{While/Until3}условие]
Стандартныеэлементы управления:
1.CommandButton – используетсядля того, чтобы начать, прервать, или закончить какой-либо процесс.
2.Label (надпись) –предназначен для отображения текста, который пользователь не может изменить склавиатуры.
3.TextBox(текстовое поле) – является основным элементом управления для ввода данных.
4.CheckBox (флажок) – этоэлемент управления, который можно отмечать выбирая из ряда функций одну илинесколько.
5.OptionButton (переключатель)– предназначен для установки только одной операции из группы.
6.ListBox(список) – позволяет пользователю выбирать из списка один или несколькоэлементов.
7.ComboBox (поле сосписком) – является комбинированным списком (комбинация самого списка созначениями поля ввода текста). Поле со списком используется в тех случаях еслинельзя заранее определить значение, которое следует включить в список илисписок содержит много элементов.
8.Элемент управления ScrollBar – полосыпрокрутки окна TextBox и ListBox.
9.Timer – использованиетаймера является хорошим способом управления программой. С помощью таймераможно запускать или завершать процессы в определенные моменты времени.
10.Список устройств DriveListBox. Это элементуправления относится к группе, предназначенной для отображения работы сдисками, каталогами и файлами.
11.Список файлов FileListBox – отображаетфайлы текущего каталога, откуда их можно выбирать. Основным событием является Click.
12.Рамка (Фрейм) Frame– его назначение объединять в группу элементы управления, элементы объединенияс помощью рамки. Можно как единое целое перемещать, активировать идеактивировать, делать видимыми и невидимыми. Для объединения элементов вгруппу следует сначала создать рамку, затем добавить в него нужные элементыуправления.
14.Окно с рисунком PictureBox – предназначендля отображения рисунков и других графических объектов. Этот элемент как ирамка, является контейнером. Поэтому его можно использовать для объединения другихэлементов.
 
1.1ИспользованиеVBAв MicrosoftExcel
 
VBA позволяет существенно расширитьвозможности Excel. С помощью VBAможно легко и быстро создавать различные приложения, даже не являясьспециалистом в области программирования. VBAимеет графическую инструментальную среду, позволяющую создавать экранные формыи управляющие элементы. С его помощью можно создавать свои собственные функциидля Excel, вызываемые мастеромфункций, разрабатывать макросы, создавать собственные меню и многое другое.
РедакторVBA активизируется из Excelодним из следующих способов:
-  командойменю СервисÞМакросÞРедакторVisual Basic;
-  комбинациейклавиш ;
-  кнопкойпанели инструментов VisualBasic />.
Вернутьсяиз редактора VBA в приложение можно покомбинации клавиш ,по команде ViewÞMicrosoftExcel или через панельзадач.
Знакомствос VBA мы рекомендуем начинать с созданиямакросов, когда сама программа Excelзаписывает выполняемые команды и генерирует программный код в виде процедуры.Между макросом, который создается в процессе записи, и VBA-программой,код которой мы вводим вручную, принципиальной разницы нет. В дальнейшемпроцедуру макроса можно модифицировать, добавляя новые команды или удаляялишние. Тщательный разбор команд поможет освоить принципы языка VBA,а практическое написание программ значительно ускорит процесс.
Структураприложения Excel
Приоткрытии рабочей книги автоматически активизируется объект Application,определяющий само приложение, и все встроенные в него объекты. Этот объектнаходится на вершине иерархической структуры. Приложение включает рабочие книги(Workbooks) и различные системынадстройки. В свою очередь, рабочие книги содержат рабочие листы (Sheets)и другие объекты. Наконец, рабочие листы включают самый важныйобъект – диапазон ячеек (Range).
Таккак приложение разрабатывается на базе существующих таблиц, все результатыдействий должны быть связаны с ячейками рабочего листа. Специального объектаячейки в Excel не существует, вданном случае объект Rangeиспользуется и для одной-единственной ячейки, и для интервала ячеек.
РедакторVisual Basicfor Applicationв визуальном режиме позволяет просмотреть структурный состав объектов,обеспечивает добавление новых и редактирование существующих элементов, в томчисле и макросов.
Главноеокно редактора (рис. 1)включает следующие элементы: окно проекта (Project),окно формы (UserForm), окнопрограммного кода (Code), окнопросмотра (ObjectBrowser).
Структурапрограммного кода VBA
ПрограммаVBA представляет собой совокупностьпроцедур и функций, размещенных в зависимости от особенностей решаемой задачи водном или нескольких модулях (это специальные разделы Excel).Добавление модуля осуществляется по команде InsertÞModule(в этом случае программный код составляется пользователем) или при созданиимакроса (когда программа создается автоматически). Созданному модулюприсваивается стандартное имя Module1,Module2 и т. д.
Каждыймодуль отображается в окне, который имеет две области: общую область и областьподпрограмм. В общей области помещаются операторы описания переменных, которыеявляются общими для всех процедур и функций этого модуля. В области подпрограммпомещается код программы. Окно программного кода предназначено для ввода,просмотра и редактирования процедур модуля. В данном окне можно просмотреть кодвыбранной процедуры или всех процедур модуля сразу.
Дляудаления модуля следует: выделить имя модуля, выбрать команду FileÞRemoveModule, щелкнуть в окнедиалога на кнопке «Нет».
МАКРОСЫ.Макрос – это последовательность команд и действий пользователя, записанная ихранимая внутри документа и исполняемая Excelтак же, как пользователь производил эти действия. Последовательность действийпользователем выполняется один раз при записи макроса, затем автоматическипроизводится Excel при каждом запускемакроса. Большинство команд, которые можно выполнить с использованием меню,клавиатуры или мыши, можно записать в макрос и выполнить их при необходимости.С помощью макроса можно строить числовые ряды, копировать таблицы, выполнятьпереход на нужные листы, сохранять информацию, работать в режиме ввода и т.д.Макрос записывается в виде процедуры с заданным именем в модуль. Имя макросаможет состоять из букв, цифр и символа подчеркивания ( _ ).
Длязаписи макроса необходимо: выполнить команду СервисÞМакросÞНачатьзапись, в окне диалога «Запись макроса» задать имя макроса исочетание клавиш для быстрого выполнения макроса (рис. 2); затем выполнитьнужные действия; после чего закончить запись макроса по команде СервисÞМакросÞОстановить запись.При записи макроса используются команды меню, кнопки панели инструментов,ярлычки листов, клавиатура.
Макроспредставляет процедуру, начинающуюся с ключевого слова Subи заканчивающуюся словом End Sub.Первые строки процедуры являются комментариями, они содержат имя макроса, датузаписи, автора и комбинацию клавиш. Далее следуют команды, записанные поправилам VBA. Каждая командасоответствует выполненному действию.
Языкпрограммирования VBA имеет своиправила написания программного кода. Он использует свой алфавит, включающийбуквы латинского алфавита и кириллицу; цифры от 0 до 9; символ подчеркивания.
Изэтих символов состоят имена процедур, переменных, меток переходов, константы икоманды.
Всостав алфавита также входят пробелы для отделения слов друг от друга и знакиопераций (+ — * / ^ = > =, ).
Программныйкод VBA представляет собойпоследовательность команд, записанных по правилам языка Basic.Имена переменных, констант, процедур обозначают посредством идентификаторов,учитывая при этом, что имя должно быть содержательным, оно должно начинаться сбуквы, не должно содержать точки, пробела, разделительных символов,зарезервированных слов. Зарезервированные слова (As,Public, Then,All и др.) выводятся синим цветом.Примеры правильных имен: strMyName,strФамилия. Примеры неправильных имен:2Week, Second.Week.
Каждаякоманда записывается в отдельной строке по определенному правилу.
ВVBA принято команду называтьоператором, правило записи команды – синтаксисом или форматом.
ОператорыVBA имеют следующие форматы:
Объект.Свойство= Значение
Объект.Метод[Параметр1] [, Параметр2]...],
где:объект – имя объекта, для которого устанавливается свойство или метод. Обычноцепочка объектов начинается с объекта Application,который можно опускать. Например, ссылка Application.ActiveCellили просто ActiveCell – это обращениек активной ячейке. При работе с одной рабочей книгой объект WorkBookтакже можно опустить;
Свойство– характеристика объекта, подлежащая изменению;
Значение– новое состояние объекта;
Метод– команда или процедура;
Параметр– аргумент, используемый методом. Если параметров несколько, они разделяютсязапятой.
Знакапостроф ( ‘ )в начале строки означает, что команда или сообщение в строке используется какпоясняющий текст и игнорируется VBA.Такие строки в процедуре отмечены зеленым цветом.
Еслив командной строке нарушен синтаксис или сама команда неверна, она выделяетсякрасным цветом.
Дляпереноса части команды на другую строку в конце первой необходимо вставитьпробел, затем символ подчеркивания ( _ ).
Примеры:
Sheets(«Лист1»).Select– оператор выделения рабочего листа, где Sheets(«Лuст1»)– объект, Select – метод.
Sheets(«Лист1»).Range(«A1»).Value= Sheets («Выпуск продукции»).Range(«D5»)– оператор, присваивающий ячейке Лист1! А1 значение из ячейки Выпуск продукции!D5,Value – свойство.
 
1.2Адресацияячеек в Excel
 
ВExcel ячейка, строка, столбеци диапазон ячеек рассматриваются как один объект Range.
Дляопределения диапазона используются различные средства, задаваемые с помощьюследующих свойств и методов.
/>
Рис1.1 (Вид ячеек)

Range – свойство,определяющее диапазон ячеек;
Cells – свойство,позволяющее выбирать ячейки рабочего листа;
ActiveCell – свойство,возвращающее одну активную ячейку;
Selection – метод, возвращающийвыделенный объект.
Длядоступа к диапазону ячеек чаще всего используются свойства Rangeи Cells.
Дляссылки на ячейки используется два формата.
ФорматА1 (обычный). Ссылка состоит из имени столбца и номера строки. Например, D4.Ссылка может быть относительной (D4)и абсолютной ($D$4). Ссылкаможет указывать диапазон ячеек. Полный адрес диапазона может включать имярабочего листа.
ФорматR1C1.В данном формате R задает номерстроки, С – номер столбца, ссылка является абсолютной. Для указанияотносительной ссылки задается смещение по отношению к активной ячейке. Смещениеуказывается в квадратных скобках, знак указывает направление смещения.Например, R[-2]C– ссылка на ячейку, расположенную на 2 строки выше в том же столбце. R[2]C[3]– ссылка на ячейку, расположенную на 2 строки ниже и 3 столбца правее. Ссылкана одиночную ячейку имеет вид:
[Объект.]Range («адресячейки»). Для свойства Rangeв качестве аргумента используется любая ссылка в формате А1. Например, WorkSheets(«Лист1»).Range(«A7»)=34,или для текущего листа Range(«A7»)=34– запись в ячейку А7 числа 34.
[Объект.]Cells(,). Свойство используется для доступа к отдельной ячейке. Вкачестве аргументов указываются номер строки и столбца. Например, для вводачисла 34 в ячейку Лист1! А7 необходима команда: Sheets(1).Cells(7,1).Value=34.
Номерстроки и столбца могут задаваться с помощью переменных, это позволяетобращаться к разным ячейкам таблицы.
Замечание. При работе стили переключаются вменю Сервис -> Параметры -> Общие -> Стиль ссылок, при реальномпрограммировании наиболее удобно пользоваться не этими стилями, а именамиячеек. Тогда работа с вашей ячейкой похожа на роботу с обычной переменной. Чтомногим более привычно и удобно. Например для констант или полей форм.
Для того,чтобы дать имя ячейке наведите на неё курсор. Выберите меню Вставка -> Имя-> Присвоить. Появится диалоговое окно, куда надо ввести имя и нажатькнопочку OK.
 
/>
Рис 1.2(Стиль ссылок)
Послеприсваивания имени вы введите число в эту ячейку, а в другой создайте формулу: =MyName+10
Данная записьнамного информативнее, кроме того вы можете не заботиться о местоположенииимени в таблице, можете менять его местоположение не заботясь о том, что Вашиформулы будут изменены. А особенно это важно при программировании. Эта мелочьпозволит избежать Вам сложной адресации и отслеживания данных.
Узнать всеимена можно здесь:

/>
Рис 1.3(Просмотр имен стилей)

2.Игральная кость. Имитация бросания игральной кости
 
Игральная кость(лат. ālea, англ. dice) — популярный источник случайности внастольных играх (особенно в одноимённой игре). Игральная кость обычновыполнена в виде шестигранного кубика с нанесёнными на Рис2.1(Традиционные игральные кости) его стороны числами от 1 до 6, причёмсумма чисел на противоположных гранях должна равняться семи.
Игральную кость можно рассматривать как генератор случайных чисел вцелочисленном интервале [1..N] с одинаковой вероятностью выпадения всех чиселинтервала. Такие генераторы обозначают 1dN. Так, например, обычный шестигранныйкубик — это 1d6; бросание монетки — это работа генератора 1d2 и т. д.
Сокращение MdN обозначает сумму M применений 1dN. Следует отметить, чтоMdN даёт целые числа в интервале [M..M*N]. Вероятность выпадения числа из этогоинтервала растёт по мере приближения к его середине
Так, например, используя игральную кость d4 и бросив её два раза, мыполучим генератор 2d4, дающий следующие варианты:
Таблица 2.1
Количество очков
Вероятность исхода
%% 2 1/16 6,25 3 1/8 12,5 4 3/16 18,75 5 1/4 25 6 3/16 18,75 7 1/8 12,5 8 1/16 6,25
Пример генератора, не попадающего под определение MdN: колода карт, вкоторую не возвращаются вытянутые карты. Она будет 1dN только для первойпопытки, распределения последующих попыток будут зависеть от предыдущихрезультатов.
В ролевых играх (например, основанных на правилах Dungeons & Dragons)используются игральные кости с 4 (тетраэдр), 6 (куб), 8 (октаэдр), 12 (додекаэдр),20 (икосаэдр) и другим количеством граней. Лоу Зоччи изобрёл зоччиэдр,игральную кость со 100 гранями. Впрочем, для получения числа от 1 до 100 чащепользуются двумя 10-гранными костями.
В среде ролевиков тип кубика часто обозначают буквой «d» (dices)или «к», (костей) после которых указывается количество сторон. Помимопривычных многим шестигранных кубиков (d6), используются четырёх- (d4), восьми-(d8), десяти- (d10), двенадцати- (d12) и двадцатигранные (d20) кости.Используется также обозначение d100, d% или «процентный кубик», представляющийсобой два десятигранника, один из которых используется для определенияколичества десятков, а второй — единиц.
 
2.1 Постановка задачи и план решения
Разработатьпрограмму, которая будет имитировать многократное бросание одной игральнойкости, а также определять и показывать количество выпадений на кубике того илииного числа. Программа должна делать ставки, позволять начинать бросаниекости, останавливать его в любой момент и переустанавливать результатыподсчета.
 План решения
На рис. 2.2показан предлагаемый дизайн формы.

/>/> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

Рис2.2 (Интерфейс игры)
Назначениекаждого элемента управления:
1)элемент управления Image — для графического представления игральной кости(одной ее грани);
2)надписи — для показа количества выпадений того или иного числа и для подписей кним;
3)кнопки:
·    Выход— для завершения программы по щелчку на ней;
·    Начать— чтобы начать бросание по щелчку на кнопке;
·    Остановить— чтобы остановить бросание по щелчку на ней;
·    Сброс— чтобы обнулить счет по щелчку на кнопке.
Вэтой программе присутствует повторяющийся процесс (бросание кости и выводрезультата) через регулярные интервалы времени. В такой ситуации удобноиспользовать элемент управления Timer (Таймер).

Таблица2.2 (Процедура для таймера) Получить случайное число от1 до 6 1 2 3 4 5 6 Загрузить изображение 1.bmp Загрузить изображение 2.bmp Загрузить изображение 3.bmp Загрузить изображение 4.bmp Загрузить изображение 5.bmp Загрузить изображение 6.bmp
1.  Кнопка«Начать» — вызов процедуры “qtimer”;
2.  Кнопка«Остановить» — переменной PauseTimeприсвоить 0, тем самым остановить timer;
3.  Кнопка«Сброс»- присвоить свойстве Caption0, т.е. обнулить значения;
Созданиеинтерфейса
Перед началомработы над программой, надо создать на любом графическом редакторе 6изображений, в формате bmp.
Далеесвойство caption элемента UserForm1, изменить на «Бросание Кости». Дляэлемента label1-21, размер шрифта установить 14 пт,свойство Color = white, BorderStyle = 0 fmBackStyle.
2.2 Описание программы
Процедуратаймера
Private Sub qtimer()
Dim Кости,a, d, stav As Integer
‘Описываем переменные
stav = CDbl(TextBox2.Text)
‘Значениевводимое из TextBox2. преобразуем вчисловое
PauseTime= 1
‘Увеличиваемвремятаймера
Start = timerDo While timer ‘Продолжатьпока не истекло заданное время
DoEvents
Randomize
Кости= Int(Rnd * 6) + 1
‘Возвращаетслучайное число типа Single.
Необязательныйатрибут. Single значение илилюбое допустимое выражение Single.Если параметр number То функцией Rnd генерируется Равно нулю Последнее сгенерированное случайное число. Меньше нуля Каждый раз одно и то же число. Number используется как начальное значение. Больше нуля Следующее случайное число в последовательности. Не задается Равно нулю
ФункцияRnd возвращает значение, которое меньше 1, но больше или равно нулю.
Cпособгенерации случайного числа в функции Rnd определяется значением параметраNumber.
Длялюбого заданного начального числа генерируется одна и та же последовательностьчисел, поскольку при каждом последующем вызове в функции Rnd при генерацииследующего числа последовательности в качестве начального используется ранеесгенерированное число.
Передвызовом Rnd для инициализации генератора случайных чисел с начальным значениемна основе системного таймера воспользуйтесь оператором Randomize без указанияаргументов.
SelectCaseКость
Case 1
‘Выполняетодин из блоков операторов в зависимости от значения выражения. Обязателен воператоре Case. Список возможныхзначений для testexpression
Image1.Picture = LoadPicture("\1.bmp")’Загружаем рисунок
Label1.Caption = Label1.Caption + 1Case 6
Image1.Picture = LoadPicture(«6.bmp»)
Label6.Caption = Label6.Caption + 1‘Если выпала шестерка, то увеличить счетчик
End Select
Loop
If stav = КостьThen
‘Оператор условногоперехода — одни из самых важных и часто используемых элементов в языкахпрограммирования. Общий принцип их работы прост: проверяется соответствиекаким-то условиям (истинность или ложность каких-либо выражений) и взависимости от этого выполнение программы направляется по одной или другойветви.
Еслиставка совпала с выпавшим числом, то увеличить счетчик(банк) на 3, если же нетто уменьшить счетчик на 2.
Label15.Caption = Label15.Caption + 3
Else
Label15.Caption = Label15.Caption — 2
End IfEnd SubПроцедура кнопки «Начать»
Private Sub CommandButton1_Click()
stav = CDbl(TextBox2.Text)Label18.Visible = False‘ Устанавливаем флаг фокуса надписи на ложь
If stav 0 Then
‘Проверяембыла ли сделана ставка, если да то запускаем таймер,
qtimer
Else
‘еслиже нет, то меняем флаг фокуса и выводим надпись
Label18.Visible = True
Label18.Caption = "Вынесделалиставку!!!"
End If‘Выводимтекущий счет игрока
Label19.Caption = TextBox1.Text + " Вашвыигрыш= "
End Sub
Процедуракнопки «Остановить»
Private Sub CommandButton2_Click()
PauseTime = 0
‘Сбрасываемтаймер на 0, тем самым останавливаем timerEnd SubПроцедура длякнопки «Сброс»
Private Sub CommandButton3_Click()
Label1.Caption = «0»
‘Устанавливаемна 0, чтоб процедура qtimerне вызывала ошибку
Label19.Caption = ""
TextBox1.Text = ""
‘Очищаемполе text(ставка)
TextBox2.Text = ""
End Sub
Процедура для кнопки «Выход»
Private Sub CommandButton4_Click()
UserForm1.Hide
‘Скрываемформу
EndSub

3.Листинг программы
Private Sub qtimer()
Dim Кости,a, d, stav As Integer
stav = CDbl(TextBox2.Text)
PauseTime = 1
Start = timer
Do While timer
DoEvents
Randomize
Кости= Int(Rnd * 6) + 1
Select Case Êîñòü
Case 1
Image1.Picture =LoadPicture(«d:\kosti\1.bmp»)
Label1.Caption = Label1.Caption + 1
Case 2
Image1.Picture =LoadPicture(«d:\kosti\2.bmp»)
Label2.Caption = Label2.Caption + 1
Case 3
Image1.Picture = LoadPicture(«d:\kosti\3.bmp»)
Label3.Caption = Label3.Caption + 1
Case 4
Image1.Picture =LoadPicture(«d:\kosti\4.bmp»)
Label4.Caption = Label4.Caption + 1
Case 5
Image1.Picture =LoadPicture(«d:\kosti\5.bmp»)
Label5.Caption = Label2.Caption + 1
Case 6
Image1.Picture =LoadPicture(«d:\kosti\6.bmp»)
Label6.Caption = Label6.Caption + 1
End Select
Loop
If stav = КостьThen
Label15.Caption = Label15.Caption + 3
Else
Label15.Caption = Label15.Caption — 2
End If
End Sub
Private Sub CommandButton1_Click()
stav = CDbl(TextBox2.Text)
Label18.Visible = False
If stav 0 Then
qtimer
Else
Label18.Visible = True
Label18.Caption = «Вынесделалиставку!!!»
End If
Label19.Caption = TextBox1.Text + " Вашвыигрыш= "
End Sub
Private Sub CommandButton2_Click()
PauseTime = 0
End Sub
Private Sub CommandButton3_Click()
Label1.Caption = «0»
Label2.Caption= «0»
Label3.Caption= «0»
Label4.Caption= «0»
Label5.Caption= «0»
Label6.Caption= «0»
Label15.Caption= «0»
Label19.Caption = ""
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
Private Sub CommandButton4_Click()
UserForm1.Hide
End SubМодуль
Public PauseTime, Start, Finish, TotalTime

Заключение
 
Вданной курсовой работе были рассмотрены стандартные операторы, функции и методыVBA
Темаработы с случайными числами является очень актуальной, так как случайные числа находятсвоё применение в приложениях различных типов и имеет большое практическоезначение. Не одна задача современного программирования (в криптографии) необходится без решения вопроса генерирования случайных данных.
Даннаяработа может быть использована студентами для изучения операторов, функция иметодов VBA, которые позволяютвыполнять различные задачи.

БИБЛИОГРАФИЧЕСКИЙСПИСОК
1.   ГарнаевА.Ю. Самоучитель VBA. – СПб.:БХВ-Петербург, 2003. – 512 с.
2.   ГарнаевА.Ю. Excel, VBA,Internetв экономике и финансах. СПб.: БХВ-Петербург, 2001.
3.   Демидова Л.А.,Пылькин А.Н. Программирование в среде VisualBasic forApplication. М.: Телеком, 2004.
4.   УокенбахД. Профессиональное программирование на VBAв Excel 2002. Пер. с англ. –М.: Издательский дом «Вильямс», 2003. –784 с.
5.   БлатнерП., Ульрих Л. и др. Использование MicrosoftExcel 2000. Специальноеиздание.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2000. –1024с.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.