Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Основные операторы программирования в Scilab
В Scilab встроен мощный язык программирования с поддержкой объектов. В этой главе будет описаны возможности структурного программирования, следующая глава будет посвящена визуальному программированию в среде Scilab. Как уже отмечалось раннее, работа в Scilab может осуществляться не только в режиме командной строки, но и в так называемом программном режиме. Напомним, что для создания программы (программу в Scilab иногда называют сценарием) необходимо: 1.Вызвать команду Editor из меню (см. рис. 9.1). 2.В окне редактора Scipad набрать текст программы. 3.Сохранить текст программы с помощью команды File – Save в виде файла с расширением sce, например, file.sce. 4.После этого программу можно будет вызвать, набрав в командной строке exec, например, exec(" file.sce" ). Другие способы вызова воспользоваться командой меню File – Exec... или, находясь в окне Scipad, выполнить команду Execute – Load into Scilab (Ctrl+L ). Программный режим достаточно удобен, так как он позволяет сохранить разработанный вычислительный алгоритм в виде файла и повторять его при других исходных данных в других сессиях. Кроме обращений к функциям и операторов присваивания, в программных файлах могут использоваться операторы языка программирования Scilab (язык программирования Scilab будем называть sciязыком).
Рис. 9.1. Окно Scipad с программой решения кубического уравнения 9.1Основные операторы sci-языка Изучение sci-языканачнем с функцийввода-вывода. 9.1.1Функции ввода-выводав Scilab Для организации простейшего ввода в Scilab можно воспользоваться функциями x=input(’title’); или x=x_dialog(’title’, ’stroka’); Функция input выводит в командной строке Scilab подсказку title и ждет, пока пользователь введет значение, которое в качестве результата возвращается в переменную х. Функция x_dialog выводит на экран диалоговое окно с именем title, после чего пользователь может щелкнуть OK, и тогда stroka вернется в качестве результата в переменную x, либо ввести новое значение вместо stroka,
которое и вернется в качестве результата в переменную x. На рисунке 9.2 представлено диалоговое окно, которое формируется строкой x=x_dialog(’Input X’, ’5’). Рис. 9.2. Окно ввода Функция input преобразовывает введенное значение к числовому типу данных, а функция x_dialog возвращает строковое значение. Поэтому при использовании функции x_dialog для ввода числовых значений возвращаемую ею строку следует преобразовать в число с помощью функции evstr. Можно предложить следующую форму использования функции x_dialog для ввода числовых значений: x=evstr(x_dialog(’title’, ’stroka’)); Для вывода в текстовом режиме можно использовать функцию disp следующей структуры: disp(b) Здесь b имя переменной или заключенный в кавычки текст. 9.1.2Оператор присваивания Оператор присваивания имеет следующую структуру a=b здесь a имя переменной или элемента массива, b значение или выражение. В результате выполнения оператора присваивания переменной a присваивается значение выражения b. 9.1.3Условный оператор Одним из основных операторов, реализующих ветвление в большинстве языков программирования, является условный оператор if. Существует обычная и расширенная формы оператора if в Scilab. Обычный if имеет вид
if условие операторы1 else операторы2 end Здесь условие логическое выражение, операторы1, операторы2 операторы языка Scilab или встроенные функции. Оператор if работает по следующем алгоритму: если условие истинно, то выполняются операторы1, если ложно операторы2. В Scilab для построения логических выражений могут использоваться условные операторы: &, and (логическое и), |, or (логическое или), ˜, not (логическое отрицание) и операторы отношения: < (меньше), > (больше), == (равно), ˜ =, < > (не равно), < = (меньше или равно), > = (больше или равно). Зачастую при решении практических задач недостаточно выбора выполнения или невыполнения одного условия. В этом случае можно, конечно, по ветке else написать новый оператор if, но лучше воспользоваться расширенной формой оператора if. if условие1 операторы1 elseif условие2 операторы2 elseif условие 3 операторы3 ... elseif условие n операторыn else операторы end В этом случае оператор if работает так: если условие1 истинно, то выполняются операторы1, иначе проверяется условие2, если оно истинно, то выполняются операторы2, иначе проверяется условие3 и т. д. Если ни одно из условий по веткам else и elseif не выполняется, то выполняются операторы по ветке else. Оператор while Оператор цикла while имеет вид while условие операторы end Здесь условие логическое выражение; операторы будут выполняться циклически, пока логическое условие истинно. Оператор цикла while обладает значительной гибкостью, но не слишком удобен для организации ¾ строгих¿ циклов, которые должны быть выполнены заданное число раз. Оператор цикла for используется именно в этих случаях. 9.1.6Оператор for Оператор цикла for имеет вид for x=xn: hx: xk операторы end Здесь x имя скалярной переменной параметра цикла, xn начальное значение параметра цикла, xk конечное значение параметра цикла, hx шаг цикла. Если шаг цикла равен 1, то hx можно опустить, и в этом случае оператор for будет таким. for x=xn: xk операторы end Выполнение цикла начинается с присвоения параметру стартового значения (x = xn). Затем следует проверка, не превосходит ли параметр конечное значение (x > xk). Если x > xk, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. Если же x 6 xk, то выполняются операторы в цикле (тело цикла). Далее параметр цикла увеличивает свое значение на hx (x = x + hx). После чего снова производится проверка значения параметра цикла, и алгоритм повторяется. Популярное:
|
Последнее изменение этой страницы: 2017-03-08; Просмотров: 2135; Нарушение авторского права страницы