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

  • Y:=a*b/10; S:=’ Дом ’; F1:= False;

  • Label M1; ……… Goto M1; ……….. M1:y:=sin(x); ……………

  • If a>b then y:=a-b else y:=b-a;

  • Var c:char; s:String; ……………………. Case c of ’0’..’9’:s:=’ Цифра ’;

  • If a>b then Begin Y:=a-b; Z:=a*b; End else Begin Y:=b-a; Z:=a/b; End;

  • j:=strtoint(edit4.Text); h:=(b-a)/10; //

  • Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y)); x:=x+h; //

  • операторы Delphi. Операторы delphi оператор присваивания


    Скачать 92.84 Kb.
    НазваниеОператоры delphi оператор присваивания
    Анкорdelphi
    Дата10.03.2020
    Размер92.84 Kb.
    Формат файлаdocx
    Имя файлаоператоры Delphi.docx
    ТипДокументы
    #111464
    страница1 из 5
      1   2   3   4   5
    1. ОПЕРАТОРЫ DELPHI

      1. Оператор присваивания


    В результате выполнения оператора присваивания значение переменной меняется – ей присваивается новое значение. В общем виде оператор присваивания выглядит так: Имя : = Выражение, где Имя — переменная, значение которой изменяется в результате выполнения оператора присваивания; : = — символы инструкции присваивания; Выражение — выражение, значение которого присваивается переменной, имя которой указано слева от символа инструкции присваивания.

    Пример:

    Y:=a*b/10; S:=’Дом’; F1:= False;

    Результат вычисления выражения всегда приводится к типу имени переменной и только затем записывается в поле переменной.

    Каждый оператор Delphi заканчивается точкой с запятой (;), что позволяет в одной строке программы записывать несколько операторов.
      1. Оператор безусловной передачи управления


    Оператор безусловной передачи управления имеет вид:

    Goto метка;

    Метка – это идентификатор, описанный в разделе меток – Label.

    Например:

    Label M1;

    ……… Goto M1; ………..

    M1:y:=sin(x); ……………

    Оператор Goto передает управление оператору с указанной меткой, в нашем случае M1. Оператор, следующий за Goto, обязательно должен иметь метку, иначе он никогда не получит управление. По возможности следует избегать использования оператора Goto, так как это приводит к созданию неэффективных программ. Перескок внутри программы приводит к тому, что нужно заново обновлять очередь команд, готовых к выполнению в процессоре, и перенастраивать его управляющие регистры. Чем меньше в программе операторов Goto, тем выше квалификация программиста.
      1. Условный оператор if


    Этот оператор разветвления if в общем случае имеет вид

    If условие then оператор1 else оператор2;

    В этой записи зарезервированные слова выделены жирным шрифтом, а то, что подчеркнуто, может отсутствовать. Работает он следующим образом: если условие имеет значение «истина», то выполняется оператор1, иначе – оператор2.

    Например:

    If a>b then y:=a-b else y:=b-a;

    В этом примере «y» всегда будет принимать положительные значения, независимо от значений a и b.
      1. Оператор разветвления Case


    Этот оператор в общем случае может иметь вид Case выражение of знач11..знач12:оператор1;

    знач21..знач22:оператор2;

    ………………………..

    значK1..значK2:операторK

    else оператор0; end;

    В зависимости от значения выражения выполняется тот или иной оператор. Если значение выражения не попадает ни в один из интервалов, то выполняется оператор0.

    Пример:

    Var c:char; s:String; …………………….

    Case c of

    ’0’..’9’:s:=’Цифра’;

    ’A’..’z’:s:=’Латинская буква’; ..’А’..’я’:s:=’Русская буква’

    else s:=’Специальный символ’

    end;


      1. Составной оператор


    Этот оператор еще называют операторными скобками, он начинается ключевым словом Begin и заканчивается словом End. Между этими словами можно записывать любое число операторов, но чисто внешне он воспринимается как один оператор.

    Пример:

    If a>b then Begin

    Y:=a-b;

    Z:=a*b;

    End else Begin

    Y:=b-a;

    Z:=a/b; End;

    В этом примере вместо одного оператора в инструкции if было использовано по два оператора присваивания.

    Для лучшей читаемости программы рекомендуется после каждого оператора Begin все последующие строки программы сдвигать на две позиции вправо, а после оператора End – на две позиции влево. Это позволит легко отследить вложенность блоков Begin – End.
    1. ОПЕРАТОРЫ ЦИКЛОВ


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

    Хотя циклы можно легко организовывать с помощью оператора if, в Delphi есть три специальных оператора для организации циклов. Но вначале рассмотрим, как можно организовать цикл с помощью оператора if, например для задачи из раздела 3.1. Мы приведем только метод обработки нажатия клавиши «Старт»:

    procedure TForm1.Button1Click(Sender: TObject);

    // Обработчик нажатия кнопки

    var x,y,h:extended;n,i,j:integer;// Определение внутренних переменных Label M1; begin

    a:=strtofloat(edit1.Text); // Перевод строк в вещественное значение b:=strtofloat(edit2.Text);

    n:=strtoint(edit3.Text); // Перевод строки в целое значение j:=strtoint(edit4.Text);

    h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x M1:y:=0; // Подготовка цикла по i i:=1;

    M2:if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы i:=i+1; // Наращивание переменной цикла i if i<=n then goto M2; // Проверка окончания цикла по i

    // Вывод результатов

    Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y));

    x:=x+h; // Наращивание переменной цикла по x if x<=b then goto M1; // Проверка окончания цикла по x end;

    Как видно из этого примера, можно легко организовывать циклы с помощью оператора if, однако нам пришлось использовать две метки M1 и M2, что говорит о плохом стиле программирования.
      1. Оператор цикла For


    Этот оператор в общем случае имеет вид

    To

    For пер.цикла:= нач.знач. ⎨ ⎬ кон.знач. Do оператор1;

    Downto

    Его следует понимать следующим образом. Для переменной цикла от начального значения до конечного значения выполнять оператор1. В фигурных скобках показаны два варианта наращивания переменной цикла: To – соответствует шагу увеличения 1, а Downto – шагу -1. Переменная цикла, начальное и конечное значения обязательно должны быть целыми величинами. Переменная цикла должна быть внутренней переменной подпрограммы. Схему работы этого оператора можно изобразить следующим образом:



    Правила использования оператора For:

    1. Если начальное значение переменной цикла больше конечного, то цикл не выполняется ни разу.

    2. Циклы можно вкладывать друг в друга, но не пересекать.

    3. Можно передавать управление из цикла вовне его, но извне передать управление внутрь цикла нельзя.

    4. Можно передать управление из цикла вовне его с последующим входом в этот же цикл.

    5. Внутри цикла нельзя самим изменять значения переменной цикла.

    6. После окончания цикла переменная цикла становится не определенной и ее значение уже нельзя использовать.

    7. Если внутри цикла встречается оператор Break, то происходит принудительный выход из этого цикла.

    8. Если внутри цикла встречается оператор Continue, то происходит переход к следующей итерации цикла.

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

    h:=(b-a)/10; // Расчет шага по x x:=a; // Подготовка цикла по x M1:y:=0; // Подготовка цикла по i

    For i:=1 to n Do if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы // Вывод результатов

    Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y));

    x:=x+h; // Наращивание переменной цикла по x if x<=b then goto M1; // Проверка окончания цикла по x

    Как видим, число операторов программы уменьшилось на 3 и нет необходимости в метке M2.
      1.   1   2   3   4   5


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