Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Программа на Delphi

 8                      |True       |
|(5 < 3) and (z = 0)        |False      |
|((4 + 8) < 0) or not (y =  |True       |
|0)                         |True       |
|not ((x < y) and (z > y))  |False      |
|('ab' = 'ac') and (x=z)    |True       |
|(4 in [ 2 .. 23 ])         |           |


Пример, демонстрирующий порядок выполнения операций при вычислении
логического выражения:
|Выражение:   |Not ((x > 6 + 8 * 2) and (y < 7) or (z > 7)) and (x <> |
|             |y)                                                     |
|Порядок:     |   9          3       2     1         6           4    |
|             |       7        5            10         8              |


                          9.3. Строковые выражения
Строковые выражения, частными случаями которых могут быть пустой символ ''
или одиночный символ (например 'A'), строятся из строковых или символьных
значений, констант, переменных и строковых функций при помощи строковой
операции конкатенации (присоединения). Эта операция обозначена символом +
(плюс). Скобки в строковых выражениях не применяются.
Пример:
|Выражение:   |'Object '+'Pascal '+' для Delphi'                      |
|Результат:   |'Object Pascal для Delphi'                             |


                                10. Операторы
      Оператор – языковая конструкция, представляющая описание команды или
      комплекса команд по обработке и преобразованию данных.
      Все операторы делятся на две части – простые операторы и структурные
      операторы.
                            11. Простые операторы
К их числу относятся: оператор присваивания, оператор безусловного
перехода, составной оператор, оператор процедур, специальные операторы.
                         11.1. Оператор присваивания
В параграфе 1.4 было дано краткое определение этого оператора – одного
самых простых и наиболее часто используемых операторов. Напомним, что его
синтаксис имеет вид
                                   x := y;
где x – имя переменной или функции; y – совместимое по типу выражение (о
совместимости типов см. гл. 8). Символы ":=" обозначают операцию
присваивания, в соответствии с которой вычисленное значение выражения y
присваивается переменной x.
Примеры операторов присваивания (комментарии показывают присвоенные
значения):
           Var

           Ch: Char;

           S: String[5];

           Q: String[18];

           L, J: Integer;

           P: Byte;

           R: Real;

           B: Boolean;
Rec: Record

       A: Word;

       B: String[20];

     End;

…
                                                                  Таблица 13
|Оператор присваивания     |Значение                        |
|Q:= 'd:Dir1Worda.txt'; |'d:Dir1Worda.txt'            |
|S:= Q;                    |'d:Di'                         |
|Q:= S+'r';               |'d:Dir'                       |
|Ch:=Q[2];                 |':'                             |
|L:= 450;                  |450                             |
|P:= L;                    |Ошибка, т. к. max P = 255       |
|J:= 100;                  |100                             |
|R:= -L / J;               |-4.5                            |
|J:=-L / J;                |Ошибка. Несоответствие типов    |
|J:=-L - 200;              |250                             |
|B:= J > L;                |False                           |
|B:= (J < L) and (Q[5] =   |True                            |
|'i');                     |230                             |
|Rec.A:= J-20;             |Ошибка. Несоответствие типов    |
|Rec.B:= 20;               |'dd'                          |
|Rec.B:= S[1]+S[3]+'d';   |                                |


 
                    11.2. Оператор безусловного перехода
Этот оператор выполняет передачу управления оператору, которому
предшествует метка. Синтаксис оператора:
                                 Goto Метка;
Язык допускает в качестве меток использовать имя или значение целого типа
из диапазона 1 .. 9999.
При использовании операторов перехода необходимо придерживаться следующих
правил:
   1. Все метки, используемые в блоке, должны быть описаны словом Label.
      Пример оператора описания меток:
      Label 1, 2, Met1, Met2, Met3;
   2. Метка должна располагаться в том же блоке, что и оператор, который ею
      помечен.
   3. Недопустим переход к метке внутрь структурного оператора (например,
      внутрь цикла, минуя его заголовок). Компилятор не реагирует на эту
      ситуацию, однако поведение программы может быть непредсказуемо.
      Недопустимы также вход или выход по метке в процедурах или функциях.
П р и м е ч а н и е. Не используйте меток, если в этом нет особой
необходимости. В технике современного программирования использование меток
считается правилом плохого тона, т. к. их применение часто ведет к
составлению плохо структурированных модулей, усложняющих чтение,
сопровождение и отладку программ.
                    11.3. Оператор обращения к процедуре
