ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Обертання трикутника
         

     

    Інформатика, програмування

    Зміст


    Опис програми 4

    2.1 Загальні відомості 5
    2.2 Використані технічні Засоби 7
    2.3 Інструкції з виконання 8
    2.4 Вхідні та вихідні дані 9
    2.5 Випробування програми 9

    Висновок 9


    Список літератури 11

    ДОДАТОК 1 (ТЕКСТ ПРОГРАМИ )........... 12

    Введення

    Мова Turbo-Pascal - один з найпоширеніших мов програмування комп'ютерів. До важливих переваг мови Turbo-Pascal ставиться невеликий розмір компілятора, висока швидкість трансляції програм, компіляції та їх компонування. Крім того, зручність та високу якість дизайну діалогової оболонки, роблять написання та налагодження програм найбільш зручним у порівнянні з альтернативними мовами нового покоління.

    Дана дипломна робота представляє розробку програмного продукту з використанням системного мови нового рівня - Turbo-Pascal . Ця програма дозволяє будь-якому користувачеві (з будь-яким рівнем комп'ютерної грамотності) робити необхідні розрахунки з високою швидкістю і достатнім рівнем сервісу.

    1 Постановка завдання

    Темою даного курсового проекту, який був виконаний у ході вивчення курсу "Основи програмування та алгоритмічні мови", - розробка програми для роботи в графічному режимі з правильним трикутником, використовуючи елементи перерахунку координат його вершин при обертанні трикутника навколо описаної біля нього кола.

    Умова задачі:

    Дан рівносторонній трикутник. Потрібно обертати його в площині екрана навколо центру описаної навколо нього кола.

    2 Розробка алгоритму

    Алгоритм роботи програми має розгалужену структуру.

    Програма складається з трьох основних частин :

    1. Опис змінних використовуються при вирішенні поставленої задачі.

    2. Опис процедур за допомогою яких була реалізована ця програма.

    3. Тіло головної програми, що є найважливішою складовою частиною рішення поставленого завдання.

    Процедурна частина програми складається з набору процедур призначених для більш оптимальної реалізації розробленого методу розв'язання задачі.

    У програмі використовуються стандартні модулі мови Turbo -Pascal з набором процедур, необхідних для виконання роботи.

    При складанні процедур були використані класичні методи прорахунку координат вершин трикутника, виведення результату на екран.

    У програму також були включені функції надають користувачевідеякий сервіс і зручність при роботі (використання модулів Turbo-Vision
    2.0 for Borland Pascal).

    Опис програми

    1 Загальні відомості

    Дана програма призначена длявізуального відображення обертового трикутника в площині екрана.

    Вимоги до Turbo-Pascal:
    Наявність модулів Crt, Graph, System, Drivers. Модуль System єавтоматично підключається і зберігає всі процедури і функції стандартного
    Паскаля, а також вбудовані процедури і функції Турбо Паскаля, модуль Crtмістить процедури та функції, що забезпечують керування текстовим режимомроботи екрану. За допомогою що входять в модуль підпрограм можна переміщатикурсор в довільну позицію екрану, міняти колір символів, що виводяться інавколишнього фону, створювати та видаляти вікна. Крім того, у модулімістяться процедури управління звуком і процедури роботи з клавіатурою.
    Сервіс при роботі в графічному режимі надано в модулі Graph
    (промальовування ліній, відображення тексту в графічному режимі, установкапотрібного відеорежиму та шрифту, зміна атрибутів ліній і тексту). Модуль
    Drivers (точніше об'єкт TEvent) використовувався з метою спрощення обробкиподій, що надійшли з клавіатури.

    Вимоги до системи:

    Наявність операційної системи MS-DOS версії 3.xx і вище або OS/2
    Warp 3.0 & FullScreen DOS. Програма не вимагає ні високій швидкостіпроцесора, ні великого обсягу оперативної пам'яті і місця на диску, нінаявності маніпулятора типу Mouse. У комплекті з виконуваний файл знаходитьсяфайл з шрифтом TRIP.CHR, необхідний для коректної роботи програми.

    2 Використані технічні засоби

    При налагодженні програми був використаний комп'ютер типу IBM Pentium 120
    Triton & PipeLine Cashe 256/16Mb RAM, до складу якої входить:монітор 17''с адаптером SVGA S3TRIO Trio64 764;клавіатура 105 клавіш;
    FDD і;
    HDD Cuantum FireBall 1.08Gb;

    3 Інструкція з виконання

    Для виклику програми необхідно переконатися, що файли CURSPROJ.EXE і
    TRIP.CHR знаходяться в одній директорії. Після перевірки необхідно запуститифайл CURSPROJ.EXE або в середовищі Паскаля откомполіровать файл CURSPROJ.PAS (вкоплекте додається файл EGAVGA.OBJ, необхідний для лінковкі в основнупрограму файлу EGAVGA.BGI).
    Інтерфейс програми представлений на англійській мові через тимчасовоговідсутність додаткових російських шрифтів.

    Можливі дії в процесі виконання програми:

    - зупинити/продовжити обертання трикутника.

    - змінити напрямок обертання. < p> - c допомогою клавіш вгору/вниз можна змінювати швидкість обертаннятрикутника.

    - вихід з програми.

    Програма CURSPROJ.PAS має розмір 3772 байт або 120 рядків.

    виконуваний файл CURSPROJ.EXE має розмір 24348 байт.

    4 Вхідні та вихідні дані

    Вхідними даними для даної програми є двовимірний масив,що містить координати вершин рівностороннього трикутника.

    Вихідні дані: Візуальне відображення обертання трикутника іпоточних координат кожної з вершин.

    5 Випробування програми

    Програма була випробувана для всіх варіантів вводу-виводу і різнихтипів відеоадаптерів, що виключає виникнення фатальних збоїв прироботі програми.

    Висновок

    Дана курсова робота являє собою програмний продукт, призначений для роботи в графічному режимі. Програмний продукт написаний сучасною мовою Turbo-Pascal, який дозволив найбільш просто уявити цю роботу.

    У ході виконання курсового проекту я ознайомився з новими прийомами програмування і особливостями мови Turbo-Pascal що дозволило розробити даний програмний продукт.

    Список літератури
    | 1 | Епанешніков А.М., Епанешніков В.А., Програмування в середовищі TURBO |
    | | PASCAL 7.0.-Москва: "Діалог-МИФИ", 1995 |
    | 2 | Зуєв Е.А., Система програмування Turbo Pascal.-Москва: СП |
    | | "Діалог", 1992 |
    | 3. | Довгаль С.І., Сбінтев А.І., персонал ЕОМ: TURBO PASCAL V7.0, |
    | | Обектное программірованіе.-Київ: "Двгаль", 1995 |

    Додаток 1

    Program CursProj;
    Uses graph, crt, Drivers;const
    Ctr: Array [1 .. 2, 1 .. 3] of Integer = ((-77,0, 77),

    (-50,91, -50));
    Var x_c, y_c: Integer;

    Time2W: Byte;

    Event: TEvent; grDriver: Integer; grMode: Integer;

    ErrCode: Integer; xn, yn, a: Integer;

    Angle: Real;

    K: ShortInt;

    Procedure VgaDrv; external;
    ($ L EGAVGA.OBJ)

    procedure SetCenter (x_nc, y_nc: integer); begin x_c: = x_nc; y_c: = y_nc; end;

    Function Str2 (Num: Integer ): String;
    Type S = String; var P: ^ S;
    Begin
    New (P); Str (Num, P ^); Str2: = P ^; Dispose (P);
    End;

    procedure draw (color: integer); begin

    SetColor (Color);

    Line (x_c + ctr [1] [1], y_c + ctr [2] [1], x_c + ctr [1] [2], y_c + ctr [2] [2 ]);

    Line (x_c + ctr [1] [2], y_c + ctr [2] [2], x_c + ctr [1] [3], y_c + ctr [2] [3 ]);

    Line (x_c + ctr [1] [3], y_c + ctr [2] [3], x_c + ctr [1] [1], y_c + ctr [2] [1]); end;

    procedure DrawText (XX, YY: Integer; Text: String);
    Begin
    SetColor (Black);
    OutTextXY (XX, YY ,'(((');< br> SetColor (White);
    OutTextXY (XX, YY, Text) ;
    End;

    procedure ShowD;
    Begin

    GetKeyEvent (Event);
    If Event.What = evKeyDown Then

    Case Event.KeyCode of kbUp: Begin if Time2W> 2 Then Time2W: = Time2W - 1;

    SetColor (Black);

    OutTextXY (85,10,'((((((((( ((((');

    SetColor (White);

    OutTextXY (90,10, Str2 (100-Time2W ));

    End; kbDown : Begin if Time2W <100 Then Time2W: = Time2W + 1;

    SetColor (Black);

    OutTextXY (85,10 ,'(((((((((( (');

    SetColor (White);

    OutTextXY (90,10, Str2 (102-Time2W ));

    End; kbEnter: Begin

    SetColor (LightRed);

    OutTextXY (1,30, 'Freeze');

    ReadKey;

    SetColor (Black);

    OutTextXY (1,30,'(((((((((((((');

    End; kbTab: Begin

    K : =-K;

    End;

    End;

    Angle: = 0.1;

    Draw (White);

    Delay (Time2W);

    Draw (Black); for A: = 1 to 3 do begin

    Xn: = Round (ctr [1] [a] * cos (Angle) + K * ctr [2] [a] * sin (Angle ));

    Yn: = Round (-K * ctr [1] [a] * sin (Angle) + ctr [2] [a] * cos (Angle ));

    Ctr [1] [a]: = Xn; Ctr [2] [a]: = Yn; end;

    Draw (White);

    DrawText (105,60, Str2 (x_c + ctr [1] [1 ]));

    DrawText (105,75, Str2 (x_c + ctr [2] [1 ]));

    DrawText (105,90, Str2 (x_c + ctr [1] [2 ]));

    DrawText (155,60, Str2 (x_c + ctr [2] [2 ]));

    DrawText (155,75, Str2 (x_c + ctr [1] [3 ]));

    DrawText ( 155,90, Str2 (x_c + ctr [2] [3])); end;

    begin
    RegisterBgiDriver (@ vgaDrv);
    K: =- 1;
    Time2W : = 15;
    SetCenter (320,240);
    Angle: = 0.1; grDriver: = Detect; grMode: = VGAHi; (video mode VGA 640x480x16colors)
    InitGraph (grDriver, grMode ,'');< br> ErrCode: = GraphResult; if ErrCode = grOk then begin
    OutTextXY (1,10, 'Speed:' + Str2 (100-Time2W));
    OutTextXY (10,60, 'Corn. 1 X Y ');
    OutTextXY (10,75,' Corn. 2 X Y ');
    OutTextXY (10,90,' Corn. 3 X Y ');
    SetTextStyle (TriplexFont, HorizDir, 2) ;
    OutTextXY (10,425 ,'((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((< br>(((((((((((((((((((((');< br> OutTextXY (10,415 ,'(((((((((((((((((( (((((((((((((((((((((((((((((((((((((((< br>(((((((((((((((((((((');< br> SetColor (Black);
    OutTextXY (10,420, '-Exit-Freeze' +

    '-Speed-Direction');
    SetColor (LightRed);
    OutTextXY (10,420, 'ESC Enter Up/Down TAB
    ');
    SetTextStyle (DefaultFont, HorizDir, 1);

    Repeat ShowD Until Event.KeyCode = kbEsc;
    CloseGraph; end else Writeln (' Graphics error: ', GraphErrorMsg (ErrCode) );end.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status