Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Порядок вычисления выражений




Все операции при вычислении значения выражения выполняются в соответствии с их приоритетом.

Примеры логических выражений: x <10, x +17 >=10, (x > a) and (x < b). Здесь переменные x, a, b, y могут быть, например, числового или строкового типов.

Строковые выражения (СВ). Результатом выполнения СВ является строка символов. Для строк можно применять операции «+» – соединение (конкатенацию) двух строк, операции сравнения, а также следующие функции:

o Length(S): integer – определение текущей длины строки S (в символах ~ в байтах);

o Copy(S; Index, N: integer): String – выделение из строки S подстроки длиной N символов. Подстрока выделяется, начиная с символа в позиции Index;

o Concat(S1, S2,... Sn: String): String – соединение (сцепление) строк S1, S2,... Sn;

o Pos(Substr: String; S: String: integer – определение позиции (номера) символа, начиная с которого подстрока Substr входит в строку S, при этом ищется первое вхождение. Если подстрока не найдена, возвращается ноль.

Пример. Str1:=’Student’;

Str2:= ‘Ivanov A.B.’;

Str3:= Str1+ Str2;

Кроме функций, к строковым данным можно применять следующие процедуры:

o Insert(Source: String; var S: String; Index: integer) – вставка строки Source в строку S, начиная с позиции Index;

o Delete (var S: String; Index, N: integer) – удаление из строки S N символов, начиная с позиции Index;

Кроме отмеченных подпрограмм, большое количество процедур и функций содержит модуль SysUtils.

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

Задание 5. Составить программу ввода с клавиатуры своей фамилии и вывода на экран составляющих ее букв в обратном порядке.

Задание 6. Составить программу, которая преобразует исходную строку Alpha со значением ‘ What do we study? ’ в строку Beta со значением ‘ We study Object Pascal. ’ Вывести на экран значение Beta и ее длину.

Указание: использовать вспомогательную строку Gamma со значением ‘ Object Pascal.’, а также процедуры Delete, Insert и функции Copy, Length, UpCase

 

Операторы языка

Простые операторы

Простые операторы – это операторы, не содержащие других операторов. К ним относятся:

o оператор присваивания;

o оператор (безусловного) перехода;

o пустой оператор;

o оператор вызова процедуры.

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

<имя переменной> =: <выражение>;

Вместо имени переменной можно указывать элемент массива или поле записи. Отметим, что знак присваивания := отличается от знака равенства = и имеет другой смысл. Знак присваивания означает, что сначала вычисляется значение выражения, а затем оно присваивается указанной переменной. Поэтому при условии, что х является числовой переменной, имеющей оп ределенное значение, допустима следующая конструкция: х:=х+1;

Примеры. var x, a, b, c, root: real; box: Boolean; name: string;

...

x:=x+5.3; root:= sqrt(b*b-4*a*c);

box:= False; name:=’ Ann ’;

Оператор перехода предназначен для изменения порядка выполнения опера­торов программы. Он используется в случаях, когда после выполнения не­которого оператора требуется выполнить не следующий по порядку, а ка­кой-либо другой, помеченный меткой оператор. Метка, стоящая перед оператором, отделяется от него двоеточием.

Напомним, что меткой может быть идентификатор или целое число без знака в диапазоне 0—9999, причем все метки должны быть предварительно объявлены в разделе объявления меток того блока процедуры, функции или программы, в котором эти метки используются. Формат оператора перехода:

goto <Метка>;

Пример. Label m 1;

...

goto m1;

...

m1: writeln(‘…’);

Передавать управление с помощью оператора перехода можно на операто­ры, расположенные в блоке программы выше или ниже оператора перехода. Запрещается передавать управление операторам, находящимся внутри струк­турных операторов, а также операторам, находящимся в других бло­ках (процедурах или функциях).

Внимание! В соответствии с правилами структурного программирования оператор перехода следует использовать как можно реже.

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

Оператор вызова процедуры служит для активизации стандартной или предва­рительно описанной пользователем процедуры. Он представляет собой имя этой процедуры со списком передаваемых ей параметров. Более подробно этот оператор будет рассмотрен позже.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...