Этот оператор вызывает активизацию операторов, расположенных в теле
процедуры (см. параграф 15.1). После выполнения процедуры управление
передается к оператору, расположенному вслед за оператором процедуры.
При вызове процедуры её формальным параметрам должны строго соответствовать
по совместимости типов и количеству фактические параметры.
Примеры обращения к процедурам:
                       Val (s, r, Code);

                       Sort (a, n * 2);

                       SaveParameters;
                          11.4. Обращение к функции
Следует подчеркнуть, что не существует специального оператора обращения к
функции (см. параграф 15.1). Обычно такое обращение производится
посредством другого оператора, часто оператора присваивания.
Обращение к функции активизирует ее внутренние операторы точно так же, как
это происходит в процедурах. Принципиальное отличие между выполнением
процедуры и функции состоит в следующем:
    . после выполнения оператора процедуры управление передается к
      следующему за ним оператору;
    . после выполнения функции управление вновь передается в оператор,
      который содержит обращение к этой функции, с целью передачи в него
      вычисленного значения функции и для завершения вычислений внутри этого
      оператора.
Поясним это на примере оператора присваивания, содержащего обращение к
функции Func8:
                   G:= 2 * Pi * Func8(m, n, a) / Sqr (z);
При выполнении этого оператора сначала происходит обращение к функции
Func8. После выполнения операторов, составляющих тело этой функции,
вычисленное значение возвращается в этот оператор, где оно используется для
выполнения дальнейших вычислений внутри оператора.
                     12. Стандартные процедуры и функции
Язык содержит ряд процедур и функций, которые в практике программирования
ипользуются наиболее часто. Расширенный список процедур и функций, которые
могут найти применение в практике программирования, приведен в приложении.
                     12.1. Строковые процедуры и функции
   1. Function Length (St): LongInt;
      Возвращает длину строки символов St, т. е. количество символов в ней
      (не путать с размером строки).
      St:= '1234abc';
      L:= Length(St); {L= 7}
   2. Procedure Delete (St, Pos, Num);
      Удаляет Num символов из строки St начиная с позиции Pos, если
      PosLength (Target), то результат Target + Obj.
      St1:= '***';

      St2:= '1234abc';

      Insert (St1, St2, 3) { St2= '12***34abc'}
   4. Procedure Str (Value, St);
      Преобразует значение Value числового типа в строку символов St. Value
      может сопровождаться форматом.
      L:=19;

      Str (L, g); {g= '19'}

      R:= 2.123155;

      Str (R: 8:3, h); {h= ' 2.123' (длина 8, в дробной части 3}
   5. Procedure Val (St, Vr, Code);
      Преобразует строку символов St в числовую величину Vr целого или
      вещественного типа. Code = 0, если преобразование прошло успешно,
      иначе в Code будет записан номер первого ошибочного символа
      конвертируемой строки, при этом значение Vr не определено.
      St:='319';

      Val (St, k, Cod); {k= 319, Cod = 0}

      St:='81yy9';

      Val (St, k, Cod); {k= ?, Cod = 3}
   6. Function Copy (St, Pos, Num): String;
      Выделяет из строки St подстроку символов длиной Num начиная с позиции
      Pos. Если Pos>Length, то возвращает пустую строку.
      St1:='АБВГДЕ';

      St2:= Copy(St1, 2, 3); {St2= 'БВГ'}

      St2:= Copy(St1, 2, 27); {St2= 'БВГДЕ'}

      St2:= Copy(St1, 44, 2); {возвращает пустую строку St2= ''}
   7. Function Concat (St1, St2{, …, StN}): String;
      Объединяет строки в одну строку.
      St:='abc';

      St1:=Concat( 'sss', St, '1234'); {St1= 'sssabc1234'}

      St1:=Concat( St, '123'); {St1= 'abc123'}
   8. Function Pos (Obj, Target): Integer;
      Возвращает номер символа, начиная с которого строка Obj первый раз
      входит в строку Target. Если строка Obj отсутствует в строке Target,
      то Pos = 0.
      Q:= 'Иванов Сергей Петрович';

      H:= Pos ('Сергей', Q); {H= 7}

      H:= Pos ('Игорь', Q); {H= 0}
   9. Function SizeOf (Obj): Integer;
      Возвращает размер переменной Obj.
  10. Function FormatFloat(const Format: string; Value: Extended): string;
      Возвращает форматированное вещественное значение в виде строки. Format
      – формат числа, Value – число. В табл. 14 даны форматы функции
      FormatFloat.
                                                                  Таблиц
Пред.678910След.
скачать работу

Программа на Delphi

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