Основные управляющие конструкции программирования

В среде MATLAB

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

последовательное исполнение– однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

ветвление– однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

цикл– многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие – условие продолжения цикла.

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

Оператор ветвления (условная инструкция, условный оператор) –конструкцияязыка программирования, обеспечивающая выполнение определённой команды или набора команд только при условии истинности некоторого логического выражения, либо выполнение одной команды из набора команд в зависимости от значения некоторого выражения.

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

Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие) принимает значение «истина» (true).

В общем случае синтаксис условного оператора с одной ветвью в среде программирования MATLAB имеет следующий вид:

if<условие>

<операторы 1>

Else

<операторы2>

End

Набор операторов представляет собой тело выражения, операторы 1 выполняются только в том случае, если условие истинно, если условие ложно, то выполняются операторы 2. Применение конструкции с использованием команды else не является обязательным, в том случае если отсутствуют операторы 2.

В случае наличия нескольких условий конструкция условного оператора имеет следующий вид:

if<условие1>

<операторы1>

elseif<условие2>

<операторы2>

elseif<условие3>

<операторы3>

…...

Else

<операторыn>

End

В системеMATLAB могут применяться следующие операторысравнения:

< – меньше;

<= – меньше или равно;

> – больше;

>= – больше или равно;

= – равно;

~= – не равно.

ВMATLAB возможно выполнение следующих логических операций:

& – логическое«и» (and);

| – логическое«или» (or);

~ – логическое отрицание(not).

Результатом логических операций являются числа:0 в том случае, если условие ложно и1 – если условие истинно.

Оператор многозначного выбора имеет несколько ветвей и при этом выполняет одну заданную ветвь в зависимости от значения вычисляемого ключевого выражения. Принципиальным отличием данной конструкции от условного оператора является то, что выражение, определяющее выбор исполняемой ветви, возвращает не логическое, а целое значение, либо значение, тип которого может быть приведён к целому.

Синтаксис оператора многозначного выборав среде программирования MATLAB имеет следующий вид:

switch<выражение>

case<значение 1>

<операторы 1>

case<значение 2>

<операторы 2>

.....

Otherwise

<операторы n>

End

Применение конструкции с использованием команды otherwise не является обязательным, в том случае если отсутствуют операторы n.

Цикл – разновидность управляющей конструкции ввысокоуровневых языках программирования, предназначенная для организации многократного исполнения набораинструкций.

Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Единичное выполнение тела цикла называется итерацией. Выражение, определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называетсяусловием выходаилиусловием окончания цикла(либоусловием продолженияв зависимости от того, как интерпретируется его истинность – как признак необходимости завершения или продолжения цикла).Переменная, хранящая текущий номер итерации, называетсясчётчиком итерацийцикла или просто счётчиком цикла. Цикл может не содержать счетчик: условие выхода из цикла может определяться внешними условиями (например, наступлением определённого времени).

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

Безусловный (бесконечный) цикл –цикл, выход из которого не предусмотрен логикой программы. Специальных синтаксических средств для создания бесконечных циклов, ввиду их нетипичности, языки программирования не предусматривают, поэтому такие циклы создаются с помощью конструкций, предназначенных для создания обычных циклов.

Наибольшее распространение в среде компьютерных вычислений MATLAB получили два вида циклов: арифметический цикл или цикл со счетчиком и условный цикл или цикл с предусловием.

Цикл со счётчиком – цикл, в котором некотораяпеременнаяизменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной тело цикла выполняется один раз.

Для организации циклов со счетчиком в среде программирования MATLAB используется последовательность операторов со следующим синтаксисом:

forj=j1:k:jn

<операторы>

End

где: j –управляющая переменная (счетчик) цикла, j1, jn – начальное и конечное значения счетчика цикла, соответственно; k – приращение счетчика цикла, по умолчанию равно 1.

Цикл с предусловием – цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяетсядовыполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно).

Для организации циклов с предусловием в среде программирования MATLAB используется последовательность операторов со следующим синтаксисом:

while<условие>

<операторы>

End

Цикл с предусловием обеспечивает выполнение операторов тела цикла, пока истинно проверяемое условие

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

Для досрочного выхода из внутреннего или внешнего цикла используется команда break. Для продолжения исполнения цикла используется команда return. Для приостановки выполнения программы может использоваться команда pause – приостановка до нажатия любой клавиши; команда pause (n) – приостановка на n секунд или команда keyboard – приостановка с возможностью выполнять практически любые команды и последующим возвратом в программу командой return.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: