Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Шарики / Шарики. Поиск пути

  • Реализация самого сложного алгоритма:
    поиск кратчайшего пути для перемещения шарика.
  • Дата отправки отчёта: 23 января 2016 г.
  • Задание выполнено: за 4 час. 30 мин.
  • Чему научился: Научился использовать алгоритм "Волна" для нахождения кратчайшего пути для перемещения шарика.

  • Что было сложным: Увы, не все было понятно. Пока довольно сложно для меня. В середине ошибся в написании одного условия. Пришлось много времени потратить на поиск ошибки.

  • Комментарии: Хотел бы поделиться с курсантами записью алгоритм "Волна " в псевдокоде (взял из Википедии). Может быть, это кому-то поможет лучше понять этот алгоритм.

    Инициализация

    Пометить стартовую ячейку 0
    d := 0

    Распространение волны

    ЦИКЛ
      ДЛЯ каждой ячейки loc, помеченной числом d
        пометить все соседние свободные непомеченные ячейки числом d + 1
      КЦ
      d := d + 1
    ПОКА (финишная ячейка не помечена) И (есть возможность распространения волны)

    Восстановление пути

    ЕСЛИ финишная ячейка помечена
    ТО
      перейти в финишную ячейку
      ЦИКЛ
        выбрать среди соседних ячейку, помеченную числом на 1 меньше числа в текущей ячейке
        перейти в выбранную ячейку и добавить её к пути
      ПОКА текущая ячейка — не стартовая
      ВОЗВРАТ путь найден
    ИНАЧЕ
      ВОЗВРАТ путь не найден
  • Оценка видео-уроку:
Отчёт от 7645 за Шарики / Шарики. Поиск пути




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Львович  # Микроигры / Шарики. Поиск пути / 2016-01-23 13:38

Правильный подход, молодец


2146. --
Иван
Иван
ответить
→  Александр Львович  # Микроигры / Шарики. Поиск пути / 2016-01-23 22:40

Спасибо за интересный отчет. Утащу информацию к себе в специальную папочку шпаргалок.


24. --
Олюшка
Олюшка
ответить
→  Александр Львович  # Микроигры / Шарики. Поиск пути / 2016-01-23 23:54

Александр, спасибо, отлично попрактиковался с новыми знаниями! Молодец! :)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Использовать алгоритм волна.
Трудности: Наверное сложное - реализовать записывание пути. Очень много понадобилось дополнительных переменных.
Спасибо! Красиво получается. 10 звезд!


Научился: Закрепила волновой алгоритм. Научилась анимировать перемещение шарика.
Трудности: Найти, где забыла выделить память под массивы.
Просмотрела, где в уроке выделяется память под массив path. Кстати, давно мучаюсь вопросом: как у C# дело обстоит с освобождением выделенной памяти?