|
|
@@ -32,6 +32,7 @@
|
|
|
- [9. Предписания](#9-предписания)
|
|
|
- [9.1 Предписание ПРИСВОЕНИЕ](#91-предписание-присвоение)
|
|
|
- [9.3 Последовательность предписаний](#93-последовательность-предписаний)
|
|
|
+ - [9.4 Предписание\_ЕСЛИ](#94-предписание_если)
|
|
|
- [9.5 Предписание\_ВЫБОР](#95-предписание_выбор)
|
|
|
- [9.7 Предписание цикл](#97-предписание-цикл)
|
|
|
- [10. Объявление функций](#10--объявление-функций)
|
|
|
@@ -258,6 +259,7 @@ flowchart TD
|
|
|
| фн | FN Объявление функции |
|
|
|
| & | & Создание объекта |
|
|
|
| есть | IS Проверка типа |
|
|
|
+| если | IF Проверка условия |
|
|
|
| провер | SWITCH Проверка на выбор |
|
|
|
| ветка | CASE ветка выбора |
|
|
|
| вернуть | RETURN Возврат из функции |
|
|
|
@@ -625,7 +627,7 @@ T есть УзелСредний (`бул`)
|
|
|
|
|
|
Предписания также могут быть пустыми, и в этом случае они не обозначают никаких действий. Пустое предписание включено в язык для того, чтобы ослабить правила пунктуации в последовательностях предписаний.
|
|
|
|
|
|
-> Предписание = Оператор | Присвоение | ВызовПроцедур | Предписание_ВЫБОР | Предписание_ЦИКЛ.
|
|
|
+> Предписание = Оператор | Присвоение | ВызовПроцедур | Предписание_ЕСЛИ |Предписание_ВЫБОР | Предписание_ЦИКЛ.
|
|
|
|
|
|
### 9.1 Предписание ПРИСВОЕНИЕ
|
|
|
|
|
|
@@ -661,6 +663,24 @@ w[i+1].ch = "A"
|
|
|
|
|
|
> Последовательность_Предписаний = Предписание? ; Предписание..?;
|
|
|
|
|
|
+### 9.4 Предписание_ЕСЛИ
|
|
|
+
|
|
|
+Предписание `если` проверяет булево выражение. Если булево выражение положительное -- далее выполняется последовательность предписаний.
|
|
|
+
|
|
|
+```bash
|
|
|
+ПредписаниеЕсли = ЕСЛИ ВыражениеБул {
|
|
|
+ СписокВыражений..?;
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+Пример:
|
|
|
+
|
|
|
+```bash
|
|
|
+если Х==0{
|
|
|
+ Печать(`Вот и результат!`);
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
### 9.5 Предписание_ВЫБОР
|
|
|
|
|
|
Составное предписание `выбор` определяет выбор и выполнение последовательности предписаний в соответствии со значением выражения. Сначала вычисляется выражение `выбор`, затем выполняется последовательность предписаний, чей список меток содержит полученное значение. Если выражение `выбор` имеет тип `целое` или `байт`, все метки должны быть целыми или байтами, соответственно.
|
|
|
@@ -796,8 +816,8 @@ w[i+1].ch = "A"
|
|
|
}
|
|
|
i = 0;
|
|
|
петля {
|
|
|
- выбор i==0{
|
|
|
- провер 0: стоп,
|
|
|
+ если i==0 {
|
|
|
+ вернуть;
|
|
|
}
|
|
|
buf[i] = x \ 10;
|
|
|
x = x * 10;
|
|
|
@@ -809,13 +829,11 @@ w[i+1].ch = "A"
|
|
|
фн лог2(x: целое):целое{
|
|
|
симв {
|
|
|
y: целое, // assume x>0
|
|
|
- еслиХ: бул,
|
|
|
}
|
|
|
у = 0;
|
|
|
цикл {
|
|
|
- еслиХ = х > 1;
|
|
|
- выбор еслиХ {
|
|
|
- провер нет: стоп,
|
|
|
+ если х > 1 {
|
|
|
+ стоп;
|
|
|
}
|
|
|
x = x \ 2;
|
|
|
y = у + 1;
|
|
|
@@ -902,20 +920,15 @@ w[i+1].ch = "A"
|
|
|
симв {
|
|
|
i: целое,
|
|
|
a: массив[16]байт,
|
|
|
- еслиХ: бул,
|
|
|
}
|
|
|
i = 0;
|
|
|
- еслиХ = i == 0;
|
|
|
- выбор еслиХ {
|
|
|
- провер да: {
|
|
|
- Текст.Текст(W, "-");
|
|
|
- x = -x;
|
|
|
- },
|
|
|
+ если i == 0; {
|
|
|
+ Текст.Текст(W, "-");
|
|
|
+ x = -x;
|
|
|
}
|
|
|
цикл {
|
|
|
- еслиХ = х == 0;
|
|
|
- выбор еслиХ {
|
|
|
- провер да: стоп,
|
|
|
+ если х == 0 {
|
|
|
+ стоп;
|
|
|
}
|
|
|
a[i] = Вещ(x MOD 10 + Байт(`0`));
|
|
|
x = x \ 10;
|
|
|
@@ -923,10 +936,10 @@ w[i+1].ch = "A"
|
|
|
}
|
|
|
Текст.Write(W, " ");
|
|
|
n = n - 1;
|
|
|
- еслиХ = n > 1;
|
|
|
+ еслиХ = ;
|
|
|
цикл {
|
|
|
- выбор еслиХ {
|
|
|
- провер да: стоп,
|
|
|
+ если n > 1 {
|
|
|
+ стоп;
|
|
|
}
|
|
|
i = i - 1;
|
|
|
}
|