Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_алгоритм_и_программир_2курс_ПИ .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
720.9 Кб
Скачать

Урок № 13. Выражения.

Выражение представляет собой конструкцию, определяющую состав данных, операции и порядок выполнения операций над данными. Выраже­ние состоит из:

- Операндов

- Знаков операций

- Круглых скобок

Тип значения выражения определяется типом операндов и со­ставом выполняемых операций.

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

Операции определяют действия, которые, выполняются над операндами.

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

Результатом выполнения арифметического выражения является число, тип которого зависит от типов операндов, составляющих это выражение. В арифметическом выражении можно использовать числовые типы (цело­численные и вещественные), арифметические операции и функции, воз­вращающие числовое значение.

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

+ (сложение)

- (вычитание)

* (умножение)

/ (деление)

При умножении и делении тип результата всегда будет вещественный.

В модулях system, SysUtils и Math содержится большое количество функ­ций для работы с числовыми данными, которые можно использовать в арифметических выражениях:

Abs(X) — абсолютное значение х

sqrt(X) — квадратный корень из х

Sqr(X) — возведение х в квадрат

Ln(X) — натуральный логарифм х

Ехр(Х) — возведение числа е в степень х

Random(n) – случайное число в диапазоне от 0 до n-1

Arctan(x) – арктангенс (х)

sin(X) —-синус угла х, заданного в радианах

и другие тригонометрические функции.

В Object Pascal отсутствует операция возведения в степень. Возведение числа (выражения) в целую степень можно выполнить в цикле путем многократного умножения на данное число. Возведение положительного ненулевого числа х в любую степень А можно выполнить с помощью выражения Ехр(A*Ln (X)).

С переменными целочисленного типа, кроме того, можно производить следующие арифметические операции:

Div — целочисленное частное от деления двух чисел

Mod – целочисленный остаток от деления двух чисел

Пример. K:= 40 div 13 => k=3

K:= 40 mod 13 => k=1

К данным целочисленного типа применима функция odd(X):Boolean, которая анализирует четность выражения х. Функция возвращает значение True, если число нечетное.

3.Строковые выражения

Результатом выполнения строкового выражения является строка символов. Для строк можно применять операцию "+" — соединение (конкатенацию) двух строк.

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

Например:

  1. Имеется строка символов. Найти первое вхождение символа «а» и определить его позицию.

Var str:string;

p:integer;

begin

p:=POS(‘a’,str);

end.

  1. Имеется строка символов. Выделить последние два символа строки.

Var str,str1:string;

begin

str1:=COPY(str, Length(Str)-2,2);

end.

4. Процедуры и функции. Действие процедуры и функции

Function AnsiLowerCase(const S: String): String - Возвращает исходную строку S, в которой все прописные буквы заменены на строчные в соответствиис национальной кодировкой Windows (то есть с учетом кириллицы).

Function AnsiUpperCase(const S: String): String - Возвращает исходную строку S, в которой все строчные буквы заменены на прописные в соответствии с национальной кодировкой Windows

Function Concat(Sl [ , S2,…, SN]: String): String - Возвращает строку, представляющую собой сцепление строк-параметров S1, S2,... , SN.

Function Copy(St: String; Index, Count: Integer): String - Копирует из строки St Count символов начиная с символа с номером Index.

Procedure Delete(St: String; Index, Count: Integer) - Удаляет Count символов из строки St начиная с символа с номером Index .

Procedure Insert(SubSt: String; St. Index: Integer) - Вставляет подстроку SubSt в строку St, начиная с символа с номером Index .

Function Length(St: String): Integer - Возвращает текущую длину строки St.

Function LowerCase(const S: String) - String; Возвращает исходную строку S, в которой все латинские прописные буквы заменены строчными.

Function Pos(SubSt, St: String): Integer - Отыскивает в строке St первое вхождение подстроки SubSt и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль.

Procedure SetLength(St: String;NewLength: Integer) - Устанавливает новую (меньшую) длину NewLength строки St. Если NewLength больше текущей длины строки, обращение к SetLength игнорируется.

Procedure Val(St: String; var X; Code: Integer) - Преобразует строку символов St во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной.

Function IntToStr(Value:Integer):string - Преобразование значения целочисленного выражения Value в строку.

Function StrToInt (const S: string): Integer - Преобразование строки S в целое число.

Function FloatToStr(Value:Extended):string - Преобразование значения вещественного выражения Value в строку.

Function StrToFloat(const S: string): Extended - Преобразование строки S в вещественное число.