End.

Домашнє завдання:

• Повторити сторінки 221 - 229 запропонованого підручника;

• Задачі № 603 (26, 8), 605,606, 608.

УРОК 32. Ділова графіка

Мета уроку: показати можливості роботи з діловою графікою засобами мови Паскаль на прикладах розв’язання задач.

На цьому уроці пропонується показати можливості мови Паскаль при побудові графіків функцій та різного виду діаграм.

ЗАДАЧА № 614

Умова: Зобразити на екрані монітора декартову систему координат, початок якої збігається з центром екрана.

Розв’язування: Для малювання осей х та у слід скористатися процедурою line, причому координати початку та кінця цих прямих обчислити неважко, тому що вони мають розміщуватись в центрі екрану. Градуювання осей робиться теж за допомогою коротких відрізків довжиною 8 пікселів, що розташовані з кроком step пікселів (крок в програмі заданий у вигляді константи, хоча можна його задавати і іншим методом). Підписи на осях можна зробити таким чином: число, що треба написати, переводиться в рядок процедурою str, а потім виводиться на екран процедурою OutTextXy. Зверніть увагу на те, що на від’ємному проміжку вісі до числа ліворуч дописується знак «-» командою S := ‘-’ + S, де S — рядок, що містить підпис під поділкою. Для якісного оформлення малюнку використовується процедура settextjustify(1,1), що забезпечує відцентроване виведення тексту у вказану позицію. Програма, що реалізує алгоритм, має вигляд:

Program Example_614;

Uses graph; {Підключення бібліотек}

Const

Step=25; {Крох між поділками на осях}

Var GraphDriver,GraphMode:integer;

x,у:integer; {x,y - координати центру декарт. сист. коорд.}

r:integer; {r - відстань від центру координат до чергової поділки}

S:string; {S - рядок, де зберігається символьне значення підпису для поділки)

Begin

Randomize;

GraphDriver:=VGA; {Ініціалізація графічного режиму}

GraphMode:=VGAHi;

InitGraph(GraphDriver,GraphMode,’’); {Малювання осей}

line(0,240,640,240); line(320,0,320,480);

{Малювання стрілочок на кінцях осей}

line(630,235,640,240); line(630,245,640,240);

line(315,10,320,0); line(325,10,320,0);

{Підписи на осях}

outtextxy(330,5,’Y’); outtextxy(630,220,’X’) ;

x:=320; y:=240; r: =0; {Малювання та підпис поділок на вісі X}

while x+r<640 do

begin

line(x+r,y-4,x+r,y+4); line(x-r,y-4,x-r,y+4);

r:=r+step;

str(r div step, S);

settextjustify (1,1);

outtextxy(x+r,y+10,S);

s:=’-’+S;

outtextxy(x-r,y+10,S) ;

end;

r:=0; {Малювання та підпис поділок на вісі Y}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату