Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SciLab_book.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
980 Кб
Скачать
☆

Короткий синтаксис і приклади основних конструкцій.

Умовний оператор if

Найпростіший випадок – для виконання блоку команд, якщо виконується деяка умова:

синтаксис:

if умова then

команди SciLab

end

приклад:

if ((a >= 0.90) & (d >= 60)) then

pass = 1;

end;

Складніший варіант для - для організації алгоритмів розгалуження:

у дві гілки:

синтаксис:

if умова then

команди SciLab

else

команди SciLab

end

приклад:

if ((a >= 0.90) & (d >= 60)) then

pass = 1

else

pass=0

end;

у декілька гілок:

синтаксис:

if умова1 then

команди SciLab

else

if умова2 then

команди SciLab

else

if умова3 then

команди SciLab

else

команди SciLab

end

end

end

приклад:

if a<b then

x = a

else

if b<a then

x = b

else

if c<a+b then

x = c

else

x = d

end

end

end

у декілька гілок, без вкладених операторів if:

синтаксис:

if умова1 then

команди SciLab

elseif умова2 then

команди SciLab

elseif умова3 then

команди SciLab

else

команди SciLab

end

приклад:

if a<b then

x = a

elseif b<a then

x = b

elseif c<a+b then

x = c

else

x = d

end

В залежності від виконання однієї з умов, працює відповідна гілка програми, якщо ж всі умови невірні, то виконуються команди після else. Кількість гілок може бути довільною, їй відповідає кількість elseif, або кількість вкладених операторів if.

Оператор select

Цей оператор призначений для виконання перемикання між умовами. Кожна гілка розгалуження визначається оператором case, перехід в неї виконується, коли змінна оператора select приймає значення, вказане після case. Після виконання однієї з гілок, відбувається вихід зі select, при цьому значення, задані в інших case вже не перевіряються. Якщо жодне значення не співпало з визначеними в case, то виконується гілка програми, що відповідає else.

синтаксис:

select вираз

case вираз1

команди SciLab

case вираз2

команди SciLab

...

else

команди SciLab

end

приклад:

select (a+b)

case 0

disp(‘a+b= 0’)

case 1

disp(‘a+b=1’)

case 2

disp(‘a+b= 2’)

else

disp(‘a+b>2’)

end

Оператор циклу for

Оператор for застосовується для повторення деякої дії задане число разів. Найчастіше використовується числовий лічильник, що пробігає ряд значень.

синтаксис:

for змінна циклу = початкове значення : крок : кінцеве значення

команди SciLab

end

приклад:

for m = -1:0.1:2

for n = 1:10

a(n) = 1/(m+n -1);

end

end

якщо крок циклу пропущений, то він становить 1 (за замовчуванням).

Оператор циклу while

Оператор while призначений для повторення деякого блоку інструкцій до тих пір, поки умова циклу залишається істинною.

синтаксис: Приклад

while умова

команди SciLab

end

Приклад:

eps = 1;

x = 4;

while (1+eps+x) > 1

eps = eps/2;

x=x-0.2;

end

eps = eps*2

Оператори break, continue

При організації циклічних обчислень, варто передбачити виникнення помилок всередині циклу. Для цього існує оператор break. Він дозволяє виходити з циклу в довільний момент часу. У випадку вкладених циклів цей оператор здійснює вихід з внутрішнього циклу. Його можна застосовувати як для циклу while так і для циклу for.

приклад:

eps = 1;

x=4;

while (1+eps+x) > 1

eps = eps/2;

x=x-0.2;

if x==0

break

end

end

приклад:

for m = -1:0.1:2

for n = 1:10

a(n) = 1/(m+n -1);

if a(n)<=-10

break

end

end

end

Інструкція 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

Обробка виняткових ситуацій - оператор try … catch.

Цей оператор дозволяє обійти виняткові ситуації (прогнозовані помилки) і прийняти певні міри при їх виникненні, не завершуючи програму.

синтаксис:

try

команди SciLab, виконання яких може привести до помилки

catch

команди SciLab, які треба виконати при виникненні помилки в блоці між try і catch

end

приклад:

try

a=load(‘my_file’);

pie(a)

catch

disp(‘file not found’)

end;

x=[1.3,2,3]

x=2*x

таким чином, при відсутності потрібного файлу, програма видасть відповідне повідомлення але продовжить свою роботу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]