summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook')
-rw-r--r--tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook1375
1 files changed, 295 insertions, 1080 deletions
diff --git a/tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook b/tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook
index 3d8374fc55e..7d3e743963e 100644
--- a/tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook
+++ b/tde-i18n-ru/docs/tdeedu/kturtle/programming-reference.docbook
@@ -1,171 +1,58 @@
<!--Dear translator: please NEVER translate the id or anything inside the tags as they are needed in english by the application
Thanks a lot in advance.-->
<chapter id="reference">
-<title
->Справочник &logo; для &kturtle;</title>
-<para
->Эта глава начинается с краткого описания <link linkend="different-instructions"
->различных типов инструкций</link
->. Потом идёт подробное описание каждой <link linkend="commands"
->команды</link
->, затем описываются <link linkend="containers"
->контейнеры</link
->, <link linkend="math"
->математические операции</link
->, <link linkend="questions"
->ответы на вопросы</link
-> и <link linkend="controlling-execution"
->операторы условного выполнения</link
->. В конце даётся несколько примеров создания собственных команд с помощью команды <link linkend="learn"
->выучи</link
->.</para>
+<title>Справочник &logo; для &kturtle;</title>
+<para>Эта глава начинается с краткого описания <link linkend="different-instructions">различных типов инструкций</link>. Потом идёт подробное описание каждой <link linkend="commands">команды</link>, затем описываются <link linkend="containers">контейнеры</link>, <link linkend="math">математические операции</link>, <link linkend="questions">ответы на вопросы</link> и <link linkend="controlling-execution">операторы условного выполнения</link>. В конце даётся несколько примеров создания собственных команд с помощью команды <link linkend="learn">выучи</link>.</para>
<sect1 id="different-instructions">
-<title
->Типы инструкций</title>
-<para
->Как и любой другой язык, Logo содержит различные типы слов и символов. Ниже вкратце объясняется различие между типами.</para>
+<title>Типы инструкций</title>
+<para>Как и любой другой язык, Logo содержит различные типы слов и символов. Ниже вкратце объясняется различие между типами.</para>
<sect2 id="command">
-<title
->Команды</title>
-<para
->Используя команды, вы предписываете Черепашке или &kturtle; выполнить какое-либо действие. Некоторые команды нуждаются во входных параметрах, некоторые возвращают результат. В данном разделе объясняются все команды, используемые в KTurtle. <screen
-># вперёд - это команда, c параметром, в нашем случае &mdash; это 100:
+<title>Команды</title>
+<para>Используя команды, вы предписываете Черепашке или &kturtle; выполнить какое-либо действие. Некоторые команды нуждаются во входных параметрах, некоторые возвращают результат. В данном разделе объясняются все команды, используемые в KTurtle. <screen># вперёд - это команда, c параметром, в нашем случае &mdash; это 100:
вперёд 100
</screen>
</para>
-<para
->Подробное описание всех команд, поддерживаемых &kturtle;, находится <link linkend="commands"
->здесь</link
->.</para>
+<para>Подробное описание всех команд, поддерживаемых &kturtle;, находится <link linkend="commands">здесь</link>.</para>
</sect2>
<sect2 id="number">
-<title
->Числа</title>
-<para
->Числа, используемые с &kturtle;, не отличаются от математических. </para>
-<para
->В Logo есть натуральные числа: <userinput
->0</userinput
->, <userinput
->1</userinput
->, <userinput
->2</userinput
->, <userinput
->3</userinput
->, <userinput
->4</userinput
->, <userinput
->5</userinput
->, ...; отрицательные: <userinput
->-1</userinput
->, <userinput
->-2</userinput
->, <userinput
->-3</userinput
->, ...; и десятичные дроби: <userinput
->0.1</userinput
->, <userinput
->3.14</userinput
->, <userinput
->33.3333</userinput
->, <userinput
->-5.05</userinput
->, <userinput
->-1.0</userinput
->. </para>
-<para
->Числа используются в <link linkend="math"
->математических расчётах</link
-> и <link linkend="questions"
->вопросах</link
->. они могут помещаться в <link linkend="containers"
->контейнеры</link
->.</para>
-<para
->Числа <glossterm
->выделяются</glossterm
-> синим цветом в <link linkend="the-code-editor"
->редакторе кода</link
->.</para>
+<title>Числа</title>
+<para>Числа, используемые с &kturtle;, не отличаются от математических. </para>
+<para>В Logo есть натуральные числа: <userinput>0</userinput>, <userinput>1</userinput>, <userinput>2</userinput>, <userinput>3</userinput>, <userinput>4</userinput>, <userinput>5</userinput>, ...; отрицательные: <userinput>-1</userinput>, <userinput>-2</userinput>, <userinput>-3</userinput>, ...; и десятичные дроби: <userinput>0.1</userinput>, <userinput>3.14</userinput>, <userinput>33.3333</userinput>, <userinput>-5.05</userinput>, <userinput>-1.0</userinput>. </para>
+<para>Числа используются в <link linkend="math">математических расчётах</link> и <link linkend="questions">вопросах</link>. они могут помещаться в <link linkend="containers">контейнеры</link>.</para>
+<para>Числа <glossterm>выделяются</glossterm> синим цветом в <link linkend="the-code-editor">редакторе кода</link>.</para>
</sect2>
<sect2 id="string">
-<title
->Строки</title>
-<para
->Пример: <screen>
+<title>Строки</title>
+<para>Пример: <screen>
напиши "Привет, я строка."
-</screen
-> В этом примере <userinput
->напиши</userinput
-> &mdash; команда, которой передаётся строка <userinput
->"Привет, я строка."</userinput
->. Строки начинаются и заканчиваются на <userinput
->"</userinput
->, так &kturtle; может определить, что это строка.</para>
-<para
->Строки можно помещать в <link linkend="containers"
->контейнеры</link
->.</para>
-<para
->Строки <glossterm
->выделяются</glossterm
-> тёмно-красным в <link linkend="the-code-editor"
->редакторе кода</link
->.</para>
+</screen> В этом примере <userinput>напиши</userinput> &mdash; команда, которой передаётся строка <userinput>"Привет, я строка."</userinput>. Строки начинаются и заканчиваются на <userinput>"</userinput>, так &kturtle; может определить, что это строка.</para>
+<para>Строки можно помещать в <link linkend="containers">контейнеры</link>.</para>
+<para>Строки <glossterm>выделяются</glossterm> тёмно-красным в <link linkend="the-code-editor">редакторе кода</link>.</para>
</sect2>
<sect2 id="name">
-<title
->Имена</title>
-<para
->Имена можно давать <link linkend="containers"
->контейнерам</link
-> (переменным) и <link linkend="learn"
->новым командам</link
->.</para>
-<para
->Имена не могут совпадать с именами команд. Например, нельзя назвать контейнер <link linkend="forward"
->вперёд</link
->.<screen>
+<title>Имена</title>
+<para>Имена можно давать <link linkend="containers">контейнерам</link> (переменным) и <link linkend="learn">новым командам</link>.</para>
+<para>Имена не могут совпадать с именами команд. Например, нельзя назвать контейнер <link linkend="forward">вперёд</link>.<screen>
# попытка использовать вперёд в качестве имени,
# но оно уже занято командой, так что при выполнении получим ошибку
вперёд = 20
# это работает:
вперёд 20
-</screen
-> Имена могут состоять из букв, цифр и символа подчёркивания (_), но первой всегда должна быть буква. </para>
-<para
->Подробно это изложено в разделе «<link linkend="containers"
->Контейнеры</link
->» и справке по команде «<link linkend="learn"
->выучи</link
->». </para>
+</screen> Имена могут состоять из букв, цифр и символа подчёркивания (_), но первой всегда должна быть буква. </para>
+<para>Подробно это изложено в разделе «<link linkend="containers">Контейнеры</link>» и справке по команде «<link linkend="learn">выучи</link>». </para>
</sect2>
<sect2 id="assignment">
-<title
->Присваивание</title>
-<para
->Присваивание производится символом <userinput
->=</userinput
->. В большинстве языков программирования лучше читать один символ <userinput
->=</userinput
-> не как «равно», а как «становится». Слово «равно» больше подходит к <userinput
->==</userinput
->, это используется в <link linkend="questions"
->вопросах</link
->.</para>
-<para
->Присваивание служит для помещения значения в <link linkend="containers"
->контейнер</link
-> и изменения значения в нём, например: <screen
->x = 10
+<title>Присваивание</title>
+<para>Присваивание производится символом <userinput>=</userinput>. В большинстве языков программирования лучше читать один символ <userinput>=</userinput> не как «равно», а как «становится». Слово «равно» больше подходит к <userinput>==</userinput>, это используется в <link linkend="questions">вопросах</link>.</para>
+<para>Присваивание служит для помещения значения в <link linkend="containers">контейнер</link> и изменения значения в нём, например: <screen>x = 10
# контейнер x теперь содержит число 10
W = "Сейчас мне столько лет: "
# контейнер W теперь содержит строку "Сейчас мне столько лет: "
@@ -173,712 +60,358 @@ W = "Сейчас мне столько лет: "
напиши W + x
</screen>
</para>
-<para
->Другие примеры приведены в разделе «<link linkend="containers"
->Контейнеры</link
->».</para>
+<para>Другие примеры приведены в разделе «<link linkend="containers">Контейнеры</link>».</para>
</sect2>
<sect2 id="math-symbols">
-<title
->Математические знаки</title>
-<para
->&kturtle; поддерживает все основные математические операции: сложение (<userinput
->+</userinput
->), вычитание (<userinput
->-</userinput
->), умножение (<userinput
->*</userinput
->), деление (<userinput
->/</userinput
->), использование скобок <userinput
->(</userinput
-> и <userinput
->)</userinput
->.</para>
-<para
->Описание использования и дополнительные примеры вы найдёте в разделе «<link linkend="math"
->Математические вычисления</link
->».</para>
+<title>Математические знаки</title>
+<para>&kturtle; поддерживает все основные математические операции: сложение (<userinput>+</userinput>), вычитание (<userinput>-</userinput>), умножение (<userinput>*</userinput>), деление (<userinput>/</userinput>), использование скобок <userinput>(</userinput> и <userinput>)</userinput>.</para>
+<para>Описание использования и дополнительные примеры вы найдёте в разделе «<link linkend="math">Математические вычисления</link>».</para>
</sect2>
<sect2 id="question">
-<title
->Вопросы</title>
-<para
->У программы можно спрашивать вопросы и получать на них ответы (истина или ложь).</para>
-<para
->Использование вопросов подробно описано в <link linkend="questions"
->соответствующем разделе</link
->.</para>
+<title>Вопросы</title>
+<para>У программы можно спрашивать вопросы и получать на них ответы (истина или ложь).</para>
+<para>Использование вопросов подробно описано в <link linkend="questions">соответствующем разделе</link>.</para>
</sect2>
<sect2 id="questions-glue">
-<title
->Склеивающие слова в вопросах</title>
-<para
->С помощью них можно соединять несколько вопросов. Это могут быть слова <userinput
->и</userinput
->, <userinput
->или</userinput
->, а также специальное слово <userinput
->не</userinput
->.</para>
-<para
->Использование склеивающих слов подробно описано в <link linkend="question-glue"
->соответствующем разделе</link
->.</para>
+<title>Склеивающие слова в вопросах</title>
+<para>С помощью них можно соединять несколько вопросов. Это могут быть слова <userinput>и</userinput>, <userinput>или</userinput>, а также специальное слово <userinput>не</userinput>.</para>
+<para>Использование склеивающих слов подробно описано в <link linkend="question-glue">соответствующем разделе</link>.</para>
</sect2>
<sect2 id="comment">
-<title
->Комментарии</title>
-<para
->Комментарии - это строки, начинающиеся с <userinput
->#</userinput
->. Например:<screen>
+<title>Комментарии</title>
+<para>Комментарии - это строки, начинающиеся с <userinput>#</userinput>. Например:<screen>
# это комментарий!
напиши "это не комментарий"
# напиши "а это - комментарий"
-</screen
-> Комментарии могут содержать разъяснения к коду, ещё комментарием можно сделать какую-то команду, чтобы она не выполнялась.</para>
-<para
->Комментарии <glossterm
->выделяются</glossterm
-> тёмно-жёлтым в <link linkend="the-code-editor"
->редакторе кода</link
->.</para>
+</screen> Комментарии могут содержать разъяснения к коду, ещё комментарием можно сделать какую-то команду, чтобы она не выполнялась.</para>
+<para>Комментарии <glossterm>выделяются</glossterm> тёмно-жёлтым в <link linkend="the-code-editor">редакторе кода</link>.</para>
</sect2>
</sect1>
<sect1 id="commands">
-<title
->Команды</title>
-<para
->Разные команды делают разные вещи, одни из них требуют дополнительную информацию, некоторые возвращают её. Далее мы опишем каждую из поддерживаемых команд. Заметьте, что такие команды <glossterm
->выделяются</glossterm
-> тёмно-зелёным в <link linkend="the-code-editor"
->редакторе кода</link
->.</para>
+<title>Команды</title>
+<para>Разные команды делают разные вещи, одни из них требуют дополнительную информацию, некоторые возвращают её. Далее мы опишем каждую из поддерживаемых команд. Заметьте, что такие команды <glossterm>выделяются</glossterm> тёмно-зелёным в <link linkend="the-code-editor">редакторе кода</link>.</para>
<sect2 id="moving-the-turtle">
-<title
->Двигаем Черепашку</title>
-<para
->Существует несколько команд для перемещения Черепашки по холсту.</para>
+<title>Двигаем Черепашку</title>
+<para>Существует несколько команд для перемещения Черепашки по холсту.</para>
<sect3 id="forward">
- <title
->вперёд (вп)</title>
+ <title>вперёд (вп)</title>
<variablelist>
- <varlistentry
->
- <term
->вперёд</term>
- <listitem
-><para
-><screen
->вперёд X</screen>
-<userinput
->вперёд</userinput
-> перемещает Черепашку на X пикселей вперёд. Когда перо опущено, Черепашка будет оставлять за собой след. Эта команда также может записываться как <userinput
->вп</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>вперёд</term>
+ <listitem><para><screen>вперёд X</screen>
+<userinput>вперёд</userinput> перемещает Черепашку на X пикселей вперёд. Когда перо опущено, Черепашка будет оставлять за собой след. Эта команда также может записываться как <userinput>вп</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="backward">
- <title
->назад (нд)</title>
+ <title>назад (нд)</title>
<variablelist>
- <varlistentry
->
- <term
->назад</term>
- <listitem
-><para
-><screen
->назад X</screen>
-<userinput
->назад</userinput
-> перемещает Черепашку назад на X пикселей. Когда перо опущено, Черепашку будет оставлять за собой след. Может так же записываться как <userinput
->нд</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>назад</term>
+ <listitem><para><screen>назад X</screen>
+<userinput>назад</userinput> перемещает Черепашку назад на X пикселей. Когда перо опущено, Черепашку будет оставлять за собой след. Может так же записываться как <userinput>нд</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="turnleft">
- <title
->налево (лв)</title>
+ <title>налево (лв)</title>
<variablelist>
- <varlistentry
->
- <term
->налево</term>
- <listitem
-><para
-><screen
->налево X</screen>
-Предписывает Черепашке повернуть на X градусов налево. Может записываться как <userinput
->лв</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>налево</term>
+ <listitem><para><screen>налево X</screen>
+Предписывает Черепашке повернуть на X градусов налево. Может записываться как <userinput>лв</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="turnright">
- <title
->направо (пр)</title>
+ <title>направо (пр)</title>
<variablelist>
- <varlistentry
->
- <term
->направо</term>
- <listitem
-><para
-><screen
->направо X</screen>
-Предписывает Черепашке повернуть на X градусов направо. Может записываться как <userinput
->пр</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>направо</term>
+ <listitem><para><screen>направо X</screen>
+Предписывает Черепашке повернуть на X градусов направо. Может записываться как <userinput>пр</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="direction">
- <title
->направление (нпр)</title>
+ <title>направление (нпр)</title>
<variablelist>
- <varlistentry
->
- <term
->направление</term>
- <listitem
-><para
-><screen
->направление X</screen>
-Устанавливает направление Черепашки на X градусов относительно 0, а не относительно предыдущего направления. Может записываться как <userinput
->нпр</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>направление</term>
+ <listitem><para><screen>направление X</screen>
+Устанавливает направление Черепашки на X градусов относительно 0, а не относительно предыдущего направления. Может записываться как <userinput>нпр</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="center">
- <title
->центр</title>
+ <title>центр</title>
<variablelist>
- <varlistentry
->
- <term
->центр</term>
- <listitem
-><para
-><screen
->центр</screen>
-Перемещает Черепашку в центр холста.</para
-></listitem>
+ <varlistentry>
+ <term>центр</term>
+ <listitem><para><screen>центр</screen>
+Перемещает Черепашку в центр холста.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="go">
- <title
->иди</title>
+ <title>иди</title>
<variablelist>
- <varlistentry
->
- <term
->иди</term>
- <listitem
-><para
-><screen
->иди X,Y</screen>
-Предписывают Черепашке занять определённое место на холсте. Это место находится на X пикселей от левой границы и на Y пикселей от верхней границы холста. Примечание: при перемещении Черепашка не будет оставлять след.</para
-></listitem>
+ <varlistentry>
+ <term>иди</term>
+ <listitem><para><screen>иди X,Y</screen>
+Предписывают Черепашке занять определённое место на холсте. Это место находится на X пикселей от левой границы и на Y пикселей от верхней границы холста. Примечание: при перемещении Черепашка не будет оставлять след.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="gox">
- <title
->иди_гор</title>
+ <title>иди_гор</title>
<variablelist>
- <varlistentry
->
- <term
->иди_гор</term>
- <listitem
-><para
-><screen
->иди_гор X</screen>
-<userinput
->иди_гор</userinput
-> используется для перемещения Черепашки на X <glossterm linkend="pixels"
->пикселей</glossterm
-> от левой границы холста, высота остаётся неизменной.</para
-></listitem>
+ <varlistentry>
+ <term>иди_гор</term>
+ <listitem><para><screen>иди_гор X</screen>
+<userinput>иди_гор</userinput> используется для перемещения Черепашки на X <glossterm linkend="pixels">пикселей</glossterm> от левой границы холста, высота остаётся неизменной.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="goy">
- <title
->иди_верт</title>
+ <title>иди_верт</title>
<variablelist>
- <varlistentry
->
- <term
->иди_верт</term>
- <listitem
-><para
-><screen
->иди_верт Y</screen>
-Используется для перемещения Черепашки на Y <glossterm linkend="pixels"
->пикселей</glossterm
-> от верхней границы холста, положение относительно левой границы остаётся неизменным.</para
-></listitem>
+ <varlistentry>
+ <term>иди_верт</term>
+ <listitem><para><screen>иди_верт Y</screen>
+Используется для перемещения Черепашки на Y <glossterm linkend="pixels">пикселей</glossterm> от верхней границы холста, положение относительно левой границы остаётся неизменным.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="pen">
-<title
->У Черепашки есть перо</title>
-<para
->У Черепашки есть перо, которым она рисует линию во время перемещения. Есть несколько команд для управления пером. В данном разделе они будут описаны подробно.</para>
+<title>У Черепашки есть перо</title>
+<para>У Черепашки есть перо, которым она рисует линию во время перемещения. Есть несколько команд для управления пером. В данном разделе они будут описаны подробно.</para>
<sect3 id="penup">
- <title
->перо_подними (пп)</title>
+ <title>перо_подними (пп)</title>
<variablelist>
- <varlistentry
->
- <term
->перо_подними</term>
- <listitem
-><para
-><screen
->перо_подними</screen>
-<userinput
->перо_подними</userinput
-> отрывает перо от холста. Пока перо оторвано, Черепашка не будет рисовать линию во время перемещений. Может записываться и как <userinput
->пп</userinput
->. См. также <userinput
->перо_опусти</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>перо_подними</term>
+ <listitem><para><screen>перо_подними</screen>
+<userinput>перо_подними</userinput> отрывает перо от холста. Пока перо оторвано, Черепашка не будет рисовать линию во время перемещений. Может записываться и как <userinput>пп</userinput>. См. также <userinput>перо_опусти</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="pendown">
- <title
->перо_опусти (по)</title>
+ <title>перо_опусти (по)</title>
<variablelist>
- <varlistentry
->
- <term
->перо_опусти</term>
- <listitem
-><para
-><screen
->перо_опусти</screen>
-<userinput
->перо_опусти</userinput
-> опускает перо на холст. Когда перо опущено, Черепашка рисует линию при перемещениях. Может записываться и как <userinput
->по</userinput
->. См. также <userinput
->перо_подними</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>перо_опусти</term>
+ <listitem><para><screen>перо_опусти</screen>
+<userinput>перо_опусти</userinput> опускает перо на холст. Когда перо опущено, Черепашка рисует линию при перемещениях. Может записываться и как <userinput>по</userinput>. См. также <userinput>перо_подними</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="setpenwidth">
- <title
->нов_ширина_пера (ншп)</title>
+ <title>нов_ширина_пера (ншп)</title>
<variablelist>
- <varlistentry
->
- <term
->нов_ширина_пера</term>
- <listitem
-><para
-><screen
->нов_ширина_пера X</screen>
-<userinput
->нов_ширина_пера</userinput
-> устанавливает ширину пера (толщину линии) в X <glossterm linkend="pixels"
->пикселей</glossterm
->. Может записываться и как <userinput
->ншп</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>нов_ширина_пера</term>
+ <listitem><para><screen>нов_ширина_пера X</screen>
+<userinput>нов_ширина_пера</userinput> устанавливает ширину пера (толщину линии) в X <glossterm linkend="pixels">пикселей</glossterm>. Может записываться и как <userinput>ншп</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="setfgcolor">
- <title
->нов_цвет_пера (нцп)</title>
+ <title>нов_цвет_пера (нцп)</title>
<variablelist>
- <varlistentry
->
- <term
->нов_цвет_пера</term>
- <listitem
-><para
-><screen
->нов_цвет_пера R,G,B</screen>
-<userinput
->нов_цвет_пера</userinput
-> устанавливает цвет пера. В качестве параметров указывается интенсивность <glossterm linkend="rgb"
->красной, зелёной и синей</glossterm
-> составляющих цвета (0..255). Может записываться и как <userinput
->нцп</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>нов_цвет_пера</term>
+ <listitem><para><screen>нов_цвет_пера R,G,B</screen>
+<userinput>нов_цвет_пера</userinput> устанавливает цвет пера. В качестве параметров указывается интенсивность <glossterm linkend="rgb">красной, зелёной и синей</glossterm> составляющих цвета (0..255). Может записываться и как <userinput>нцп</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="canvas">
-<title
->Команды для работы с холстом</title>
-<para
->Существует несколько команд для работы с холстом.</para>
+<title>Команды для работы с холстом</title>
+<para>Существует несколько команд для работы с холстом.</para>
<sect3 id="resizecanvas">
- <title
->нов_размер_холста (нрх)</title>
+ <title>нов_размер_холста (нрх)</title>
<variablelist>
<varlistentry>
- <term
->нов_размер_холста</term>
- <listitem
-><para
-><screen
->нов_размер_холста X,Y</screen>
-С помощью этой команды можно поменять размер холста. В качестве входных параметров задаются ширина X и высота Y в <glossterm linkend="pixels"
->пикселях</glossterm
->. Может записываться и как <userinput
->нрх</userinput
->.</para
-></listitem>
+ <term>нов_размер_холста</term>
+ <listitem><para><screen>нов_размер_холста X,Y</screen>
+С помощью этой команды можно поменять размер холста. В качестве входных параметров задаются ширина X и высота Y в <glossterm linkend="pixels">пикселях</glossterm>. Может записываться и как <userinput>нрх</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="setbgcolor">
- <title
->нов_цвет_холста (нцх)</title>
+ <title>нов_цвет_холста (нцх)</title>
<variablelist>
- <varlistentry
->
- <term
->нов_цвет_холста</term>
- <listitem
-><para
-><screen
->нов_цвет_холста R,G,B</screen>
-<userinput
->нов_цвет_холста</userinput
-> устанавливает цвет холста. Входными параметрами является <glossterm linkend="rgb"
->комбинация RGB</glossterm
->. Может записываться и как <userinput
->нцх</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>нов_цвет_холста</term>
+ <listitem><para><screen>нов_цвет_холста R,G,B</screen>
+<userinput>нов_цвет_холста</userinput> устанавливает цвет холста. Входными параметрами является <glossterm linkend="rgb">комбинация RGB</glossterm>. Может записываться и как <userinput>нцх</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="wrapon">
- <title
->обёртка_вкл</title>
+ <title>обёртка_вкл</title>
<variablelist>
- <varlistentry
->
- <term
->обёртка_вкл</term>
- <listitem
-><para
-><screen
->обёртка_вкл</screen>
-Этой командой вы устанавливаете <glossterm linkend="wrapping"
->обёртку холста</glossterm
->. Это значит, что при достижении края холста Черепашка не исчезнет, а окажется на его противоположной стороне.</para
-></listitem>
+ <varlistentry>
+ <term>обёртка_вкл</term>
+ <listitem><para><screen>обёртка_вкл</screen>
+Этой командой вы устанавливаете <glossterm linkend="wrapping">обёртку холста</glossterm>. Это значит, что при достижении края холста Черепашка не исчезнет, а окажется на его противоположной стороне.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="wrapoff">
- <title
->обёртка_выкл</title>
+ <title>обёртка_выкл</title>
<variablelist>
- <varlistentry
->
- <term
->обёртка_выкл</term>
- <listitem
-><para
-><screen
->обёртка_выкл</screen>
-Этой командой вы отключаете <glossterm linkend="wrapping"
->обёртку холста</glossterm
->. Это значит, что Черепашка может выйти за границы холста и «исчезнуть».</para
-></listitem>
+ <varlistentry>
+ <term>обёртка_выкл</term>
+ <listitem><para><screen>обёртка_выкл</screen>
+Этой командой вы отключаете <glossterm linkend="wrapping">обёртку холста</glossterm>. Это значит, что Черепашка может выйти за границы холста и «исчезнуть».</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="clean">
-<title
->Команды очистки</title>
-<para
->Существуют две команды очистки холста.</para>
+<title>Команды очистки</title>
+<para>Существуют две команды очистки холста.</para>
<sect3 id="clear">
- <title
->очисти (очс)</title>
+ <title>очисти (очс)</title>
<variablelist>
- <varlistentry
->
- <term
->очисти</term>
- <listitem
-><para
-><screen
->очисти</screen>
-Этой командой вы можете очистить холст от всех следов. Все остальное останется по-прежнему: позиция и угол направления Черепашки, цвет холста, видимость Черепашки и размер холста. Может записываться и как <userinput
->очс</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>очисти</term>
+ <listitem><para><screen>очисти</screen>
+Этой командой вы можете очистить холст от всех следов. Все остальное останется по-прежнему: позиция и угол направления Черепашки, цвет холста, видимость Черепашки и размер холста. Может записываться и как <userinput>очс</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="reset">
- <title
->сброс</title>
+ <title>сброс</title>
<variablelist>
- <varlistentry
->
- <term
->сброс</term>
- <listitem
-><para
-><screen
->сброс</screen>
-Очищает более объёмно, нежели команда <userinput
->очисти</userinput
->. После выполнения этой команды всё будет выглядеть так, как будто вы только что запустили KTurtle. Черепашка будет расположена в центре экрана, цвет холста будет белым, Черепашка рисует чёрную линию.</para
-></listitem>
+ <varlistentry>
+ <term>сброс</term>
+ <listitem><para><screen>сброс</screen>
+Очищает более объёмно, нежели команда <userinput>очисти</userinput>. После выполнения этой команды всё будет выглядеть так, как будто вы только что запустили KTurtle. Черепашка будет расположена в центре экрана, цвет холста будет белым, Черепашка рисует чёрную линию.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="sprites">
-<title
->Черепашка &mdash; это спрайт</title>
-<para
->Большинство людей и понятия не имеют, что такое спрайты, так вот, спрайты &mdash; это маленькие картинки, которые можно перемещать по экрану. Так что Черепашка &mdash; <glossterm linkend="sprites"
->спрайт</glossterm
->. </para>
-<para
->Ниже будет дано подробное описание всех команд работы со спрайтами.</para>
-<para
->Текущая версия &kturtle; пока не поддерживает использование спрайтов, отличных от Черепашки. В ближайшем будущем вы сможете заменить Черепашку на любой другой персонаж какой хотите.</para>
+<title>Черепашка &mdash; это спрайт</title>
+<para>Большинство людей и понятия не имеют, что такое спрайты, так вот, спрайты &mdash; это маленькие картинки, которые можно перемещать по экрану. Так что Черепашка &mdash; <glossterm linkend="sprites">спрайт</glossterm>. </para>
+<para>Ниже будет дано подробное описание всех команд работы со спрайтами.</para>
+<para>Текущая версия &kturtle; пока не поддерживает использование спрайтов, отличных от Черепашки. В ближайшем будущем вы сможете заменить Черепашку на любой другой персонаж какой хотите.</para>
<sect3 id="spriteshow">
- <title
->покажи</title>
+ <title>покажи</title>
<variablelist>
- <varlistentry
->
- <term
->покажи (пж)</term>
- <listitem
-><para
-><screen
->покажи</screen>
-Делает Черепашку видимой после того, как она была скрыта. Так же может записываться как <userinput
->пж</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>покажи (пж)</term>
+ <listitem><para><screen>покажи</screen>
+Делает Черепашку видимой после того, как она была скрыта. Так же может записываться как <userinput>пж</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="spritehide">
- <title
->спрячь (сч)</title>
+ <title>спрячь (сч)</title>
<variablelist>
- <varlistentry
->
- <term
->спрячь</term>
- <listitem
-><para
-><screen
->спрячь</screen>
-Скрывает Черепашку. Это полезно, когда Черепашка неуместна в ваших рисунках. Может записываться и как <userinput
->сч</userinput
->.</para
-></listitem>
+ <varlistentry>
+ <term>спрячь</term>
+ <listitem><para><screen>спрячь</screen>
+Скрывает Черепашку. Это полезно, когда Черепашка неуместна в ваших рисунках. Может записываться и как <userinput>сч</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="writing">
-<title
->Может ли Черепашка печатать на холсте?</title>
-<para
->Черепашка может написать всё, что вы ей прикажете.</para>
+<title>Может ли Черепашка печатать на холсте?</title>
+<para>Черепашка может написать всё, что вы ей прикажете.</para>
<sect3 id="print">
- <title
->напиши</title>
+ <title>напиши</title>
<variablelist>
- <varlistentry
->
- <term
->напиши</term>
- <listitem
-><para
-><screen
->напиши X</screen>
-Команда <userinput
->напиши</userinput
-> используется для указания Черепашки написать что-либо на холсте. В качестве входных параметров можно передавать строки или числа. Вы можете печатать различные числа и строки, комбинируя их вместе оператором «+». Вот маленький пример. <screen
->год = 2003
+ <varlistentry>
+ <term>напиши</term>
+ <listitem><para><screen>напиши X</screen>
+Команда <userinput>напиши</userinput> используется для указания Черепашки написать что-либо на холсте. В качестве входных параметров можно передавать строки или числа. Вы можете печатать различные числа и строки, комбинируя их вместе оператором «+». Вот маленький пример. <screen>год = 2003
автор = "Сиес"
напиши автор + " начал проект KTurtle в " + год + " году и до сих пор с удовольствием работает над ним!"
</screen>
- </para
-></listitem>
+ </para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="fontsize">
- <title
->нов_размер_шрифта</title>
+ <title>нов_размер_шрифта</title>
<variablelist>
- <varlistentry
->
- <term
->нов_размер_шрифта</term>
- <listitem
-><para
-><screen
->нов_размер_шрифта X</screen>
-Устанавливает размер шрифта, используемого для печати. Входной параметр один, он должен быть числом. Размер задаётся в <glossterm linkend="pixels"
->пикселях</glossterm
->.</para
-></listitem>
+ <varlistentry>
+ <term>нов_размер_шрифта</term>
+ <listitem><para><screen>нов_размер_шрифта X</screen>
+Устанавливает размер шрифта, используемого для печати. Входной параметр один, он должен быть числом. Размер задаётся в <glossterm linkend="pixels">пикселях</glossterm>.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>
<sect2 id="random">
-<title
->Команды для получения случайных чисел</title>
-<para
->Команда, которая «бросает игральную кость» для вас &mdash; <userinput
->random</userinput
->: полезна для получения неожиданных результатов.</para>
+<title>Команды для получения случайных чисел</title>
+<para>Команда, которая «бросает игральную кость» для вас &mdash; <userinput>random</userinput>: полезна для получения неожиданных результатов.</para>
<variablelist>
- <varlistentry
->
- <term
->случайное</term>
- <listitem
-><para
-><screen
->случайное X,Y</screen>
-<userinput
->случайное</userinput
-> &mdash; команда, которая имеет входные и выходные параметры. На входе требуются два числа, первое (X) задаёт нижний порог получаемых чисел (минимум), второе (Y) задаёт верхний порог (максимум). Выходной параметр &mdash; это псевдослучайное число, которое не меньше минимума и не больше максимума. Вот маленький пример:<screen>
+ <varlistentry>
+ <term>случайное</term>
+ <listitem><para><screen>случайное X,Y</screen>
+<userinput>случайное</userinput> &mdash; команда, которая имеет входные и выходные параметры. На входе требуются два числа, первое (X) задаёт нижний порог получаемых чисел (минимум), второе (Y) задаёт верхний порог (максимум). Выходной параметр &mdash; это псевдослучайное число, которое не меньше минимума и не больше максимума. Вот маленький пример:<screen>
повтори 500 [
x = случайное 1,20
вперёд x
налево 10 - x
]
-</screen
->Используя <userinput
->случайное</userinput
->, вы можете привнести немного «хаоса» в вашу программу.</para
-></listitem>
+</screen>Используя <userinput>случайное</userinput>, вы можете привнести немного «хаоса» в вашу программу.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dialogs">
-<title
->Взаимодействие через диалоги</title>
-<para
->Диалог &mdash; небольшое всплывающее окно. Оно выводит сообщение или запрашивает что-либо. В &kturtle; есть две команды для диалогов: <userinput
->сообщение</userinput
-> и <userinput
->окно_вопроса</userinput
->.</para>
+<title>Взаимодействие через диалоги</title>
+<para>Диалог &mdash; небольшое всплывающее окно. Оно выводит сообщение или запрашивает что-либо. В &kturtle; есть две команды для диалогов: <userinput>сообщение</userinput> и <userinput>окно_вопроса</userinput>.</para>
<sect3 id="message">
- <title
->сообщение</title>
+ <title>сообщение</title>
<variablelist>
- <varlistentry
->
- <term
->сообщение</term>
- <listitem
-><para
-><screen
->сообщение X</screen>
-Команде <userinput
->сообщение</userinput
-> требуется передать <link linkend="string"
->строку</link
->, она будет показана в появившемся окне. <screen
->год = 2003
+ <varlistentry>
+ <term>сообщение</term>
+ <listitem><para><screen>сообщение X</screen>
+Команде <userinput>сообщение</userinput> требуется передать <link linkend="string">строку</link>, она будет показана в появившемся окне. <screen>год = 2003
автор = "Сиес"
напиши автор + " начал проект KTurtle в " + год + " году и до сих пор с удовольствием работает над ним!"
</screen>
- </para
-></listitem>
+ </para></listitem>
</varlistentry>
</variablelist>
</sect3>
<sect3 id="inputwindow">
- <title
->окно_вопроса</title>
+ <title>окно_вопроса</title>
<variablelist>
- <varlistentry
->
- <term
->окно_вопроса</term>
- <listitem
-><para
-><screen
->окно_вопроса X</screen>
-Команде <userinput
->окно_вопроса</userinput
-> требуется передать <link linkend="string"
->строку</link
->, она будет показана в появившемся окне, аналогично команде <link linkend="message"
->сообщение</link
->. Но, кроме этого, в окне будет поле для ввода <link linkend="number"
->числа</link
-> или <link linkend="string"
->текста</link
->. Например <screen>
+ <varlistentry>
+ <term>окно_вопроса</term>
+ <listitem><para><screen>окно_вопроса X</screen>
+Команде <userinput>окно_вопроса</userinput> требуется передать <link linkend="string">строку</link>, она будет показана в появившемся окне, аналогично команде <link linkend="message">сообщение</link>. Но, кроме этого, в окне будет поле для ввода <link linkend="number">числа</link> или <link linkend="string">текста</link>. Например <screen>
результат = окно_вопроса "Сколько вам лет?"
осталось = 18 - результат
напиши "Через " + осталось + " лет вам будет разрешено водить машину."
-</screen
-> Если пользователь ничего не введёт и просто закроет окно, <link linkend="containers"
->контейнер</link
-> <userinput
->осталось</userinput
-> будет пустой.</para
-></listitem>
+</screen> Если пользователь ничего не введёт и просто закроет окно, <link linkend="containers">контейнер</link> <userinput>осталось</userinput> будет пустой.</para></listitem>
</varlistentry>
</variablelist>
</sect3>
@@ -889,41 +422,23 @@ W = "Сейчас мне столько лет: "
<sect1 id="containers">
-<title
->Контейнеры</title>
-<para
->Контейнеры &mdash; это символы или слова, которые используются программистом для хранения чисел или текста. Контейнеры, содержащие числа, называются переменными, а содержащие текст &mdash; <link linkend="string"
->строками</link
->.</para>
+<title>Контейнеры</title>
+<para>Контейнеры &mdash; это символы или слова, которые используются программистом для хранения чисел или текста. Контейнеры, содержащие числа, называются переменными, а содержащие текст &mdash; <link linkend="string">строками</link>.</para>
-<para
->Контейнеры до первого их использования ничего не содержат. Вот пример:<screen>
+<para>Контейнеры до первого их использования ничего не содержат. Вот пример:<screen>
напиши N
-</screen
-> Не будет ничего напечатано. Если мы будет использовать <link linkend="math"
->математические</link
-> операции с пустыми контейнерами, то получим ошибки. </para>
+</screen> Не будет ничего напечатано. Если мы будет использовать <link linkend="math">математические</link> операции с пустыми контейнерами, то получим ошибки. </para>
<sect2 id="variables">
-<title
->Переменные: числовые контейнеры</title>
-<para
->Давайте начнём с небольшого примера: <screen>
+<title>Переменные: числовые контейнеры</title>
+<para>Давайте начнём с небольшого примера: <screen>
x = 3
напиши x
-</screen
-> В первой строке символ <userinput
->x</userinput
-> объявляется переменной (числовым контейнером). Как вы можете увидеть, значение переменной <userinput
->x</userinput
-> устанавливается равной трём. На второй строке это значение выводится на печать.</para>
-<para
->Помните, что если мы хотим напечатать не содержимое контейнера, а строку «x», мы должны написать <screen
->напиши "x"
+</screen> В первой строке символ <userinput>x</userinput> объявляется переменной (числовым контейнером). Как вы можете увидеть, значение переменной <userinput>x</userinput> устанавливается равной трём. На второй строке это значение выводится на печать.</para>
+<para>Помните, что если мы хотим напечатать не содержимое контейнера, а строку «x», мы должны написать <screen>напиши "x"
</screen>
</para>
-<para
->Это было совсем просто, вот пример посложнее: <screen>
+<para>Это было совсем просто, вот пример посложнее: <screen>
A = 2004
B = 25
C = A + B
@@ -936,316 +451,148 @@ C = A + B
назад 30
# следующая команда напечатает "1979"
напиши A - B
-</screen
-> В первых двух строках переменные <userinput
->A</userinput
-> и <userinput
->B</userinput
-> устанавливаются равными 2004 и 25. В третьей строке переменной <userinput
->С</userinput
-> присваивается результат <userinput
->A + B</userinput
->, который равен 2029. Остальное в примере &mdash; три команды печати на холсте с командой <userinput
->назад 30</userinput
-> между ними. Команда <userinput
->назад 30</userinput
-> используется здесь для уверенности в том, что текст будет выводится на новой строке. В данном примере также демонстрируется, как переменные могут быть использованы в <link linkend="math"
->математических</link
-> расчётах.</para>
+</screen> В первых двух строках переменные <userinput>A</userinput> и <userinput>B</userinput> устанавливаются равными 2004 и 25. В третьей строке переменной <userinput>С</userinput> присваивается результат <userinput>A + B</userinput>, который равен 2029. Остальное в примере &mdash; три команды печати на холсте с командой <userinput>назад 30</userinput> между ними. Команда <userinput>назад 30</userinput> используется здесь для уверенности в том, что текст будет выводится на новой строке. В данном примере также демонстрируется, как переменные могут быть использованы в <link linkend="math">математических</link> расчётах.</para>
</sect2>
<sect2 id="strings">
-<title
->Строки: текстовые контейнеры</title>
-<para
->Обычный текст заключается в кавычки, например: <screen>
+<title>Строки: текстовые контейнеры</title>
+<para>Обычный текст заключается в кавычки, например: <screen>
напиши "Привет, программист!"
-</screen
-> То, что между кавычками, называется <link linkend="strings"
->строкой</link
->.</para>
-<para
->Строки во многом похожи на <link linkend="containers"
->переменные</link
->. Главное же отличие состоит в том, что строки не могут быть использованы в <link linkend="math"
->математических выражениях</link
-> и <link linkend="questions"
->вопросах</link
->. Пример использования строк: <screen>
+</screen> То, что между кавычками, называется <link linkend="strings">строкой</link>.</para>
+<para>Строки во многом похожи на <link linkend="containers">переменные</link>. Главное же отличие состоит в том, что строки не могут быть использованы в <link linkend="math">математических выражениях</link> и <link linkend="questions">вопросах</link>. Пример использования строк: <screen>
x = "Привет "
имя = окно_вопроса "Введите своё имя..."
напиши x + ", " + имя + ". Как дела?"
-</screen
-> В первой строке x присваивается текст «Привет». Затем строке <userinput
->name</userinput
-> присваивается результат выполнения команды <userinput
->окно_вопроса</userinput
-> и на холсте печатается комбинация четырёх строк.</para>
-<para
->Эта программа спрашивает ваше имя. Когда вы вводите, к примеру, имя «Павел», программа выводит на печать «Привет, Павел. Как дела?». Пожалуйста, не забывайте, что «+» &mdash; единственная математическая операция, которая может использоваться при работе со строками.</para>
+</screen> В первой строке x присваивается текст «Привет». Затем строке <userinput>name</userinput> присваивается результат выполнения команды <userinput>окно_вопроса</userinput> и на холсте печатается комбинация четырёх строк.</para>
+<para>Эта программа спрашивает ваше имя. Когда вы вводите, к примеру, имя «Павел», программа выводит на печать «Привет, Павел. Как дела?». Пожалуйста, не забывайте, что «+» &mdash; единственная математическая операция, которая может использоваться при работе со строками.</para>
</sect2>
</sect1>
<sect1 id="math">
-<title
->Может ли Черепашка делать вычисления?</title>
-<para
->Да, Черепашке под силу заниматься математическими вычислениями. Вы можете складывать (+), вычитать (-), умножать (*) и делить (/). Вот пример, демонстрирующий использование всех этих команд.<screen>
+<title>Может ли Черепашка делать вычисления?</title>
+<para>Да, Черепашке под силу заниматься математическими вычислениями. Вы можете складывать (+), вычитать (-), умножать (*) и делить (/). Вот пример, демонстрирующий использование всех этих команд.<screen>
a = 20 - 5
b = 15 * 2
c = 30 / 30
d = 1 + 1
напиши "a: "+a+", b: "+b+", c: "+c+", d: "+d
-</screen
-> Знаете ли вы, какие значения примут a, b, c и d? Обратите внимание на использование символа <link linkend="assignment"
->присваивания</link
-> <userinput
->=</userinput
->.</para>
-<para
->Если в программе вам нужно вычислить простое выражение, вы можете поступать следующим образом: <screen
->напиши 2004-12
-</screen
-></para>
-<para
->Вот пример с приоритетом вычислений: <screen>
+</screen> Знаете ли вы, какие значения примут a, b, c и d? Обратите внимание на использование символа <link linkend="assignment">присваивания</link> <userinput>=</userinput>.</para>
+<para>Если в программе вам нужно вычислить простое выражение, вы можете поступать следующим образом: <screen>напиши 2004-12
+</screen></para>
+<para>Вот пример с приоритетом вычислений: <screen>
напиши ( ( 20 - 5 ) * 2 / 30 ) + 1
-</screen
-> Выражение в скобках будет вычислено первым. В данном примере сначала будет получена разность 20 – 5, затем полученное значение будет умножено на 2, поделено на 30, и напоследок будет добавлена единица (результат равен 2).</para>
+</screen> Выражение в скобках будет вычислено первым. В данном примере сначала будет получена разность 20 – 5, затем полученное значение будет умножено на 2, поделено на 30, и напоследок будет добавлена единица (результат равен 2).</para>
</sect1>
<sect1 id="questions">
-<title
->Задаём вопросы, получаем ответы...</title>
-<para
->В следующем разделе мы обсудим команды <link linkend="controlling-execution"
->контроля выполнения</link
->: <link linkend="if"
-><userinput
->если</userinput
-></link
-> и <link linkend="while"
-><userinput
->пока</userinput
-></link
->. В этом разделе мы будем использовать команду <userinput
->если</userinput
-> для объяснения вопросов.</para>
+<title>Задаём вопросы, получаем ответы...</title>
+<para>В следующем разделе мы обсудим команды <link linkend="controlling-execution">контроля выполнения</link>: <link linkend="if"><userinput>если</userinput></link> и <link linkend="while"><userinput>пока</userinput></link>. В этом разделе мы будем использовать команду <userinput>если</userinput> для объяснения вопросов.</para>
<sect2 id="q">
-<title
->Вопросы</title>
-<para
->Простой пример с вопросом: <screen>
+<title>Вопросы</title>
+<para>Простой пример с вопросом: <screen>
x = 6
если x &gt; 5 [
напиши "hello"
]
-</screen
-> В данном примере вопросом является <userinput
->x &gt; 5</userinput
->. Если будет получен ответ «истина» (true), будут выполнены команды в скобках. Вопросы &mdash; важная часть программирования. Чаще всего они используются вместе с <link linkend="controlling-execution"
->операторами контроля</link
->, такими как <link linkend="if"
-><userinput
->если</userinput
-></link
->. Все числа и <link linkend="variables"
->переменные</link
-> (числовые контейнеры) могут сравниваться друг с другом с помощью вопросов.</para>
-<para
->Вот возможные вопросы: <table>
-<title
->Типы вопросов</title>
+</screen> В данном примере вопросом является <userinput>x &gt; 5</userinput>. Если будет получен ответ «истина» (true), будут выполнены команды в скобках. Вопросы &mdash; важная часть программирования. Чаще всего они используются вместе с <link linkend="controlling-execution">операторами контроля</link>, такими как <link linkend="if"><userinput>если</userinput></link>. Все числа и <link linkend="variables">переменные</link> (числовые контейнеры) могут сравниваться друг с другом с помощью вопросов.</para>
+<para>Вот возможные вопросы: <table>
+<title>Типы вопросов</title>
<tgroup cols="3">
<tbody>
<row>
-<entry
-><userinput
->a == b</userinput
-></entry>
-<entry
->равенство</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> равно <userinput
->b</userinput
-></entry>
+<entry><userinput>a == b</userinput></entry>
+<entry>равенство</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> равно <userinput>b</userinput></entry>
</row>
<row>
-<entry
-><userinput
->a != b</userinput
-></entry>
-<entry
->неравенство</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> не равно <userinput
->b</userinput
-></entry>
+<entry><userinput>a != b</userinput></entry>
+<entry>неравенство</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> не равно <userinput>b</userinput></entry>
</row>
<row>
-<entry
-><userinput
->a &gt; b</userinput
-></entry>
-<entry
->больше</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> больше <userinput
->b</userinput
-></entry>
+<entry><userinput>a &gt; b</userinput></entry>
+<entry>больше</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> больше <userinput>b</userinput></entry>
</row>
<row>
-<entry
-><userinput
->a &lt; b</userinput
-></entry>
-<entry
->меньше</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> меньше <userinput
->b</userinput
-></entry>
+<entry><userinput>a &lt; b</userinput></entry>
+<entry>меньше</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> меньше <userinput>b</userinput></entry>
</row>
<row>
-<entry
-><userinput
->a &gt;= b</userinput
-></entry>
-<entry
->больше или равно</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> больше или равно <userinput
->b</userinput
-></entry>
+<entry><userinput>a &gt;= b</userinput></entry>
+<entry>больше или равно</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> больше или равно <userinput>b</userinput></entry>
</row>
<row>
-<entry
-><userinput
->a &lt;= b</userinput
-></entry>
-<entry
->меньше или равно</entry>
-<entry
->ответ «истина» («true»), если <userinput
->a</userinput
-> меньше или равно <userinput
->b</userinput
-></entry>
+<entry><userinput>a &lt;= b</userinput></entry>
+<entry>меньше или равно</entry>
+<entry>ответ «истина» («true»), если <userinput>a</userinput> меньше или равно <userinput>b</userinput></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
-<para
->Вопросы <glossterm
->подсвечиваются</glossterm
-> (выделяются) голубым в <link linkend="the-code-editor"
->редакторе кода</link
->.</para
->
+<para>Вопросы <glossterm>подсвечиваются</glossterm> (выделяются) голубым в <link linkend="the-code-editor">редакторе кода</link>.</para>
</sect2>
<sect2 id="question-glue">
-<title
->Вопросный клей</title>
-<para
->Вопросы также могут быть совмещены друг с другом с помощью клея. Это позволяет использовать несколько вопросов как один большой. <screen>
+<title>Вопросный клей</title>
+<para>Вопросы также могут быть совмещены друг с другом с помощью клея. Это позволяет использовать несколько вопросов как один большой. <screen>
a = 1
b = 5
если (a &lt; 5) и (b == 5) [
напиши "hello"
]
-</screen
-> В этом вопросе «склеивающее слово» &mdash; <userinput
->и</userinput
->, оно используется, чтобы совместить два вопроса (a &lt; 5, b==5) вместе. Если с одной стороны результатом будет «ложь», то и ответ на весь вопрос будет «ложь», потому, что с этим «склеивающим словом» обе стороны должны быть равны «истина» для получения ответа на весь вопрос «истина». Не забывайте использовать скобки для выставления приоритетов вопросов.</para>
+</screen> В этом вопросе «склеивающее слово» &mdash; <userinput>и</userinput>, оно используется, чтобы совместить два вопроса (a &lt; 5, b==5) вместе. Если с одной стороны результатом будет «ложь», то и ответ на весь вопрос будет «ложь», потому, что с этим «склеивающим словом» обе стороны должны быть равны «истина» для получения ответа на весь вопрос «истина». Не забывайте использовать скобки для выставления приоритетов вопросов.</para>
-<para
->Вот краткий обзор управляющих операторов, более детально они описаны ниже: <table>
-<title
->«Склеивающие слова» для вопросов</title>
+<para>Вот краткий обзор управляющих операторов, более детально они описаны ниже: <table>
+<title>«Склеивающие слова» для вопросов</title>
<tgroup cols="2">
<tbody>
<row>
-<entry
-><userinput
->и</userinput
-></entry>
-<entry
->Обе стороны должны быть равны «истина» для получения ответа «истина» на весь вопрос.</entry>
+<entry><userinput>и</userinput></entry>
+<entry>Обе стороны должны быть равны «истина» для получения ответа «истина» на весь вопрос.</entry>
</row>
<row>
-<entry
-><userinput
->или</userinput
-></entry>
-<entry
->Если хотя бы одна сторона равна «истина», то и ответ будет «истина».</entry>
+<entry><userinput>или</userinput></entry>
+<entry>Если хотя бы одна сторона равна «истина», то и ответ будет «истина».</entry>
</row>
<row>
-<entry
-><userinput
->не</userinput
-></entry>
-<entry
->Только если обе стороны «ложь», ответ будет «ложь».</entry>
+<entry><userinput>не</userinput></entry>
+<entry>Только если обе стороны «ложь», ответ будет «ложь».</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
-<para
->Склеивающие слова <glossterm
->подсвечиваются</glossterm
-> фиолетовым в <link linkend="the-code-editor"
->редакторе кода</link
->.</para>
+<para>Склеивающие слова <glossterm>подсвечиваются</glossterm> фиолетовым в <link linkend="the-code-editor">редакторе кода</link>.</para>
<sect3 id="and">
-<title
->и</title>
-<para
->Если вопросы соединяются при помощи <userinput
->и</userinput
->, для получения общего ответа «истина», они все должны быть истинными, например: <screen>
+<title>и</title>
+<para>Если вопросы соединяются при помощи <userinput>и</userinput>, для получения общего ответа «истина», они все должны быть истинными, например: <screen>
a = 1
b = 5
если ((a &lt; 10) и (b == 5)) и (a &lt; b) [
напиши "хм"
]
-</screen
-></para>
+</screen></para>
</sect3>
<sect3 id="or">
-<title
->или</title>
-<para
->Если ответ хотя бы на один из вопросов &mdash; «истина», то и общий ответ будет таким же, например: <screen>
+<title>или</title>
+<para>Если ответ хотя бы на один из вопросов &mdash; «истина», то и общий ответ будет таким же, например: <screen>
a = 1
b = 5
если ((a &lt; 10) или (b == 10)) или (a == 0) [
напиши "хм"
]
-</screen
-></para>
+</screen></para>
</sect3>
<sect3 id="not">
-<title
->не</title>
-<para
->Это специальная приставка, меняющая ответ на противоположный, например: <screen>
+<title>не</title>
+<para>Это специальная приставка, меняющая ответ на противоположный, например: <screen>
a = 1
b = 5
если не ((a &lt; 10) и (b == 5)) [
@@ -1255,14 +602,7 @@ b = 5
[
напиши "не хм ;-)"
]
-</screen
-> В этом примере ответ на заданный вопрос &mdash; «истина», а приставка <userinput
->не</userinput
-> изменяет это на «ложь», так что на <link linkend="the-canvas"
->холсте</link
-> будет напечатано <userinput
->"не хм ;-)"</userinput
->.</para>
+</screen> В этом примере ответ на заданный вопрос &mdash; «истина», а приставка <userinput>не</userinput> изменяет это на «ложь», так что на <link linkend="the-canvas">холсте</link> будет напечатано <userinput>"не хм ;-)"</userinput>.</para>
</sect3>
</sect2>
@@ -1270,145 +610,69 @@ b = 5
</sect1>
<sect1 id="controlling-execution">
-<title
->Контроль над выполнением</title>
-<para
->Управляющие операторы позволяют вам контролировать процесс выполнения (о чём говорит само их название).</para>
-<para
->Управляющие операторы <glossterm
->выделяются</glossterm
-> тёмно-зелёным цветом и полужирным начертанием шрифта. Квадратные скобки, используемые вместе с ними, выделяются светло-зелёным.</para>
+<title>Контроль над выполнением</title>
+<para>Управляющие операторы позволяют вам контролировать процесс выполнения (о чём говорит само их название).</para>
+<para>Управляющие операторы <glossterm>выделяются</glossterm> тёмно-зелёным цветом и полужирным начертанием шрифта. Квадратные скобки, используемые вместе с ними, выделяются светло-зелёным.</para>
<sect2 id="wait">
-<title
->Может ли Черепашка ждать?</title>
-<para
->Если вы уже немного попрактиковались в программировании в KTurtle, вы могли заметить, что Черепашка может рисовать чересчур быстро. Следующая команда позволяет избежать этого.</para>
+<title>Может ли Черепашка ждать?</title>
+<para>Если вы уже немного попрактиковались в программировании в KTurtle, вы могли заметить, что Черепашка может рисовать чересчур быстро. Следующая команда позволяет избежать этого.</para>
<variablelist>
<varlistentry>
- <term
->жди</term>
- <listitem
-><para
-><screen
->жди X</screen>
-<userinput
->жди</userinput
-> указывает Черепашке подождать X секунд.<screen>
+ <term>жди</term>
+ <listitem><para><screen>жди X</screen>
+<userinput>жди</userinput> указывает Черепашке подождать X секунд.<screen>
повтори 36 [
вперёд 5
направо 10
жди 0.5
]
-</screen
-> Данный код рисует круг, при этом после каждого шага Черепашка будет ждать полсекунды. Это создаёт впечатление неторопливого движения.</para
-></listitem>
+</screen> Данный код рисует круг, при этом после каждого шага Черепашка будет ждать полсекунды. Это создаёт впечатление неторопливого движения.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="if">
-<title
->Условное выполнение</title>
+<title>Условное выполнение</title>
<variablelist>
<varlistentry>
- <term
->если</term>
- <listitem
-><para
-><screen
->если <link linkend="questions"
->вопрос</link
-> [ ... ]</screen>
-Код, расположенный между скобками, будет выполнен только тогда, когда ответом на вопрос будет «истина». Для более подробной информации прочитайте раздел «<link linkend="questions"
->Вопросы</link
->».<screen>
+ <term>если</term>
+ <listitem><para><screen>если <link linkend="questions">вопрос</link> [ ... ]</screen>
+Код, расположенный между скобками, будет выполнен только тогда, когда ответом на вопрос будет «истина». Для более подробной информации прочитайте раздел «<link linkend="questions">Вопросы</link>».<screen>
x = 6
если x &gt; 5 [
напиши "x больше пяти!"
]
-</screen
-> В первой строке контейнеру <userinput
->x</userinput
-> присваивается 6. Во второй задаётся <link linkend="questions"
->вопрос</link
-> <userinput
->x &gt; 5</userinput
->. Если ответом на него будет «истина», управляющий оператор <userinput
->если</userinput
-> позволит выполнить код, расположенный между скобками.</para
-></listitem>
+</screen> В первой строке контейнеру <userinput>x</userinput> присваивается 6. Во второй задаётся <link linkend="questions">вопрос</link> <userinput>x &gt; 5</userinput>. Если ответом на него будет «истина», управляющий оператор <userinput>если</userinput> позволит выполнить код, расположенный между скобками.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="while">
-<title
->Цикл «пока»</title>
+<title>Цикл «пока»</title>
<variablelist>
<varlistentry>
- <term
->пока</term>
- <listitem
-><para
-><screen
->пока <link linkend="questions"
->вопрос</link
-> [ ... ]</screen>
-Управляющий оператор <userinput
->пока</userinput
-> немного похож на <link linkend="if"
-><userinput
->если</userinput
-></link
->. Разница в том, что <userinput
->пока</userinput
-> будет повторять код (цикл), расположенный между скобками, до тех пор, пока ответом на <link linkend="questions"
->вопрос</link
-> не станет «ложь».<screen>
+ <term>пока</term>
+ <listitem><para><screen>пока <link linkend="questions">вопрос</link> [ ... ]</screen>
+Управляющий оператор <userinput>пока</userinput> немного похож на <link linkend="if"><userinput>если</userinput></link>. Разница в том, что <userinput>пока</userinput> будет повторять код (цикл), расположенный между скобками, до тех пор, пока ответом на <link linkend="questions">вопрос</link> не станет «ложь».<screen>
x = 1
пока x &lt; 5 [
вперёд 10
жди 1
x = x + 1
]
-</screen
-> В первой строке <userinput
->x</userinput
-> присваивается 1. Во второй строке задаётся <link linkend="questions"
->вопрос</link
-> <userinput
->x &lt; 5</userinput
->. Так как ответ на этот вопрос &mdash; «истина», оператор <userinput
->пока</userinput
-> начнёт выполнять код между скобками, пока ответом на вопрос не станет «ложь». В данном случае код между скобками будет выполнен 4 раза потому, что на каждом прогоне в пятой строке <userinput
->x</userinput
-> будет увеличиваться на 1.</para
-></listitem>
+</screen> В первой строке <userinput>x</userinput> присваивается 1. Во второй строке задаётся <link linkend="questions">вопрос</link> <userinput>x &lt; 5</userinput>. Так как ответ на этот вопрос &mdash; «истина», оператор <userinput>пока</userinput> начнёт выполнять код между скобками, пока ответом на вопрос не станет «ложь». В данном случае код между скобками будет выполнен 4 раза потому, что на каждом прогоне в пятой строке <userinput>x</userinput> будет увеличиваться на 1.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="else">
-<title
->Если нет, «иначе»</title>
+<title>Если нет, «иначе»</title>
<variablelist>
<varlistentry>
- <term
->иначе</term>
- <listitem
-><para
-><screen
->если вопрос [ ... ] иначе [ ... ]</screen>
-Может быть дополнением к оператору условного выполнения <link linkend="if"
-><userinput
->если</userinput
-></link
->. Код между скобками, расположенными после <userinput
->иначе</userinput
-> будет выполнен тогда, когда ответом на <link linkend="questions"
->вопрос</link
-> будет «ложь». <screen>
+ <term>иначе</term>
+ <listitem><para><screen>если вопрос [ ... ] иначе [ ... ]</screen>
+Может быть дополнением к оператору условного выполнения <link linkend="if"><userinput>если</userinput></link>. Код между скобками, расположенными после <userinput>иначе</userinput> будет выполнен тогда, когда ответом на <link linkend="questions">вопрос</link> будет «ложь». <screen>
сброс
x = 4
если x &gt; 5 [
@@ -1418,54 +682,23 @@ x = 4
[
напиши "x меньше пяти!"
]
-</screen
-> Оператор <userinput
->если</userinput
-> ставит <link linkend="questions"
->вопрос</link
->, больше ли <userinput
->x</userinput
-> чем 5. Так как <userinput
->x</userinput
-> равно 4, ответ на вопрос &mdash; «ложь». Поэтому выполняется код в скобках после <userinput
->иначе</userinput
->.</para
-></listitem>
+</screen> Оператор <userinput>если</userinput> ставит <link linkend="questions">вопрос</link>, больше ли <userinput>x</userinput> чем 5. Так как <userinput>x</userinput> равно 4, ответ на вопрос &mdash; «ложь». Поэтому выполняется код в скобках после <userinput>иначе</userinput>.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="for">
-<title
->Считающий цикл «для»</title>
+<title>Считающий цикл «для»</title>
<variablelist>
<varlistentry>
- <term
->для</term>
- <listitem
-><para
-><screen
->для <userinput
->начальное число</userinput
-> до <userinput
->конечное число</userinput
-> [ ... ]</screen>
-Цикл <userinput
->для</userinput
-> &mdash; это цикл «со счётчиком». <screen>
+ <term>для</term>
+ <listitem><para><screen>для <userinput>начальное число</userinput> до <userinput>конечное число</userinput> [ ... ]</screen>
+Цикл <userinput>для</userinput> &mdash; это цикл «со счётчиком». <screen>
для x = 1 до 10 [
напиши x * 7
вперёд 15
]
-</screen
-> Каждый раз, когда выполняется код в скобках, значение <userinput
->x</userinput
-> увеличивается на 1. Выполнение цикла продолжиться, пока <userinput
->x</userinput
-> не станет равным 10. Код в скобках выводит на печать произведение <userinput
->x</userinput
-> и 7. Результат работы этой программы &mdash; таблица умножения на 7.</para
-></listitem>
+</screen> Каждый раз, когда выполняется код в скобках, значение <userinput>x</userinput> увеличивается на 1. Выполнение цикла продолжиться, пока <userinput>x</userinput> не станет равным 10. Код в скобках выводит на печать произведение <userinput>x</userinput> и 7. Результат работы этой программы &mdash; таблица умножения на 7.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
@@ -1474,29 +707,15 @@ x = 4
<sect1 id="learn">
-<title
->Создавайте свои собственные команды</title>
-<para
-><userinput
->Выучи</userinput
-> &mdash; особенная команда, потому что она предназначена для создания ваших собственных команд. Создаваемые вами команды могут <glossterm linkend="input-output"
->принимать входные параметры и возвращать различные значения</glossterm
->. Давайте посмотрим, как создаются собственные команды: <screen>
+<title>Создавайте свои собственные команды</title>
+<para><userinput>Выучи</userinput> &mdash; особенная команда, потому что она предназначена для создания ваших собственных команд. Создаваемые вами команды могут <glossterm linkend="input-output">принимать входные параметры и возвращать различные значения</glossterm>. Давайте посмотрим, как создаются собственные команды: <screen>
выучи круг x [
повтори 36 [
вперёд x
налево 10
]
]
-</screen
-> Новая команда называется <userinput
->круг</userinput
->. Её <glossterm linkend="input-output"
->входным параметром</glossterm
-> является число &mdash; размер круга. Теперь команду <userinput
->круг</userinput
-> можно использовать как же, как и обычные команды: <screen
->выучи круг X [
+</screen> Новая команда называется <userinput>круг</userinput>. Её <glossterm linkend="input-output">входным параметром</glossterm> является число &mdash; размер круга. Теперь команду <userinput>круг</userinput> можно использовать как же, как и обычные команды: <screen>выучи круг X [
повтори 36 [
вперёд X
налево 10
@@ -1510,8 +729,7 @@ x = 4
круг 50
</screen>
</para>
-<para
->В следующем примере будет создана команда, возвращающая значение.<screen>
+<para>В следующем примере будет создана команда, возвращающая значение.<screen>
сброс
выучи квадрат_числа n [
@@ -1520,10 +738,7 @@ x = 4
]
i = окно_вопроса "Введите число и нажмите OK"
напиши i + ", умноженное на себя: " + квадрат_числа i
-</screen
-> В данном примере создана новая команда с именем<userinput
->квадрат_числа</userinput
->. Ей передаётся число, а она возвращает его квадрат. </para>
+</screen> В данном примере создана новая команда с именем<userinput>квадрат_числа</userinput>. Ей передаётся число, а она возвращает его квадрат. </para>
</sect1>
</chapter>