Kodomo

Пользователь

ДЗ 3

Если в задании вы нашли незнакомые слова или непонятную математику, обязательно напишите нам! Мы объясним это понятие и/или поправим задание так, чтобы такой трудности в нём не было.

Постарайтесь сделать задачи 1, 2, 3.

Полезные ссылки

Задания

  1. Установите меркуриал. Склонируйте на свой компьютер ваш репозиторий, который вы сделали на паре. Выполните те из задач, которые удастся. За-commit-те ваши решения. За-push-те их обратно. И пришлите нам ссылку на репозиторий.
  2. "Простые числа". Напишите программу, которая проверяет, простое ли данное число. Если число составное, выпишите его делители (все, в том числе и составные). Число задано переменной в начале программы. (Число a делится на число b, если остаток от деления a на b равен 0)

  3. "Pixel-art". Напишите программу, которая заполняет экран кружочками, стоящими в узлах прямоугольной решётки. Во избежание путаницы дальше я буду их называть точками. Если очередная точка попадает в круг с центром 100,100 радиуса 50, то её цвет жёлтый. Если очередная точка оказывается ниже линии y=30*sin(x/50)+300, то её цвет синий. В остальных случаях цвет точки голубой. Получилась картинка? <<Img(/~dendik/images/python/2014-10-12.png, style="float:right; clear:right; padding: 5px; background: white; border: 1px solid #da7; margin: 5px")>>

  4. "Папоротник". Напишите программу, которая рисует фрактал Папоротник. Для этого нужно завести список, в котором каждый элемент – это набор параметров в виде списка (см. таблицу ниже). Далее задайте произвольное начальное значение x и y. Затем 10000 раз повторите: выбрать произвольный набор параметров из спиcка, и примените к координатам такое преобразование: x' = ax + by + e, y' = cx + dy + f. И каждый раз рисуйте точку (маленький кружок) по координатам 10*x, 10*y

a       b       c       d       e       f
0       0       0       0.16    0       0
0.85    0.04    -0.04   0.85    0       1.6
0.2     -0.26   0.23    0.22    0       1.6
-0.15   0.28    0.26    0.24    0       0.44
  1. "Лабиринт". Осторожно, сложный алгоритм; обращайтесь к нам за подсказками. В программе задан лабиринт (см. ниже примеры). В лабиринте пробелами обозначены проходы, остальные символы непроходимы. Напишите программу, которая отвечает, можно ли пройти в нём из левого-верхнего в правый-нижний угол. Ходить можно только по вертикали и по горизонтали.

labyrinth1 = [
  [' ', '*', ' ', '*'],
  [' ', '* , ' ', ' '],
  [' ', ' ', ' ', ' '],
  [' ', '*', '*', ' '],
  ['*', ' ', ' ', ' '],
  ['*', ' ', ' ', ' '],
]

labyrinth2 = [
  [' ', ' ', ' '],
  [' ', ' ', ' '],
  [' ', ' ', ' '],
]

labyrinth3 = [
  [' ', '*', ' ']
]

labyrinth4 = [
  [' ', ' ', '*'],
  [' ', '*', ' '],
  ['*', ' ', ' '],
]