|
Инструкции break и continueИнструкция break позволяет прервать выполнение цикла. Обычно она применяется для выхода из цикла при достижении определенного условия, делающего его продолжение бессмысленным. Следующий фрагмент демонстрирует использование инструкции break для вычисления суммы чисел от 1 до 10. При достижении переменной i значения, превышающего 10, цикл прерывается. s = о i = 1 while ( %t ) if ( i > 10 ) then break end s = s + i i = i + 1 end После завершения данного алгоритма значения переменных ins равны: S = 55. i = 11. Инструкция continue позволяет немедленно перейти к выполнению следующей итерации, пропустив команды, следующие после continue в теле цикла. Встретив команду continue, интерпретатор Scilab переходит к заголовку цикла, проверяет условие продолжения, и, если оно истинно, делает следующую итерацию. Следующий пример демонстрирует вычисление суммы s = 1 + 3 + 5 + 7 + 9 = 25. Используемая здесь функция modulo (i,2) возвращает 0 при условии, что i четно. В данном случае скрипт наращивает значение i и использует инструкцию continue для перехода к следующей итерации. s = 0 i = 0 while ( i < 10 ) i = i + 1 if ( modulo ( i , 2 ) == 0 ) then continue end s = s + i end Значение переменных ins после выполнения данного скрипта равны S = 25. i = 11. Тот же результат можно получить, используя единственную команду sum в сочетании с оператором " :", что является примером векторизованных вычислений в Scilab. s = sum(l : 2 : 10); Использование высокоуровневой функции (в данном случае sum) имеет ряд преимуществ перед эквивалентным ей с точки зрения результата циклом на основе while:
Поэтому необходимо внимательно изучить доступные в Scilab функции перед тем, как писать собственный алгоритм с использованием while. |
|
© vse-o-scilab |