TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

         Практическое задание N 1. 55

            1.  Составить процедуру рисования N - угольной звезды.  В параметры процедуры включить число лучей звезды,  радиусы вписанной и описанной окружностей,  цвет линий и координаты центра звезды.  Перемещать две звезды разного цвета в пределах экрана случайным образом.

            2. Составить процедуру рисования N - угольной звезды,

где  N= 3,  5,  7,  ...  Операторы рисования имеют вид:

 

              M:=N div 2;   Moveto(x[1],y[1]);

For i:=1 to N do begin  j:=(M*i) mod N + 1; 

                   LineTo(x[j],y[j])       end;

 

            Перемещать две звезды разного цвета в пределах экрана.

            Толщину и форму (стиль) линий отрезков прямых,  прямоугольников,  окружностей,  эллипсов можно задать оператором

                         SetLineStyle(F, P, T); 

 

            Здесь F - форма линии из стандартного набора BGI:

            F=0 - сплошная,

            F=1 - пунктирная,

            F=2 - штрих-пунктирная,

            F=3 - штриховая.

            F=4 - форма линии задается параметром Р.  При F<4 значение Р игнорируется.  Параметры F, P, T типа Word.

            Стиль линии Р - число,  двоичное представление которого отображает заполнение линии длиной 16 пикселов.  Если разряд числа равен 1,  то пиксел высвечивается,  0 - не высвечивается.  Удобно использовать шестнадцатеричные числа.  Например:

        P = $35F1 = 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 ( двоичное )

отобразит стиль:        

 

            Можно использовать десятичную форму записи значения параметра "Р", 

где 0<= P <= 65535= 216-1 . 

            T - толщина линии может принимать два значения:

T= 1 - тонкая (1 пиксел),   T= 3 - толстая (3 пиксела).

Например,  операторы:  SetLineStyle(4, $5555, 3); Line(x1, y1, x2, y2);  определяют толстую мелким пунктиром линию. 

  Практическое задание N 1. 55

            1.  Вывести на экран горизонтальные толстые линии с двоичным представлением:

1111000001100000,      1111000011110000,      0111101111011110,

1100110011001100,      1001100110011001,      1111100011111000.

            2.  Вывести на экран вертикальные толстые линии с двоичным представлением:

0101010101010101,      1100011000110001,      1111110011111100,

0111011101110111,      1110001110001110,      1111000000001111.

            3.  Вывести на экран линии разных форм,  заданных параметром РN = PN-1 + 2 * N,

где P0= 1;  N= 1, . . , 150 .  Линии располагать вертикально.

            4.  Вывода на экран линий разных форм,  заданных параметром РN = PN-1 + 2N,

где P0= 1;  N= 1, . . , 15 .  Линии располагать горизонтально.

            5.  Нарисовать расходящийся из центра экрана по спирали ромбический лабиринт шириной 6 пикселов из отрезков наклонных прямых.  Очищать экран и менять толщину и форму линии F= 0, . . , 3.

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

 

            Применяя к исходным стилям линий пользователя логические операции,  можно получать новые стили линий.  Например:

            P3 = P1 and P2 - линии из совпадающих единичных битов.

            P3 = P1 or  P2  - добавление единичных битов.

            P3 = P1 xor P2 - обнуление совпадающих значений битов.

            P3 =    not P2    - изменение значений битов на противоположные.

 

            Таблица результатов выполнения логической операции "xor" над битами.  

 

                                                                                             ( Таблица результатов выполнения

   бит "A"   операция   бит "B"    результат                       логических операций "or" и "and"

                                                                                               над битами приведена на стр.    . )

    1      xor      1        0         

    1      xor      0        1             Результат операции "A xor B" равен

    0      xor      0        0           единице при различных значениях битов

    0      xor      1        1           "A" и "B",  иначе результат равен нулю. 

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz