Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/32: Рейтинг темы: голосов - 32, средняя оценка - 4.63
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140

Наставничество в изучении С#

20.08.2015, 12:38. Показов 7253. Ответов 95
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю С# более полугода считаю что знаю на недальнем уровне, хочется развиваться , язык очень нравиться. Из-за того что не очень много практикую многое забывается, а для практики не могу найти интересных задач. Да и во многом проблема в том что когда сам ставлю себе задачу то нет интереса в её решении, но когда кто то другой ставит, есть стремление в решении поставленной задачи. Хотелось что бы кто-то давал задания я делал и присылал решение, для проверки опытным программистом, критиковал ошибки или "быдло код". было бы хорошо получать задание по возрастающей сложности. Кому не сложно и кого это сильно не отвлечет от своих проблем, занятий и жизни просьба помочь.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2015, 12:38
Ответы с готовыми решениями:

Наставничество\каталогизатор
Добрый день, форумчане! Изучаю язык c#, читаю "Герберт Шилдт - Полный справочник по С#", немного шарюсь в библиотеке майкрософта....

Трудности и лень в изучении C#
Уже как полгода назад я приобрел две книги по C#, Шилтда и Эндрю Стиллмена "Изучаем C#". Не знаю зачем две сразу купил, но книга Эндрю...

Нужен напарник в изучении языка
Здравствуйте, изучаю с#.net есть желание работать по данному направлению, хотелось бы изучать с кем-то вместе,ликбо же это будет более...

95
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
20.08.2015, 13:00
Нужно тебе изучать исходники, типовые решения задач,
собрать их коллекцию и пользоваться по мере надобности,
Далее на автомате будешь помнить.

Вот тебе задачка,
https://support.office.com/ru-... u-RU&ad=RU
Реализуй на C# функцию из MS Excel "ПРЕДСКАЗ", по указанным формулам.

Сделай ее в виде double Forecast(double[] x, double[] y, double X);

пс - ответ есть здесь на форуме, в одной из моих тем, точнее, пока в единственной
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
20.08.2015, 13:25  [ТС]
C этой функцией не сталкивался, по этому задание не особо понял. Я так понял нужно реализовать на С# функцию вида a+bx, где:

а и б тоже заданы в виде соответствующих функций.
1
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
20.08.2015, 13:30
valun, а чем тебе вопросы здесь в темах на форуме не задания? И тебе хорошо - практика, и другим здорово - поможешь в решении.
P.S. Лично у меня подход к изучению был абсолютно противоположный - изучал для того, чтобы решить свои рутинные задачи на домашнем пк. Правда при таком подходе есть минус - никто не скажет где хорошо, а где плохо, поэтому всегда дружил и дружу с книгами и msdn.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
20.08.2015, 13:36  [ТС]
Ну на мой взгляд вопросы здесь в темах задаются для опытных программистов, а я новичок и давать какое-то решение в виде кода в 10-15 строк,если есть решение в 5 строк не хочется.
0
Заблокирован
20.08.2015, 13:42
valun, на этом форуме вопросы самого разного уровня. Для начинающих самое то.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
20.08.2015, 13:46
Цитата Сообщение от valun Посмотреть сообщение
а я новичок и давать какое-то решение в виде кода в 10-15 строк,если есть решение в 5 строк не хочется.
В крайнем случае можно и не выкладывать. Но ничто не мешает решить задачу, а потом сравнить свое решение с решением других программистов.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
20.08.2015, 13:47
Цитата Сообщение от valun Посмотреть сообщение
для проверки опытным программистом, критиковал ошибки или "быдло код".
Нужна критика, я так понял.
Цитата Сообщение от valun Посмотреть сообщение
но когда кто то другой ставит, есть стремление в решении поставленной задачи
И мотивация, пусть и своеобразная.

Насчет функции - "где x и y — средние значения выборок СРЗНАЧ(известные_значения_x) и СРЗНАЧ(известные_значения_y)." - накодить или заюзать готовую СРЕДЗНАЧ, думаю, не сложно.
А вообще, можно сделать все внутри Forecast.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
20.08.2015, 15:01  [ТС]
Вот мое решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Forecast
{
    class Program
    {
       static public double forecast(double[] x, double[] y, double X)
        {
            double forecast = 0;
            double a = 0;
            double b = 0;
            double x_middle = 0;
            double y_middle = 0;
            double Numerator=0;
            double Denominator=0;
             //находим среднее x
            for (int i = 0; i < x.Length; i++)
            {
                x_middle += x[i];
            }
            x_middle /= x.Length;
            Console.WriteLine("Среднее x= "+x_middle);
            //находим среднее y
            for (int i = 0; i < y.Length; i++)
            {
                y_middle += y[i];
            }
            y_middle /= y.Length;
            Console.WriteLine("Среднее y= "+y_middle);
           //находим b
            for (int i = 0; i < x.Length; i++)
            {
                 Numerator += (x[i] - x_middle) * (y[i] - y_middle);
                 Denominator += Math.Pow((x[i] - x_middle), 2);
            }
            b = Numerator / Denominator;
            Console.WriteLine("Находим b= " +b);
           //находим а
            a = y_middle - (b * x_middle);
            Console.WriteLine("Находим a= "+a);
            forecast = a + b * X;
            return forecast;
        }
        static void Main(string[] args)
        {
            double[] x = { 10, 15, 20, 25, 30, 35 };
            double[] y = { 1, 2, 3, 4, 5, 6 };
           Console.WriteLine("При Х=30 forecast="+forecast(x, y, 30));
 
        }
    }
}
0
 Аватар для rockandroll
16 / 16 / 8
Регистрация: 05.08.2015
Сообщений: 79
20.08.2015, 18:42
всякие "предсказы" в принципе интересны, но лучше в связке с ооп и задача, где можно применить не одно решение. в том числе и архитектурное.
по типу клиент->сервер->база данных\ или просто клиент->база данных.
при этом внутри находится определенный функционал.

у меня одна из первых задачек была - реализация шахмат на winforms. без ИИ, конечно же. просто где можно играть друг с другом. где выполняются все правила шахмат. задача составляла интерес как в backend программировании так и предстоящих решениях отрисовки, вывода сообщений на экран.
в конечном итоге столкнулся с проблемой отладки "мата королю'.
Программа не всегда правильно отрабатывала почему-то. А это почему-то заключалось в том что код был неграмотно построен в архитектурном плане и найти ошибку было задачей не одного часа. Но это был первый опыт.

Вообще стоит решать задачки которые тебе нравятся.

Например, если интересно:
+ Реализовать wpf программу для миграции данных с эксель файла в бд-таблицу, с проверкой что не добавятся дубликаты в уже содержащую данные таблицу. Предусмотреть проверку на соответствие структуры таблицы базы и эксель файла. Неправильные форматы данных в ячейках эксель данных.
Программа может выводить данные с этой базы в GridView-элемент и проводить с ними: сортировку, добавление, удаление, модификацию, поиск.

дополнительно 1: добавить обратрую возможность миграции с бд в эксель файл.
дополнительно 2: миграция в эксель только выбранных поиском данных в wpf программе.
дополнительно 3: предусмотреть мигрирование сразу нескольких файлов эксель. и в обратную сторону с бд в эксель разбиение на несколько файлов при размере привышающий заданный (например превышающий допустимый размер для вложений mail писем).
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
20.08.2015, 19:02
Я тоже не так давно изучаю C#. Придерживаюсь этого мнения:
Цитата Сообщение от Otaka Посмотреть сообщение
Согласен. Сначала учишься вообще программированию: переменные, условия, циклы, функции. Потом учишься загружать и выводить картиночки на экран и обрабатывать сообщения мыши.
Все, больше ничего не нужно. По крайней мере, я все делал так.
Если ты это все хорошо поймешь, то вопрос "что почитать?" не будет возникать у тебя.
А когда ты достигнешь такого уровня, что просто нагромождение кода "переменныеУсловияЦиклыФункции" накапливаются в таком количестве, что тебе будет уже тяжело с ними справляться, то до тебя дойдет идея и волшебство ООП. И ты сможешь использовать классы/наследование там где это действительно нужно, а не потому что тебе сказали:"только лопухи пишут код процедурно, а не по оопшному".
Я недавно нашёл эти туториалы. То есть обучаюсь через написание клонов простых игр.
0
 Аватар для rockandroll
