Дата | Видеоурок | Результат | |
---|---|---|---|
Боты Сапёра ИГРА - Минная картотека | + 20 | ||
Пока всё стандартно.)) Ничего! Ничего! |
|||
Боты Сапёра ИГРА - Счастливый сапёр | + 20 | ||
1. Примерно понял алгоритм сапёра 2. Взял на заметку результаты "упражнения" - действительно, настроение очень сильно зависит от физического состояния.)) Вычислить, где спрятаны оставшиеся мины... Верней - правильно угадать их расположение, так как было 2 возможных варианта))) Всё написал выше. |
|||
Демо софт Вам телеграмма! | + 20 | ||
Ничему Ничего Все хорошо! |
|||
Бинарная жизнь ФИНАЛЬНЫЙ УРОК | + 20 | ||
Можно много рассуждать и планировать, но ничего не делать, а можно бездумно растрачивать силы впустую. И в первом, и во втором случае результат почти нулевой... Главное - научиться во всём соблюдать баланс, находить "золотую середину". Трудно сказать... Если даже модель жизни столь разнообразна, то можно только догадываться, насколько непредсказуема и многогранна реальная жизнь! Хорошо бы об этом вспоминать каждый раз, когда кажется, что всё серо и уныло.)) |
|||
Бинарная жизнь Смысл жизни | + 20 | ||
Скорее, не научился, а большой заряд позитива и желание изменить распорядок своей жизни и самого себя.) Ничего. Всё отлично! |
|||
Бинарная жизнь Новое поколение | + 20 | ||
Всё сделал на прошлом.) Ничего! Всё хорошо. |
|||
Бинарная жизнь Конструктор организма | + 20 | ||
Всё знакомо Ничего Попробовал динамически менять правила: на скриншоте - результат для однго удачного варианта. |
|||
Бинарная жизнь Правила игры | + 20 | ||
Вспомнил Excel Посмотрел, как изменение небольшого набора правил может изменять поведение всего автомата (иногда очень сильно) - вывод: поведение системы (бинарного автомата) определяется не столько её начальным состоянием, сколько законами её развития (правилами поведения). Ничего Ничего |
|||
Комбинаторика Динамика. Выход из Лабиринта | + 20 | ||
1. Освоил алгоритм поиска в ширину. 2. Приобрёл опыт работы с очередью. Ничего!) Очень интересный и понятный урок!) |
|||
Комбинаторика Динамика. Счастливые билеты 20 | + 20 | ||
Узнал, в чём заключается идея динамического программирования. Самому решить задачу "математически" - из указанных 5 часов, пожалуй, часа 3 - 4 ушло на решение задачи в общем виде. Всё отлично!!! Только рискну решение задачи в Excel-e выложить в своём варианте - вдруг, кому-то будет интересно? (Пока придумывал алгоритм, тоже решил использовать Excel для проверки разных способов). Отличие моего решения только формальное (коротко описал в отзыве к вебинару). |
|||
Комбинаторика Динамика. Поле дураков | + 20 | ||
Очевидное (шаблонное) решение далеко не всегда будет лучшим. Будет. Найти ошибку в своём рекурсивном алгоритме. Приведённый пример решает верно, а неизвестный "тестовый 0" - неверно. Получилось, что два раза решал задачу. Сначала написал свою программу, которая застопорилась на первом же тесте, а потом по уроку сделал второй вариант. Было бы неплохо увидеть начальные данные теста, чтобы найти ошибку в своём варианте. |
|||
Комбинаторика Полуфинальный урок. Ответы на вопросы | + 20 | ||
Подвёл итоги по пройденной части курса. Здесь ничего. 1. Больше всего понравились задача с ферзями (для N) и калькулятор. Ещё алгоритм заливки очень красив! Трудно из них выбрать лучший... 2. Да. Всё-таки, подход к решению комбинаторных задач математика и программиста заметно отличаются. Математический я знал, а вот со вторым хорошо познакомился в этом курсе. 3. Пока нет. 4. Самым ценным, наверное, оказался алгоритм калькулятора (принципиально новый для меня). 5. Лузум Сергей. |
|||
Комбинаторика Комбинаторика. Математические операции | + 21 | ||
Узнал, как можно организовать вычисление выражений, содержащих действия с разным приоритетом. Ещё раз проработал рекурсию. Всё было понятно! Насколько я понял, для любого такого калькулятора размер стека операций должен быть не меньше числа рангов (разных приоритетов) операций, не считая операции "=" с её низшим "нулевым". Для "нашего" примера всё работало при размерности 3. |
|||
Комбинаторика Комбинаторика. Сложение букв | + 20 | ||
Договариваться с Роботом-Шарпом и вникать в тонкости рекурсии. МНОГО (БЫЛО БУЛОК) 1. Долго не мог понять, почему зависает Робот-Шарп. Выяснилось, что забыл вводить его начальные данные. 2. Перебор вариантов у меня начинался с первой цифры первого слагаемого - отсюда ошибки в примерах 3 и 4 или при переборе всех варианотв "вылет" по таймауту. Понял это только тогда, когда "подсунув" Шарпу правильные ответы, смог просмотреть решения остальных участников и... не найти в них ничего нового. Скопировал одно из решений себе, запустил... все результаты "ВЕРНО"! Вот тут, наконец, всё и разъяснилось.))) |
|||
Комбинаторика Комбинаторика. Много ферзей. Демонстрация | + 20 | ||
Хорошо работать с консолью Найти время для доработки программы, чтобы она выводила результаты так же, как в видеоуроке. Всё отлично! |
|||
Комбинаторика Комбинаторика. 4 x 4. Ладья x Ферзь | + 21 | ||
- Хотелось для ферзей написать программу с понятной логикой работы. На это потратил большую часть времени. Получилось или нет - узнаю, когда сравню решение с видеоуроком и другими решениями... Такие задачи решать интересно!!! |
|||
Комбинаторика Комбинаторика. Счастливые билеты N | + 20 | ||
Работе с массивами, решил задачу в общем виде. Решить математически. Здесь уже не рекурсия, иначе программа будет работать очень долго. Всё-таки, решил сделать программу, решающую задачу для довольно больших N. class Program { static void Main(string[] args) { long[] sum, sum2; long S = 0; int N; N = int.Parse(Console.ReadLine()); sum = new long[9 * N + 1]; sum2 = new long[9 * N + 1]; for (int i = 0; i <= 9*N; ++i) sum[i] = 0; for (int i = 0; i <= 9; ++i) { sum[i] = 1; sum2[i] = 1; } if (N > 1) for (int k = 2; k <= N; ++k) { for (int i = 0; i <= 9 * k; ++i) { switch (i) { case 0: sum[i] = 1; break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: sum[i] += sum[i - 1]; break; case 10: sum[i] += sum[i - 1] - sum[i - 10]; break; default: sum[i] += sum[i - 1] - sum2[i - 10]; break; } Console.Write("{0,2:D}, ", sum[i]); } sum.CopyTo(sum2, 0); Console.WriteLine(); Console.WriteLine(); } for (int i = 0; i <= 9 * N; ++i) S += sum[i] * sum[i]; Console.WriteLine(S); Console.ReadKey(); //for (int a = 0; a < 10; ++a) // for (int b = 0; b < 10; ++b) // for (int c = 0; c < 10; ++c) // for (int d = 0; d < 10; ++d) // for (int e = 0; e < 10; ++e) // for (int f = 0; f < 10; ++f) // if (a + b + c == d + e + f) // console.writeline("{0} {1} {2} {3} {4} {5}", a, b, c, d, e, f); } } |
|||
Комбинаторика Комбинаторика. Счастливые билеты 6 | + 20 | ||
При решении объёмных задач нужно помнить, что очевидный алгоритм не всегда является оптимальным. Ничего! Если бы в плане самостоятельной работы не увидел явно пункт по оптимизации, вряд ли бы сам обратил внимание на эту "мелочь"... Всего-то в 10 раз больше итераций...)) Спасибо! |
|||
Комбинаторика Рекурсия. Обратный отсчёт | + 20 | ||
Ничему. Ничего.) Всё хорошо! |
|||
Комбинаторика Рекурсия. Общий делитель | + 20 | ||
Искать разные способы решения одной задачи. Минимизировать время работы программы, не изменяя алгоритма. Пока не смог. Со скоростью работы программы осталось много непонятных моментов, с которыми постараюсь разобраться. В частности, при вычислении НОД(33333333, 1111) программа зависает, если вместо if (a>b) return NOD(a-b,b); написать { long c = a-b; ... if (a>b) return NOD(c,b); |
|||
Комбинаторика Рекурсия. Числа Фибоначчи | + 20 | ||
Всё уже знал...) Ничего! Хороший пример неэффективного рекурсивного алгоритма! |
|||
Комбинаторика Рекурсия. Факториал | + 20 | ||
Всё знакомо! Ничего! Всё понятно! |
|||
Комбинаторика Рекурсия. Заливка области | + 20 | ||
Рекурсия - это удобно и красиво, но использовать её нужно с осторожностью и только там, где это оправданно. Закончить экспериментировать с программой.) Мне кажется, что эта программа в полной мере позволяет оценить именно красоту и "магию" рекурсии. Так что я даже сегодня решил на уроке информатики в 8 классе, забегая вперёд, с её помощью познакомить учеников с рекурсией: дать самое общее представление о ней, но, в первую очередь - ЗАИНТЕРЕСОВАТЬ детей! И, кажется, эффект был...))) |
|||
Комбинаторика Рекурсия. Главный секрет | + 20 | ||
Рисовать кривую Гильберта) Пока ничего Понравился вывод чисел "задом наперёд" |
|||
Комбинаторика Рекурсия. Вступление | + 20 | ||
Неожиданно обнаружил, что на первый взгляд циклы можно спутать с рекурсией. (Раньше не задумывался об этом) Придумать свои "определения" Рекурсия - та же математическая индукция. Рекурсия - правило, состоящее из двух частей: - правило перехода от более сложной ситуации к более простой, гарантированно приводящее к известному частному случаю (через конечное число шагов); - правило, явно определяющее результат (ответ) для этого частного случая, защищающее от бесконечного зацикливания. Рекурсия - "самоподобное" правило, с конечной глубиной вложенности. (Фрактальный вариант) |
|||
Игры со словами Бот для игры БАЛДА | + 20 | ||
Работать со словарём Dictionary. Потренировался работать с DataGridView. Повторил работу со строками, вспомнил, что такое рекурсия. Очень сложного - ничего, но почти во всём были небольшие загвоздки... Пока сделал только то, что больше всего хотелось: заставил программу выводить для первых 10 строк (задаётся переменной) в скобках самые длинные ответные решения. Хочется ещё очень много всего сделать (и обязательно сделаю), но до конца недели вряд ли бы успел. |
|||
Игры со словами Виселка. Поле чудес | + 20 | ||
1. Научился добавлять файлы в ресурсы программы и работать с ними. 2. Узнал, что ресурсы защищены от прямого программного изменения. 3. Научился добавлять кнопки на форму динамически. Ничего... Есть один непонятный момент при изменении главной иконки: изменяется изображение для файла, а большое изображение (при копировании на рабочий стол или при установке отображения файлов в папке в виде больших значков) остаётся первоначальным... |
|||
Игры со словами Игры со словами | + 20 | ||
Научился работать с файлами, узнал об объекте StringBuilder. Не запутаться с циклами для "сложного эрудита") Всё-таки, подсчёт слов организовал через textWords.Lines.Count и привязал его к событию textChanged По-своему реализовал логику "сложного эрудита". при этом случайно сделал вариант "среднего" и соответственно их потом переименовал. Теперь "средний" отличается от "сложного" только предварительной проверкой на длину слова. Для контроля формирования анаграмм добавил ProgressBar, видимый только во время формирования текста. Игра в "города", скорее всего, отличается от описанной в уроке - за основу взял идею из урока. |
|||
Новые технологии Модульное тестирование | + 20 | ||
Выполнять модульное тестирование Прозевал, где именно добавляли модификатор public, а потом сам долго из-за этого не мог достучаться до методов класса Calc. Всё понятно! Недавно решал консольную задачку про катящийся кубик - для её отладки очень бы пригодилось такое тестирование. |
|||
Морской Бой Последний Бой! | + 20 | ||
Самое главное - подключать другие классы к готовой программе. В некоторых случаях обыграть компьютер!)) Ура! Свершилось!) Игра заработала, да ещё и серьёзным соперником оказалась!!! |
|||
Морской Бой Интерфейс игры | + 20 | ||
Повторил работу с элементами формы и её событиями. Ничего. 1. Был "глюк" со случайной расстановкой кораблей - у пользователя и компьютера очень легко было получить совпадающие случайные расстановки. Решил только многократным вызовом sea_comp.ПоставитьСлучайно(); Для верности число повторов тоже сделал случайным (10..20). 2. Сброс сетки компьютера при нажатии Старт. (В классе SeaGrid добавил функцию ClearGrid()). 3. "Секретная кнопка" использует массив карта_кораблей и по точкам вызывает ShowCompShip(Точка place, int nr) |
|||
Морской Бой Рефакторинг кода | |||
Посмотрел, как трансформируются отдельные методы при переносе из одного класса в другой: что в них остаётся неизменным, а что обновляется, как это влияет на остальную программу. В итоге, надеюсь, ещё лучше усвоил механизмы передачи данных внутри программы. Ничего. С этого момента я начал знакомство с видеокурсом - это был мой первый вебинар. Сейчас смог сравнить уровень понимания материала: примерно 20-30% тогда и , кажется, 100% сейчас!))) |
|||
Морской Бой Олимпиада - Создание ИИ - Добивание корабля | + 20 | ||
Алгоритмизация... Не запутаться, так как алгоритм начал сильно расходиться с моим - появилось много нового. Всё отлично! |
|||
Морской Бой Олимпиада - Создание ИИ - Шаблон ударов | + 21 | ||
Грамотно раскладывать свой алгоритм на отдельные методы. Ничего. Было очень интересно сравнить структуру своего кода для Mission.cs с предложенным здесь. |
|||
Морской Бой Олимпиада - Создание ИИ - Стратегия | + 20 | ||
Отслеживать логику программы. Пожалуй, нормально обработать добивание. Проверку на соседние корабли смог сделать только на этапе проверки выстрела. Заранее отметить поля "мимо" , как планировал вначале, не удалось. Интересная задача на логику!!!)) Алгоритм получился частично рандомным. Предложенный пример решается за 33 или 71 ход |
|||
Морской Бой Олимпиада - Угадай число | + 20 | ||
Разминка Ничего. Не стал мудрить, решил простейшим способом. |
|||
Морской Бой Олимпиада - Самый лучший алгоритм | + 20 | ||
Искать разные способы решения поставленной задачи. Сравнивать эффективность разных алгоритмов с помощью C#. Эффективно играть в Морской бой. :-) Придумать свой эффективный алгоритм, отличающийся от предложенных. Пока не удалось. Предположения: - задействовать random, чтобы защититься от искусственно подобранных "контррасстановок"; - перед каждым выстрелом находить возможное расположение кораблей; - стремиться к равномерному обстрелу вертикалей и горизонталей; - возможно, использовать заготовленные шаблоны совместно с random. Понравился алгоритм Orange. Свой пока сделаю простым. 1. Создадим матрицу 10 × 10, в которой номерами установим порядок обстрела всех точек. - Правило обстрела выберем по диагоналям с постепенно уменьшающимся интервалом. - Оставшиеся часть матрицы заполним, отразив первую зеркально. 2. Будем последовательно перебирать в заданном порядке я чейки для обстрела. 3. Стреляем, если ячейка имеет статус "неизвестно". 4. Если ранили, то добиваем корабль. - проверяем ячейки по горизонтали и по вертикали от раненой; - если снова попали, запоминаем направление, а соседние ячейки в другом измерении помечаем "мимо";; - если после этого промах - добиваем в обратную сторону; |
|||
Морской Бой Установка кораблей | + 20 | ||
Более подробно изучил DataGridView и попрактиковался в самостоятельном программировании. Ничего. Всё хорошо!) |
|||
Морской Бой Делегаты отображения | + 20 | ||
Узнал, что такое делегаты, для чего они нужны и как с ними работать. Всё понятно! Всё понятно! |
|||
Морской Бой Редактор и Сетка | + 20 | ||
1. Работа с DataGridView. 2. Взаимодействие между классами (в том числе между потомками и родительскими). 3. Повторил работу с цветом, строками и массивами. Разобраться с наследованием свойств классом Редактор. Долго вылавливал ошибку с "null reference exception" из-за создания нескольких экземпляров sea_user. Всё понятно и интересно!) |
|||
Морской Бой Море и Корабль | + 20 | ||
- Создавать пользовательские типы; - работать с перечислениями, - делать textBox-ы многострочными и заполнять их (+ знакомство с Environment); - вспомнил, как работать с двумерными массивами и функциями. Вылавливать "баги" при проверочном запуске. Оценил в полной мере полезность проверки классов на форме (наглядно). |
|||
Морской Бой Планирование | + 20 | ||
Разрабатывать программу в самых общих чертах, не вдаваясь ни в какие подробности. Понять ход мысли, необходимый для такого моделирования. Описан очень важный этап создания программы. Скорее всего, будет доходить на протяжении всего курса... |
|||
Демо игры VIP. Устный счёт | + 21 | ||
Convert.To....() Math.Round() Обработка событий в цикле (возможно) Обработка событий в цикле? Более конкретно: каждый пример решается внутри цикла, а в процессе его решения нужно ждать действия пользователя (ввод ответа). В реализации через for я так и не смог этого сделать. Хотелось бы более подробно изучить механизм взаимодействия между отдельными компонентами программы. Попытался всю программу написать сам, используя видеоурок только в качестве примерного ТЗ - получил целый день возни с простой, казалось бы, программой!))) Поведение программы: - можно задавать min и max значения для ГСЧ; - в процессе решения примеров видно ProgressBar и номер текущего примера слева; - при выборе действия на месте ProgressBar с номером располагаются информация о среднем времени и кнопки выбора действий; - время выводится с точностью до 0.1 сек и при решении примера изменяется с помощью таймера; - в основной области окна решаются примеры или отображаются оценка(зелёная 5 или красная другая) и комментарий (красный правильный ответ или зелёное поздравление) |
|||
Нано-игры Скорость реакции. Алгоритм и рекорд | + 20 | ||
1. Работа с генератором случайных чисел, ProgressBar и таймером. 2. Обработка событий вообще и клика по картинке в частности. 3. Очередной раз убедился в полезности блок-схемы при написании программы. Да, пожалуй, ничего... Интересный урок. |
|||
Нано-игры Скорость реакции. Три картинки по таймеру | + 20 | ||
Я эту программу делал по урокам из почтовой рассылки, уже не помню, что конкретно было на каждом уроке... Я эту программу делал по урокам из почтовой рассылки, уже не помню, что конкретно было на каждом уроке... Пока нет... |
|||
Нано-игры Скорость реакции. Блок-схема | + 22 | ||
Создавать блок-схемы с помощью редакторов) Выбрать подходящую заготовку для каждого элемента схемы Вроде, всё понятно. |
|||
Нано-игры Арканоид - Шарик и кирпичики | + 20 | ||
Попрактиковался в создании сложных условий в ветвлении. Отработал взаимодействие элементов формы. Смог в простейшем виде реализовать управление мышью: -перемещать ракетку за указателем; -запретить указателю уходить за пределы окна; -организовать старт/паузу с помощью клика мышкой. Не запутаться) Хочется научить шарик отскакивать в разных направлениях (например, предположить, что ракетка - эллипс, и рассчитать новую траекторию шарика с сохранением исходной скорости: dx^2+dy^2 = const). |
|||
Графические циклы Диагональные линии | + 20 | ||
Узнал, что помимо "правильных" решений существуют ещё "простые неправильные". Как-то сам не подумал о таком варианте решения)) Ничего. Когда-то давно сам начинал знакомство с программированием с синклеровского Бейсика (не помню, какой там был, но он автоматически загружался в месте с системой TR-DOS)... Большинство программ тоже что-нибудь рисовали, в том числе, с использованием всевозможных циклов. (Можно много и долго вспоминать...))) |
|||
Нано-игры Арканоид - Уровень и ракетка | + 20 | ||
1. Обработка нажатий клавиш. 2. Работа с абсолютными и относительными координатами объектов. 3. Смекалка (для шарика подойдёт RadioButton) - полезная вещь! :-) Здесь ничего! Хочу постараться сделать управление ракеткой с помощью мыши. |
|||
Демо игры ФИНАЛЬНЫЙ УРОК | + 20 | ||
Прояснил для себя смысл занятий здесь. Отправить первый отчёт. Здравствуйте, Евгений Витольдович! Я узнал о проекте почти случайно: по рекламной ссылке на сайте. Прочитав о нескольких бесплатных видеоуроках, для получения которых необходима регистрация, вспомнил, где обычно бывает "бесплатный сыр". Поэтому специально для регистрации завёл новую почту и указал там нейтральную информацию - позже, разобравшись, что к чему, исправил на настоящую. Проект заинтересовал меня по нескольким причинам: -интересная подача материала; -доброжелательная атмосфера и увлечённые участники; -Ваша искренняя заинтересованность проектом (не только коммерческая) и программированием вообще - мощный стимул заниматься дальше; -подробные объяснения на первых уроках; -требование отчётов о выполненной работе и всевозможные поощрения активности; -множество курсов самого разного уровня. Результат - желание активно работать с доступным материалом. Спасибо!!! |
|||
Демо игры Камень ножницы бумага | + 20 | ||
Выводить разные изображения в определённую область окна. Закрепил явное преобразование типов. Оформление. Можно добавить главное меню. |
|||
Графические циклы Горизонтали и вертикали | + 21 | ||
Выставлять задержку через Sleep. Понял, что происходит на краю PictureBox. Ничего! Нарисовал диагональные линии, заодно попробовал "на ходу" менять цвет. |
|||
Демо игры Бот для Быстрощёлка | + 20 | ||
1. Подключать внешние библиотеки к программе. 2. Программно получать информацию о состоянии курсора. 3. Работать с trackBar (в общих чертах). Ничего. Всё понятно. |
|||
Графические циклы Подготовка графики | + 21 | ||
Подготовка PictureBox для работы с Graphics Ничего. Когда попытался с помощью цикла for нарисовать сетку, выяснил, что при размере PictureBox MxN линии с координатами M и N не прорисовываются. Решил проблему просто увеличением размера y PictureBox на 1 пиксель в высоту и ширину. Интересно, можно ли это было сделать как-нибудь более грамотно? |
|||
Демо игры Игра Быстрощёлк | + 20 | ||
Работа с DateTime Почти ничего (подглядел пару моментов в переводе "тиков" в секунды) Да тут, вроде, всё просто и понятно...) |
|||
Демо игры Лабиринт 2D - игра | + 20 | ||
1. Научился неплохо ориентироваться в интерфейсе среды VS 2. Более плотно познакомился с разработкой графического интерфейса программ на C# 3. Начал самостоятельно решать возникающие при написании программ проблемы (создание движущихся объектов) Придумать и сделать свой уровень, доработать оформление. Этот урок очень мотивирует к дальнейшему изучению материалов курса и программирования вообще. |
|||
Демо игры Лабиринт 2D - меню | + 20 | ||
Приблизительно понял, как описываются и взаимодействуют друг с другом отдельные модули программы на C#. Найти картинки и звуки, придумать пиктограмму) Собрал приличную базу аудио-сэмплов. |
|||
Демо игры Картинка с секретом | + 20 | ||
Стал белее-менее прилично ориентироваться в настройках Visual Studio, познакомился с интерфейсом для разработки программ на C#. Найти картинки) Сильнее захотелось изучать С# |
|||
Демо софт Вступительное слово | + 20 | ||
1. Установка и первичная настройка среды Visual Studio; 2. Общие принципы работы с сайтом (в частности, создание отчётов :-); Ничего Сразу скачал и установил Visual Studio 2015, навязчиво предлагавшую создать проект WPF вместо Windows Form Application. После нескольких неудачных попыток создать требуемый проект удалил эту версию, поставив вместо неё Visual Studio 2013. |
|||
Нано-игры Игра Цифры | |||
|