субота, 24 листопада 2012 р.


Практична робота №23

ТЕМА: "Створення рухомих графічних об’єктів ".

                МЕТА: Ознайомитись з методами створення рухомих графічних об’єктів . Набути практичних навичок створення програм з рухомими графічними об’єктами .

Теоретичні відомості

        Для того, щоб створити об’єкт який рухається по складній траєкторії, наприклад по колу  , необхідно виконати послідовність наступних дій :

Ø  Розрахувати координати розміщення об’єкта (вони повинні бути цілого типу, тому бажано використати функцію TRUNC або подібну);

Ø  намалювати об’єкт ;

Ø  затримати його зображення на екрані;

Ø  витерти об’єкт;

Ø  повторити дану послідовність дій ( координати розраховуються з невеликим зміщенням в потрібному напрямку )

Як приклад розглянемо рух по колу . Складемо програму що намалює 60 крапок по колу з радіусом 120 точок і з центром в центрі екрану.

Program CYFERBAT;

Uses CRT, GRAPH;

VAR

Gd, Gm, I , X, Y : Integer;

Begin

CLRSCR;

Gd:=Detect;

InitGRAPH( Gd, Gm, 'D:/TP5/BGI');

For i:=1 to 60 do

    Begin

     X:=320+TRUNC( 120*Cos(i*Pi/30) );

     Y:=240+ TRUNC( 120*Sin(i*Pi/30) );  

      PutPixeL( x , y ,14 );

   End;    

End.
Щоб створити рух необхідно намалювати об’єкт, затримати на екрані, замалювати кольором екрану . Створимо рух секундної стрілки, радіус стрілки нехай буде 110.Один кінець лінії знаходиться в центрі екрану (320,240)  , інший переміщається по 60 точках, що розміщені на колі. Вставимо  нижче наведений фрагмент у виділене місце програми.

 
I:=0 ;

REPEAT

          X:=320+TRUNC( 110*Cos(i*Pi/30) );

          Y:=240+ TRUNC( 110*Sin(i*Pi/30) );  

           SetColor(14);

           LINE (320 , 240 , x, y);

           DELAY(3000);

           SetColor(0);

           LINE (320 , 240 , x, y);

            i:=i+1;

            IF  i=60  then i:=0;

 UNTIL KeyPressed;
 
Для того щоб і не досягало дуже великих значень доставлено наступний умовний оператор:

IF  i=60  then i:=0;

Хід роботи

1.              Написати в редакторі програму CYFERBAT.

2.              Записати її як файл в бібліотеку.

3.              Добавити фрагмент, що забезпечує рух стрілки.

4.       Запустити на виконання .

5.      Доробити циферблат, щоб на ньому були відмітки рисочками , через кожні 5 секунд.

6.      У зошити записати текст програми.

7.      Доробити програму так, щоб на екрані була ще й хвилинна стрілка, яка зміщувалась при повному проходження секундною стрілкою кола.

  
  Додаткове завдання:

Доробити програму , щоб можна було задавати початкові умови (наставляти хвилинну стрілку).
Додаткові матеріали:
Файл практичної роботи

Завдання самостійної роботи №4

Практична робота №22


ТЕМА: "Створення рухомих графічних об’єктів ".

                МЕТА: Ознайомитись з методами створення рухомих графічних об’єктів . Набути практичних навичок створення програм з рухомими графічними об’єктами .

Теоретичні відомості

        Для того, щоб створити рухомий об’єкт на екрані комп’ютера , необхідно виконати послідовність наступних дій :

Ø  намалювати об’єкт ;

Ø  затримати його зображення на екрані;

Ø  витерти об’єкт;

Ø  повторити дану послідовність дій ( перший пункт з невеликим зміщенням в потрібному напрямку )

Як приклад розглянемо рух кола зліва направо:

Program KoLo;

Uses CRT, GRAPH;

VAR
Gd, Gm, x, dx : Integer;

