Инструкции 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:

  1. Высокоуровневая запись короче, а значит проще для понимания челове­ком.
  2. Для матриц высокой размерности высокоуровневые операции выполня­ются намного быстрее, чем алгоритмы на основе циклов.

Поэтому необходимо внимательно изучить доступные в Scilab функции перед тем, как писать собственный алгоритм с использованием while.

© vse-o-scilab

Сделать бесплатный сайт с uCoz