КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Оператор альтернативного выбораЕще одним способом организации разветвлений является оператор select альтернативного выбора следующей структуры: select параметр case значение1 then операторы1 case значение2 then операторы2 … else операторы end Оператор select работает следующим образом: если значение параметра равно значению1, то выполняются операторы1, иначе если параметр равен значению2, то выполняются операторы2; в противном случае, если значение параметра совпадает со значением3, то выполняются операторы3 и т.д. Если значение параметра не совпадает ни с одним из значений в группах case, то выполняются операторы, которые идут после служебного слова else. Конечно, любой алгоритм можно запрограммировать без использования select, используя только if, но использование оператора альтернативного выбора select делает программу более компактной.
Рассмотрим использование оператора select на примере решения следующей задачи.
ЗАДАЧА. Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и 1-е число - понедельник. Для решения задачи воспользуемся условием, что 1-е число - понедельник. Если в результате остаток от деления заданного числа D на семь будет равен единице, то это понедельник (первое, восьмое, пятнадцатое, двадцать второе и двадцать девятое числа), двойке - вторник, тройке - среда и так далее. Вычислить остаток от деления числа х на k можно по формуле modulo(x,k). Следовательно, при построении алгоритма необходимо использовать шесть условных операторов. Решение задачи станет значительно проще, если при написании программы воспользоваться оператором select. D=input('D='); //Вычисление остатка отделения D на 7, сравнение его с числами // от 0 до 6. select modulo(D,7) case 1 then disp('Monday'); case 2 then disp('Tuesday'); case 3 then disp('Wednesday'); case 4 then disp('Thursday'); case 5 then disp('Friday'); case 6 then disp('Saturday'); else disp('Sunday'); end Рассмотрим операторы цикла в Scilab. В sci-языке есть два вида цикла - оператор цикла с предусловием while и оператор for. Оператор while Оператор цикла while имеет вид while условие операторы end Здесь условие - логическое выражение; операторы будут выполняться циклически, пока логическое условие истинно. Оператор цикла while обладает значительной гибкостью, но не слишком удобен для организации «строгих» циклов, которые должны быть выполнены заданное число раз. Оператор цикла for используется именно в этих случаях.
|