Различия между версиями 2 и 3
Версия 2 от 2011-12-01 21:50:50
Размер: 2838
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2011-12-01 21:51:15
Размер: 2833
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 42: Строка 42:
  1.

Повторение предыдущих тем и генераторы тестов

  • Повторение: функции, область видимости локальных и глобальных переменных, рекурсия
  • Функции как объекты, передача функций в качестве параметра, использование стандартных методов классов (например, int.__mul__ или подобных)

  • Программа и модуль на Python, использование __name__

  • {o} Передача данных из командной строки с помощью sys.argv[]

  • {o} Передача данных со стандартного ввода с помощью > и |

Домашнее задание

Лабиринт

  1. Лабиринт задаётся списком списков (двумерным массивом) M x N, в котором ненулевой элемент обозначает стену, а нулевой — свободное место. Переходить с одного свободного места на другое можно только на одну клетку по горизонтали или вертикали. Написать несколько функций:
    1. Генератор лабиринта и вывод лабиринта с помощью # и пробелов

      • ... «просто» лабиринта
      • ... «красивого» лабиринта:
        ***************
        * #           *
        * ##### ##### *
        *   #   #   # *
        *## # ### ### *
        *   # #       *
        * ### # ######*
        * #   #   #   *
        * ### ### # ##*
        *     # # #   *
        *###### # ### *
        * #     #     *
        * # # ####### *
        *   #         *
        ***************
      • ...проходимого или непроходимого лабиринта (управляется параметром)
    2. Выяснить, можно ли добраться из клетки [0][0] в клетку [N-1][M-1]

    3. ...попутно вычислив длину минимального пути
    4. Вывести любой (не обязательно минимальный) маршрут из [0][0] в [N-1][M-1]

    5. Вывести минимальный маршрут
    6. ...на карте лабиринта

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2011-11-30 (последним исправлял пользователь FrBrGeorge 2011-12-03 16:39:01)