
Информатика
.pdf
121
Приведем для сравнения пример построения графика функции f(x) =
∞ |
(-1)[ln(n)] |
|
x2n - 1 |
||
n! |
|||||
∑ |
|
|
|
|
, разобранный в п. 2.4, с помощью макроса. В ре- |
2 |
n |
|
|
||
n = 1 |
3n |
П (1 + kx) |
k = 1
дакторе VBA вставим модуль, в который введем код вычисления функции:
Function f(x As Single) As Single
Dim x2 As Double, n As Integer, mn As Long, q As Double Dim k As Integer, sum As Double
Const eps As Double = 0.00001
x2 = x * x: n = 1: mn = 3: q = x / (3 * (1 + x)): sum = q While Abs(q) >= eps
n = n + 1: mn = 9 * mn: q = q * x2 * Sqr(n) / (mn * (1 + n * x)) If Int(Log(n)) And 1 Then k = -1 Else k = 1
sum = sum + k * q Wend: f = sum
End Function .
Используя предыдущий код, построим макрос создания и заполнения таблицы значений функции:
Sub T()
Dim i As Byte, x As Single, y As Single
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, _ NumColumns:=12, DefaultTableBehavior:=wdWord9TableBehavior, _ AutoFitBehavior:=wdAutoFitWindow
With Selection.Tables(1)
If .Style <> "Сетка таблицы" Then
.Style = "Сетка таблицы"
End If '***рисование таблицы
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
.Cell(1, 1).Select With Selection
.Cut: .InsertAfter "X:" End With
.Cell(2, 1).Select With Selection
.Cut: .InsertAfter "Y:" End With
For i=2 to 12 '***вычисление значений функции и заполнение таблицы x = i – 2: y = f(x)
.Cell(1, i).Select With Selection
.Cut: .InsertAfter Str(x) End With
.Cell(2, i).Select With Selection
.Cut: .InsertAfter Str(y) End With
Next
122
End With
End Sub .
Далее, создадим макрос построения графика:
Sub Graph()
Dim i As Integer, m As Integer, n As Integer, j As Integer
Dim a As Single, b As Single, h As Single, x() As Single
Dim y() As Single, xm As Single, ym As Single, z As Single
Const eps = 0.01 |
|
|
|
n = 10: ReDim x(n), y(n) |
|
|
|
With ActiveDocument.Tables(1) |
|
'***чтение из таблицы |
|
For i = 0 To n |
|
|
|
.Cell(1, i+2).Select: x(i) = Val(Selection.Text) |
'***значения х |
||
.Cell(2, i+2).Select: y(i) = Val(Selection.Text) |
'***значения у |
||
If y(i) > ym Then ym = y(i) '***максимальное значение функции |
|||
Next |
|
|
|
End With |
|
|
|
a = 0: b = 10: h = (b - a) / n |
|
|
|
xm = 300 / (b - a): ym = 200 / ym |
'***масштаб по х и по у |
||
'**** Рисование стрелок (осей координат) |
**** |
||
With ActiveDocument.Shapes |
|
|
|
.AddLine(150, 650, 480, 650).Select |
'***горизонтальная линия |
||
With Selection.ShapeRange |
|
|
|
.Line.EndArrowheadStyle = msoArrowheadTriangle '***стрелка |
|||
.Line.EndArrowheadLength = msoArrowheadLengthMedium |
|||
End With |
|
|
|
.AddLine(150, 650, 150, 430).Select |
'***вертикальная линия |
||
With Selection.ShapeRange |
|
|
|
.Line.EndArrowheadStyle = msoArrowheadTriangle '***стрелка
.Line.EndArrowheadLength = msoArrowheadLengthMedium
End With |
|
'**** Рисование линии графика **** |
|
a = 150: b = 650 - ym * y(0): h = x(0) |
|
With .BuildFreeform(msoEditingAuto, a, b) |
'***начальная точка |
For i = 1 To n: a = 150 + xm * (x(i) - h): b = 650 - ym * y(i)
.AddNodes msoSegmentCurve, msoEditingAuto, a, b
Next |
|
|
.ConvertToShape.Select |
|
'***линия построена |
End With |
|
|
End With |
|
|
With Selection.ShapeRange.Line |
|
|
.Weight = 2.5 |
|
'***толщина линии |
.Style = msoLineSingle |
'***стиль – одинарная линия |
|
.ForeColor.SchemeColor = RGB(255,0,0) |
'***красный цвет |
|
.Visible = msoTrue |
|
|
End With |
|
|
End Sub . |
|
|
В результате получим график, совпадающий (по форме) с графиком на рис. 31.

