ПОСТРОЕННИЕ ПРОГРАММЫ, РЕАЛИЗУЮЩЕЙ РАЗВЕТВЛЯЮЩИЙ АЛГОРИТМ



 Турбо Бейсик, как вполне современный язык, содержит все “модные", в духе структурного программирования конструкции для управления выполнением программы. К ним относятся средства про­верки условий, организация циклов и обработки ошибок.

 

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

 

Условный оператор If проверяет условие, стоящее за ключевым словом if , и в зависимости от того, удовлетворяет оно истине или нет ("ложь"), организует две ветви вычислительного про­цесса соответственно. Формат записи этого оператора различен и зависит от количества выполняемых операторов в каждой из ветвей.

Рассмотрим формат записи оператора if с then и else частями.

 

if условие tflen

опер. I

………..

опер. n

                              

else

_______

опер. 1

………..

опер. m

end if

Здесь:

 

<условие> - логическое выражение, в котором могут исполь­зоваться как операции отношения, так и логические опера­ции: and, or, not, хоr, Imp, eqv, например: a>=b или Х>=aand Х>=b;

Группа операторов опер. I - опер.n, стоящая за дополне­нием then выполняется только в случае истинности прове­ряемого условия. Эта группа операторов образует так назы­ваемую then - часть оператора if ;

Группа операторов опер. I - опер.m, стоящая за дополне­нием еlse выполняется только в случае ложности проверя­емого условия. Эта группа операторов образует так назы­ваемую еlse - часть оператора if .

Then и else - части обеспечивающие ветвление вычислительного процесса. Алгоритм выполнения условного оператора if следующий: сначала проверяется <уcловие>. Если условие истинно (логическое выражение равно I), то выполняются все операторы th е n - части, про­пускается else - часть и управление в программе передается сле­дующему за if оператору; если <условие> ложно (логическое вы­ражение равно 0), то управление передается в else - часть, при этом пропускается then - часть, а затем на продолжение программы. Условный оператор if , содержащий как then, так и elsе - части называют сложным, или составным. Оператор if может иметь только одну then - часть, тогда он называется простым условным оператором. При этом в случае ложности проверяемого < условия > управление переходит сразу на продолжение программы.

Если количество операторов в then и в else - частях невелико и весь оператор if может быть умещен на одной строке, то в этом случае формат его записи следующий:

if условие then опер 1:...:опер. N еlse. опер.1:..: опер.m

Операторы в then и е lse - частях отделяются друг от дру­га двоеточием.

Рассмотрим следующую задачу: даны две окружности с координатами центров х1, у1 и х2, у2 соответственно и радиусами r1
и r2. Окружности пересекаются, образуя общую область - А. Дана
произвольная точка М с координатами х и у. Необходимо соста­вить программу, которая бы ответила на вопрос, принадлежит или
не принадлежит точка М области А.     

rem программа разветвленной структуры.

rem с использованием оператора if-then-else

input “ X=”; X' ввод координаты х точки М

input “y=”; y ввод координат у точки М

readx1, r1, x=2, y2, r2 ввод координат центров и радиусов двух окружностей из блока данных

data 2,3,10,5,6,7   'блок данных для окружностей, то есть x1=2, y1=3, r1=10, x2=5, y2=6, r2=7

d=sqr((x-x1)^2+(y-y1)^2) –вычисление расстояния от точки М до центра 1-й окружности

e=sqr((x-x2)^2+(y-y2)^2) – e-расстояние от точки М до центра второй окружности

ifd<=r1 ande<=r2 then –проверка условия вхождения точки М в область А

print “точка М принадлежит области А”

else

 
print “точка М не принадлежит области А”

endif

stop

4.2. Множественное ветвление с помощью if – else - if конструкции

Условный оператop if образует, как уже было сказано, две вычислительные ветви. Часто при решении конкретных задач необходимо выделить три и более ветви. Для реализации таких случаев в Турбо Бейсике предусматривается возможность использовать опе­ратор if с помощью вложенных проверок, используя конструкцию else if по формату:

 

if условие I then

опер. I

………

опер. n

else if условие 2 then.

опер. I

……….

опер. m

else

опер. I

………

опер. I

endif

Здесь сначала проверяется <условие 1>, если оно истинно, выполняются операторы, стоящие в then - части, и управление переходит к оператору, следующему за е ndif (то есть, на продол­жение программы), если оно ложно, то проверяется <условие2>, если второе условие истинно, то выполняется группа операторов опер. I -опер. m в else - части конструкции elseif, в случае ложности всех условий выполняется else - часть. Конструкций elseif может быть несколько, тогда, чтобы не ошибиться в алго­ритме выполнения такого условного оператора if множественного выбора, следует помнить простое правило: else - часть всегда отно­сится к ближайшему <условию> в дополнение elseif .

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

 

        а*х^2+b*х + с , х>о,

у =  с*х^3.+d*х+a, х<о

       а^2+b^2+c^2, Х=0

rem программа разветвленной структуры

rem c использованием оператора if - elseif

input " х="; х

read a, b, c, d

data 2,3,4,-2

if. x>0 then

 y=a*x^2 + b*x + c

elseif x<o then

C*x^3+d*x+a

Else

A^2+b^2+c^2

End if

Среди операторов then и else – частей могут стоять любые выполняемые операторы Бейсика, в том числе вызов подпрограммы и процедуры, но, если используется оператор безусловного перехода Goto, то он должен быть записан последним в данной группе.  

 


Дата добавления: 2021-11-30; просмотров: 22; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!