Объявление одномерного массива и задание его начальных значений, при   //этом размер массива автоматически будет равен 4. 3 страница



Таким образом формула выглядит в редакторе формул:

H=sum from{i=1} to{n} {p_{i} cdot log_{2}({1} over {p_{i}} ) }.

При редактировании может быть использовано окно элементов редактирования. Например, чтобы выбрать значок суммы выбираем соответствующую вкладку, она будет соответствовать стандартной форме записи sum <?> (Рисунок 15), необходимо заменить последовательность <?> на свои данные в соответствии с вашей формулой, можно также указать элементы from и to определяющие нижнюю и верхнюю границы изменения ндекса формулы суммы. Фигурные скобочки объединяют последовательность символов в один элемент формулы.

Для создания и вставки формулы использовалось автоматическая нумерация формул. В этом случае можно создать таблицу из двух столбцов и одной строки, сделать границы таблицы невидимыми, в правый столбец вставить формулу и в левый записать скобочки. Выровнять формулу первый и второй столбец по левому и правому краю соответственно, положение в ячейке по высоте задать — по середине. Затем с помощью Вставка-Поля-Дополнительно вызвать окно редактирования представленное на рисунке 16. Вставить в список Выбор-Название переменную нумфор, в значение записать нумфор+1. Если необходима нумерация внутри параграфа, то выбрать уровень 1. Ниже приведен пример.

(1.2)

Затем можно копировать созданную таблицу формулы в нужно место и затем редактировать формулу, так же можно сделать авто-вставку.

Также для автоматической нумерации формул можно воспользоваться вставкой в тексте документа последовательности двух символов fn и затем нажав F3. В этом случае также, но уже автоматически создастся таблица из двух столбцов и одной строки в первом столбце будет указана стандартная формула, ее можно заменить и во втором столбце будет указан номер формулы, данный номер вставляется автоматически, при вставке формулы выше произойдет перенумерация формул. Нумерацию можно делать и не сквозной, щелкнув на соответствующем номере формулы и задав уровень при настройке поля.

  (2)
  (3)

1.14. Стили и форматирование

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

Для создания своего стиля можно выбрать Формат-Стили и форматирование (Format-Styles and Formatting), в окне стилей выбрать нужный стиль блока текста (параграфа, символа, фрейма или страницы) , затем с помощью правкой кнопки мыши и выпадающего меню выбрать New. Например, при создании стиля во вкладке Frames будет вызвано окно, показанное на рисунке 17, если мы назначим доя фрейма указанный стиль, то он будет применен к данного фрейма, для применения стиля можно выделить нужный объект и щелкнуть левой кнопкой мыши на имени стиля два раз, или выбрать стиль в Apply Style. Кроме того, можно создать стиль с аналогичным именем во вкладке paragraphs и characters в свою очередь описывая для данного стиля все характеристики текста. При создании соответствующего текста в данном фрейме он будет отформатирован в соответствии с параметрами данного стиля, а текст внутри фрейма в соответствии с тем же стилем заданным во вкладках characters (стили символа) и paragraphs (стили параграфа).

1.15. .Автозамена и параметры автозамены

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

1.16. Задание.

1. Внимательно изучите возможности Libre Writer описанные выше.

2. Создайте документ Writer. Для этого в меню Пуск найдите приложение LibreOffice Writer. Сохраните документ на своем диске S: или в какой-нибудь созданной вами папке на вашем диске.

3. Воспользовавшись любым поисковиком в сети интернет, например, поисковиком google.ru, найдите информацию о пакете LibreOffice и Microsoft Word. Скопируйте текст во вновь созданный документ воспользовавшись вставкой, чтобы текст был вставлен без ссылок можно воспользоваться «Правка-вставить как...» и указать — «текст без форматирования». Либо вставить текст, затем производя удаление с копированием текста (Shift-Del) и повторной вставки без форматирования вставлять текст. Опишите основные особенности текстовых процессоров входящих в данные пакеты, отличия их друг от друга. Часть информации можно скопировать из различных источников, часть описать самостоятельно. Вставьте вид окна Word любой версии и скриншот рабочего окна LibreOffice Writer. Скриншот текущего рабочего окна – Alt+PrintScreen (Prn Scr), скриншот всего экрана – Shift+PrintScreen или PrintScreen, либо осуществите поиск в сети Интернет.

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

