УДК 004.912; 372.862

В. М. ДОНЦОВ

V. M. Dontsov

ИСПОЛЬЗОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ВОЗМОЖНОСТЕЙ ПАКЕТА OPENOFFIICE.ORG В УЧЕБНОМ ПРОЦЕССЕ

USE OF COMPUTATIONAL CAPABILITY OF OFFICE SOFTWARE SUITE OPENOFFIICE.ORG IN EDUCATIONAL PROCESS

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

In the article discussion the possibility of programming in Basic OpenOffice. org office suite for the formation of unique individual learning targets for students in higher education.

Educational process automation, office suite programming

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

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

НЕ нашли? Не то? Что вы ищете?

Большим подспорьем в решении описанной педагогической проблемы может быть формирование индивидуальных заданий для каждого из учащихся на всём жизненном цикле преподавания дисциплины.

Индивидуальные задания должны иметь большую вариабельность. Пусть речь идёт о некотором расчёте. Если для всех заданий будет иметь место единственный алгоритм, при том достаточно простой (линейный), а вся разница будет заключаться в подстановке исходных числовых данных, то очень быстро в Интернете появиться программа, которая позволит решить любое задание.

Алгоритм расчёта должен быть не единственным, допускать значительное количество ветвлений. Отсюда следует, что студентам необходимо предлагать качественно различные задачи с отличающимися количественными исходными данными.

Автор имеет опыт применения возможностей программирования на языке Basic пакета OpenOffice. org [1] при формировании уникальных индивидуальных заданий. В учебный план дисциплины «Основы радиоэлектроники и связи», читаемой автором, входит курсовой проект. Задания на курсовое проектирования формируются автоматизировано, индивидуально для каждого студента. Обобщённая схема работы программы формирования заданий, написанной автором, представлена на рис. 1

Рисунок 1 – Обобщённая схема формирования индивидуального задания

Ключевыми являются следующие идеи:

-  имеется несколько качественно различных задач, каждая задача имеет собственное описание;

-  для каждой задачи имеется таблица с наименованием, видам и диапазоном исходных числовых данных;

-  в зависимости от исходных данных каждая задача может иметь несколько решений;

-  для выбора задачи и получения исходных данных используется генератор случайных чисел (ГСЧ);

-  после формирования индивидуального задания производиться первичная проверка исходных данных (исключаются некорректные, слишком простые и слишком сложные задания).

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

Несомненно, что при большом числе студентов в одной студенческой группе, появятся ячейки из нескольких человек с одинаковыми качественными задачами. По мнению автора, это не является недостатком. Напротив, когда несколько учащихся решают задачу различными методами, советуясь друг с другом, разделяя этапы решения, сравнивая полученные результаты и анализируя их, это способствует развитию коммуникативных навыков и расширению кругозора.

«Индивидуальность» заданий существенно зависит от качества работы ГСЧ. Хотя, такие жёсткие требования к потоку случайных чисел, как в криптографических приложениях здесь неуместны, однако, хотелось бы иметь уверенность, что в одной студенческой группе не будет похожих заданий.

Автор провёл исследование ГСЧ, встроенного в пакет OpenOffice. org. Целью исследования являлась проверка статистической независимости и равномерности распределения отсчётов в потоке случайных чисел, генерируемых функцией Rnd() [2].

Тесты генераторов случайных чисел выполнены при помощи пакета DIEHARD [3]. Испытано 4 реализации ГСЧ:

1 Функция Rnd() OpenOffice Basic 310m19 (Build9420) Infra-Resource под Ubuntu 9.10.

2 Функция Rnd() OpenOffice Basic 310m19 (Build9420) Infra-Resource под Windows XP SP3.

3 Генератор /dev/urandom под Ubuntu 9.10.

4 Функция Rnd() VBA Microsoft Office XP под Windows XP SP3.

Набор тестов DIEHARD требует на входе файл с 32-х разрядными целыми числами объёмом более 11 мегабайт. Входной файл был получен программой, листинг которой для ОС Linux приведён на рисунке 2. Версии для Windows OO и VBA аналогичны, только имя выходного файла записано по правилам Windows.

Sub Main

Dim FileNo As Integer, FileName As String

Dim i as long, xx2 as long, Scale1 as double

FileName = "~/data. bin"

FileNo = Freefile

Open FileName For Random As #FileNo len = 4

Scale1 = 2^32-1

Randomize Timer

For i = 1 to 4000000

xx2 = int((rnd()-0.5)*Scale1)

put #FileNo, i, xx2

Next

Close #FileNo

End Sub

Рисунок 2 – Листинг программы формирования массива псевдослучайных чисел

Результаты тестов носят случайный характер, это вероятность принятия статистической гипотезы о «случайности» исходного потока чисел - «нулевой гипотезы». Результаты тестов приведены в таблице 1, при этом приняты следующие обозначения:

+ тест пройден, - тест провален, ± тест пройден частично. Некоторые тесты повторяются многократно, ряд результатов может быть интерпретирован как «провал теста».

Таблица 1 – Результаты прохождения набора тестов DIEHARD

Тест

OO Linux

OO Windows

/dev/urandom

VBA MSO XP

Дни рождения (Birthday Spacings)

-

-

+

-

Пересекающиеся перестановки (Overlapping Permutations)

+

+

+

+

Ранги матриц (Ranks of matrices)

+

±

±

±

Поток битов (The bitstream test)

+

-

+

-

Обезьяньи тесты (Monkey Tests)

+

±

+

-

Подсчёт единичек (Count the 1’s)

±

±

+

-

Тест на парковку (Parking Lot Test)

+

+

+

+

Тест на минимальное расстояние (Minimum Distance Test)

+

+

+

-

Тест случайных сфер (Random Spheres Test)

+

+

+

+

Тест сжатия (The Squeeze Test)

-

-

+

+

Тест пересекающихся сумм (Overlapping Sums Test)

+

+

+

+

Тест последовательностей (Runs Test)

+

+

+

+

Тест игры в кости (The Craps Test)

+

+

+

+

Простого прохождения тестов недостаточно, чтобы принять или отвергнуть гипотезу о случайности потока данных. Большинство тестов DIEHARD формируют на выходе некоторое число (p-value). Эти числа в целом должны быть равномерно распределены в интервале [0 ; 1), когда входной поток данных действительно случаен.

Используя только результаты пройденных тестов, оценим равномерность распределения выходных чисел – таблица 2.

Таблица 2 – Проверка статистической гипотезы о случайности потока данных

Генератор случайных чисел

Пройдено тестов DIEHARD

Вероятность «нулевой» гипотезы (по критерию «Хи-квадрат»)

Результат

1 OO Linux

10

0,9852

Поток можно считать случайным

2 OO Windows

7

0,3198

Поток можно считать случайным

3 /dev/urandom

12

0,5704

Поток можно считать случайным

4 VBA MSO XP

7

0,4959

Поток можно считать случайным

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

Литература

1 Русская страница OpenOffice. org [Электронный ресурс] – Режим доступа: http://ru. openoffice. org/, свободный. – Загл. с экрана. – Яз. рус., англ.

2 Питоньяк, Эндрю(Andrew Pitonyak) OpenOffice. org pro. Автоматизация работы. Пер. с англ. – М. ДМК Пресс, 2008. – 512 с.

3 The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness [Электронный ресурс] – Режим доступа: http://stat. fsu. edu/pub/diehard/, свободный. – Загл. с экрана. – Яз. англ.

Ключевые слова: OpenOffice. org; программирование; учебный процесс;

Key words: OpenOffice. org; programming; learning process.

Сведения об авторах:

;

ФГОУ ВПО Государственный университет — учебно-научно -производственный комплекс; кандидат технических наук; доцент кафедры «Электроники, вычислительной техники и информационной безопасности»;

адрес: Россия, 30020, г. Орёл, ;

телефон: 136;

e-mail: *****@***ru, *****@***ru