123
Как уже отмечено выше, Word допускает вставку графических объектов почти любой природы, так что проблем с воспроизведением разного рода фигур и диаграмм не возникает.
4. Базы данных
Несмотря на то, что Visul Basic хорошо приспособлен для работы с массивами разнородных данных, имеется много других средств для квалифицированного выполнения такой работы. Совокупность данных, связанных многосторонними отношениями, называется базой данных (БД). Если эта база отражает специфику какой-то части интеллектуальной деятельности человека, то иногда эту базу называют базой знаний (БЗ). Приведем краткий обзор сведений по этой теме.
1. Определение:
БД - структурированная система тематически связанных сведений (данных).
2. Структура БД :
а) иерархическая (определена степень подчиненности, например, библиотечный каталог, файловая система),
б) реляционная (определен уровень отношений между элементами БД, например, совокупность знаний с системой межпредметных связей),
в) смешанная (существует и иерархия, и связь, как, например, в генеалогии).
3.Средства работы с БД:
а) MS EXCEL, б) Visual BASIC, в) MS ACSESS.
На рис. 39 показан пример иерархической организации БД.
Рис. 39. Иерархическая структура БД

124
Реляционную базу данных можно представить системой отношений
(см. рис. 40).
Рис. 40. Пример реляционной структуры БД
Технологически всякая база данных представляет собой совокупность взаимосвязанных объектов, таких как
1.таблицы данных, их свойств и отношений.
2.запросы, необходимые для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
3.формы – удобное средство для ввода данных, заполнения полей таблиц, бланков, контейнеры для различных элементов управления.
4.отчеты, в которых реализуется специальная выборка из БД и организация выборки (вместе с необходимой служебной информацией) в надлежащем виде.
5.страницы, осуществляющие связь Web-страниц пользователя с БД, остающейся на сервере.
6.модули и макросы, создаваемые средствами VBA для реализации функций управления БД.
4.Средства создания БД:
1.Ручные – разработка объектов в режиме конструктора (напр. таблицы, запросы)
2.Автоматизированные – разработка с помощью программмастеров (напр. формы, отчеты)
3.Автоматические – средства ускоренной разработки простейших объектов (шаблоны).

125
В Excel возможность устанавливать связи между ячейками и группами ячеек (с помощью меню "Hyperlink") позволяет создавать несложные базы данных. Эффективное использование VBA помогает осуществлять управление БД непосредственно в Excel. На рис. 41 приведен пример конструкции генеалогического дерева в рабочем листе.
Рис. 41
Аналогичная структура, созданная в Visual Basic, безусловно, более привлекательна и удобна (см. рис. 42).
Рис. 42

126
Для профессионального создания БД и работы с ними можно использовать пакет Access, входящий в состав Ms Office. Этот пакет имеет удобный интерфейс, подробную систему подсказок и мастерокон, позволяющую пользователю быстро овладеть навыками работы с БД. На рис. 43 приведен пример учебной БД в пакете Access.
Рис. 43
Ms Access используется в качестве:
1.инструмента для создания БД,
2.платформы создания настольных приложений и приложений клиент/сервер уровня подразделения или предприятия,
3.автономной системы управления базами данных (СУБД) для настольных систем,
4.СУБД для файлового сервера,
5.интерфейсного клиента для связи с серверными СУБД (например, с MS SQL Server, который не является составной частью MS Office и устанавливается отдельно).
Работа с таблицами в Ms Access:
1.Создание таблиц.
2.Определение ключевых полей. Это могут быть
а) последовательные числа (как при автозаполнении), б) числа, вводимые пользователем,
в) коды (сочетания чисел и букв, вводимые пользователем).
3.Создание информационных полей типа
а) text (для хранения символьной информации), б) memo (для больших текстовых материалов), в) number (для числовой информации),
г) счетчик (Long Integer),