5. Проведите форматирование и редактирование текста, установив заглавия и разделы с помощью стили и форматирование. Удалите ненужные абзацы, отобразите невидимые символы. Сохраните документ. Воспользуйтесь заменой знака абзаца на пробел в выделенном тексте, для этого выберете «Правка-Найти и заменить». Выберете «Детали» и установите галочку регулярные выражения. Затем в поле «Найти» установите знак $, что означает конец строки, и выберете «найти все», затем в поле «Заменить» укажите пробел и нажмите «заменить». Дополнительную информацию по использованию регулярных выражений можно найти на сайте LibreOffice, например, знак ^ означает начало строки, * означает любое количество повторений символа, который стоит перед звездочкой, при поиске "Аб*в" будут найдены "Ав", "Абв", "Аббв", "Абббв" и т. д. Установите выравнивание по ширине для текста, и по середине для рисунков. Установите где нужно списки.

6. Оформите в соответствии с правилами ГОСТа рисунки и таблицы, для работы с таблицей можно воспользоваться Меню Таблица и подменю добавить|удалить строки, ячейки, столбцы. Попробуйте преобразовать таблицу в текст и наоборот и объединить таблицы.

7. Вставьте уменьшенный «скриншот» выполняемой программы, сделайте «скриншот» рабочего окна и разместите его на отдельной странице сделав ее альбомной, при этом остальные должны оставаться книжными.

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

9. Воспользовавшись меню Файл-Свойства посмотрите статистику документа и подсчитайте средний размер слова (среднее количество букв в слове), среднее число слов на странице. Оформите данные о документе в виде таблицы. Запишите формулу расчета средней длины слова и среднего количества слов на странице в буквенном виде, представив число слов как параметр и длины слов в виде вектора, воспользовавшись редактором формул, запишите переменные, и что они обозначают, в соответствии с оформлением по ГОСТу. Запишите несколько тригонометрических формул для примера. Укажите значения переменных. Укажите литературу и использованные источники, в качестве использованных источников могут выступать ссылки на Интернет ресурсы.

10. Создайте оглавление, используя Вставка-Оглавление и указатели. Вставьте номера страниц. 

При выполнении старайтесь оформлять документ в соответствии с ГОСТом, старайтесь придерживаться одного строгого стиля.

2 Изучение макросов LibreOffice Writer

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

2.1. Объекты и классы.

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

Если вы уже работали с языками программирования и писали программы, то знаете что в любом языке программирования существует набор операторов или инструкций с помощью которых можно записать указания или программу, которую сможет понять и выполнить процессор. Существует набор стандартных операторов с помощью которых можно написать практически любой алгоритм, любой сложности – это ветвление, цикл, линейная последовательность выполнения операторов, арифметические действия и возможность обращения к переменным и записи в них каких то значений или результатов логических или арифметических выражений. Обычно в языках высокого уровня стараются избежать сложной работы с памятью присущей машинным языкам, вводится стандартная операция присвоения, которая позволяет некоторой – переменной – символьной последовательности присвоить какое-то значение. Грубо говоря, используя эту символьную последовательность в выражениях вы работаете с тем, что содержится в данной переменной как в ящичке. Можно операцию присвоения описать таким образом: В стакан с названием – St1, мы заливаем молоко из кружки Cr1 и говорим, налейте мне молоко в St1 из Cr1. Таким образом, вам нальется то, что содержится в Cr1. Тоже самое и с переменной. Допустим, Val1 = 20; Val2 = 30; Val3 = Val1+Val2; тогда Val3 будет содержать значение 50. Вы знаете, что переменная может содержать в себе только данные определенного вида, а не все подряд (хотя существуют специальный вариантный тип данных, когда тип переменной можно определить в процессе выполнения программы). Ведь мы можем хранить и названия (строки) и числа, и объекты. Поэтому каждой переменной ставится в соответствие какой-то тип данных, или домен или область определения тех значений, которые она может принимать. Обычно в языках программирования – это целочисленные типы, вещественные, строковые, символьные, логические, перечислимые, множества, комплексные числа, тип запись или структуры. Так что же такое переменная объект, это некая ссылка на объект, являющийся сложной структурой данных, которая ко всему прочему может содержать методы работы с этими данными и объектом, а также защищать данные и ограничивать или разрешать к ним доступ.

Переменная-объект, это переменная, которая содержит в себе другие объекты, свойства и действия, производимые над объектом, объект является конкретной реализацией, какого то класса (класс есть описание, некого множества объектов с одними и теми же свойствами). Обычно доступ к свойствам и функциям сложных типов данных (таких как классы) осуществляется путем написания имени переменной объекта, а затем через точку имени функции и или свойства данного объекта.

2.2. Переменные и объекты в Basic

Для объявления переменной указывается ключевое слово dim и затем список переменных через запятую, слово as и тип переменной.

Примеры:

Dim a,b as integer – объявление переменной целого типа.

Dim s as string – объявление переменной строкового типа.

Dim mass() as integer – объявление динамического одномерного массива целого типа.

Redim mass(100) – изменение длины массива и установка ее равной 100.

Dim desk as com.sun.star.frame.Desktop — переменная типа desktop унифицированной сетевой модели UNO, данная переменная может ссылаться на объекты типа Desktop.

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

2.3. Операторы Basic

Оператор цикла For.

For index=n1 to n2 [step s]

Rem тело цикла

Next index

Переменная Index пробегает значения от n1 до n2 c инкрементацией s (увеличение на s), в данном случае s может быть переменной или константой целого типа, квадратные скобочки указывают на то, что конструкция является не обязательной, в случае если она не указывается то шаг равен 1.

 

Например,

val =0

For xyz = 4 to 50 step 4

val=val+xyz

next xyz

Алгоритм вычисляет сумму значений от 4 до 50 с шагом 4, то есть сумму 4, 8, 12, 16 ... до 48 в переменную val.

val1 =0

For aval = 1 to 50

val1=val1+aval

next aval

В данном случае рассчитывается сумма целых чисел от 1 до 50.

 

Оператор цикла While, делай пока выполняется условие. Операторы внутри цикла повторяются до тех пор пока выполняется условие.

While <условие>

операторы

Wend

Пример:

While i<N

I=i+1

wend

Цикл выполняется пока переменная i меньше N.

Условный оператор If,

if <условие> then

<последовательность операторов если условие выполняется>

[else

<последовательность операторов в случае невыполнения условия>]

end if

Пример: если I меньше 100 (если условие выполнено) то увеличить I на 1, иначе уменьшить на 1.

If i<100 then

i=i+1

else

i=i-1

end if

2.4. Процедуры и функции.

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

Примеры.

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

Function sum(a,b as integer) as integer

Sum=a+b

End function

 

Использование функции sum в программе.

Dim x as integer

x = 2

x=x+sum(x,4)*2

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

Sub sum(a,b,c as integer)

c = a+b

End sub

Dim c as integer

Call sum(2,2,c)

 

2.5. Создание макроса в LibreOffice

Для создания макроса в LibreOffice выбираем сервис+макросы+управление макросами+LibreOffice Basic (Tools+Macros+Organize Macros). При этом отобразится окно представленное на рисунке ниже (рисунок 19). Для того, чтобы макрос был сохранен в самом документе, необходимо выбрать ваш документ, выбрать набор стандартных модулей «standard» и затем нажать «создать», затем необходимо ввести имя модуля. После создания модуля можно его выбрать, в окошке справа выбрать макрос Main и нажать редактировать (Edit). Либо необходимо после создания модуля (Module1), написать в поле Macro Name (Имя макроса) новое имя макроса и нажать создать (рисунок 20).

 

В результате создания и редактирования макроса появляется окно редактора Бэйсика, на рисунке приведен пример с двумя макросами, естественно их может быть больше и они могут иметь входные параметры.

 

В LibreOffice, как уже отмечалось, объектная модель несколько другая нежели в Microsoft Office, в LibreOffice Basic используется так называемся унифицированная сетевая объектная модель UNO. Ниже приведен пример макроса openoffice увеличивающий размер шрифта каждого параграфа.

Sub Main

Dim Doc As Object

Dim Enum As Object

Dim TextElement As Object

' StarDesktop — главный объект доступный из макроса

' создание ссылки на объект document, текущий документ

Doc = StarDesktop.CurrentComponent

' создание объекта enumeration

Enum = Doc.Text.createEnumeration

' цикл по всем текстовым элементам

While Enum.hasMoreElements

TextElement = Enum.nextElement


Дата добавления: 2019-01-14; просмотров: 256; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!