Главная страница
Навигация по странице:

  • Basic

  • End If .4. При выполнении производится последовательная проверка условий. Как только какое-либо из них принимает значение True

  • End If

  • Лекции. Основные понятия и определения


    Скачать 1.94 Mb.
    НазваниеОсновные понятия и определения
    Дата27.03.2018
    Размер1.94 Mb.
    Формат файлаdocx
    Имя файлаЛекции.docx
    ТипКонтрольные вопросы
    #39570
    страница13 из 58
    1   ...   9   10   11   12   13   14   15   16   ...   58

    5.2. Присваивание

    C

    Формат:

    ...[<переменная>=]<переменная>[<знак>]=<выражение>;

    Пример.

    x=-.127; i=i+1; a[i+1]=x*y+2*sin((z+1)*(x-2));

    Инструкция вида i++; фактически эквивалентна инструкции i=i+1; , поэтому ее также можно отнести к присваиванию.

    Инструкция вида x+=a+b/2; эквивалентна инструкции x=x+a+b/2; и является просто сокращенной формой записи операции изменения значения переменной и в качестве знака может использоваться любой оператор, при котором полученная конструкция имеет смысл. В дальнейшем мы увидим, что таких знаков достаточно много.

    Следует обратить внимание на многократное присваивание, которое весьма удобно.

    Пример.

    i=j=k=0; эквивалентно k=0; j=k; i=j;

    Однако, если один из операндов переменная с индексами, то сначала вычисляются индексные выражения и только потом выполняется присваивание.

    Пример.

    i=1;

    j=3;

    a[ i ][ j ]=i=i+1; в результате получим i=2 a[1][3]=2
    Basic

    Формат:

    <переменная>[знак]=<выражение>

    Опция [знак] имеет тот же смысл, что и в языке С.

    Пример.

    x=-0.127: i+=1: a(i+1)=x*y+2*Sin((z+1)*(x-2)): m( i, j )=i+1

    5.3. Безусловный переход


    Инструкция выполняет переход к другой выполняемой инструкции. Для осуществления перехода нужно указать место, в которое необходимо перейти. Для этого используется объект программы – метка, которая присоединяется к нужной инструкции. Такая инструкция называется помеченной.

    <помеченная инструкция>:=<метка><инструкция>

    <метка>:=<имя:>|<номер:> → для Basic

    <номер>:=<целое без знака>

    Замечания (Basic).

    1. Использование номера является анахронизмом – пришло из старых версий языка, сейчас лучше не использовать.

    2. Если в качестве метки все-таки используется номер, то в пределах области действия метки номера должны нарастать. Понятие области действия будет введено в другом разделе.

    Сама инструкция имеет вид:
    C

    goto <метка>;

    Пример.

    goto label;

    ..........

    label:x++;

    Basic (устаревший вариант)

    Goto 10

    .............

    10: x=x+1

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

    5.4. Инструкция If. Пустая инструкция


    Реализует базовую вычислительную структуру – развилку.
    C

    Формат:

    if(<выражение>)<инструкция 1>;

    [else <инструкция 2>;]

    Если <выражение> принимает значение true (≠0), то выполняется <инструкция 1>. Если <выражение> принимает значение false (=0), то выполняется <инструкция 2>. По правилам языка в каждой ветви должна быть только одна инструкция. В качестве любой из инструкций может использоваться другая инструкция if. Такие инструкции называют вложенными. Инструкции, входящие в состав инструкции if, для удобства чтения текста принято сдвигать вправо на 3-5 позиций.

    Примеры.

    if(a>b) if(x*x+y*y>r*r)z=0;

    c=a;

    else x+1, если x<0 if(x<0)

    c=b; y= y=x+1;

    1-x, если x>=0 else

    y=1-x;

    Вложенные if

    if(x>y) x*x-5, если x<0

    if(z==0) y= √x+3, если 0<=x<=5

    x=5; x-7, если x>5

    else

    x=-5; if(x<0)

    else y=x*x-5;

    if(z>10) else

    y=5; if(x<=5)

    else y=sqrt(x)+3;

    y=-5; else

    y=x-7;

    Пустая инструкция (есть только в языке C) имеет вид: ;.

    Пример.

    if(x>y)

    if(z==w)

    if(w


    y=1;

    else

    p=q; // При x>y && z!=w переход к инструкции с меткой m1

    else ; // Пустая инструкция

    else

    x=4;

    m1:z=5;

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

    Basic

    Используются 2 формы инструкции If.

    Однострочная форма.

    Формат:

    If <условие> Then [<инструкции>] [Else <инструкции>]

    Замечания.

    1. Эта форма инструкции If записывается в одну строку.

    2. Инструкции за словом Then могут отсутствовать только при наличии в инструкции If слова Else.

    3. Инструкций за словами Then и Else может быть более одной. В этом случае они отделяются друг от друга символом ":" .

    Пример.

    If x*x+y*y>r*r Then z=0

    If a>b Then c=a : d=b Else c=b : d=a

    Блочная форма ("цепочка").

    Формат:

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

    [<инструкции>]

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

    [<инструкции>]

    ]...

    [Else

    [<инструкции>]

    ]

    End If

    Замечания.

    1. Слово If этой формы должно быть первым в строке. Слово Then можно не записывать.

    2. Количество опций (частей) ElseIf в инструкции не ограничено, однако рекомендуется использовать не более 3, поскольку текст становится плохо читаем. Для программирования большего числа альтернатив существует другая инструкция, описанная ниже в данном разделе.

    3. Форма обязательно должна заканчиваться инструкцией End If.

    4. При выполнении производится последовательная проверка условий. Как только какое-либо из них принимает значение True, выполняются следующие за соответствующим словом Then инструкции и управление передается на инструкцию, следующую за инструкцией End If. Если не будет истинно ни одно из условий, то выполняются инструкции, следующие за словом Else.

    5. В состав внутренних инструкций в свою очередь могут входить другие инструкции If любой формы.

    6. Транслятор отличает эту форму по отсутствию в строке после слова Then других инструкций, не входящих в инструкцию If. Допустим только комментарий.

    Примеры. Вычислить:

    x*x-5, если x<0

    y= √x+3, если 0<=x<=5

    x-7, если x>5

    If x<0 Then

    y=x*x-5

    ElseIf x<=5 Then

    y=Sqrt(x)+3

    Else

    y=x-7

    End If

    Вложенные инструкции:

    If x>y Then

    If z=w Then

    If w
    Then

    y=1

    Else

    p=q

    End If

    'при x>y and z<>w переход к инструкции с меткой m1

    End If

    Else

    x=4

    End If

    m1:z=5

    Из примеров видно, что в языке Basic не требуется пустая инструкция.
    1   ...   9   10   11   12   13   14   15   16   ...   58


    написать администратору сайта