mirror of
https://github.com/tsoding/good_training_language.git
synced 2026-09-12 19:50:53 +05:00
Убрать вопросительный знак из лексемы РавноЛи
This commit is contained in:
parent
800797f4c0
commit
644400c984
@ -20,7 +20,7 @@ pub const ПРИСТАВКИ_ПРЕПИНАНИЙ: &[(&[char], ВидЛексе
|
||||
(&['-'], ВидЛексемы::Минус),
|
||||
(&['*'], ВидЛексемы::Звёздочка),
|
||||
(&['/'], ВидЛексемы::ПрямаяНаклонная),
|
||||
(&['?', '='], ВидЛексемы::РавноЛи),
|
||||
(&['='], ВидЛексемы::РавноЛи),
|
||||
(&['!', '='], ВидЛексемы::НеРавноЛи),
|
||||
(&['!'], ВидЛексемы::Не),
|
||||
];
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
// Хотя, мы тогда теряем возможность печатать строки в режиме интерпретации.
|
||||
|
||||
про печать_нат(число: нат) нч
|
||||
если число ?= 0нат нч
|
||||
если число = 0нат нч
|
||||
печать(«0»);
|
||||
вернуть;
|
||||
кц
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
пер длинна: нат := ввод(имя);
|
||||
// СДЕЛАТЬ: Логические операции с коротким замыканиям
|
||||
// Нужны ли они вообще?
|
||||
если длинна +? 0нат то если имя(длинна-1нат) ?= 10нат как нат8 то длинна := длинна - 1нат;
|
||||
если длинна +? 0нат то если имя(длинна-1нат) = 10нат как нат8 то длинна := длинна - 1нат;
|
||||
// СДЕЛАТЬ: Однобайтовые литералы 10нат8
|
||||
печать(«Привет, », срез(имя, 0нат, длинна), «!\н»);
|
||||
кц
|
||||
|
||||
@ -4,10 +4,10 @@
|
||||
// СДЕЛАТЬ: объявление индексной переменной прямо в цикле
|
||||
// для пер счет := 1..100 нч
|
||||
для счет := 1..100 нч
|
||||
если счет ост 15 ?= 0 то печать(«ФиззБазз\н»);
|
||||
если счет ост 15 = 0 то печать(«ФиззБазз\н»);
|
||||
// СДЕЛАТЬ: подумать как сократить конструкцию «иначе то если»
|
||||
иначе то если счет ост 3 ?= 0 то печать(«Физз\н»);
|
||||
иначе то если счет ост 5 ?= 0 то печать(«Базз\н»);
|
||||
иначе то если счет ост 3 = 0 то печать(«Физз\н»);
|
||||
иначе то если счет ост 5 = 0 то печать(«Базз\н»);
|
||||
иначе то печать(счет, «\н»);
|
||||
кц
|
||||
кц
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
// СДЕЛАТЬ: передача массива по ссылке
|
||||
про печать_мира(мир: массив(РАЗМЕР, нат)) нч
|
||||
для индекс := 1..РАЗМЕР то
|
||||
если мир(индекс - 1) ?= 0нат
|
||||
если мир(индекс - 1) = 0нат
|
||||
то печать(«_»);
|
||||
иначе то печать(«%»);
|
||||
печать(«\н»);
|
||||
|
||||
@ -36,8 +36,8 @@
|
||||
пер строка: цел := строка0 + дстр;
|
||||
пер столбец: цел := столбец0 + дстл;
|
||||
// СДЕЛАТЬ: Биноп для «меньше либо равно».
|
||||
если (0 -? строка или строка ?= 0) и строка -? ВЫСОТА то
|
||||
если (0 -? столбец или столбец ?= 0) и столбец -? ШИРИНА то
|
||||
если (0 -? строка или строка = 0) и строка -? ВЫСОТА то
|
||||
если (0 -? столбец или столбец = 0) и столбец -? ШИРИНА то
|
||||
если поле(строка)(столбец) то соседи := соседи + 1;
|
||||
кц
|
||||
вернуть соседи;
|
||||
@ -48,8 +48,8 @@
|
||||
для столбец := 1..ШИРИНА нч
|
||||
пер соседи: цел := подсчитать_соседей(строка - 1, столбец - 1);
|
||||
если поле(строка - 1)(столбец - 1)
|
||||
то скрытое_поле(строка - 1)(столбец - 1) := соседи ?= 2 или соседи ?= 3;
|
||||
иначе то скрытое_поле(строка - 1)(столбец - 1) := соседи ?= 3;
|
||||
то скрытое_поле(строка - 1)(столбец - 1) := соседи = 2 или соседи = 3;
|
||||
иначе то скрытое_поле(строка - 1)(столбец - 1) := соседи = 3;
|
||||
кц
|
||||
кц
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
про главная() нч
|
||||
печать(«Печать чисел: », 0, «, », 69, «, », 1234567890, «\н»);
|
||||
печать(«Печать логических: », 69 ?= 69, «, », 69 ?= 420, «\н»);
|
||||
печать(«Печать логических: », 69 = 69, «, », 69 = 420, «\н»);
|
||||
печать(«Адрес строки: », адрес(«привет»), «\н»);
|
||||
тест_передачи_аргументов_функции(34нат, 35нат);
|
||||
тест_порядка_передачи_аргументов_функции(1нат, 2нат, 3нат, 4нат);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user