ЗМІСТ
Вступ
Теоретична частина
Основні поняття мови програмування Turbo Pascal
Екранний редактор мови програмування Turbo Pascal
Спеціальна частина
Постанова задачі
Задача на мові Turbo Pascal
Практична частина
Опис вхідних та вихідних даних
Етапи розробки програми
Висновки
Перелік посилань
Додаток А. Текст програми.
Додаток Б. Загальна блок-схема алгоритму ВСТУП
Інколи виникає необхідність створити просте динамічне зображення, чи то для наведення прикладу можливості створення такого зображення у програмуванні, чи для якоїсь гри… Дана програма напевно є найпростішою у своєму роді, тут немає ніяких на лаштувань, ніяких кнопок та полів введення. Обмежившись одним файлом, після його запуску на екрані висвітлюється синє коло, на фоні якого злів направо рухається білий прямокутник, програма є досить короткою, всього декілька секунд, але за цей час ви встигнете переконатися що створення динамічного зображення на мові програмування Pascalможливо. Даною програмою зможе користуватися користувач – початківець, адже для цього потрібно тільки вміти запустити програму на виконання.
1. Теоретична частина
1.1. Основні поняття мови програмування Turbo Pascal
Для створення динамічного зображення я обрав мову програмування Turbo Pascal. Дана мова програмування дає можливості для створення та обробки динамічних зображень. Інтерфейс цієї мови програмування схожий на “вікно” в операційній системі windows, тут такоє є головне меню із пунктами, є робоча область. Дана програма є скоріше для операційної системи Ms-Dos, а ніж для операційної системи windows, хоча і у цій ос Pascalтеж може працювати в режимі емуляції Ms-Dos, що робить цю мову програмування невибагливою до програмного забезпечення а значить і до самого ПК, що може мати досить малі характеристики. Для керування програмою можна використовувати декілька способів (меню та комбінації клавіш) я вважаю що зручніше використовувати комбінації клавіш для керування програмою: Ctr-F9 – запуск програми, Alt-F9 – для перевірки програми на помилки… Такуж тут присутній рядок стану(внизу робочої обласиі) де відображається номер стрічки, що дозволяє швидко знайти у програмному коді помилку.
1.2 Екранний редактор мови програмування Turbo Pascal
Щоб потрапити в екранний редактор TurboPascalнеобхідно виконати слідуючі дії:
Підвести курсор під ТР і нажати Enter
Запустити файл turbo.exe
В NCпідводимо курсор під turbo.comі натискаємо Enter
Якщо відсутній NCто в командній стрічці вводимо turboі Enter.
Так завантажується turbo pascal.
Ввійшовши в меню Т.Р.вибираємо опцію Е і натискаємо Enter.Зявляється повідомлення filename: у відповідь на це,
введети імя свого робочого файла і Enter.
Попавши в екраний редактор набирається програма ex,esc,c-
компіляція програми;
Е – повернення в екраний редактор до програми ;
R — запуск програми на виконання;
S— запис програми на диск;
Q— вихід з Т.Р.
Структура програми на мові TP.
Заголовок :program (індетифікатор програми).
Описова частина: Label (список міток)
Const (оголошення констант).
Type (визначення типів даних).
Var (опис зміних).
Procedure(опис процедур).
Function(опис функції).
Виконавча частина: послідовність операторів мови Pascal, що знаходиться в оперативних дужках пара службових слів Begin і
End.
Оператор – це опис дій, які будуть виконані при реалізації алгоритму.Оператор присвоїння служить для обчислення заданого виразу і присвоїння результату зміних величин.Оператор присвоєння може бути арифметичний, логічний, символьний.
Загальний вигляд оператора:
(імя зміної): — (вираз)
Наприклад :
Y: = SQR(x) – sin( x+ SQR(x+ 1));
C: = “+”;
A: = 8;
B := x +1;
P: = I
Введення інформації здійснюється за допомогою стандартних процедур:
Read (x1,x2,…,xn );
Readl (x1,x2,…,xn ); де хі –елементи списку введення.
Процедура Reade відрізняється тим, що після введення всіх зміних, що були в душках, то відбувається перехід на наступний рядок.
Виведення інформації за допомогою стандартних процедур і WRITE WRITELN.
WRITE (x1,… xn ). Процедурами виведення дозволяється виводити текстову інформацію, заключивше її в апострофи .
WRITELN (x1,… xn ).
Writeln (Персональний компютер Іскра 1300М );
WRITE(‘Персональний’);
WRITE(‘компютер’); WRITELN;
WRITELN (‘іскра 1300М’);
Після виконання першої процедури надрукується: --PAGE_BREAK--
Персональний компютер Іскра1300М.
Після виконання 2,3,4прцедур надрукується:
Персональний комп’ютер
Іскра 1300М Вирази і стандартні функції
*- множення
\\ -ділення
Div – цілочисельне ділення
Mod– вертає остачу від ділення
Program – початок програми
And – використовується при складанні складних логічних виразів
Array – позначення масивів на мові Паскаль
Begin … End – оперативні дужки, в яких описується тіло програми
Case– оператор вибору
Const – опис константів на мові Паскаль
Do – вказівка виконати
Dowto – від більшого до меншого
Else – інакше або в інших випадках
File – робота з файловими змінними.
2. Спеціальна частина
2.1. Постановка задачі
Оскільки програма виконана в одному файлі, для її виконання потрібно запустити даний файл на виконання, після чого на екрані з’явиться динамічне зображення.
2.2. Задача на мові TurboPascal
Екран дисплея складається з точок, які можна засвічувати певним кольором. В результаті створюється зображення, точки на екрані дисплея називаються пікселями.Основною характеристикою дисплея е роздільна здатність, яка визначає кількість точок на одиницю площі. Очевидно, що чим більше точок можна зобразити на екрані дисплея тим вища роздільна здатність, яка залежить від технічних характеристик адаптера і дисплея. Розташування кожноі точки на екрані дисплея називається координатами точки. Для VGA адаптерів координати точки можна задавати в межах: по горизонталі — від 0 до 640 т., а по вертикалі від 0 до 200, 0 — 350 точок 0 — 480 точок.
Для визначення положення кожної точки потрібно задати її координати.
Графіка реалізується за допомогою процедур та функцій graph tpu. (модуль).
Необхідно також для роботи в графічному режимі мати драйвер відповідного адаптера, який називається egavga.bgi. Цей драйвер повинен бути записаний в робочому каталозі.
Для роботи в графічному режимі використовуються такі процедури:
Initgraphзадає графічний режим;
Detectgraphповертає знач. х-р. driver і mode
Setcolor( задає колір майбутнього зображення;
Setbckcolor— ( задає колір фону;
Putpixel— (х, у висвітлює точку з координита-ми [х, у] заданим кольором;
Line— (xl,yl; х2, у2) молюе лінію по координатах.
Lineto (x,y)— малює лінію від поточної точки до точки [х, у].
Lineral(x,y)малює лінію від поточної точки з заданими приростами.
Rectangle— (xl,yl;x2,y2) малює прямокутник з заданими вершинами.
Setviewport— (xl,yl;x2,y2,true) задає координати вікна, якщо значення 5 периметру приймає значення true, тотоді відбувається відсічене зображення, яке попадає за межі вікна;
Bar— (xl,yl;x2,y2) малює кольором прямокутник;
Bar 3d- малює паралелепіпед (х1, у1; х2, у2;, true).
Circle— (х, у, К)малюе коло з центром[х, у], радіусом-R;
Arc Pieslice— (х, у, ,, Н) малює дугу;
Ellipse Setbillstyle— (х, у, ,, К) малює зафарбований сектор;
floodfill(х, у,,,, R>) малює еліпс або дугу.
Також для створення динамічного зображення я використовував оператор циклу
while ia do
begin
end;
Завдяки цьому оператору створюється рух створеного раніше зображення. В тексті оператора вписуються змінні – точки які малюють фігури, як ми вже знаємо площа екрану монітора складається із точок, координати яких і присвоюються змінним. В тілі оператора циклу описуються оператори разом із змінними – точками котрі і малюють фігури, у нашому випадку коло та прямокутник. Оскільки у нас рухається білий прямокутник, то в кінці оператора циклу до змінних що представляють собою перед прямокутника додається 5 одиниць, тобто 5 точок екрану монітора, а спереду прямокутника цих 5 одиниць віднімаються, що створює рух, ось як це виглядає на мові програмування Turbo Pascal:
while i
setcolor(1);
circle(320,240,239);// цей оператор малює коло;
setfillstyle(1,1);
floodfill(320,10,1);
setcolor(0);
rectangle(x1,y1,x2,y2);
setfillstyle(1,0);
floodfill(i,240,0);
delay(6000);
rectangle(x1,y1,x2,y2);
setfillstyle(1,1);
floodfill(i,240,1);
i:=i+5; x1:=x1+5; x2:=x2+5; //тут видно як до змінних прямокутника після кожного виконаного циклу додається 5 одиниць – точок екрану;
end;
продолжение
--PAGE_BREAK--
3. Практична частина
3.1. Опис вхідних та вихідних даних
Оскільки програма створює рух то в програмі користувачу ніяких даних непотрібно вводити, в тілі програми, дані, які я ввів обробляються за допомогою операторів. Також вихідні дані представлені у вигляді вже обробленої інформації, котру я ввів, тобто останній рух зображення.
Етапи розробки програми
Розробка програми поділяється на такі етапи:
— Потрібно вибрати який саме рух будемо висвітлювати, у мому випадку це рух білого прямокутника на фоні синього кола:
circle(320,240,239);//малюється коло
setfillstyle(1,1);
floodfill(320,10,1);//заповнюється кольором
setcolor(0);
rectangle(x1,y1,x2,y2); //малюється прямокутник
setfillstyle(1,0);
floodfill(i,240,0); //заповнюється кольором
— Далі потрібно вибрати яка саме фігура буде рухатися, у нашому випадку білий прямокутник. Рух тут виглядає у швидкому стиранні та малюванні нового зображення, людське око не помічає таких швидких рухів, тому створюється ілюзія руху:
while i//тут видно що малюнок стирається і малюється 500 раз
setcolor(1);
circle(320,240,239);
setfillstyle(1,1);
floodfill(320,10,1);
setcolor(0);
rectangle(x1,y1,x2,y2);
setfillstyle(1,0);
floodfill(i,240,0);
delay(6000);
rectangle(x1,y1,x2,y2);
setfillstyle(1,1);
floodfill(i,240,1);
i:=i+5; x1:=x1+5; x2:=x2+5;//тут видно які саме точки будуть рухатися і на скільки одиниць за один цикл руху.
end;
Висновки
Виконавши дану курсову роботу я отримав програму, що будує динамічне зображення: рух білого прямокутника на фоні синього кола. Дана програма підійде для прикладу побудованого динамічного зображення на мові програмування TurboPascal. Оскільки програма виконана на мові програмування TurboPascal це забезпечує їй широке коло використання. Програма не є вимогливою до ресурсів ПК, як технічних так і до програмного забезпечення.
Перелік посилань:
1. Барціховська К.І., Анісімов В. В., Баумкетнер Л. Я. Методичні вказівки для виконання курсових робіт для студентів спеціальності 5.080405 “Програмування для електронно обчислювальної техніки і автоматизованих систем ”. – Гусятин.: ГК ТДТУ. 2003.-60с.
2. Архангельський А. Я. Інтегрірованная середовище розробки Delphi – М.: ЗАО, Біном; 1999.
3. Мазке Кенту для професіоналів Delphi 6: видавництво Пітер, 2002.
Фаронов В. У. DELPHI 6: Учбовий курс (+ дискета) – СПб: Пітер, 2002.
Додаток А. Текст програми.
Program Mykurs;
uses crt,graph;
var
x1,y1,x2,y2,i,driver,mode:integer;
begin
driver:=detect;
initgraph(driver,mode,'');
setbkcolor(15);
i:=86;
x1:=85; y1:=220; x2:=145; y2:=260;
while i
setcolor(1);
circle(320,240,239);
setfillstyle(1,1);
floodfill(320,10,1);
setcolor(0);
rectangle(x1,y1,x2,y2);
setfillstyle(1,0);
floodfill(i,240,0);
delay(6000);
rectangle(x1,y1,x2,y2);
setfillstyle(1,1);
floodfill(i,240,1);
i:=i+5; x1:=x1+5; x2:=x2+5;
end;
end.
Додаток Б. Загальна блок-схема алгоритму
/>
Початок
i:=86;x1:=85; y1:=220;
x2:=145; y2:=260;
while i
do begin
Оператори
зображення
Кінець