Практика «Хождение по чекпоинтам» Скачайте проект route-planning. Роботу нужно проехать через указанные точки, посетив каждую хотя бы один раз. Нужно спланировать маршрут так, чтобы суммарный путь был минимален. В файле PathFinderTask допишите код функции int[] FindBestCheckpointsOrder(Point[] checkpoints). Функция принимает массив чекпоинтов. Робот изначально находится в точке checkpoints[0]. Вернуть нужно порядок посещения чекпоинтов. Например, если функция […]
Рубрика: Статьи
Решения задачи с Ulearn
Практика «Перебор паролей 2» Вася сменил пароль на новый и забыл его! На этот раз он точно помнит, что он сконструировал пароль из старого пароля, поменяв регистр нескольких букв. Он, конечно, не хочет вам говорить старый пароль, поэтому просит написать программу, которая по заданному слову перебирает все возможные пароли, полученные из этого слова заменой регистра. […]
Решения задачи с Ulearn
Практика «Фильтр Собеля» Продолжайте в том же проекте Перед преобразованием в черно-белое, хорошо бы каким-то образом выделить границы объектов, чтобы только они стали белыми, а всё остальное черным. Оказывается, это не сложно сделать с помощью так называемого фильтра Собеля. Он уже реализован в файле SobelFilterTask.cs. Ваша задача — обобщить этот код. Подробности — в комментариях! […]
Решения задачи с Ulearn
Практика «Пороговый фильтр» Продолжайте в том же проекте Пора превратить изображение в черно-белое. Сделать это можно с помощью порогового преобразования. Реализуйте его в методе public static double[,] ThresholdFilter(double[,] original, double whitePixelsFraction) Метод должен заменять пиксели со значением больше либо равному порогу T на белый (1.0), а остальные на черный (0.0). Пороговое значение T найдите так, […]
Решения задачи с Ulearn
Практика «Медианный фильтр» Продолжайте в том же проекте Перед преобразованием в черно-белое, с изображения лучше бы удалить шум. Для этого обработайте его так называемым медианным фильтром. Каждый пиксель изображения нужно заменить медианой всех пикселей в 1-окрестности этого пикселя. То есть для внутреннего пикселя, это будет медиана 9 значений. А для углового — медиана 4 значений. […]
Решения задачи с Ulearn
Практика «Оттенки серого» Скачайте проект. Представьте себе робота-уборщика на кухне, которого только что случайно пнула хозяйка. Ему нужно сориентироваться, где он теперь находится и куда повёрнут. К счастью у робота есть камера, а пол на кухне выложен квадратной кафельной плиткой. Осталось немного обработать изображение с видеокамеры, выделить границы объектов и по ним сориентироваться. Первым шагом […]
Решения задачи с Ulearn
Практика «Продолжение текста» Продолжайте работу в том же проекте. В классе TextGeneratorTask реализуйте алгоритм продолжения текста по N-граммной модели. Описание алгоритма: На вход алгоритму передается словарь nextWords, полученный в предыдущей задаче, одно или несколько первых слов фразы phraseBeginning и wordsCount — количество слов, которые нужно дописать к phraseBeginning. Словарь nextWords в качестве ключей содержит либо […]
Решения задачи с Ulearn
Практика «Частотность N-грамм» Продолжайте работу в том же проекте. N-грамма — это N соседних слов в одном предложении. 2-граммы называют биграммами. 3-граммы — триграммами. Например, из текста: «She stood up. Then she left.» можно выделить следующие биграммы «she stood», «stood up», «then she» и «she left», но не «up then». И две триграммы «she stood […]
Решения задачи с Ulearn
Практика «Парсер предложений» Скачайте проект TextAnalysis В этом задании нужно реализовать метод в классе SentencesParserTask. Метод должен делать следующее: Разделять текст на предложения, а предложения на слова. a. Считайте, что слова состоят только из букв (используйте метод char.IsLetter) или символа апострофа ‘ и отделены друг от друга любыми другими символами. b. Предложения состоят из слов […]
Решения задачи с Ulearn
Практика «Тестирование» На вход программе подается строка текста. На выход нужно вернуть массив полей, извлечённых из входа, либо пустой массив если полей нет. Поля могут быть двух типов: Простые поля Не могут быть пустыми, не могут содержать пробелов и разделяются одним или несколькими пробелами. Поля в кавычках Могут содержать пробелы и быть пустыми. То есть […]
