Выполнение этой программы дает следующий результат.

Целая часть числа равна 10 Дробная часть числа равна 0.125

Метод Get Parts () возвращает два фрагмента информации. Во-первых, целую часть исходного числового значения переменной п обычным образом с помощью оператора return. И во-вторых, дробную часть этого значения посредством параметра f гас типа out. Как показывает данный пример, используя модификатор параметра out, можно организовать возврат двух значений из одного и того же метода.

Разумеется, никаких ограничений на применение параметров out в одном методе не существует. С их помощью из метода можно возвратить сколько угодно фрагментов информации. Рассмотрим пример применения двух параметров out. В этом примере программы метод HasComFactor () выполняет две функции. Во-первых, он определяет общий множитель (кроме 1) для двух целых чисел, возвращая логическое значение true, если у них имеется общий множитель, а иначе — логическое значение false. И во-вторых,.он возвращает посредством параметров типа out наименьший и наибольший общий множитель двух чисел, если таковые обнаруживаются.

// Использовать два параметра типа out. using System; class Num {

/* Определить, имеется ли у числовых значений переменных х и v общий множитель. Если имеется, то * возвратить наименьший и наибольший множители посредством параметров типа out. */ public bool HasComFactor(int x, int y,

out int least, out int greatest) {

int i;

int max = x < у ? x : y; bool first = true;

least = 1; greatest = 1;

// Найти наименьший и наибольший общий множитель. for(i=2; i <= max/2 + 1; i++)    {

if( ((y%i)==0) & ((x%i)==0) )    {

if (first) { least = i; first = false;

}

greatest = i;

}

}

if(least != 1) return true; else return false;

}

}

class DemoOut {

static void Main() {

Num ob = new Num(); int lcf, gcf;

if(ob.HasComFactor(231, 105, out lcf, out gcf)) {

Console.WriteLine('Наименьший общий множитель ' +

'чисел 231 и 105 равен ' + lcf) ;

Console.WriteLine('Наибольший общий множитель ' +

'чисел 231 и 105 равен ' + gcf);

}

else

Console.WriteLine('Общий множитель у чисел 35 и 49 отсутствует.');

if(ob.HasComFactor(35, 51, out lcf, out gcf)) {

Console.WriteLine('Наименьший общий множитель ' +

'чисел 35 и 51 равен ' + lcf);

Console.WriteLine('Наибольший общий множитель ' +

'чисел 35 и 51 равен ' + gcf);

}

else

Console.WriteLine('Общий множитель у чисел 35 и 51 отсутствует.');

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату