Предмет: Информатика, автор: Afradita123

Вычислите с помощью пользовательского метода сумму всех трехзначных чисел, кратных 7 в Visual Studio (С#). (СРОЧНО ПОЖАЛУЙСТА!!!!)(БАЛЛОВ НЕТ ПРОСТИТЕ.БЫЛО БЫ БОЛЬШЕ ОТДАЛА БЫ ВСЕ)

Ответы

Автор ответа: KnowsUser1
2

Ответ:

=== C# 7.3 ===

using System;

using System.Collections.Generic;

using System.Linq;

namespace CSLear

{

   class Program

   {

       static void Main(string[] args)

       {

           IEnumerable<int> TripleDigit = SeqGen(101, 100, x => x + 1);

           Console.WriteLine($"Sum: {SeqSum(TripleDigit, x => x % 7 == 0)}");

           Console.ReadKey();

       }

       public static int SeqSum(IEnumerable<int> Seq, Func<int, bool> Filter)

       {

           int Sum = 0;

           foreach(var item in Seq)

           {

               if (Filter(item)) Sum += item;

           }

           return Sum;

       }

       public static IEnumerable<T> SeqGen<T>(int n, T first, Func<T, T> next)

       {

           yield return first;

           T cur = first;

           for (int seqlen = 0; seqlen < n - 1; seqlen++)

           {

               cur = next(cur);

               yield return cur;

           }

       }

   }

}


KnowsUser1: с SeqGen[T] всё чуть чуть сложнее. Generic-метод SeqGen в данной программе - генератор числовой (хотя, при желании можно заставить работать с любым типом, на то он и Generic) последовательности (тип возвращаемого значения IEnumerable[T] указывает на то, что метод является итератором, то есть возвращает значения по одному).
KnowsUser1: Принимает на вход 3 параметра - длину последовательности, её первый элемент, и некую функцию (Func[T,T]), работающую с тем же типом, что и первый элемент, которая на основе этого элемента будет возвращать последующие
KnowsUser1: Использую квадратные скобки вместо угловых, ибо угловые скобки почему то удаляются
KnowsUser1: То есть логика SeqGen[T] В принципе проста как топор - принять на вход длину, первый элемент и логику для создания следующих, при первой итерации в цикле (напомним, что SeqGen - итератор) вернуть этот самый первый элемент, а дальше, запоминая значения предыдущего возвращённого, на каждой следующей итерации по одному возвращать объекты, полученные в результате вызова некой функции Func[T,T]
KnowsUser1: Как уж проще объяснить в текстовом варианте, я даже не знаю
Afradita123: Объясните пожалуйста оставшиеся 5 последних строчек
KnowsUser1: Я пересказал чуть не на пальцах всю логику работы. Какие 5 последних строчек? Скобки закрывающиеся?
Afradita123: yield return first; T cur = first;
for (int seqlen = 0; seqlen < n - 1; seqlen++)
cur = next(cur);
yield return cur;
KnowsUser1: описание того, как это работает, начинается со слов "То есть логика SeqGen[T] проста как топор - " и далее по тексту я как раз рассказал, что тут происходит. Если не понимаете, что такое yield return и как работают итераторы - зайдите в интернет, в той же официальной документации MS.NET довольно понятно описан механизм их работы
Afradita123: Извините, большое спасибо вы мне очень помогли.
Похожие вопросы
Предмет: Биология, автор: str1k3r123
1) Пыльца образуется в:
А) пестике Б) тычинке В) чашечке
2) Ткани, образующие растение, могут состоять из:
А) только живых клеток Б) живых и мертвых клеток В) только мертвых клеток
3) Главной частью цветка являются:
А) пестик и лепестки Б) венчик и тычинки В) тычинки и пестик
4) Корневая система:
А) удерживает растение в почве
Б) удерживает растение в почве и обеспечивает поступление в него воды и питательных веществ
В) обеспечивает поступление в растение воды и минеральных солей, удерживает в почве, служит местом запасания питательных веществ
5) Зародыш состоит из:
А) почечки и семядоли Б) зародышевого корешка, стебелька, почечки и семядолей
В) зародышевого корешка, стебелька и почечки
6) Делящиеся клетки растения относятся к ткани:
А) образовательной Б) механической В) покровной
7) Клеточное строение имеют:
А) растения Б) все живые организмы В) животные
8) Питание – это:
А) поступление в организм кислорода Б) получение питательных веществ из окружающей среды В) выделение ненужных веществ
9)Хлоропласты находятся:
А) во всех клетках живых организмов Б) во всех клетках растений
В) только в клетках зеленых растений.
10) Цветковые растения имеют:
А) корень и побег Б) корень, побег, цветки, плоды с семенами
В) побег, цветки ,плоды с семенами
Блок В
В-1 Продолжите предложение, вставив вместо точек недостающее слово.
1. Часть тела растения, имеющая определенное строение и выполняющая определенные функции, называется …
2. Корневые системы бывают … и ...
3. Стебель с расположенными на нем листьями и почками называется …
4. Пыльник и тычиночная нить – составные части …
5. Цветки, содержащие только пестики или только тычинки, называются …
6. Растения, зародыши семян которых имеют одну семядолю, называются …
7. Органы, выполняющие функцию размножения, называются …
8. Плод состоит из ……
В-2
1. Корневая система с хорошо выраженным главным корнем называется …
2. Корни бывают главные, … и …
3. Пестик состоит из … , ... и ...
4. Цветки, содержащие и пестик, и тычинку, называются …
5. Растения, зародыши семян которых имеют две семядоли, называются …
6. Запасающая ткань семени называется …
7. Органы растения, основные функции которых – питание, дыхание, называются …
8. Плод вишни называется ….., а малины …..
Блок С . Ответьте на вопросы :
Строение и функции пищеварительной и нервной системы у животных.
Строение и функции дыхательной , кровеносной и половой системы у животных.
Решите? 35 баллов