16 / 16 / 8
Регистрация: 05.08.2015
Сообщений: 79
20.08.2015, 19:12
8Observer8, но это больше туториалы для будущих гейм девов. там другая специфика и упор.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
20.08.2015, 19:44
Это да. Согласен. Специфики там много.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
20.08.2015, 20:39  [ТС]
думаю для меня это ещё рановато, как то не особо понимаю с чего начать и где искать литературу.
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,965
Записей в блоге: 232
20.08.2015, 20:43
Вы по поводу, что я предложил? Так я дал ссылку. Там простой английский. Всё расписано пошагам. Нужно скачать Unity. Берите любую игру (лучше с Pong начать). Я вам помогу с любыми вопросами (и с литературой). Пишите в личку, в тему или в vk.com/8observer8
0
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
20.08.2015, 21:24
Решайте задачи, которые требуют ООП. Также попробуйте, например, WinForms (желательно с большим количеством форм)чтоб вникнуть в обмен данными между классами и т.п. (на формах отлично оттачивается событийная модель).
Также гляньте шаблоны проектирования и реализуйте, например MVC.

задачи для тренировки: Бронь и продажа билетов в кинотеатре. Эмулятор работы банкомата с карточкой.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
20.08.2015, 21:59  [ТС]
А может кто-то высказать профессиональное мнение по поводу решения задачи "предсказание"?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
20.08.2015, 23:02
Цитата Сообщение от valun Посмотреть сообщение
А может кто-то высказать профессиональное мнение по поводу решения задачи "предсказание"?
Запустил твой код - выдал 5, при Х = 30, а должен 10,60.

Цитата с ссылки:
"Предсказывает значение y, соответствующее заданному значению x = 30, = 10,607253". - пробуй дальше

Добавлено через 3 минуты
Прошу прощения, код верен, не усмотрел, что переменные - не как в примере.

Добавлено через 6 минут
Реализция, в лоб, так сказать, но, верная, теперь вынеси отдельно функцию, вычисляющую среднее значение.
Оформи это, как отдельную функцию СРЗНАЧ, ну, или обзови по-своему, а что гораздо лучше, отыщи уже существующий метод, возвращающий, то, что нужно
C#
1
2
3
4
5
for (int i = 0; i < y.Length; i++)
            {
                y_middle += y[i];
            }
            y_middle /= y.Length;
0
 Аватар для rockandroll
16 / 16 / 8
Регистрация: 05.08.2015
Сообщений: 79
20.08.2015, 23:48
valun, да там нечего высказывать
этот кусок можно в отдельный метод:
C#
1
2
3
4
5
6
  //находим среднее x
            for (int i = 0; i < x.Length; i++)
            {
                x_middle += x[i];
            }
            x_middle /= x.Length;
так как он повторяется. соответственно код сократится.
а вообще можно написать в одну строку:
C#
1
var x_midddle = x.Sum()/ x.Length;
Добавить соотв. проверку на размерность массива. Со след. данными программа естественно вылетает:

C#
1
2
3
4
5
6
7
static void Main(string[] args)
        {
            double[] x = { 10, 15, 20, 25, 30, 35, 23, 43 };
            double[] y = { 1, 2, 3, 4, 5, 6 };
           Console.WriteLine("При Х=30 forecast="+forecast(x, y, 30));
 
        }
по алгоритму - не хватает проверки деления на 0 в двух местах.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
21.08.2015, 20:19  [ТС]
Спасибо за советы, впреть постараюсь не допускать столь явных ошибок!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2015, 20:19
Помогаю со студенческими работами здесь

Использование сайта Microsoft при изучении
Не подскажете, что можно почитать на сайте? Вот это? https://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx

Изучении языка emenem97 ( общие недопонимания)
Ув. модераторы. Можно создать тему в которой буду задавать элементарные вопросы, которые будут возникать при изучении языка? Чтобы форум...

Нужен человек, который поможет в изучении программирования
С# для чайников, нужен опытный прогер, который качественно объясняет ракам. Я прочитал 2 книги, и несколько сайтов по теме C# только в...

Чему уделить внимание при изучении языка программирования C#?
Изучаю самостоятельно C# winforms. Написал пару программ, сапёр, крестики нолики и с бд (mysql workbeanch) ознакомился подключить и...

Помощь в изучении
Приветствую. Не так давно увлекся программированием (хотя интерес эта область вызывала всегда). Ну, как увлекся, скорее задумался, серьезно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru