Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию [pdf]

.pdf
Скачиваний:
736
Добавлен:
02.05.2014
Размер:
6.04 Mб
Скачать

а) обе точки вращаются в одном направлении (например, по часовой стрелке);

б) точки вращаются в противоположных направлениях. 943. Изобразить одновременное вращение двух стрелок -

большой и малой, при котором одному полному обороту большой стрелки соответствует 1/12 оборота малой стрелки (как на циферблате часов). Стрелки можно для простоты заменить отрезками.

944.Изобразить на экране правильный треугольник, вращающийся в плоскости экрана вокруг своего центра.

945.Изобразить на экране разносторонний треугольник, вращающийся в плоскости экрана вокруг своего центра тяжести.

946.Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг своего центра.

947.Изобразить на экране прямоугольник, вращающийся в плоскости экрана вокруг одной из своих вершин.

948.Условия задач 938, 939, 944 - 947 изменяются следующим образом: во время вращения прямой, отрезка или многоугольника центр вращения с постоянной скоростью перемещается от одного края экрана до другого параллельно горизонтальной оси экрана.

949.Условие этой задачи отличается от предыдущей тем, что требуется сохранять на экране все высвеченные положения геометрической фигуры. Задачу можно еще усложнить дополнительным требованием, чтобы цвет фигуры изменялся при переходе от предыдущего положения к следующему.

950.Изобразить движущуюся прямую, которая в каждый момент касается окружности данного радиуса, центр которой совпадает с центром экрана. Точка касания перемещается по окружности с постоянной угловой скоростью сама окружность невидима.

951. Круглое кольцо вращается с постоянной угловой скоростью вокруг своего диаметра, расположенного параллельно горизонтальной оси экрана. Изобразить на экране процесс вращения. Считать, что в момент времени t кольцо выглядит для наблюдателя как эллипс, большая ось которого равна постоянной величине с, а

малая равна c cos wt , где w - угловая скорость вращения. В правой

части рис.101 приведено несколько последовательных изображений кольца, возникающих через равные промежутки времени. В левой части рисунка кольцо изображено сбоку (этот вид не даётся на экране).

Рис. 101

952. Изобразить равнобедренный треугольник, вращающийся с постоянной угловой скоростью вокруг своей высоты, расположенной параллельно вертикальной оси экрана.

953. Изобразить на экране гармонические колебания точки вдоль некоторого горизонтального отрезка. Если длина отрезка равна c, то расстояние от точки до левого конца в момент времени t можно считать равным c(1+ cos wt) / 2 , где w некоторая постоянная.

Предусмотреть возможность управления частотой колебаний с помощью клавиш « > » и « < », аналогично тому, как это описано в задаче 937 в отношении вращающейся точки. С помощью двух других клавиш можно управлять амплитудой, т. е. величиной с.

954. Изобразить точку, совершающую независимые гармонические колебания с частотой w1 по горизонтали и с частотой w2 по вертикали (амплитуда тех и других колебаний равна а). Считать,

что в момент времени t точка имеет координаты x = a cos w1(t t1) , y = a cos w2 (t t2 ) ; числа t1 и t2 даны. Предусмотреть возможность управления с клавиатуры значениями w1 и w2 .

955. Изобразить на экране движение шара по биллиарду без луз

(рис. 102).

Рис. 102 956. В условие предыдущей задачи вносится дополнение: шар

должен оставлять за собой светящийся след.

957. Изобразить на экране точку, пересекающую экран равноускоренно в вертикальном направлении.

958.Выполнить задачи 934, 935 применительно к равноускоренному движению.

959.Изобразить на экране приближающийся издали шар. По какому закону возрастает видимый диаметр шара с течением времени?

960.Согласно первому и второму закону Кеплера каждая планета движется по эллипсу, в одном из фокусов которого находится Солнце. В равные времена радиусвектор планеты, проведенный от Солнца, заметает равные площади (рис. 103, а). Если ввести в

