Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания по ООП.pdf
Скачиваний:
16
Добавлен:
25.03.2016
Размер:
1.65 Mб
Скачать

не менее 2. Размер массива не может быть изменен;

отображение: должно отображаться наименование массива, а также разница между максимальным и минимальным элементами;

обязательный метод класса: выводит два числа, разделенных пробелом – сумму элементов, стоящих в нечетных и четных позициях, соответственно;

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

25.описание класса: одномерный вещественный массив;

обязательные поля:

1.уникальный идентификатор. Не может быть изменен;

2.собственно массив, значения элементов которого не равны 0. Размер массива задается в конструкторе класса и должен быть не менее 2. Размер массива не может быть изменен;

отображение: должен отображаться уникальный идентификатор массива, а также сумма дробных частей элементов;

обязательный метод класса: определяет количества отрицательных и положительных элементов массива, соответственно;

дополнительное действие в программе: определение массива, у которых суммы отрицательных элементов наибольшая. При выводе указывать наименование массива и найденную сумму. Если есть несколько массивов с максимальной суммой, то вывести любой из них.

2.2 Перегрузка операторов

Задание: Для условий задачи обеспечить:

а) реализацию класса, включающую перегрузку указанных операто-

ров;

б) создание экземпляра класса на основе данных, введенных в компонентах класса TextBox, и его добавление в компонент класса ListBox;

в) удаление выбранного в компоненте класса ListBox экземпляра класса;

г) реализацию выполнения перегруженных унарных операторов с выбранным в компонент класса ListBox экземпляром класса;

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

45

TextBox (при необходимости допускается создание для второго операнда экземпляра класса);

е) результат выполнения перегруженных операторов отображается в компоненте класса TextBox. При этом, в результате должны быть отображены операнды, оператор и результат выполнения.

Примечание: при описании оператора в скобках указываются типы операндов. Обозначение <T> определяет тип создаваемого класса.

Варианты заданий приведены в таблице 7.

Таблица 7 – Варианты заданий по перегрузке операторов

 

 

Описание полей класса и перегружаемых операторов

1.

 

поля:

 

 

1.

int, без ограничений, по умолчанию 25;

 

 

2.

int, трехзначное, ≥ 0, по умолчанию 100;

 

отображение: «10 - 150»;

 

 

перегружаемые операторы:

 

 

1.

+(<T>,<T>). Отдельно складываются поля №1 и №2. Если при

 

 

 

сложении полей №2 значение превышает 999, то в результиру-

 

 

 

ющее поле №2 записывается значение по умолчанию, а в сумму

 

 

 

полей №1 добавляется единица;

 

 

2.

+(<T>,int). Складывается поле №2 с целым числом. Если при

 

 

 

сложении значение выходит за диапазон 100÷999, то в резуль-

 

 

 

тирующее поле №2 записывается ближайшее значение из ука-

 

 

 

занного диапазона (т.е. 100 или 999). Результирующее значение

 

 

 

поля №1 равно значению поля №1 первого операнда;

 

 

3.

==(<T>,<T>). Истина, если у двух операндов равны соответ-

 

 

 

ствующие поля;

 

 

4.

>(<T>,<T>). Истина, если поле №1 первого операнда больше

 

 

 

поля №1 второго операнда, или поля №1 равны, а поле №2 пер-

 

 

 

вого операнда больше поля №2 второго операнда.

2.

 

поля:

 

 

1.

string, не пустая, по умолчанию «a»;

 

 

2.

int, без ограничений, по умолчанию 5:

 

 

отображение: «абвгде (123)»;

 

 

перегруженные операторы:

 

 

1.

+(<T>,<T>). При сложении полей №1 получается строка, со-

 

 

 

стоящая из поля №1 первого операнда, дополненного символа-

 

 

 

ми поля №1 второго операнда, не входящими в поле №1 первого

 

 

 

операнда. Для полей №2 осуществляется обычное сложение;

 

 

2.

-(<T>). В поле №1 меняется порядок букв на противополож-

46

ный. У поля №2 меняется знак;

3.!=(<T>,<T>). Истина, если у операндов не равны длины полей №1 или значения полей №2;

4.<(<T>,<T>). Истина, если длина поля №1 первого операнда меньше длины поля №1 второго операнда, или длины полей №1 равны, а поле №2 первого операнда меньше поля №2 второго операнда.

3.поля:

1.string, не пустая, по умолчанию «б»;

2.string, не пустая, по умолчанию «в»;

отображение: «абвгде - клмноп»;

перегруженные операторы:

1.*(<T>,<T>). Значением поля №1 является строка, состоящая из символов поля №1 первого операнда, для которых в той же позиции поля №1 второго операнда находится такой же символ. Если таких символов не найдено, то в поле №1 записывается значение по умолчанию. Для полей №2 осуществляется аналогичное действие;

2.-(<T>). В полях меняется порядок букв на противоположный;

3.==(<T>,<T>). Истина, если у двух операндов равны соответствующие поля;

4.<(<T>,<T>). Истина, если значение поля №1 первого операнда меньше значения поля №1 второго операнда, или значения полей №1 равны, а значение поле №2 первого операнда меньше значения поля №2 второго операнда.

4.поля:

1.int, двухзначное, по умолчанию 22;

2.int, трехзначное, по умолчанию 333;

отображение: «12 - 345»;

перегруженные операторы:

1.+(<T>,<T>). Отдельно складываются поля №1 и №2. Результирующие значения получаются путем нахождения остатка от деления на 100 и 1000 сумм полей №1 и №2 соответственно;

2.-(<T>). В значение поля №1 записываются два младших разряда исходного значения поля №2, а в значение поля №2 – исходное значение поля №1, сложенное с 100;

3.==(<T>,<T>). Истина, если у операндов равны суммы полей;

4.>(<T>,<T>). Истина, если у сумма полей первого операнда больше суммы полей второго операнда.

5.поля:

1.string, не пустая, по умолчанию «г»;

2.int, только для чтения, равно количеству букв в поле №1, по

47

умолчанию 1;

отображение: «абс[3]»;

перегруженные операторы:

1.+(<T>,<T>). Отдельно складываются поля №1 и №2.

2.-(<T>,int). Из поля №1 удаляются последние буквы в количестве, заданном во втором параметре. Если удалены все буквы, то поля принимает значение по умолчанию. Поле №2 соответствует количеству букв в поле №1;

3.==(<T>,<T>). Истина, если у операндов равны значения полей №1;

4.<(<T>,<T>). Истина, если у первого операнда значение поля №1 меньше, чем у второго операнда.

6.поля:

1.int, двухзначное, по умолчанию 20;

2.double, >0, по умолчанию 1.3;

отображение: «12 - 34.56»;

перегруженные операторы:

1.+(<T>,int). Складывается поле №1 с целым числом. Если при сложении значение выходит за диапазон 10÷99, то в результирующее поле №1 записывается ближайшее значение из указанного диапазона (т.е. 10 или 99). Результирующее значение поля №2 равно значению поля №2 первого операнда;

2.+(<T>,double). Складывается поле №2 с вещественным числом. Если при сложении получается отрицательное значение, то. целая часть дробного числа принимает значение 0. Результирующее значение поля №1 равно значению поля №1 первого операнда;

3.==(<T>,<T>). Истина, если у операндов равны значения полей №1 и целых частей полей №2;

4.<(<T>,<T>). Истина, если поле №1 первого операнда меньше поля №1 второго операнда, или значения полей равны, а целая часть поля №2 первого операнда меньше целой части поля №2 второго операнда.

7.поля:

1.int, без ограничений, по умолчанию 5;

2.int, без ограничений, по умолчанию 48;

отображение: «[12][34]»;

перегруженные операторы:

1.+(<T>,int). Складывается целое число с полем, имеющим минимальное значение. Результирующее значение другого поля равно значению соответствующего поля первого операнда;

2.*(<T>,<T>). Результирующее значение поля №1 получается

48

путем умножения значения поля №1 первого операнда на минимальное из значений полей второго операнда. Результирующее значение поля №2 получается путем умножения значения поля №2 первого операнда на максимальное из значений полей второго операнда;

3.==(<T>,<T>). Истина, если у операндов равны разницы между значениями полей (по абсолютной величине);

4.>(<T>,<T>). Истина, если у первого операнда разница между значениями полей больше, чем у второго операнда (по абсолютной величине).

8.поля:

1.string, не пустая, по умолчанию «д»;

2.string, не пустая, по умолчанию «е»;

отображение: «(абвг) - (дежз)»;

перегруженные операторы:

1.-(<T>,int). Из каждого поля первого операнда удаляются последние буквы в количестве, заданном во втором операнде. Если значение второго операнда ≥ количества букв в каком-нибудь поле первого операнда, то результатом поля является значение по умолчанию;

2.+(<T>,<T>). Результирующее значение поля №1 равно сумме полей первого операнда, а поля №2 – сумме полей второго операнда;

3.!=(<T>,<T>). Истина, если суммарные длины полей операндов неравны;

4.>(<T>,<T>). Истина, если суммарные длины полей первого операндов больше суммарной длины полей второго операнда.

9.поля:

1.string, не пустая, по умолчанию «ж»;

2.string, не пустая, по умолчанию «з»;

отображение: «[абвг]{дежз}»;

перегруженные операторы:

1.-(<T>,<T>). Из каждого поля первого операнда удаляются последние буквы в количестве, равном длине соответствующего поля второго операнда. Если длина какого-либо поля второго операнда ≥ длине соответствующего поля первого операнда, то результатом поля является значение по умолчанию;

2.*(<T>,int). Результирующие поля получаются путем повторения исходных полей первого операнда. Количество повторений задается во втором операнде;

3.==(<T>,<T>). Истина, если значения соответствующих полей операндов имеют одинаковые значения;

49

4.<(<T>,<T>). Истина, если значения поля №1 первого операнда меньше значения поля №1 второго операнда, или если значения полей №1 равны, а значение поля №2 первого операнда меньше значения поля №2 второго операнда.

10.поля:

1.int, >0, по умолчанию 12;

2.int, >0, по умолчанию 13;

отображение: «_12_34_»;

перегруженные операторы:

1.-(<T>,<T>). Результирующие поля являются разностью соответствующими полей операндов. Если значение какого-либо результирующего поля ≤0, то поле принимает значение по умолчанию;

2.+(<T>,double). Поле №1 первого операнда складывается с целой частью второго операнда. Поле №2 складывается с целой частью результата умножения дробной части второго операнда на 100;

3.!=(<T>,<T>). Истина, если минимальное значение из полей первого операнда не равно минимальному значению из полей второго операнда;

4.<(<T>,<T>). Истина, если минимальное значение из полей первого операнда меньше минимального значения из полей второго операнда.

11.поля:

1.int, без ограничений, по умолчанию 2;

2.string, не пустая, по умолчанию «и»;

отображение: «~12~абс»;

перегруженные операторы:

1.-(<T>). Результирующие поле №1 получается путем изменения знака поля №1 операнда. Результирующее значение поля №2 – строка, в которой буквы поля №2 операнда расположены в обратном порядке;

2.+(<T>,int). Поле №1 первого операнда складывается со значением второго операнда. Результирующее значение поля №2 равно значению поля №2 первого операнда;

3.!=(<T>,<T>). Истина, если сумма поля №1 и количества букв поля №2 первого операнда не равна сумме поля №1 и количества букв поля №2 второго операнда;

4.>(<T>,<T>). Истина, если сумма поля №1 и количества букв поля №2 первого операнда больше суммы поля №1 и количества букв поля №2 второго операнда.

12.поля:

50

1.double, ≥0, по умолчанию 4.5;

2.double, ≥0, по умолчанию 6.7;

отображение: «12.34 - 56.78»;

перегруженные операторы:

1.+(<T>,double). Каждое из полей первого операнда складывается со значением второго операнда. Если значение какого-либо поля становится меньше нуля, то полю присваивается значение по умолчанию;

2.-(<T>,<T>). Результирующие значения полей содержат разницу между соответствующими полями первого и второго операндов. Если значение какого-либо поля становится меньше нуля, то полю присваивается значение по умолчанию;

3.!=(<T>,<T>). Истина, если сумма полей первого операнда не равна сумме полей второго операнда;

4.>(<T>,<T>). Истина, если сумма полей первого операнда больше сумме полей второго операнда.

13.поля:

1.int, двухзначное, >0, по умолчанию 99;

2.int, двухзначное, >0, по умолчанию 11;

отображение: «[12][34]»;

перегруженные операторы:

1.+(<T>,<T>). Складываются соответствующие поля первого и второго операндов. Если значение какого-либо из полей становится больше 99, то результатом поля является остаток от деления полученного значения на 100. Если значение какого-либо поля становится меньше 10 (в том числе и после операции получения остатка), то поле принимает значение по умолчанию;

2.-(<T>,int). Из каждого поля первого операнда вычитается второй операнд. Если значение какого-либо из полей становится больше 99, то результатом поля является остаток от деления полученного значения на 100. Если значение какого-либо поля становится меньше 10 (в том числе и после операции получения остатка), то поле принимает значение по умолчанию;

3.!=(<T>,<T>). Истина, если сумма разрядов полей первого операнда не равна сумме разрядов полей второго операнда;

4.<(<T>,<T>). Истина, если сумма разрядов полей первого операнда не равна сумме разрядов полей второго операнда.

14.поля:

1.int, в диапазоне 0÷23, по умолчанию 12;

2.int, в диапазоне 0÷59, по умолчанию 0;

отображение: «12 : 34»;

перегруженные операторы:

51

1.+(<T>,<T>). Отдельно складываются поля №1 и №2 операндов. Если полученное значение поля №2 выходит за границы диапазона, то производится нахождение остатка от деления полученного значения на 60, и к сумме полей №1 добавляется единица. Если результирующее значение поля №1 выходит за границы диапазона, то производится нахождение остатка от деления на 24;

2.-(<T>). Результирующие значения полей получаются путем вычитания исходных значений полей из количества чисел в допустимом диапазоне. Если значение какого-либо результирующего поля выходит за границы диапазона, то оно заменяется остатком от деления полученного значения на количество чисел в диапазоне;

3.!=(<T>,<T>). Истина, если значение какого-либо поля первого операнда не равно значению соответствующего поля второго операнда;

4.<(<T>,<T>). Истина, если значение поля №1 первого операнда меньше значения поля №1 второго операнда, или значения полей №1 равны, а значение поля №2 первого операнда меньше значения поля №2 второго операнда.

15.поля:

1.string, не пустая, по умолчанию «к»;

2.int, ≥0, по умолчанию 28;

отображение: «абвг_123»;

перегруженные операторы:

1.+(<T>,int). Складывается поле №2 первого операнда со вторым операндом. Если результирующее значение <0, то оно принимает значение по умолчанию поля №2. Результирующее значение поле №1 равно значению поля №1 первого операнда;

2.-(<T>). Результирующее значение поля №1 получается путем записи поля №1 операнда в обратном порядке. Результирующее значение поля №2 получается путем записи разрядов поля №2 операнда в обратном порядке;

3.==(<T>,<T>). Истина, если сумма длины поля №1 и младшего разряда поля №2 первого операнда равна сумме длины поля №1 и младшего разряда поля №2 второго операнда;

4.>(<T>,<T>). Истина, если сумма длины поля №1 и младшего разряда поля №2 первого операнда больше суммы длины поля №1 и младшего разряда поля №2 второго операнда.

16.поля:

1.int, ≥0, по умолчанию 67;

2.double, ≥0, по умолчанию 2.3;

52

отображение: «[12] 45.67»;

перегруженные операторы:

1.*(<T>,<T>). Результирующее значение полей получаются путем перемножения соответствующих полей операндов. Если значение одного из полученных полей <0, то полю присваивается значение по умолчанию;

2.-(<T>,int). Результирующее значение поля №1 получаются путем вычитания второго операнда из поля №1 первого операнда. Результирующее значение поля №2 получаются путем вычитания второго операнда, деленного на 100, из поля №2 первого операнда. Если значение одного из полученных полей <0, то полю присваивается значение по умолчанию;

3.!=(<T>,<T>). Истина, если сумма поля №1 и целой части поля №2 первого операнда не равна сумме поля №1 и целой части поля №2 второго операнда;

4.>(<T>,<T>). Истина, если сумма поля №1 и целой части поля №2 первого операнда больше суммы поля №1 и целой части поля №2 второго операнда.

17.поля:

1.int, ≥0, по умолчанию 87;

2.int, ≥0, по умолчанию 65;

отображение: «12 ! 34»;

перегруженные операторы:

1.*(<T>,int). Результирующее значение полей получаются путем перемножения соответствующих полей первого операнда на второй операнд. Если значение одного из полученных полей <0, то полю присваивается значение по умолчанию;

2.-(<T>). Результирующее значение полей получаются путем записи в обратном порядке разрядов соответствующих полей операнда;

3.==(<T>,<T>). Истина, если младшие разряды полей первого операнда равна младшим разрядам соответствующих полей второго операнда;

4.<(<T>,<T>). Истина, если младший разряд поля №1 первого операнда меньше младшего разряда поля №1 второго операнда, или младшие разряды полей №1 равны, а младший разряд поля №2 первого операнда меньше младшего разряда поля №2 второго операнда.

18.поля:

1.double, ≥0, по умолчанию 9.8;

2.double, ≥0, по умолчанию 7.6;

отображение: «12.34 х 56.78»;

53

перегруженные операторы:

1.+(<T>,int). Результирующее значение поля №1 получается путем сложения поля №1 первого операнда со вторым операндом. Результирующее значение поля №2 получается путем сложения поля №2 первого операнда со вторым операндом, разделенным на 100. Если значение одного из полученных полей <0, то полю присваивается значение по умолчанию;

2.-(<T>). Результирующее значение поля №1 получается путем сложения целой части поля №1 операнда с дробной частью поля №2 операнда. Результирующее значение поля №2 получается путем сложения целой части поля №2 операнда с дробной частью поля №1 операнда;

3.==(<T>,<T>). Истина, если целые части соответствующих полей операндов равны;

4.<(<T>,<T>). Истина, если целая часть поля №1 первого операнда меньше целой части поля №1 второго операнда, или целые части полей №1 равны, а целая часть поля №2 первого операнда меньше целой части поля №2 второго операнда.

19.поля:

1.string, не пустая, по умолчанию «л»;

2.int, трехзначное, ≥0, по умолчанию 158;

отображение: «[абвг]_123_»;

перегруженные операторы:

1.*(<T>,int). Результирующее значение поля №2 получается путем выделения трех младших разрядов из произведения исходного поля №1 первого операнда на значение второго операнда. Если полученное значение <100, то принимается значение по умолчанию. Результирующее значение поля №1 равно значению поля №1 первого операнда;

2.-(<T>,<T>). Результирующее значение поля №1 получается путем удаления из значения поля №1 первого операнда букв, входящих в поле №1 второго операнда. Если результирующее значение поля №1 равно пустой строке, то принимается значение по умолчанию. Результирующее значение поля №2 получается путем нахождения разницы между полями №2 операндов. Если значение выходит за диапазон 100÷999, то оно принимает значение ближайшей границы диапазона;

3.!=(<T>,<T>). Истина, если имеется разница в значениях соответствующих полей операндов;

4.>(<T>,<T>). Истина, если значение поля №1 первого операнда больше значения поля №1 второго операнда, или значения полей №1 равны, а значение поля №2 первого операнда больше

54

значения поля №2 второго операнда.

20.поля:

1.int, ≥0, по умолчанию 11;

2.double, ≥0, по умолчанию 7.3;

отображение: «<12><34.56>»;

перегруженные операторы:

1.+(<T>,<T>). Результирующее значение полей получается путем сложения соответствующих полей операндов;

2.-(<T>). Результирующее значение поля №1 равно целой части поля №2 операнда. Результирующее значение поля №2 равно сумме поля №1 и дробной части поля №2 операнда;

3.==(<T>,<T>). Истина, если сумма поля №1 и целой части поля №2 первого операнда равна сумме поля №1 и целой части поля №2 второго операнда;

4.<(<T>,<T>). Истина, если сумма поля №1 и целой части поля №2 первого операнда меньше суммы поля №1 и целой части поля №2 второго операнда.

21.поля:

1.double, ≥0, по умолчанию 4.8;

2.double, ≥0, по умолчанию 4.9;

отображение: «12.34 $ - 56.78 руб./$»;

перегруженные операторы:

1.-(<T>,int). Результирующее значение полей получается путем вычитания из значений полей первого операнда значения второго операнда. Если какое-либо результирующее поле <0, то оно принимает значение по умолчанию;

2.*(<T>,<T>). Результирующее значение полей получается путем перемножения полей операндов. Если какое-либо результирующее поле <0, то оно принимает значение по умолчанию;

3.==(<T>,<T>). Истина, если равны целые части соответствующих полей операндов;

4.>(<T>,<T>). Истина, если целая часть поля №1 первого операнда больше целой части поля №1 второго операнда, или целые части полей №1 равны, а целая часть поля №2 первого операнда больше целой части поля №2 второго операнда.

22.поля:

1.int, ≥0, по умолчанию 93;

2.string, не пустая, по умолчанию «м»;

отображение: «12 - абвг»;

перегруженные операторы:

1.+(<T>,<T>). Результирующие значения полей равны сумме

55

значений соответствующих полей операндов;

2.-(<T>,int). Результирующее значение поля №1 равно разнице между значениями поля №1 первого операнда и второго операнда. Если результирующее значение поля №1 <0, то оно принимает значение по умолчанию. Результирующее значение поля №2 равно значению поля №2 первого операнда, из которого удалены последние буквы в количестве, равном значению второго операнда. Если значение второго операнда <0, то удаление не производится. Если результирующее значение поля №2 является пустой строкой, то оно принимает значение по умолчанию;

3.==(<T>,<T>). Истина, если сумма поля №1 и количества букв поля №2 первого операнда равна сумме поля №1 и количества букв поля №2 второго операнда;

4.<(<T>,<T>). Истина, если сумма поля №1 и количества букв поля №2 первого операнда меньше суммы поля №1 и количества букв поля №2 второго операнда.

23.поля:

1.string, не пустая, по умолчанию «н»;

2.string, не пустая, по умолчанию «о»;

отображение: «(абвг) - (дежз)»;

перегруженные операторы:

1.+(<T>,int). Результирующие значения полей получаются путем добавления к значению соответствующих полей первого операнда строк, длина которых равна значению второго операнда, а каждая буква равна первой букве соответствующего поля первого операнда. Если значение второго операнда <0, то добавляемая строка равная значению по умолчанию соответствующего поля;

2.-(<T>). Результирующее поле №1 равно полю №2 операнда, а результирующее поле №2 равно полю №1 операнда;

3.!=(<T>,<T>). Истина, если имеются различия в значениях соответствующих полей;

4.>(<T>,<T>). Истина, если значение поля №1 первого операнда больше значения поля №1 второго операнда, или значения полей №1 равны, а значение поля №2 первого операнда больше значения поля №2 второго операнда.

24.поля:

1.double, ≥0, по умолчанию 6.1;

2.double, ≥0, по умолчанию 9.2;

отображение: «12.34 : 56.78»;

перегруженные операторы:

1.+(<T>,int). Результирующие значения полей получаются пу-

56

тем сложения целой части полей первого операнда с произведением дробной части полей первого операнда на второй операнд. Если результирующее значение какого-либо поля <0, то поле принимает значение по умолчанию;

2.-(<T>). Результирующие значения поля №1 получается путем сложения целой части поля №1 операнда с дробной частью поля №2. Результирующие значения поля №2 получается путем сложения целой части поля №2 операнда с дробной частью поля №1;

3.!=(<T>,<T>). Истина, если целая часть поля №1 первого операнда не равна целой части поля №1 второго операнда, или целая часть поля №2 первого операнда не равна целой части поля №2 второго операнда;

4.<(<T>,<T>). Истина, если целая часть поля №1 первого операнда меньше целой части поля №1 второго операнда, или целый части полей №1 равны, а целая часть поля №2 первого операнда меньше целой части поля №2 второго операнда.

25.поля:

1.int, трехзначное, ≥0, по умолчанию 123;

2.int, двухзначное, ≥0, по умолчанию 12;

отображение: «123 (45)»;

перегруженные операторы:

1.+(<T>,int). Результирующие значения полей получаются путем сложения значений полей первого операнда со значением второго операнда. Если результирующее значение какого-либо поля выходит за допустимый диапазон, то оно принимает значение ближайшей границы диапазона;

2.-(<T>,<T>). Результирующие значения полей получаются путем разности между значениями соответствующих полей первого и второго операндов. Если результирующее значение какоголибо поля выходит за допустимый диапазон, то оно принимает значение ближайшей границы диапазона;

3.!=(<T>,<T>). Истина, если минимум из двух старших разрядов поля №1 и всего поля №2 первого операнда не равен минимуму из двух старших разрядов поля №1 и всего поля №2 второго операнда;

4.>(<T>,<T>). Истина, если минимум из двух старших разрядов поля №1 и всего поля №2 первого операнда больше минимума из двух старших разрядов поля №1 и всего поля №2 второго операнда;

57