while. T do. B end. whilst. T do. B end.Результат последнего, выполненного в блоке T , предложения проверяется на ненулевое значение своего первого атома. Если тест дает "истину", выполняется блок B . Потом блок T выполняется снова... и так далее, пока очередная проверка результата блока T не дает "ложь". (Пустой результат блока T , или опущенный блок T соответствуют "истине".) whilst. отличается от while. только тем, что пропускает тест (skips test) перед первым выполнением блока B. break. заканчивает выполнение управляющей конструкции while. или whilst., а continue. переводит выполнение к ее началу. |
exp =: 4 : 0 Возведение в целую степень квадратами z=.1 a=.x n=.y while. n do. if. 2|n do. z=.z*a end. a=.*:a n=.<.-:n end. z ) 3 exp 7 2187 3 ^ 7 2187 1.1 exp 0 1 2x exp 128 340282366920938463463374607431768211456