46951 (608002), страница 2

Файл №608002 46951 (Бросание игральной кости на VBA) 2 страница46951 (608002) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Структура приложения Excel

При открытии рабочей книги автоматически активизируется объект Application, определяющий само приложение, и все встроенные в него объекты. Этот объект находится на вершине иерархической структуры. Приложение включает рабочие книги (Workbooks) и различные системы надстройки. В свою очередь, рабочие книги содержат рабочие листы (Sheets) и другие объекты. Наконец, рабочие листы включают самый важный объект – диапазон ячеек (Range).

Так как приложение разрабатывается на базе существующих таблиц, все результаты действий должны быть связаны с ячейками рабочего листа. Специального объекта ячейки в Excel не существует, в данном случае объект Range используется и для одной-единственной ячейки, и для интервала ячеек.

Редактор Visual Basic for Application в визуальном режиме позволяет просмотреть структурный состав объектов, обеспечивает добавление новых и редактирование существующих элементов, в том числе и макросов.

Главное окно редактора (рис. 1) включает следующие элементы: окно проекта (Project), окно формы (UserForm), окно программного кода (Code), окно просмотра (Object Browser).

Структура программного кода VBA

Программа VBA представляет собой совокупность процедур и функций, размещенных в зависимости от особенностей решаемой задачи в одном или нескольких модулях (это специальные разделы Excel). Добавление модуля осуществляется по команде InsertModule (в этом случае программный код составляется пользователем) или при создании макроса (когда программа создается автоматически). Созданному модулю присваивается стандартное имя Module1, Module2 и т. д.

Каждый модуль отображается в окне, который имеет две области: общую область и область подпрограмм. В общей области помещаются операторы описания переменных, которые являются общими для всех процедур и функций этого модуля. В области подпрограмм помещается код программы. Окно программного кода предназначено для ввода, просмотра и редактирования процедур модуля. В данном окне можно просмотреть код выбранной процедуры или всех процедур модуля сразу.

Для удаления модуля следует: выделить имя модуля, выбрать команду FileRemove Module, щелкнуть в окне диалога на кнопке "Нет".

МАКРОСЫ. Макрос – это последовательность команд и действий пользователя, записанная и хранимая внутри документа и исполняемая 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. Кнопка «Сброс»- присвоить свойстве Caption 0, т.е. обнулить значения;

Создание интерфейса

Характеристики

Тип файла
Документ
Размер
2,09 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6540
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее