КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Керування виконанням програмІснують чотири основні оператори керування послідовністю виконання інструкцій: 1) оператор циклу «for» виконує групу інструкцій з фіксованим числом повторень; 2) оператор умови «while» виконує групу інструкцій з невизначеним числом повторень відповідно до деякої логічної умови завершення; 3) оператор умови «if» в поєднанні з операторами «else» і «elseif» виконує групу інструкцій відповідно до деяких логічних умов; 4) оператор перемикання «switch» в поєднанні з операторами «case» і «otherwise» виконує різні групи інструкцій залежно від значення деякої логічної умови. Усі оператори керування містять оператор «end», щоб указати кінець блока, в якому діє цей оператор керування. Оператор циклу з фіксованим числом операцій «FOR...END» Синтаксис: For<змінна циклу>=<початкове значення>':<приріст>':<кінцеве значення> інструкції end for <змінна циклу> = А інструкції end Опис: оператор циклу «for<змінна циклу>=<початкове значення>: <приріст>:<кінцеве значення> інструкції end» виконує інструкцію або групу інструкцій визначене число разів. За замовчанням приріст дорівнює 1. Можна задавати будь-який приріст, у тому числі негативний. Для позитивних індексів виконання завершується, коли значення індексу перевищує «<кінцеве значення>»; для негативних приростів виконання завершується, коли значення індексу стає меншим ніж «<кінцеве значення>». Оператор циклу «for i = А інструкції end» визначає змінну циклу «i» як вектор А(:, k). Для першого кроку циклу k =1; для другого k = 2 і т. д., поки k не досягне значення n. Тобто цикл виконується стільки разів, скільки стовпців в матриці А. Для кожного кроку «i» – це вектор, що містить один із стовпців масиву А. Приклади: Цей цикл виконується 5 разів; for i = 2:6 х(i) = 2*х(i-l); end Укладені цикли: for i = 1:m for j = 1:n А(i,j) = l/(i + j - 1); end end Цикли з векторною змінною: х =[]; for v = [0 2 31] х = [х 2^v] end Супутні оператори і функції:BREAK,END,IF,RETURN,SWITCH, WHILE. Оператор циклу з невизначеним числом операцій «WHILE... END» Синтаксис: while <логічний вираз> <оператори> end Опис: оператор циклу «while ... end» багато разів виконує інструкцію або групу інструкцій, поки логічний вираз істинний. Приклад. Визначити машинну точність macheps, тобто таке найменше число, для якого ще виконується умова 1 + macheps > 1. eps = 1; while (1 + eps) > 1 eps = eps/2; end macheps = eps*2 Супутні оператори і функції: ALL, ANY, BREAK, END, FOR, IF, RETURN, SWITCH. Оператор умови «IF...ELSE...ELSEIF...END» Синтаксис:
Опис: оператор умови «if ... end»обчислює деякий логічний вираз і виконує відповідну групу інструкцій залежно від значення цього виразу. Якщо логічний вираз істинний, то MATLAB виконає всі інструкції між «if» і «end», а потім продовжить виконання програми в рядку після «end». Якщо умова хибна, то MATLAB пропускає всі інструкції між «if» і «end»і продовжує виконання в рядку після «end». Оператори «if...else...end» і «if...elseif…end» створюють додаткові розгалуження всередині тіла оператора «if»: - оператор «else»немістить логічної умови. Інструкції, пов'язані з ним, виконуються, якщо попередній оператор «if» (і можливо, «elseif») хибні; - оператор «elseif» містить логічну умову, яка виконується, якщо попередній оператор «if» (і можливо, «elseif») хибні. Інструкції, пов'язані з оператором «elseif», виконуються, якщо відповідна логічна умова істинна. Оператор «elseif» може багато разів використовуватися всередині оператора умови «if». Приклади.Визначення парності числа: if rem(а, 2) == 0 disp('а парне') b = а/2; end Супутні функції і оператори: BREAK, ELSE, END, FOR, RETURN, SWITCH, WHILE. Переривання виконання циклу «BREAK» Опис: функція «break» перериває виконання циклів «for» і «while». У разі вкладених циклів переривання можливе тільки з самого внутрішнього циклу. Приклад: Цикл while ... end буде виконуватися доти, поки не буде введено нульове або негативне значення змінної n: while 1 n = input('Введіть n. Припинення введення n<= 0. n = ') if n <= 0, break,end r = rank(magic(n)) end Супутні оператори: END, ERROR, FOR, IF, RETURN, SWITCH, WHILE. Оператор перемикання «SWITCH...CASE...OTHERWISE...ENF» Синтаксис: switch <вираз> % вираз - це обов'язково скаляр або рядок case <значення_1> інструкції % виконуються, якщо <вираз> = <значення_1> case {< значення _2> < значення _3> ... < значення _к>} інструкції % виконуються, якщо <вираз> = < значення _1 (i = 2:k)> … otherwise інструкції % виконуються, якщо <вираз> не дорівнює жодному зі значень end Перехоплення і обробка помилок «TRY... CATCH ... END» Синтаксис: «try» інструкції «catch» інструкції «end» Опис: блок «try...catch...end» функціонує таким чином – у нормальному режимі виконуються тільки інструкції між операторами «try» і «catch»; у разі помилки вона перехоплюється функцією «lasterr» і починають виконуватися інструкції між операторами «catch» і «end». Якщо виникає помилка при виконанні цих інструкцій, то виконання буде припинено, якщо тільки ця помилка не буде перехоплена іншим блоком «try...catch». При цьому повідомлення про помилку може бути отримано за допомогою функції «lasterr». Супутні оператори: EVAL, EVALIN, CATCH, END. Повернення із функції «RETURN» Синтаксис: return Опис: команда «return» виконує нормальне повернення із функції, або до режиму роботи з клавіатурою. Ця команда дозволяє також завершити режим роботи з клавіатурою. Супутні оператори: BREAK, DISP, END, ERROR, FOR, IF, SWITCH, WHILE.
|