Лекция Паскаль 5 – Понятие операции и выражения, Арифметические и строчные операции


Тема: Операции.

Цель: Познакомиться с правилами построения, расчета, использование разнообразных выражений — арифметических, логических, строчных.

1.  Понятие операции и выражения. Арифметические и строчные операции.

Основное назначение введенных в компьютер данных — их обработки с последующим выводом и / или сохранением. Действия над данными задаются выражениями. Выражения определяют порядок выполнения действий над данными и состоят из операндов, круглых скобок и знаков операций. Операнды представляют собой константы, переменные и вызовы функций. Операция — это действие, которое выполняется над операндами.

Операции в Delphi делятся на арифметические, операции отношения, логические (булевы), строчные, операции получения адреса и тому подобное. Выражения соответственно называются арифметическими, отношения, логическими (булевыми), строчными и т.д. в зависимости от того, какого типа операнды и операции в них используются.

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

Приоритет операций на языке Delphi:

операция приоритет
@, Not Первый (высший)
* /, Div, mod, and, shl, shr, as второй
+, -, or, xor третий
=, <>>, <,> =, <=, In, is Четвертый (ниже)

Операции с более высоким приоритетом выполняются раньше, чем операции с более низким приоритетом. Если же подряд идет несколько операций с равным приоритетом, то последовательность выполнения вычислений определяется ассоциативностью, которая во всех операций одинакова — слева направо.

Читать  Тема Паскаль 7: Использование текстовых файлов для ввода и вывода информации

Арифметические операции.

Чаще всего в программах встречаются арифметические операции; они выполняют арифметические действия над значениями операндов целочисленного или вещественного типов данных.

операция действие Тип операндов Тип результатов
+ Добавление Целый, действительный Целый, действительный
вычитание Целый, действительный Целый, действительный
* умножения Целый, действительный Целый, действительный
/ Диленные Целый, действительный действительный
div целочисленное деление целый целый
mod Остаток от деления целый целый

Операции сложения, вычитания и умножения соответствуют аналогичным операциям в математике. В отличие от них, операция деления имеет три вида: обычное деление (/), целочисленное деление (div), остаток от деления (mod).

Результат, полученный при использовании различных операций деления:

выражение результат
-12 / 4 -3.0

 

выражение результат
25 div 7 3
25 mod 7 4
-10 div 4 -2
12/5 2.4
6 div 8
6 mod 8 6
20 mod 5

Операции со строками.

Строчный тип данных является также одним из самых распространенных в визуальном программировании. Строка — это последовательность символов. В Delphi существует несколько строчных типов. Основные из них:

Тип строки Максимальная длина Размер памяти Сфера применения
ShortString 255 символов От 2 до

256 байт

Плохая совместимость, хранения небольших строк, быстрая обработка
AnsiString Около 31 февраля

символов

От 4 байт

до 2 Гб

8-битные символы (ANSI), DBCS, ANSI, MBCS ANSI …
WideString Около 30 февраля

символов

От 4 байт

до 2 Гб

Юникод-символы — многопользовательские серверы, мультиязычные приложения …

Для большинства потребностей подходит тип AnsiString. Стандартные функции обработки строк.

1. Функция Length (Str: String) — возвращает количество символов (длина строки).

2. Процедура SetLength (Str: String; NewLength: Integer) — может уменьшать

длину строки. Если строка содержит большее количество символов, чем задано во втором параметров процедуры, то «лишние» символы игнорируются.

3. функция Pos (SubStr, Str: String) — возвращает позицию подстроки в строке.

Нумерация символов начинается с единицы. При отсутствии подстроки в строке функция возвращает значение 0.

 

4. Функция Copy (Str: String; Start, Length: integer) — возвращает подстроку

(Часть строки) начиная с символа Start длиной Length. Ограничений на Length нет, однако если числовое значение превышает количество символов, начиная с позиции Start, то строка копируется до самого конца.

5. Процедура Insert (SubStr: string; Str: string; Pos: integer) — вставляет в строка

Str подстроку SubStr в позицию Pos; начиная с позиции вставки буквы входной строки раздвигаются.

6. процедура Delete (Str: string; Start, Length: integer) — изымает с строки Str

символы, начиная с позиции Start длиной Length (если указан параметр выходит за пределы строки — изымает символы до конца строки).

7. Функции AnsiUpperCase (Str: string) и AnsiLowerCase (Str: string) —

превращает строку соответственно в верхний и нижний регистры.

Строки можно сравнивать между собой с помощью обычных операторов

сравнения: Var

Str1, Str2, Str3: ansistring; Logic1, logic2: Boolean;

Begin Str1 = ‘cat’;

Str2 = ‘cat’;

Str3 = ‘dog’;

Logic1 = (str1 = str2) {Результат logic1 = true} Logic2 = (str1 = str3) {Результат logic1 = false} End;

Если строки одинаковы, логическое выражение станет равным true.

2.  Теоретические вопросы для самоконтроля.

1. Дайте определение понятия «Выражение».

2. Что собой представляют операции и операнды?

3. Типы операций используются в Delphi?

4. Перечислите операции по приоритету в языке Delphi.

5. Приведите примеры математических операций в Delphi.

6. Назовите основные строчные типы Delphi.

7. Перечислите стандартные функции обработки строк.

[Всего голосов: 3    Средний: 5/5]