<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kalgebra;">
  <!ENTITY package "kdeedu">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Ukrainian "INCLUDE">
]>

<book lang="&language;">

<bookinfo>
<title
>Підручник з &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Юрій</firstname
><surname
>Чорноіван</surname
><affiliation
><address
><email
>yurchor@ukr.net</email
></address
></affiliation
><contrib
>Переклад українською</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2007</year>
<holder
>&Aleix.Pol;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>


<date
>2009-01-28</date>
<releaseinfo
>0.8 (&kde; 4.2.0</releaseinfo>

<abstract>
<para
>&kalgebra; є математичним калькулятором, заснованим на мові розмітки вмісту MathML. Ця версія програми може виконувати прості дії MathML (арифметичні та логічні) і показувати дво- та тривимірні графіки. Для того, щоб використовувати &kalgebra; не обов’язково знати MathML. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>графіка</keyword>
<keyword
>математика</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction"
> 
<title
>Вступ</title
> 
<para
>&kalgebra; є заснованим на MathML графічним калькулятором. Хоча його від початку зорієнтовано на MathML, цю версію може використовувати будь-хто з базовими математичними знаннями.</para
> 

<screenshot>
<screeninfo
>На цьому зображенні ви бачите головне вікно &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Головне вікно &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>Головне вікно &kalgebra; складається з вкладки <guilabel
>Консолі</guilabel
>, вкладки двовимірних графіків, вкладки тривимірних графіків і вкладки <guilabel
>Словника</guilabel
>. Під цими вкладками знаходиться поле для введення ваших функцій і виконання обчислень. </para>

</chapter>

<chapter id="syntax">
<title
>Синтаксис</title>

<para
>Якщо ставити собі за мету зрозуміти спосіб, у який працює програма, слід розуміти, що введена інформація перетворюється у команди мови розмітки MathML, але для використання програми не обов’язково знати MathML. Синтаксис команд програми засновано на здоровому глузді, він має бути зрозумілим кожному, автор програми ретельно вивчив синтаксис maxima і maple, отже синтаксис програми дуже подібний до команд цих програм.</para>
<para
>Ось список доступних у цій версії дій:</para>
<itemizedlist>
<listitem
><para
>+ - * / : Додавання, віднімання, множення і ділення.</para
> </listitem>
<listitem
><para
>^, **: Піднесення до степеня, можна використовувати обидва позначення. Також можна використовувати символи unicode ². Степені також використовуються для позначення коренів, це можна зробити за допомогою формули на зразок: a**(1/b)</para
></listitem>
<listitem
><para
>-&gt; : лямбда. Це спосіб вказати обмежену змінну у функції.</para
></listitem>
<listitem
><para
>x=a..b : Ця конструкція використовується, якщо ми змінюємо діапазон зміни змінної (обмежена зміна+обмеження згори+обмеження знизу). Це означає, що x пробігає значення від a до b.</para
></listitem>
<listitem
><para
>() : Дужки використовуються для зазначення вищого пріоритету обчислень.</para
></listitem>
<listitem
><para
>abc(параметри) : Функції. Коли обробник знаходить функцію, він перевіряє чи є abc оператором. Якщо це так, дії з ним буде виконано як з оператором, якщо ні — обробник поводитиметься з ним як з функцією.</para
></listitem>
<listitem
><para
>:= : Визначення. Використовується для встановлення значення змінної. Ви можете писати x:=3, x:=y у випадках визначеності або невизначеності y, або perimeter:=r->2*pi*r. </para
></listitem>
<listitem
><para
>? : Визначення кускової умови. Кускові умови — це спосіб визначення умовних розгалужень у &kalgebra;. Якщо вказати умову перед знаком "?", значення буде використано, лише якщо умова справджується, якщо обробник знайде "?" без жодної умови, буде використано залишок після попередніх умов. Приклади: кускова функція { eq(x,0) ? 0, eq(x,1) ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{ } : Контейнер MathML. Його можна використовувати для визначення контейнера. Головним чином корисний для роботи з кусковими виразами. </para
></listitem>
</itemizedlist>
<para
>Читач тепер може зауважити, а навіщо взагалі згадувати про MathML? Дуже просто. За його допомогою можна виконувати операції на зразок cos(), sin(), будь-які інші тригонометричні функції, sum() або product(). Характер самої функції не є важливим. Можна використовувати plus(), times() і будь-які інші функції, яким відповідає певний оператор. Також реалізовано булівські функції, отже, можна виконувати операції на зразок or(1,0,0,0,0).</para>

</chapter>

<chapter id="using-console">
<title
>Користування консоллю</title>
<para
>Консоль &kalgebra; корисна як калькулятор. У ній ви бачите список визначених змінних. Наведення на нього вказівника миші і подвійне клацання її кнопкою відкриє вікно, яке надасть вам змогу змінювати значення змінних (просто один зі способів заповнення журналу). Після введення вами виразу, значення змінної «ans» встановлюватиметься у значення результату обчислення цього виразу.</para>

<para
>Приклади:</para>
<itemizedlist>
<listitem
><para
>sin(pi)</para
></listitem>
<listitem
><para
>k:=33</para
></listitem>
<listitem
><para
>sum(k*x : x=0..10)</para
></listitem>
<listitem
><para
>f:=p->p*k</para
></listitem>
<listitem
><para
>f(pi)</para
></listitem>
</itemizedlist>

<para
>Пункти меню:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenuitem
>Створити</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Очищує журнал.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenuitem
>Завантажити скрипт</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Послідовно виконує інструкції з файла. Чудово пасує для визначення деяких бібліотек або схожих завдань.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>G</keycap
></keycombo
></shortcut
> <guimenuitem
>Зберегти скрипт</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Зберігає інструкції, які ви ввели з часу початку сеансу.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenuitem
>Зберегти журнал</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Зберігає журнал з результатами та іншою інформацією до файла.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenuitem
>Вийти</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Завершує роботу програми.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>Двовимірні графіки</title>
<para
>Щоб додати новий двовимірний графік у &kalgebra;, вам просто слід перейти до вкладки <guilabel
>Двовимірні графіки</guilabel
> і натиснути кнопку <guilabel
>Додати</guilabel
>, щоб додати нову функцію. Після цього фокус буде передано у поле для введення тексту, де ви зможете вказати вашу функцію.</para>

<sect1 id="two-D-syntax">
<title
>Синтаксис</title>
<para
>Якщо ви бажаєте використовувати звичайну функцію f(x), не потрібно окремо задавати її, але, якщо ви бажаєте визначити, скажімо, f(y) або функцію у полярних координатах, вам слід додати y-> і q-> як обмежені змінні.</para>

<para
>Приклади:</para>
<itemizedlist>
<listitem
><para
>sin(x)</para
></listitem>
<listitem
><para
>x²</para
></listitem>
<listitem
><para
>y->sin(y)</para
></listitem>
<listitem
><para
>q->3*sin(7*q)</para
></listitem>
<listitem
><para
>q=0..100->q</para
></listitem>
</itemizedlist>
<para
>Якщо ви ввели функцію, натисніть кнопку <guibutton
>Гаразд</guibutton
>, щоб побачити графік у головному вікні.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Можливості</title>
<para
>Можна накреслити декілька графіків на одному малюнку. Просто скористайтеся кнопкою <guilabel
>Додати</guilabel
>, коли ви знаходитеся у режимі списку. Для кожного з графіків ви можете встановити його колір.</para>

<para
>Розмір та розташування області перегляду можна змінювати за допомогою миші. За допомогою коліщатка ви можете її збільшувати або зменшувати. Також ви можете вибрати область, утримуючи ліву кнопку миші, коли ви відпустите кнопку, область буде збільшено до розмірів області перегляду. Пересунути область перегляду можна за допомогою клавіш зі стрілочками.</para>

<para
>На вкладці <guilabel
>Список</guilabel
> ви можете викликати наведенням вказівника на назву функції з наступним клацанням правою кнопкою миші контекстне меню, за допомогою якого можна сховати або вилучити функцію.</para>

<para
>У меню <guimenu
>Двовимірний графік</guimenu
> ви знайдете такі пункти:</para>
<itemizedlist>
<listitem
><para
>Показати або сховати сітку</para
></listitem>
<listitem
><para
>Зберігати співвідношення розмірів під час зміни масштабу</para
></listitem>
<listitem
><para
>Збільшити (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) і зменшити (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>)</para
></listitem>
<listitem
><para
>Зберегти (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) графік у файлі зображення</para
></listitem>
<listitem
><para
>Оновити перегляд до початкового масштабу</para
></listitem>
<listitem
><para
>Обрати роздільну здатність для графіків</para
></listitem>
</itemizedlist>
</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>Тривимірні графіки</title>

<para
>Щоб накреслити тривимірний графік за допомогою &kalgebra; вам слід перейти до вкладки <guilabel
>Тривимірні графіки</guilabel
>, там внизу ви побачите поле для вводу, куди і слід ввести вашу функцію. Z поки що визначати не можна, у цій версії &kalgebra; підтримується лише явне задання поверхонь у вигляді залежності від x і y, наприклад, (x,y)->x*y, де z=x*y.</para>

<para
>Приклади:</para>
<itemizedlist>
<listitem
><para
>sin(x)*sin(y)</para
></listitem>
<listitem
><para
>x/y</para
></listitem>
</itemizedlist>

<para
>Розмір та розташування області перегляду можна змінювати за допомогою миші. За допомогою коліщатка ви можете її збільшувати або зменшувати. Натисніть і утримуйте ліву кнопку миші, а потім пересуньте вказівник миші, щоб повернути графік.</para>

<para
>За допомогою клавіш зі стрілочками ліворуч і праворуч можна обертати графік навколо осі z, за допомогою клавіш зі стрілочками вгору і вниз можна обертати графік навколо горизонтальної осі перегляду.</para>

<para
>У меню <guimenu
>Тривимірний графік</guimenu
> ви знайдете такі пункти:</para>
<itemizedlist>
<listitem
><para
>Увімкнути або вимкнути прозорість</para
></listitem>
<listitem
><para
>Зберегти (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) графік у файлі зображення</para
></listitem>
<listitem
><para
>Оновити перегляд до початкового масштабу</para
></listitem>
<listitem
><para
>Малювати графік точками, лініями або суцільною поверхнею</para
></listitem>
</itemizedlist>


</chapter>

<chapter id="dictionary">
<title
>Словник</title>

<para
>Словник є збіркою всіх доступних дій &kalgebra;. Він корисним тим, що у ньому можна перевірити і дізнатися кількість і порядок кожної з функцій програми.</para>

</chapter>


<chapter id="credits">
<title
>Подяки і ліцензія</title>

<itemizedlist>
<listitem
><para
>Авторські права на програму © 2005-2007 &Aleix.Pol;</para>
</listitem>
</itemizedlist>

<para
>Авторські права на документацію до програми © 2007 &Aleix.Pol; &Aleix.Pol.mail; </para>

<para
>Юрій Чорноіван<email
>yurchor@ukr.net</email
></para
> 
&underFDL; &underGPL; </chapter>


<appendix id="installation">
<title
>Встановлення</title>

<sect1 id="getting-kapptemplate">
<title
>Як отримати &kalgebra;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Збирання і встановлення</title>
&install.compile.documentation; </sect1>

</appendix>
&documentation.index; 
</book>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
