Салаватский филиал угнту



Скачать 404.02 Kb.
страница4/9
Дата10.07.2019
Размер404.02 Kb.
Название файлаРуководство по выполнению лабораторных работ по курсу.RTF
ТипРуководство
1   2   3   4   5   6   7   8   9
Программирование разветвляющихся вычислительных процессов.
При разработке программ приходится сталкиваться с ситуацией, когда из нескольких допустимых вариантов необходимо выбрать лишь один. Например,в задании к третьей лабораторной работе предлагается рассчитать и напечатать значение функции, заданной в виде условий.

Программная реализация данной задачи предполагает использование одного из условных операторов либо оператора выбора.

Условные операторы языка Бэйсик имеют две модификации: одностроковый оператор IF - Then - Else и многостроковый If - EndIf. Различие заключается в следующем:

одностроковый оператор If-Then-Else должен записываться в одну строку

многостроковый оператор IF-EndIf может содержать несколько строк.

Формат оператора If-Then-Else

If <условие> Then <операторы> Else<операторы>.

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

При невыполнении условия выполняются операторы, следующие за Else,при отсутствии Else действие оператора If игнорируется.

Одностроковый оператор IF-Then-Else удобно использовать при небольшом числе проверок условий и небольшой длине <операторов>. В противном случае запись оператора может быть слишком громоздкой и не наглядной.

При значительном количестве проверок условий и самое главное большом числе действий при выполении или невыполнении анализируемого условия следует прибегать к многостроковому оператору If-EndIf.

Формат многострокового оператора:

If <условие 1> Then

<операторы>

ElseIf <условие 2> Then



<операторы>

.

.



.

Else


<операторы>

Endif


Оператор выполняется следующим образом:

  • при выполнении <условие 1> выполняются операторы, стоящие за первым Then.После их выполнения управление передается оператору, следующему за EndIf.При невыполнении первого условия анализируюется <условие 2>

  • при выполнении второго условия выполняются действия, стоящие за вторым Then.После их выполнения управление передается оператору, следующему за Endif

  • При невыполнении очередного условия последовательно анализируются последующие. При невыполнении ни одного из заказанных условий выполняются действия, стоящие за Else.

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

Однако для организации сложных и многочисленных проверок удобнее использовать оператор выбора Select Case.

Формат оператора

Select Case <выражение выбора>

Case <список выражений 1>

<операторы>

Case <список выражений 2>



<операторы>

.

.



.

Case Else



<операторы>

End Select

Здесь: <выражение выбора>-любое числовое или символьное выражение;

<список выражений>- анализируемое значение.

Элементы списка выражений должны иметь одну из следующих форм:



  • выражение, выражение ...

  • выражение To выражение

  • Is выражение со знаком операции

  • выражение- любое числовое или символьное выражение, совпадающее с типом выражения выбора.

Если <выражение выбора >отвечает условиям списка выражений данного блока Case, выполняются операторы из этого блока. После этого управление передается оператору, следующему за End Select.
Задание : вычислить значение функции

 tg(a+x3) , x>2.35 где x=ln(z/a+1)-ez

y= |ax+z|/3, 0x2.35 z=tg(ae1.5)

 sin3z5 , x<0 a=0.7

Алгоритм решения задачи:


  • задаем значение переменной а

  • вычисляем значения z и x

  • если значение х больше 2.25 - вычисляем y по первой из формул

  • для значения х из диапазона от 0 до 2.25 вычисляем y по второй формуле

  • в противном случае вычисляем y по третьей формуле

  • полученный результат печатаем.

Приведем два варианта программной реализации поставленной задачи : с помощью оператора If - Then - Else и Select Case.
Вариант 1

a=0.7


z=Tan(a*exp(1.5))

x=log(z/a+1)-exp(z)

if x>2.35 Then y=tan(a+x^3) Else if x>=0 Then y=Abs(a*x+sqr(z))/3 Else y=Sin(z^5)^3

Print “x=“;x,”y=“;y


Вариант 2

a=0.7


z=Tan(a*exp(1.5))

x=Log(z/a+1)-Exp(z)

Select Case x

Case Is >2.35

y=tan(a+x^3)

Case 0 To 2.35

y=Abs(a*x+sqr(z))/3

Case Else

y=Sin(z^5)^3

End Select

Print “x=“;x,”y=“;y



Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©nedocs.ru 2017
обратиться к администрации

    Главная страница