Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_Матлаб Введение 120206.doc
Скачиваний:
4
Добавлен:
03.05.2019
Размер:
489 Кб
Скачать
☆

Цветовые выделения и синтаксический контроль

Редактор/отладчик m-файлов выполняет синтаксический контроль текстов (листингов) файлов но мере ввода текста. При этом используются следующие цветовые выделения:

  • ключевые слова языка программирования — синий цвет;

  • операторы, константы и переменные — черный цвет;

  • комментарии после знака % — зеленый цвет;

  • символьные переменные (в апострофах) — зеленый цвет;

  • синтаксические ошибки — красный цвет.

Благодаря цветовым выделениям вероятность синтаксических ошибок резко снижается.

Понятие о файлах-сценариях и файлах-функциях

Здесь полезно отметить, что m-файлы, используемые в MATLAB, делятся на два класса:

  • файлы-сценарии, не имеющие входных параметров;

  • файлы-функции, имеющие входные параметры.

Файл-сценарий или Script-файл не получает данных извне с помощью списка входных параметров (ибо его просто нет) и является примером простой процедуры без параметров. Он использует глобальные переменные, значения которых могут быть изменены в любой момент сеанса работы и в любом месте программы.

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

% Пример задания функции

function z=fun(x,y)

z=x^2+y^2;

return

Имя этой функции z, и под таким именем необходимо записать и виде m-файла 1. (х, у) — список параметров (х и у). Оператор return задает возврат функцией значения в ответ на обращение к ней но имени с указанием фактических параметров 2. Например, задав z(2,3), получим 13.

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

Панель инструментов редактора/отладчика

Редактор имеет свое меню и свою инструментальную панель, которая может перемещаться мышью в любое подходящее место. Внешний вид инструментальной панели показан

на рис. 1. По стилю данная панель похожа на панель инструментов окна командного режима работы, но имеет несколько иной набор кнопок.

Рис. 1. Панель инструментов редактора/отладчика m – файлов

Назначение кнопок панели инструментов редактора/отладчика следующее:

New — создание нового m-файла;

Open — вывод окна загрузки файла;

Save — запись файла на диск;

Cut — вырезание выделенного фрагмента и перенос его в буфер;

Copy — копирование выделенного объекта в буфер;

Paste — размещение фрагмента из буфера и позиции текстового курсора;

Print — печать содержимого текущего окна редактора;

About — вывод данных о версии редактора;

Set/Clear Breakpoint — установка/сброс контрольной точки;

Clear All Breakpoint — сброс всех контрольных точек;

Step In — пошаговая трассировка с заходом в вызываемые m-файлы;

Single Step — пошаговая трассировка без захода в вызываемые m-файлы;

Continue — продолжение работы программы без трассировки;

Quit Debugging — завершение отладки.

С назначением первых восьми кнопок вы уже знакомы, поскольку оно аналогично описанному для основного окна MATLAB. А вот о назначении других кнопок надо поговорить.

Работа с точками останова

Основными приемом отладки m-файлов является установка в их тексте контрольных точек остановки (Breakpoints). Они устанавливаются (и сбрасываются) с помощью кнопки Set/Clear Breakpoint. Сброс всех контрольных точек обеспечивается кнопкой Clear All Breakpoints.

Рассмотрим рис. 2, на котором в окне редактора/отладчика видна программная конструкция цикла. Как будет меняться переменная s, значение которой должно давать ряд натуральных чисел? Прежде всего для отладки надо записать программу на диск, а затем установить напротив выражения s=s+1 контрольную точку — она отчетливо видна на рис. 14 как красный кружок. Для установки контрольной точки необходимо поместить текстовый курсор в нужное место (напротив указанного выражения) и нажать кнопку Ser/Clear Breakpoint;.

Теперь при пуске программы командой Run она будет исполнена до контрольной точки, при этом текущие значения s будут выведены в окне МATLAB (поскольку операторы, вычисляющие значение s, не содержат заключительной точки с занятой). С помощью кнопки Continue (Продолжение) или Single Step (Одиночный шаг) можно, выполнить очередной шаг вычислений и т. д. Если отпала необходимость останова в контрольных точках, достаточно кнопкой Clear All Breakpoints удалить разом все контрольные точки. Желтая стрелка указывает, в каком месте программы произошел останов.

При остановке в контрольной точке вы можете провести контроль значении переменных как “вручную”, так и с помощью организации вывода на просмотр перед контрольной точкой. Вы можете задать выполнение программы без захода (кнопка Single Step) и с заходом в вызываемые m-файлы (кнопка Step In). Кнопка Continue продолжает исполнение программы после останова, а кнопка Quit Debugging прекращает операции отладки.

Рис. 2. Простейший пример применения контрольной точки в программе