ПОСТРОЕННИЕ ПРОГРАММЫ, РЕАЛИЗУЮЩЕЙ РАЗВЕТВЛЯЮЩИЙ АЛГОРИТМ
Турбо Бейсик, как вполне современный язык, содержит все “модные", в духе структурного программирования конструкции для управления выполнением программы. К ним относятся средства проверки условий, организация циклов и обработки ошибок.
Условный оператор 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
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!