Читаем C# 4.0: полное руководство полностью

  // Возвратить значение 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    непростое число.

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных