Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / metod / LAB1.DOC
Скачиваний:
50
Добавлен:
10.12.2013
Размер:
180.74 Кб
Скачать

Практическая работа № 12 Программа для Монаха

Итак, чему же мы научились, переставляя диски в практической работе № 8? Очень просто: если нам нужно перенести N дисков со стержня X на стержень Y(используя стержень Z), и при этом нижним на Y должен оказаться самый большой диск, который в начале является нижним на Х, значит, нам нужно перенести верхние (N-1) дисков на Z, перенести этот нижний диск с Х на Y, а потом добавить сверху остатки с Z. Все просто!

А как быть с переносом верхних дисков на Z и потом на Y? Аналогично: сначала убираем верхние (N-2), достаем нижний, переносим и снова накрываем его уже на новом месте. Рекурсия! Допустим, теоретически это понятно… Но как же нам не запутаться?

Составим на Прологе рекурсивную программу, описывающую последовательность действий при переносе N дисков со стержня 1 на стержень 2 с использованием стержня 3:

МОНАХ(N)<-перенос(N,1,2,3).

Если диск всего 1, то его надо просто перенести туда, куда следует.

перенос(1,Х,Y,_) <- ВЫВОД(X,Y),ПС;

Если дисков больше, убираем верхние, переносим нижний и накрываем его верхними на новом месте:

перенос(N,X,Y,Z) <- БОЛЬШЕ(N,1),

перенос( #N-1#,X,Z,Y),

ВЫВОД(X,Y),ПС,

перенос( #N-1#,Z,Y,X);

?МОНАХ(5);

Задания

  1. Запросите у программы набор инструкций для перестановки 6, 7, 8, 9, 10 и более дисков.

  2. Оцените, насколько возрастает трудоемкость работы монаха с увеличением числа дисков.

Практическая работа № 13 Графический редактор

Сегодня с помощью ЭВМ вы будете рисовать. Компьютер, в который уже загружена программа "Графический редактор", ожидает ваших указаний.

Роль листа бумаги играет экран ЭВМ. Любое изображение на экране состоит из отдельных точек разных цветов. Расстояние между соседними точками настолько мало, что линии кажутся непрерывными.

Роль карандаша играет графический курсор. Он может выглядеть по-разному - в виде стрелки, крестика или точки. Курсор можно перемещать по экрану с помощью клавиш со стрелками. При этом в специально отведенном месте экрана вы увидите два изменяющихся числа. Это координаты курсора. Перемещая курсор, выясните, где находится начало системы координат и куда направлены оси.

Как и прежде, в специальной строке экрана записаны значения функциональных клавиш - действия, которые может выполнить графический редактор: нарисовать отрезок, прямоугольник, окружность и т.д. Одно из этих действий - "Скорость" изменение скорости движения курсора. Значения функциональных клавиш можно менять, нажимая на клавишу "ВЫБОР".

Прежде чем рисовать тот или иной элемент фигуры, надо выбрать его цвет. Для этого имеется палитра цветов. Нажмите на функциональную клавишу "Цвет", стрелками "ВВЕРХ" и "ВНИЗ" подведите курсор к какому-нибудь цвету и снова нажмите клавишу "Цвет".

А теперь расскажем, как изображать элементы фигур: отрезки, окружности и прямоугольники со сторонами, параллельными осям координат. Чтобы нарисовать отрезок, надо поместить курсор в точку, где отрезок должен начинаться, и нажать функциональную клавишу "Отрезок", затем переместить курсор в точку, где отрезок должен кончиться, и снова нажать клавишу "Отрезок". Нарисуйте какой-нибудь отрезок.

Чтобы нарисовать прямоугольник со сторонами, параллельными осям координат, нужно сначала поместить курсор в точку, где будет располагаться одна из его вершин, и нажать функциональную клавишу "Прямоугольник", затем переместить курсор к противоположной вершине и снова нажать ту же клавишу. Нарисуйте какой-нибудь прямоугольник, можно - другим цветом.

Наконец, чтобы нарисовать окружность, нужно, пользуясь соответствующей функциональной клавишей, отметить центр окружности, а затем - какую-нибудь точку на ней. Нарисуйте несколько окружностей разных цветов. Отметим, что редактор позволяет рисовать только те окружности, которые целиком помещаются на экране.

Конечно, при рисовании сложных фигур немудрено ошибиться. Если какой-нибудь фрагмент рисунка кажется вам выполненным неудачно, его можно стереть. Для этого нужно указать на экране прямоугольник, внутри которого изображение должно быть уничтожено.

Этот прямоугольник задается, как и раньше, двумя противоположными вершинами, но вместо клавиши "прямоугольник" надо пользоваться клавишей "Черный квадрат" (клавиша названа в честь известной картины художника-авангардиста К.Малевича). Сотрите что-нибудь.

Попробуйте теперь нарисовать несколько простых картинок: домик с окнами, деревце с ветками, солнце с лучами и т.д. (например, рисунки 3-5).

Рисунок 3. Изображение домика.

Рисунок 4. Изображение дерева.

Рисунок 5. Изображение солнца.

Ну как, получается? Наверно, не очень. Например, солнце у вас, скорее всего, получилось черным, словно при затмении. И вообще, ваш рисунок напоминает книжку-раскраску: нарисованы только контуры фигур. Давайте раскрасим рисунок. Закрашивать фигуру можно только тем цветом, которым нарисован ее контур. Поэтому, чтобы закрасить фигуру, надо клавишей "Цвет" выбрать цвет ее контура, а затем, поместив курсор внутрь фигуры, нажать функциональную клавишу "Закрасить". Раскрасьте свой рисунок. Получилось?

Быть может, вас постигла неудача: при попытке закрасить фигуру с разноцветным контуром весь экран оказался "залит" одной краской. Кажется, что весь труд пропал. Нет, не все потеряно!

Ведь вы имеете дело не с листом бумаги. Компьютер предусмотрительно запомнил предшествующую картину и готов воспроизвести ее по первому вашему требованию. Нажмите клавишу "Откатка" (так принято называть возврат на один шаг), и можете продолжить рисование.

А теперь подумайте, как же закрасить фигуру с разноцветной границей. Освоившись с графическим редактором, переходите к более творческим заданиям. Мы рассказывали, что с помощью компьютера можно создавать репродукции картин. Создайте несколько репродукций упомянутой выше картины Малевича "Черный квадрат" (Рисунок П3.9.4). Сравните получившиеся репродукции по силе эстетического воздействия.

Рисунок 6. Репродукция картины К.Малевича "Черный квадрат" в исполнении компьютера.

Следующее задание - политико-географическое. Изобразите флаг своей республики, а также флаг какого-нибудь другого государства или, скажем, эмблему общества Красного Креста.

Рисунок 7. Эмблема общества красного креста.

И, наконец, общественно-политическое задание. Нарисуйте какой-нибудь плакат на одну из тем: "Нет ... !", "Да ...!", "Руки прочь от ...!" или "Требуем ...!". Вместо многоточий поставьте подходящие слова. Слова должны быть не очень длинные, ведь буквы придется рисовать отрезками.

Соседние файлы в папке metod