Добавить в цитаты Настройки чтения

Страница 174 из 502

<b>// Продемонстрировать интерфейсные ссылки, </b>

<b>using System;</b>

<b>// Определить интерфейс, </b>

<b>public interface ISeries {</b>

<b>  int GetNext(); // возвратить следующее по порядку число </b>

<b>  void Reset(); // перезапустить</b>

<b>  void SetStart(int х); // задать начальное значение</b>

<b>}</b>

<b>// Использовать интерфейс ISeries для реализации процесса </b>

<b>// генерирования последовательного ряда чисел, в котором каждое </b>

<b>// последующее число на два больше предыдущего,</b>

<b>class ByTwos : ISeries {</b>

<b>  int start;</b>

<b>  int val;</b>

<div class="fb2-code"><code>&lt;b&gt;  public ByTwos() {&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    start = 0; &lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    val = 0;&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  }&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  public int GetNext() {&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    val += 2;&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    return val;&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  }&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  public void Reset() {&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    val = start; &lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  }&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  public void SetStart(int x) {&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    start = x;&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;    val = start;&lt;/b&gt;</code></div>

<div class="fb2-code"><code>&lt;b&gt;  }&lt;/b&gt;</code></div>

<b>}</b>

<b>// Использовать интерфейс ISeries для реализации </b>

<b>// процесса генерирования простых чисел.</b>

<b>class Primes : ISeries {</b>

<b>  int start;</b>

<b>  int val;</b>

<b>  public Primes() {</b>

<b>    start = 2;</b>

<b>    val = 2;</b>

<b>  }</b>

<b>  public int GetNext() {</b>

<b>    int i, j;</b>

<b>    bool isprime;</b>

<b>    val++;</b>

<b>    for(i = val; i &lt; 1000000; i++)</b><b> {</b>

<b>      isprime = true;</b>

<b>      for (j = 2; j &lt;= i/j; j++) {</b>

<b>        if ( (i % j)==0) {</b>

<b>          isprime = false;</b>

<b>          break;</b>

<b>        }</b>

<b>      }</b>

<b>      if (isprime) {</b>

<b>        val = i;</b>

<b>        break;</b>

<b>      }</b>

<b>    }</b>

<b>    return val;</b>

<b>  }</b>

<b>  public void Reset(){</b>

<b>    val = start;</b>

<b>  }</b>

<b>  public void SetStart(int x) {</b>

<b>    start = x;</b>

<b>    val = start;</b>

<b>  }</b>

<b>}</b>

<b>class SeriesDemo2 {</b>

<b>  static void Main() {</b>

<b>    ByTwos twoOb = new ByTwos();</b>

<b>    Primes primeOb = new Primes();</b>