Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatika.doc
Скачиваний:
67
Добавлен:
03.05.2019
Размер:
12.78 Mб
Скачать

§10. Excel. Технология генерации случайной величины

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

В MS Excel для генерации СВ используются функция из категории Математические:

СЛЧИС () – выводит на экран равномерно распределенные случайные числа больше или равные 0 и меньшие 1.

Процедура генерации случайных величин используется для заполнения диапазона ячеек случайными числами. Заполнение диапазона (массива) ячеек происходит с помощью операции копирования.

Функция СЛЧИС ()*(b-a)+aпозволяет сгенерировать числа из диапазона [a; b].

Обратите внимание на то, что сгенерированные числа с помощью указанных выше функций – действительные. Для того, чтобы сгенерировать целые числа из диапазона [a; b], существует несколько способов. Один из возможных вариантов решения – с помощью композиции функций ЦЕЛОЕ() и СЛЧИС()

ЦЕЛОЕ (СЛЧИС ()*(b-a)+a)

Замечание. При осуществлении любых операций в электронных таблицах, включающих нажатие клавиши Enter, сгенерированные массивы случайных значений будут автоматически обновляться («перегенерироваться»). Это не очень удобно. Поэтому имеет смысл после генерации массива заменить формулы случайных величин на значения, то есть зафиксировать значения.

Это делается с помощью команд Копировать и Правка / Специальная вставка.

В таблице представлен результат генерации массивов случайных чисел разными способами. Обратите внимание, что во втором столбце представлены только значения случайной величины в промежутке от 0 до 1, в третьем столбце представлен результат генерации случайных чисел из диапазона [2;7], а в четвертом результат генерации целых случайных чисел из диапазона [2;7].

Рассмотрим более подробно получение фиксированных значений во втором столбце.

Таблица 2.8

Получение таблицы случайных значений

Выделите ячейки В2:В21 и вызовите операцию Правка / Копировать. Щелкните по ячейке С2 и выполните операцию Правка / Специальная вставка. Выберите опцию Значения из раздела Вставка и нажмите ОК. Заметим, что, как правило, значения случайной величины копируются в тот же столбец.

Самостоятельная работа

  1. Сформировать выборку из 10 случайных чисел, лежащих в диапазоне от 0 до 8 и зафиксировать их.

  1. Сформировать выборку из 20 целых случайных чисел, лежащих в диапазоне от 5 до 20 и зафиксировать их.

  2. Пусть спортсмену необходимо составить график тренировок на 10 дней, так чтобы дистанция, пробегаемая каждый день, случайным образом менялась от 5 до 10 км.

  3. Сформировать выборку из 80 целых случайных чисел, лежащих на отрезке от 2 до 5, и разместить ее в виде прямоугольного диапазона ячеек 5х16.

На практике очень часто приходиться иметь дело не только с числовыми форматами данных, а с другими форматами представления данных. Рассмотрим функции даты и времени.

Таблица 2.9

Функции категории Дата и время

Функция

Назначение

ВРЕМЗНАЧ

Возвращает время в числовом формате для времени, заданного текстовой строкой

ВРЕМЯ

Возвращает время в числовом формате в зависимости от трех аргументов: часы, минуты и секунды

ГОД

Возвращает год, соответствующий аргументу даты в числовом формате

ДАТА

Возвращает дату в числовом формате по введенному году, месяцу и дню

ДАТАЗНАЧ

Преобразует дату из текстового формата в числовой формат

ДАТАМЕС*

Возвращает дату в числовом формате, отстоящую на заданное количество месяцев вперед или назад от начальной даты

ДЕНЬ

Преобразует дату в числовом формате в день месяца

ДЕНЬНЕД

Преобразует дату в числовом формате в день недели. Она имеет два аргумента: первый - дата (например, 12.06.05); второй - код запроса, определяющий тип результата (необязательный). Код запроса может принимать следующие значения: Значение                 Результат, который вернет функция 1 (по умолчанию) - число от 1 (Воскресенье) до 7 (Суббота) 2                              - число от 1 (Понедельник) до 7(Воскресенье) 3                              - число от 0 (Понедельник) до 6(Воскресенье)

ДНЕЙ360

Вычисляет количество дней между двумя датами, считая, что в году 360 дней

ДОЛЯГОДА*

Возвращает долю года, представляющую собой общее количество дней между начальной и конечной датами

КОНМЕСЯЦА*

Возвращает порядковый номер последнего дня месяца, отстоящего на указанное количество месяцев от начальной даты

МЕСЯЦ

Преобразует дату в числовом формате в месяц

МИНУТА

Выделяет из времени число минут

НОМНЕДЕЛИ*

Возвращает номер недели в году

Таблица 2.9 (Продолжение)

Функция

Назначение

РАБДЕНЬ*

Возвращает дату в числовом формате, отстоящей на заданное количество рабочих дней вперед или назад от нчальной даты

СЕГОДНЯ

Возвращает сегодняшнюю дату в числовом формате

СЕКУНДЫ

Выделяет из времени число секунд

ТДАТА

Возвращает текущую дату и время

ЧАС

Выделяет из времени число часов

ЧИСТРАБДНИ*

Возвращает общее количество рабочих дней между двумя датами

* - функции доступные после установки пакета анализа (Сервис/Надстройки).

Рассмотрим задачу. Сформировать 2 массива, содержащих по 20 случайных дат. В первом массиве – даты первого квартала 2004 года, а во втором даты третьего квартала 2005 года.

Требуется вычислить:

  1. количество дней между двумя соответствующими датами, считая, что в году 360 дней; значение в ячейке должно помимо числа включать запись «кол-во дней =…»;

  1. общее количество рабочих дней между двумя соответствующими датами;

  2. долю года, представляющую собой общее количество дней между начальной и конечной датами;

  3. среднее, максимальную и минимальные даты в каждом из двух сгенерированных массивов.

Обратите внимание, чтобы вывести в ячейке и текст, и число необходимо использовать следующий формат записи =«текст »&формула. В нашем случае формула выглядит так: =«кол-во дней =»&ДНЕЙ360(С2-В2)

Результат решения представлен ниже.

Таблица 2.10

Массивы случайных дат

Самостоятельная работа

Сформировать выборку из 100 случайных дат – числа 2 квартала 2009 года.

Сформировать 2 массива, содержащих по 25 случайных дат. В первом массиве – даты третьего квартала 2008 года, а во втором даты первого квартала 2009 года.

Требуется вычислить:

  • какой день недели приходился на каждую дату данных массивов;

  • количество дней между двумя соответствующими датами, считая, что в году 360 дней;

  • общее количество рабочих дней между двумя соответствующими датами;

  • долю года, представляющую собой общее количество дней между начальной и конечной датами;

  • среднее, максимальную и минимальные даты в каждом из двух сгенерированных массивов;

  • найти максимальную разницу дат первого и второго массива.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]