127
д) логический (типа ДА/НЕТ), е) объект (внедренные рисунки, файлы, и т.д.)
ж) гиперссылка (для работы в сети).
4.Создание межтабличных связей типа а) один к одному, б) один ко многим, в) многие к одному,
г) многие ко многим.
(связь осуществляется по схеме: "перенести - и – оставить").
Технически:
1.Создание таблиц удобно выполнять в режиме конструктора.
2.Выделить ключевое поле можно правым щелчком мыши (выбрав соответствующий пункт всплывающего меню).
3.Тип информационного поля выбирается из раскрывающегося списка справа.
4. Межтабличные связи создаются по цепочке: Сервис Схема данных вставка таблицы (для связи с выбранной) перетаскивание (левой) мышью связи из поля одной таблицы к полю другой (“перенести - и - оставить”).
Работа с запросами (язык SQL)
1.Упорядочение записей в результирующей таблице.
2.Управление отображением данных.
3.Использование условий отбора.
4.Запросы на выборку.
5.Запросы с параметром.
6.Запросы на изменение.
7.Перекрестные запросы.
8.Специфические SQL-запросы к серверу БД.
Технически:
1.Запросы удобно создавать с помощью конструктора, добавляя по необходимости интересующие данные таблиц (таблицы и поля).
2.Условия отбора данных определяются по вычислимым полям таблиц с возможным использованием арифметических операций и символов сравнения. Можно в соответствующую строку в квадратных скобках ввести текстовую информацию о выборе данного параметра (например, [укажите максимальное значение]). Можно также использовать оператор LIKE.
3.В меню ВИД можно выбрать команду Групповые операции, помогающие в анализе всех данных выбранной категории.
4.Используя схему данных (связи таблиц) можно создавать
128
многотабличные запросы.
5.В режиме конструктора для облегчения обработки запросов полезно индексировать некоторые поля, вызвав соответствующее меню правым щелчком мыши в верхней части таблицы.
6.После создания запроса следует запустить обработку (RUN).
Работа с формами (мастер!) сводится, в основном, к выбору структуры формы, ее дизайна и используемых элементов управления.
Упражнение. Создайте в качестве базы данных свое генеалогическое дерево.
5. Гипертекстовая разметка
Вся оформительская "кухня" докуметнов Word остается, так сказать "за кадром" – готовый документ в DOS просмотреть и отредактировать невозможно. Такие документы не воспринимаются в Intrnet. Для формирования Web-документов используется так называемый язык гипертекстовой разметки HTML (HyperText Markup Language). Созданный с помощью этого языка документ (он имеет формат с расширением .htm) представляет собой ASCI I-файл, доступный для просмотра и редактирования в любом редакторе текстов. В принципе пользователю и не обязательно знать HTML, так как аналогично Word есть и другие редакторы (например, Web-Page, Front-Page), позволяющие с помощью достаточно подробного меню создать вполне сносный Web-документ. Тем не менее, знание помогает использовать многие скрытые возможности HTML-форматирования.
Язык HTML достаточно простой. Он построен по принципу "операторных скобок", снабженных некоторыми дополнительными атрибутами: почти всякая операция является "открывающей скобкой" участка документа и имеет свою пару – "закрывающую скобку". Такие операторы называются тэгами (tag – ярлык, бирка) и оформляются всегда в угловых скобках. Например, пара тэгов < Html> </ Html> (закрывающий тэг всегда начинается с косой черты) ограничивает область документа. Парный тэг <Title> </Title> определяет название документа, а пара <Body> </ Body> ограничивает тело (содержимое) документа. Этот тэг имеет атрибут BGColor (цвет фона). Например,
пара <Body BGColor=Pink> </ Body> организует розовый фон документа. Дальше будет указываться лишь "открывающий" тэг с пометкой "парный", если есть соответствующий "закрывающий".
129
5.1. ОСНОВНЫЕ ТЭГИ HTML
Перечислим базовые тэги языка с коротими комментариями. <P> (парный) определяет параграф (текст с новой строки). Закрываю-
щий тэг добавляет пустую строку. Имеет атрибут выравнивания Align = Left, Center или Right. Существует и парный тэг <Center> для выравнивания текста.
<Hn> (парный) определяет заголовок порядка n = 1 … 6. Заголовок порядка 1 записывается самым крупным шрифтом, порядка 6 – самым мелким.
<Font> (парный) устанавливает шрифт текста. Имеет атрибуты Face = "название шрифта", Color = цвет, Size = размер (высота в пунктах).
<BR> - принудительное прерывание текста (переход на новую строку). <Pre> (парный) определяет текст в исходном формате (т. е. со всеми
знаками форматирования, типом и размером шрифта и т. д.). Некоторые символы, являющиеся знаками HTML, должны быть заменены, например, символы <, >, & следует заменять на <, >, & соответственно. Парные тэги < B>, <I>, <U>, <Sub>, <Sup> выделяют текст жирным шрифтом, наклонным, подчеркнутым, надстрочным и подстрочным соответственно.
Непарный тэг <!- - комментарий--> вводит комментарий. Для создания списков используются тэги:
<UL> (парный) организует простой список, каждый элемент списка предваряется (непарным) тэгом <LI>,
<OL> (парный) организует нумерованный список вместе с тэгом <LI>, <DL> (парный) организует список с определениями (каждый пункт
списка подкрепляется определяющей строкой), каждый элемент списка предваряется непарным тэгом <DT>, а каждый элемент определений (пояснений) – непарным тэгом <DD>.
Непарный тэг <HR> с атрибутами size = размер, width = ширина, align = выравнивание, color = цвет (не везде, правда, эти атрибуты реализованы) определяет полосу-разделитель в документе.
Графические элементы могут быть вставлены в текст тэгом <Image SRC = "адрес источника"> с атрибутами Align = Top, Middle
или Bottom (относительно предыдущего текста). Можно также указывать размер рисунка: width = ширина, height = высота в пикселях или в процентах от соответствующего размера экрана. Адрес источника должен соответствовать серверу ресурсов, т. е. если это Web-адрес (URL), то ссылка должна иметь вид "http: //www. …", если это файл из местного каталога, то ссылка
130
"file:///C:/ ...‹полный путь›".
Вообще же ссылка на произвольный адрес (рисунка, текста,
мультимедиа и т. д.) осуществляется тэгом <a Href="адрес ссылки"> в паре с тэгом </a>. Между ними располагается текст, или рисунок, или какой-нибудь другой элемент документа. При просмотре документа этот элемент выделен цветом (шрифта или границы) и щелчок мышкой по нему реализует указанную ссылку. В некоторых случаях ссылка является атрибутом тэга. Например, если необходимо рисунок, расположенный в местном каталоге по адресу C:/Temp/Logos.jpg, сделать фоном документа, то ссылку на него можно включить в тэг
<body background="file: /// c:/temp/Logos.jpg" bgpropertiex="fixed">.
Заметим еще, что HTML "не любит" кириллицу и в большинстве случаев заменяет ее знаки символами вставки: n, где n – код соответствующего символа в таблице используемого шрифта.
5.2. ФОРМАТИРОВАНИЕ ТАБЛИЦ
Таблицы создаются парным тэгом <table>, который имеет много организационных атрибутов. Перечислим некоторые.
Align= Left, Center, Right выравнивает таблицу.
Border=n определяет границу в n пунктов. Если этот атрибут не указан, либо n = 0, граница таблицы при просмотре отсутствует.
Width=n определяет ширину таблицы в пикселях, если n натуральное число, либо как доля ширины экрана, если n – в процентах. Указывать размеры в процентах бывает удобнее при различной настройке экрана (относительные размеры сохраняются).
Cellspacing=n определяет расстояние между ячейками таблицы (по умолчанию n = 1 пикселу).
BGColor= цвет фона таблицы, BorderColor= цвет границы.
Граница таблицы может выглядеть объемной благодаря различной раскраске "светлой" и "темной" частей границы.
Таблица может иметь заголовок, определяемый парным тэгом <caption> ("контейнер заголовка"). Конструкция
<caption> текст заголовка </caption>
должна располагаться между <table> и </table>.
Кадый ряд (строка) таблицы описывается парным тэгом <TR>. Пару <TR> … </TR> нужно указывать столько раз, сколько строк в таблице. Внутри этой пары перечисляются все ячейки ряда парными тэгами <TD> …</TD>. Основные атрибуты ячеек: Width (ширина) и Height (высота). Каждая ячейка может иметь свой цвет фона, свой шрифт и т. д. Более того, поскольку определяющие тэги суть просто операторные скобки, то между ними можно вставить любую мысли-