Begin

CLRSCR;

Gd:=Detect;

InitGRAPH( Gd, Gm, 'D:/TP7/BGI');

x:=10;

dx:=1;

    REPEAT

           SetColor(14);

           Circle(x , 240 , 5);

           DELAY(3000);

           SetColor(0);

           Circle(x , 240 , 5);

           x:=x+dx;
_______________________
 

     UNTIL KeyPressed;

END.

Для того щоб коло відбивалось від лівого та правого країв екрану в виділеному місці програми необхідно доставити наступний умовний оператор:

            if (x<10) or (x>635) THEN dx:=-dx;

 

Хід роботи

1.              Написати в редакторі програму-приклад руху кола радіусом 5 зліва направо.

2.              Записати її як файл в бібліотеку.

3.              Добавити умовний оператор, що забезпечує відбивання від країв екрану.

4.       Запустити на виконання .

5.      Намалювати на екрані прямокутник і доробити програму так, щоб кулька відбивалась від країв прямокутника.

6.      У зошити записати текст програми.

7.      Доробити програму так, щоб кулька рухалась в різних напрямках , а не тільки по горизонталі та відбивалась від всіх сторін прямокутника

  
  Додаткове завдання:

Створити програму руху кульки по синусоїді , вісь якої розміщена горизонтально. Кулька повинна відбиватись від країв екрану.

Додаток Файл практичної роботи №22
Презентація "Табличні величини"

Практична робота № 21


ТЕМА: " Створення програм знаходження сум і добутків елементів"

МЕТА:  Навчитись використовувати оператор повторення для знаходження сум та добутків.
 
Короткі теоретичні відомості.

Існує багато прикладів застосування циклів для розв’язку різноманітних задач. Дуже важливим для математиків є знаходження різних сум та добутків чисел. Розглянемо кілька прикладів знаходження сум та добутків. В початковий момент вважаємо, що сума рівна 0, а добуток рівний 1. 

Приклад 1.
Знаходження суми     S=1+2+3+ …98+99+100
 
Рrogram Suma;
   const n=100;
   var
   s,i : Integer;  
BEGIN
s:=0;
for i:=1 to n do S:=S+ i;
Writeln(‘ suma=’ , S);
END.
 
Приклад 2.
Зн аходження  суми
s=1+1/2+1/3+...+1/98+1/99 +1/100.
s+
Рrogram Suma;
   const n=100;
   var
   i : Integer;
   S: REAL;  
BEGIN
s:=0;
for i:=1 to n do S:=S+1/ i;
Writeln(‘ suma=’ , S:8:6);
END.
 
Приклад 3.
Знаходження  суми
s=1-1/2+1/3-1/4...-1/98+1/99 -1/100.
 
Рrogram  Suma3;
 VAR
   S : REAL;
    i, k: Integer; 
BEGIN
  S:=0;
  k:=1;
  For i:= 1 to 100 do
           Begin       
            S:= S+k / i ;
              k:= - k;
              End;
 Writeln(‘ suma=’ , S:8:6);
END.
Приклад 4.
Знаходження добутку
D=Sin(1)*Sin(2)*Sin(3)*...*Sin(n)

 
Рrogram Dobutok;
   const n=20;
   var
   i : Integer;  
  d: REAL;
BEGIN
d:=1;
for i:=1 to 20 do D:=D*Sin( i );
Writeln(‘ Dobutok =’ , D:8:5);
END.
 
 

Хід роботи.

 
І. Ввести і запустити на виконання приклади програм знаходження сум і добутків.

ІІ.Дано натуральнее число n. Обчислити:

                 

 
ІІІ. Дано натуральне n та дійсне х. Скласти програму обчислення суми:

1.    cos x+ cos2x + cos3x+cos4x+ …+ cosnx
2,
     
    Додаткові матеріали: файл практичної роботи №21
    Завдання самостійної роботи №3