Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
09 СКМ 2010.doc
Скачиваний:
31
Добавлен:
20.04.2015
Размер:
913.41 Кб
Скачать

2. Разработка программы в Scilab

2.1. Использование редактора SciPad

В командном окне Scilab нажатием клавиши Enter (Ввод) отправляют на выполнение только один оператор, тот который записан в командной строке. При необходимости использовать ранее введенный в это окно оператор приходится копировать его в командную строку. Однако имеется и другой способ выполнения расчетов.

Для записи и последующего выполнения группы операторов, представляющих собой программу, применяют редактор SciPad. Открыть его можно, выбрав Инструменты в меню командного окна и команду Редактор – в открывшемся спускающемся списке (рис. 2.1). Редактор называется SciPad, его окно имеет вид, представленный на рисунке 8.

Рис. 2.1. Открытие редактора

Создать файл программы в окне SciPad можно, путем копирования из командного окна уже отлаженных операторов. Можно набрать их с помощью клавиатуры. Такая программа называется файл-сценарием. По умолчанию создаваемому файлу присваивается имя Untitledx, где х - целое число, номер файла. Файл-сценарий можно сохранить, а потом открыть. Для запуска его на выполнение следует в меню окна выбрать команду Excecute, а затем в спускающемся списке – команду Load into Scilab или Load all into Scilab.

Рис. 2.2. Окно редактора с набранной программой примера 1.8

Если в конце оператора отсутствует символ «точка с запятой», результат вычисления будет выведен в командное окно. Для вывода результатов расчета в командное окно можно использовать оператор disp(x), где x – число, имя переменной или список имен.

Пример 2.1. Дан массив х. Найти наибольший, наименьший его элементы и сумму всех элементов.

Программа

x=[1 4 7 2 9 5 3];

x_max=mtlb_max(x) // вычисление наибольшего элемента массива

x_min=mtlb_min(x) // вычисление наименьшего элемента массива

x_sum=mtlb_sum(x) // вычисление суммы элементов массива

Результат (в командном окне)

x_max =

9.

x_min =

1.

x_sum =

31.

Здесь использованы подпрограммы вычисления наибольшего, наименьшего элементов массива х и суммы всех его элементов.

2.2 Условный оператор

Как правило, линейные алгоритмы и программы используются в процессе обучения для приобретения навыков работы с арифметическими выражениями, стандартными функциями, операторами ввода-вывода. На практике гораздо чаще применяются программы, в которых реализованы разветвляющиеся алгоритмы. В них кроме вычисления функций имеет место проверка различных условий. В зависимости от результата проверки расчеты выполняются по тем или иным формулам, т.е. работают те или иные ветви алгоритма.

Операторы программы выполняются в том порядке, в каком они записаны, один за другим, пока не дойдет очередь до одного из операторов управления, которые позволяют организовать многократное повторение группы операторов или осуществить переход к фрагменту, записанному в другой части программы. В Scilab имеется несколько операторов управления. Рассмотрим одну из форм условного оператора, который записывается в виде:

if условие

оператор или операторы

else

оператор или операторы

end

Условие - это логическое выражение, которое может принимать только одно из двух значений: истина или ложь. Частным случаем логического выражения является отношение - операция сравнения двух величин. В таблице 2 приведены принятые в Scilab обозначения операций отношения. Оператор выполняется следующим образом. Вычисляется значение логического выражения (условия). Если это значение есть "истина", то выполняется оператор или группа операторов, записанных после условия, иначе управление работой программы передается операторам, которые следуют за служебным словом else. Заканчивается условный оператор служебным словом end.

В случае необходимости можно разместить после условия или после служебного слова else несколько операторов, в качестве которых разрешается использовать операторы присваивания, цикла, ввода-вывода, а также другой оператор условного перехода.

Таблица 2

Операция

Больше

Меньше

Равно

Не равно

Больше или равно

Меньше или равно

Обозначение

>

<

==

~=

>=

<=

Пример записи условного оператора.

if x>0

a=1+x;

else

a=1;

end

Служебное слово else и следующие за ним оператор или операторы можно опустить. В этом случае условный оператор записывается в виде:

if (условие)

оператор или операторы

end