Использование системы Scilabтолько в режиме непосредственного расчета в Командном окне явно недостаточно для решения сложных задач. Поскольку программы, реализующие сложные алгоритмы, создаются, как правило, в соответствии с принципом процедурного программирования, то очевидно необходимо иметь системные и программные средства, позволяющие создать функциональные программные структуры, и средства, обеспечивающие их хранение в текстовых и откомпилированных библиотечных файлах, их загрузку в оперативную память и выполнения.
В соответствии с концепцией разработчиков в системе Scilab имеется три уровня функциональных структур, из которых можно построить различные приложения. Это – Сценарий, Макрос и Примитив [13].
Сценарий – это фрагмент программного кода, который можно сохранить в текстовом sce-файле, а затем загрузить с помощью функции exec и выполнить сразу после загрузки.
Сценарии в Scilab предназначены для выполнения различного рода задач. Они могут осуществлять подготовку данных для предстоящих вычислений (инициализировать переменные и осуществлять их логическую проверку); выполнять вспомогательные действия (подгружать различные библиотеки и т.п.); проводить технические расчеты, а также осуществлять ввод и вывод данных расчетов в виде таблиц, инструкций и графиков.
Сценарий – это заранее определенная последовательность инструкций Scilab, практически он является подобием сессии Командного окна, и поэтому все инструкции, загруженные из файла, могут быть выполнены точно так же, как если бы вы их вводили с клавиатуры в Командном окне.
В начало текста сценария рекомендуется вставлять комментарий о его функциональном назначении и комментировать все его ключевые шаги. Также рекомендуется команду clear, предназначенную для очистки содержимого окна Обозреватель данных от данных, используемых в предыдущей сессии.
Особенности сценария состоят в том, что он:
· хранится в sce-файлах с уникальным именем;
· не имеет входных и выходных параметров;
· работает с переменными из Рабочей области (за исключением переменных, описанных во внутренних функциях этого сценария);
· содержимое в процессе выполнения не компилируется;
· может содержать внутренние встроенные в сценарий функции пользователя;
· строки нумеруются автоматически.
Встроенные в сценарий функция так же, как и сценарий, может содержать команды, операторы и другие функции (вложенные), имеет функциональное содержание, более сложную программную структуру и имеет следующие особенности:
· начинается структура функции с заголовка, а именно, с ключевого слова function, а завершается ключевым словом end function или end;
· второй строкой должен быть комментарий о ее функциональном назначении;
· все ключевые шаги всегда необходимо комментировать;
· может иметь входные и выходные параметры, назначение которые также необходимо комментировать;
· может содержать вложенные функции;
· все переменные, описанные в теле функции, являются локальными, то есть действуют только в пределах тела функции (за исключением вложенных функций);
· в простейшем варианте, как описания функций, так и обращения к ним, могут быть частью сценария (функции могут быть встроенные в сценарий), который может состоять только из описания функций).
· описания внутренних встроенных функций могут находиться в любых строках сценария.
Макрос – это внешняя функция, реализованная средствами языка Scilab, которую можно сохранить в текстовом sci-файле, имеющая такое же имя, что sci-файле, и, загрузив которую в оперативную, память можно выполнить по имени функции.
Примитив – это внешняя откомпилированная функция, которая может быть реализована средствами Scilab, C++, Фортран или любого другого языка программирования, причем вызов такой функции осуществляется через специальный шлюз Scilab. В Scilab шлюз – это функция C++ или Fortran, которая позволяет пользователю соединять интерпретатор с набором библиотечных функций, чтением входных параметров, заданных пользователем, и записью выходных аргументов, затребованных пользователем.
Далее в этом разделе будут рассмотрены правила описания простейших сценариев и встроенных в них функций, являющихся частью сценария, а также запись их в sce -файлы, загрузку их из файла в оперативную память и выполнение загруженных сценариев. Создание же текстовых и откомпилированных библиотек будет рассмотрено в п.1.5.6.
Инструментом создания и отладки сценариев и встроенных в сценарии функций является редактор SciNotes. Этот редактор является одним из основных компонентов системы Scilab, и вместе с файловой системой, обеспечивающей хранение сценариев, макросов и примитивов, а также алгоритмическими средствами, и является системой программирования Scilab.
Обратите внимание, что sce -файлы – это текстовые файлы, в которых могут храниться сценарии, созданные с помощью встроенного редактора SciNotes или любого другого текстового редактора .
Прежде чем перейти к правилам описания и вызова сценариев и функций, а также записи их в sce-файлы, рассмотрим элементы редактора SciNotes и их использование при создании и выполнении сценариев и функций.
Средства Редактора SciNotes
Для работы с редактором его необходимо открыть (активировать). Это можно сделать элементом SciNotes инструментальной панели Scilab, в результате чего открывается окно редактора SciNotes (рис. 1.5.2-1).
Рис. 1.5.2-1 Окно редактора SciNotes для создания сценария
Меню редактора SciNotes содержит следующие элементы:
· Файл – включает команды, которые позволяют создавать новый документ, открывать существующий или последний сохраненный документ, и другие.
· Правка – включает команды, которые позволяют работать с текстом в окне редактора: отменить действие, повторить, вырезать, копировать, вставить и другие.
· Формат – включает команды, которые позволяют осуществить форматирование документа: сделать или удалить отступ, удалить пробелы в конце строки, сменить регистр, добавить или удалить комментарий, заменить одинарные кавычки на двойные.
· Настройка – включает команды, которые позволяют выполнить текущую кодировку файла, настройку шрифтов и цвета.
· Окно – включает инструменты копирования или отделения вкладки в новое окно, включение или отключение разделителя на две колонки и другое.
· Выполнить – включает команды, которые позволяют выполнить созданный файл и сохранить в текущем каталоге, а также выполнять выделенную часть файла.
· Справка – о редактореSciNotes.
Элементы панели инструментов дублируют часто используемые команды меню SciNotes, и позволяют, например, открывать, сохранять, редактировать, запускать и осуществлять отладку созданного документа и многоедругое.
Для редактирования содержимого ранее созданного и записанного в sce-файл сценария и, необходимо открыть этот файл либо выполнив команду Открыть элемента меню Файл, либо щелкнув мышкой на соответствующий элемент панели инструментов , либо двойным щелчком мышки на Имя файла в окне Обозреватель файлов. При использовании команды
Открыть открывается окно Open (рис.1.5.2-2), в строке Filename которого необходимо ввести имя открываемого файла и щелкнуть по кнопке Open (или вызвать его двойным щелчком в поле текущей директории).
Рис. 1.5.2-2 Окно Open (Открыть)
Запись созданного сценария в sce-файл осуществляется либо командой Сохранить как…элемента меню Файл, либо выбором соответствующего элемента панели инструментов . В открывшемся одноименном окне требуется выбрать путь сохранения программного кода и ввести его имя, а затем щелкнуть по кнопке Save (рис. 1.5.2-3). Следует помнить, что по умолчанию все файлы записываются с расширение *.sce.
Рис. 1.5.2-3 Окно Сохранить как…
Для сохранения программного кода после его редактирования необходимо выполнить команду Сохранить элемента меню Файл или щелкнуть по соответствующему элементу панели инструментов .
Отметим, что одновременно в редакторе могут быть загружено несколько сценариев, что отражается на вкладках, расположенных в строке над полем ввода текста, где перечислены имена загруженных и создаваемых сценариев. Переход между вкладками с соответствующим отображением программного кода в окне Редактора можно произвести щелчком по вкладке с именем нужного сценария.
Дата: 2019-11-01, просмотров: 411.