плоскости орбиты полярные координаты так, как показано на рис. 103,

б(Солнце выбирается в качестве полюса), то дифференциальным уравнением движения планеты будет

dϕ

=

c

,

dt

ρ 2

 

 

где c - некоторая постоянная. С другой стороны, уравнение эллипса в этой системе координат будет

ρ =

p

,

1+ e cosϕ

где р и е - неотрицательные постоянные, е< 1.

Получить на экране картину, дающую модель движения планеты вокруг Солнца (планета и Солнце изображаются светящимися точками: Солнце - неподвижной, а планета - подвижной). Для нахождения последовательностей ϕ 0 ,ϕ 1,...,ρ 0 , ρ 1,... значений угла ϕ и

расстояния ρ через одинаковые промежутки времени, равные τ ,

можно воспользоваться методом Эйлера численного решения дифференциальных уравнений. Это позволит написать

 

ϕ

0

=

 

0, ρ 0

=

 

 

p

,

 

 

 

1

+ e

 

 

 

 

 

 

 

 

 

 

 

 

ϕ i = ϕ i1 +

cτ

 

,

ρ

i

=

 

 

 

p

 

 

, i = 1, 2, ...

ρ i21

1+

e cosϕ

 

 

 

 

 

 

i

(здесь для простоты принято ϕ

0 =

 

0 ).

 

 

Значения c, τ , p, e следует подобрать так, чтобы картина на экране получилась достаточно выразительной (хотя, строго говоря, величины с, р и е не могут выбираться независимо друг от друга: они связаны соотношениями, вытекающими, в частности, из третьего закона Кеплера, до в данной графической задаче этим можно пренебречь). Для того чтобы представить себе форму эллипса в зависи-

мости от р и е, рекомендуется рассмотреть случаи ϕ 0 = 0,π 2,π .

Рис. 103 961. Получить мультфильм «Круги на воде», используя семь

концентрических окружностей. Центры окружностей должны быть совмещены с центром экрана, а радиусы изменяться от 40 до 82

пиксел, увеличиваясь на 7 пиксел с каждой следующей окружностью. Иллюзия движения должна создаваться последовательной сменой цветов всех окружностей, начиная с внутренней и кончая внешней. Процесс смены цветов следует повторить не менее десяти

962. Получить на экране слово ТЕСТ, составленное из крупных букв так, как описано в задаче 893, и обеспечить его перемещение по экрану:

а) по горизонтали от левого края экрана к правому краю; б) по вертикали от верхнего края экрана к нижнему и обратно.

963. Аналогично предыдущей задаче получить на экране два слова ТЕСТ, движущиеся по экрану по одной горизонтальной прямой навстречу друг другу. Первое слово должно двигаться от левого края экрана к правому, второе - от правого края к левому. Движение должно выполняться до полного совмещения слов.

964. Получить на экране какую-либо фигуру, описанную в задаче 129 (рис. 11, а - 11, о), и «оживить» ее: пусть цыпленок (рис. 11, а) летает, из трубы домика (рис. 11,6) идет дым, грузовик (рис. 11, в) едет, елка (рис. 11, г) растет, шар (рис. 11, д) движется влево до соприкосновения со стенкой и обратно, треугольник (рис. 11, е) движется вниз до соприкосновения с нижней фигурой, рожица (рис. 11, ж) подмигивает, рыба (рис. 11, з) плывет, подводная лодка (рис. 11, и) поднимает и опускает перископ, сова (рис. 11, к) машет крыльями, стрелки будильника (рис. 11, л) и колесо (рис. 11, н) вращаются, велосипед (рис. 11, м) катится, телефонный диск (рис. 11, о) крутится.

965. Получить на экране изображение какой-либо фигуры, описанной в задаче 130, и обеспечить ее перемещение (шаблоны для построения фигур даны на рис. 12, а -12, р). Выбор направления перемещения и расстояния, на которое фигура должна перемещаться в данном направлении, выполнять: