Таким образом формируется 3-й столбец таблицы. После формирования 3-го столбца таблицы, программа формирует 4-й столбец, представляющий собой куммулятивное распределение.
В программе полученное равномерно распределенное число y последовательно начиная с 1-го сравнивается с числами четвертого столбца. При этом номер числа последовательно наращивается. Как только y превысит очевидное число из 4-го столбца, процедура заканчивает свою работу. Номер последнего числа считается номером избранного числа, значение которого извлекается из первого столбца.
рис. 8 Алгоритм генерации случайного числа, заданным распределением.
Этому алгоритму соответствует следующая процедура:
Процедура редактирования распределений
Любая программа подразумевает обеспечение «экранного сервиса». На экране должны возникать таблицы исходных данных, которые удобно редактировать. Для этого должно быть предусмотрено создание в программе текстового файла, в котором изображается экранная таблица со специальными символами. Символы обозначают будущие места, в которых будут стоять исходные данные. Заранее оговариваются специальные символы.
рис. 9 Распределение служебных мест на экране для редактирования параметров измерения.
Специальные символы, которые указывают местоположение будущих значений.
@ |
- место переключения фона. |
# |
- место, где будет выведено значение параметров. |
~ |
- место, где будут выводиться частоты. |
! |
- место, где строятся столбцы гистограммы. |
* |
- либо шаг, либо угол. Название параметра. |
$ |
- место, в которое выводится тип клетки. (slow, medium, fast). |
|
Процедура формирования экрана работает следующим образом. Текстовый файл считывает символ за символом. Если считанный символ не входит в список специальных, он просто выводится на экран. Таким образом, на экран могут выводиться любые комментарии, например: инструкции по редактированию таблицы. При выводе всех символов, подсчитывается номер строки и номер позиции в строке. Номер позиции в строке задаётся в начале, равный единице. И наращивается с введением каждого нового символа до появления символа eoln (end of line - конец строки). После увеличивается на единицу счетчик номера строк и сбрасывается в единицу счетчик номера позиции. Работа процедуры заканчивается eof (end of file - конец файла).