﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">7 семинар</title>
  <id>~/topic/3387/7-seminar/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-13T15:42:24Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3387" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/24000/</id>
    <title type="text">Запись урока: Часть 1 [vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167891624&amp;amp;hash=f0ca69e514ff47...</title>
    <published>2013-02-13T11:25:24Z</published>
    <updated>2014-03-06T09:18:18Z</updated>
    <author>
      <name>Самунджян Артем</name>
      <uri>https://stocksharp.ru/users/675/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Запись урока:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Часть 1&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167891624&amp;amp;hash=f0ca69e514ff475e&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Часть 2&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;[vk]http://vk.com/video_ext.php?oid=-66674957&amp;amp;id=167894426&amp;amp;hash=6b0bfcf795fbaf49&amp;amp;hd=3[/vk]&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Темы занятия:&lt;/strong&gt;&lt;/span&gt;
Повторное рассмотрение ключевых моментов по изученному материалу.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Домашнее задание:&lt;/strong&gt;&lt;/span&gt;
Ко все методам написать тесты или хотя бы вызвать каждый из методов с различными параметрами и проверить результат &amp;quot;на глазок&amp;quot;. Но лучше написать тесты - ведь тесты дают гарантии и вселяют уверенность))&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Написать метод, вычисляющий значение простого числа по его номеру. Простое число - то которое делится лишь на 1 и на само себя.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Написать метод проверки числа на простоту. Использовать этот метод в решении предыдущего задания.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Написать метод, возвращающий все простые числа. Я не ошибся. Все. Использовать конструкцию yield return.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Написать метод MergeSum, принимающий на вход 2 последовательности интов и возвращающий одну последовательность с поэлементной суммой. Использовать yield return.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Полезные ссылки:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Скачать &lt;a href="http://www.jetbrains.com/dotcover/" rel="nofollow" target="_blank"&gt;&lt;span style="color:darkred"&gt;dotCover&lt;/span&gt;&lt;/a&gt; (используется при тестировании).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/ru-ru/library/9k7k7cf0.aspx" target="_blank"&gt;Информация о yield return.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-size:24pt"&gt;&lt;strong&gt;Пример решения домашнего задания:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace App0526
{
    public class Program
    {
        // 1. Написать метод, вычисляющий значение простого числа по его номеру. 
        // Простое число - то которое делится лишь на 1 и на само себя.
         
        /// &amp;lt;summary&amp;gt;
        /// Поиск простого числа по его порядковому номеру
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;index&amp;quot;&amp;gt;Порядковый номер числа&amp;lt;/param&amp;gt;
        /// &amp;lt;returns&amp;gt;Простое число&amp;lt;/returns&amp;gt;
        public static int SimpleByIndex(int index)
        {
            for (int candidate = 2; true; candidate++)
            {
                if (!IsValueSimple(candidate)) 
                    continue;
                if (index == 0)
                    return candidate;
                index--;
            }
        }

        // 2. Написать метод проверки числа на простоту. 
        // Использовать этот метод в решении предыдущего задания.
         
        /// &amp;lt;summary&amp;gt;
        /// Проверка числа на принадлежность к множеству простых чисел
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;value&amp;quot;&amp;gt;Проверяемое число&amp;lt;/param&amp;gt;
        /// &amp;lt;returns&amp;gt;Является ли простым&amp;lt;/returns&amp;gt;
        public static bool IsValueSimple(int value)
        {
            if (value &amp;lt; 2) return false;
            for (int i = 2; i &amp;lt; value; i++)
                if (value%i == 0)
                    return false;
            return true;
        }

        // 3. Написать метод, возвращающий все простые числа. 
        // Я не ошибся. Все. Использовать конструкцию yield return.
        
        /// &amp;lt;summary&amp;gt;
        /// Получение всех простых чисел
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;returns&amp;gt;Все постые числа, начиная с 2&amp;lt;/returns&amp;gt;
        public static IEnumerable&amp;lt;int&amp;gt; AllSimpleNumbers()
        {
            for (int candidate = 2; true; candidate++)
            {
                if (IsValueSimple(candidate))
                    yield return candidate;
            }     
        }

        // 4. Написать метод MergeSum, принимающий на вход 2 
        // последовательности интов и возвращающий одну последовательность 
        // с поэлементной суммой. Использовать yield return.
        
        /// &amp;lt;summary&amp;gt;
        /// Слияние 2-х последовательностей поэлементным суммированием
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;a&amp;quot;&amp;gt;Первая последовательность&amp;lt;/param&amp;gt;
        /// &amp;lt;param name=&amp;quot;b&amp;quot;&amp;gt;Вторая последовательность&amp;lt;/param&amp;gt;
        /// &amp;lt;returns&amp;gt;Последовательность с поэлементной суммой&amp;lt;/returns&amp;gt;
        public static IEnumerable&amp;lt;int&amp;gt; MergeSum(IEnumerable&amp;lt;int&amp;gt; a, IEnumerable&amp;lt;int&amp;gt; b)
        {
            var en1 = a.GetEnumerator();
            var en2 = b.GetEnumerator();

            while (true)
            {
                bool b1 = en1.MoveNext();
                bool b2 = en2.MoveNext();
                if (!b1 &amp;amp;&amp;amp; !b2)
                    break;

                int v1 = b1 ? en1.Current : 0;
                int v2 = b2 ? en2.Current : 0;
                yield return v1 + v2;
            }
        }

        }
}

&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:24pt"&gt;Вложения&lt;/span&gt;&lt;/strong&gt;
&lt;a href="https://vk.com/doc-66674957_276915055" rel="nofollow" target="_blank"&gt;Исходные коды&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>