// Возвратить значение true, если значение
// параметра х окажется простым числом,
public bool IsPrime(int x) {
if (x <= 1) return false;
for (int i=2; i <= x/i; i++)
if ( (x % i) == 0) return false;
return true;
}
}
class ParmDemo {
static void Main() {
ChkNum ob = new ChkNum();
for (int i=2; i < 10; i++)
if(ob.IsPrime(i))
Console.WriteLine(i + " простое число.");
else
Console.WriteLine(i + " непростое число.");
}
}
Вот какой результат дает выполнение этой программы.
2 простое число.
3 простое число.
4 непростое число.
5 простое число.
6 непростое число.
7 простое число.
8 непростое число.
9 непростое число.
В данной программе метод IsPrime()
вызывается восемь раз, и каждый раз ему передается другое значение. Проанализируем этот процесс более подробно. Прежде всего обратите внимание на то, как вызывается метод IsPrime().
Его аргумент указывается в скобках. Когда метод IsPrime()
вызывается в первый раз, ему передается значение 2. Следовательно, когда метод IsPrime()
начинает выполняться, его параметр х принимает значение 2. При втором вызове этого метода его параметр х принимает значение 3, при третьем вызове — значение 4 и т.д. Таким образом, значение, передаваемое методу IsPrime()
в качестве аргумента при его вызове, представляет собой значение, которое принимает его параметр х.
У метода может быть не только один, но и несколько параметров. Каждый его параметр объявляется, отделяясь от другого запятой. В качестве примера ниже приведен класс ChkNum
, который расширен дополнительным методом LeastComFactor(),
возвращающим наименьший общий множитель двух его аргументов. Иными словами, этот метод возвращает наименьшее число, на которое оба его аргумента делятся нацело.
// Добавить метод, принимающий два аргумента.
using System;
class ChkNum {
// Возвратить значение true, если значение
// параметра х окажется простым числом,
public bool IsPrime(int x) {
if (x <= 1) return false;
for (int i = 2; i <= x / i; i++) if ((x % i) == 0) return false;
return true;
}
// Возвратить наименьший общий множитель,
public int LeastComFactor(int a, int b) {
int max;
if (IsPrime(a) || IsPrime(b)) return 1;
max = a < b ? a : b;
for (int i = 2; i <= max / 2; i++)
if (((a % i) == 0) && ((b % i) == 0)) return i;
return 1;
}
}
class ParmDemo {
static void Main() {
ChkNum ob = new ChkNum();
int a, b;
for (int i = 2; i < 10; i++)
if (ob.IsPrime(i))
Console.WriteLine(i + " простое число.");
else
Console.WriteLine(i + " непростое число.");
a = 7;
b = 8;
Console.WriteLine("Наименьший общий множитель чисел "
+ a + " и " + b + " равен "
+ ob.LeastComFactor(a, b));
a = 100;
b = 8;
Console.WriteLine("Наименьший общий множитель чисел "
+ a + " и " + b + " равен "
+ ob.LeastComFactor(a, b));
a = 100;
b = 75;
Console.WriteLine("Наименьший общий множитель чисел "
+ a + " и " + b + " равен "
+ ob.LeastComFactor(a, b));
}
}
Обратите внимание на следующее: когда вызывается метод LeastComFactor(),
его аргументы также разделяются запятыми. Ниже приведен результат выполнения данной программы.
2 простое число.
3 простое число.
4 непростое число.
5 простое число.
6 непростое число.
7 простое число.
8 непростое число.
9 непростое число.