Страница 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><b> public ByTwos() {</b></code></div>
<div class="fb2-code"><code><b> start = 0; </b></code></div>
<div class="fb2-code"><code><b> val = 0;</b></code></div>
<div class="fb2-code"><code><b> }</b></code></div>
<div class="fb2-code"><code><b> public int GetNext() {</b></code></div>
<div class="fb2-code"><code><b> val += 2;</b></code></div>
<div class="fb2-code"><code><b> return val;</b></code></div>
<div class="fb2-code"><code><b> }</b></code></div>
<div class="fb2-code"><code><b> public void Reset() {</b></code></div>
<div class="fb2-code"><code><b> val = start; </b></code></div>
<div class="fb2-code"><code><b> }</b></code></div>
<div class="fb2-code"><code><b> public void SetStart(int x) {</b></code></div>
<div class="fb2-code"><code><b> start = x;</b></code></div>
<div class="fb2-code"><code><b> val = start;</b></code></div>
<div class="fb2-code"><code><b> }</b></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 < 1000000; i++)</b><b> {</b>
<b> isprime = true;</b>
<b> for (j = 2; j <= 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>