Створення програми "Графічний редактор"
Структура програми мовою "Pascal". Порядок розміщення розділів. Використання службових слів у якості імен. Графіка в Pascal ABC. Опис інтерфейсу програми. Координати курсору при натиснутій кнопки миші. Заголовок вікна, а також процедура його очищення.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 11.06.2013 |
Размер файла | 906,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Створення програми "Графічний редактор"
1. Структура програми мовою «Pascal»
1.1 Початок створення програми
Тема програми складається з зарезервованого слова program та імені програми (зі списком параметрів, укладених в круглі дужки). Завершується заголовок крапкою з комою.
Порядок розміщення розділів довільний. Розділи можуть бути відсутні. Тіло програми починається словом begin, а закінчується словом end із крапкою, яка є ознакою кінця програми. const ім'я: тип = значення;
Звичайні константи можуть бути цілого, речового, символьного, логічного типу і типу string, типізовані константи - будь-якого типу, крім типу файл.
У цьому розділі повинні бути описані всі змінні, що зустрічаються в програмі:
var список1: тіп_1; список2: тіп_2;
спісок_1, спісок_2 (перелік змінних через кому).
Тип змінної можна задати двома способами:
а) вказати ім'я типу з розділу type;
б) описати сам тип.
1.1.1 Складовий оператор
Складовий оператор представляє із себе сукупність послідовно виконуваних операторів, укладених в операторні дужки begin і end;
begin
оператор1;
оператор2;
операторn;
end;
Він може знадобитися в тих випадках, коли відповідно до правил побудови конструкцій мови можна використовувати один оператор, але потрібно виконати декілька дій. У такий оператор входить ряд операторів, які виконують необхідні дії.
1.1.2 Умовний оператор
Умовний оператор дозволяє перевірити деяку умову і залежно від результатів перевірки виконати ту чи іншу дію. Таким чином, умовний оператор - це засіб розгалуження обчислювального процесу. Структура умовного оператора має наступний вигляд:
IF <умова> THEN <оператор1> ELSE <оператор2>, де IF, THEN, ELSE - зарезервовані слова;
<Умова>-довільне вираження логічного типу;
<Оператор1>, <оператор2> - будь-які оператори Паскаля.
Умовний оператор працює за наступним алгоритмом. Спочатку виконується умовний вираз. Якщо результат є TRUE, то виконується <оператор1>, а <оператор2> пропускається; якщо результат є FALSE, то, навпаки, <оператор1> пропускається, а виконується <оператор2>. Частина оператора ELSE <оператор2> може бути опущена. Тоді при значенні умовного вираження ТRUE виконується <оператор1>, в іншому випадку цей оператор пропускається.
Оскільки кожен з операторів <оператор1> і <оператор2> може бути оператором якогось типу, в тому числі і умовним, а в той же час не кожен з «вкладених» умовних операторів може мати частину ELSE <оператор2>, то виникає неоднозначність трактування умов. Ця неоднозначність в Паскалі вирішується таким чином: будь-яка зустрічна частина ELSE відповідає найближчій до неї «зверху» частини THEN умовного оператора.
1.2 Алфавіт мови Pascal
Програми на мові Pascal формуються із букв A-Z, a-z, цифр 0-9, спеціальних символів: +, -, *, /, =, <, >, [,], «.», «,», (,), «:», «;», {,}, $, #.
Службове слово являє собою неподільне утворення, зміст якого фіксований в мові. Службові слова не можна використовувати у якості імен. Коментарі в коді програми оформлюються фігурними дужками «{коментар}»
Приклади: end, array, begin, program
Програма в мові Pascal має наступний вигляд:
· program <назва>; {назва програми}
· uses <назва модуля 1>, <назва модуля 2>, …; {розділ опису модулів}
· label <ім'я1>,<ім'я2>, …; {розділ опису міток, мітка - ціле число від 1 до 9999}
· const <ім'я1>=<значення1>; <ім'я2>=<значення2> …; {розділ опису констант}
· type <ім'я>=<діапазон або перелік значень>; {розділ опису типів користувачів}
· var <ім'я1>, <ім'я2>, …: <тип>; {розділ оголошення змінних}
· procedure або function {розділ опису процедур та фанкцій}
· begin {оголошення початку опису опереторів}
· {оператори}
· end. {оголошення про закінчення програми}
Обов'язковими розділами є var, begin та end. Program - не обов'язкове ключове слово, але його корисно використовувати для того, щоб легше розрізняти програму серед інших.
Після кожного рядка необхідно ставити «;»
Присвоєння значення відбувається наступним чином:
<змінна>:= <значення>;
Після останнього end необхідно поставити «.»
У Pascal дещо специфічно передаються основні математичні операції. Також існують і унікальні команди для проведення деяких обрахунків.
Операнди:
· «+» додавання
· «-» віднімання
· «*» множення
· «/» ділення
· div ціла частина ділення (7 div 2 =3)
· mod остача від ділення (7 mod 2 =1)
· = дорівнює
· <> не дорівнює (?)
· > більше
· < менше
· >= більше або рівне (?)
· <= менше або рівне (?)
1.3 Графіка в Pascal ABC
Для малювання в Pascal ABC необхідно запустити спеціальний модуль GraphABC, використання спеціальних функцій і процедур допоможуть вам намалювати точку, відрізок, окружність і прямокутник та інші фігури.
Формат підключення модуля графіки:
1.3.1 Графічний режим
Графічний екран PascalABC (за замовчуванням) містить 640 пікселів по горизонталі і 400 пікселів по вертикалі.
1.3.2 Керування екраном
· SetWindowWdith(w) - встановлює ширину графічного вікна.
· SetWindowHeight(h) - встановлює висоту графічного вікна.
1.3.3 Графічні примітиви
Графічні примітиви є процедури, які здійснюють малювання в графічному вікні. Малювання здійснюється поточним пером (лінії), поточної пензлем (заливка замкнутих областей) і поточним шрифтом (висновок рядків).
Список команд:
· SetWindowSize (x, y); - задає розміри графічного вікна.
· SetPixel (x, y, color); - зафарбовує один піксель з координатами (x, y) кольором color.
· MoveTo (x, y); - пересуває невидиме перо до точки з координатами (x, y); ця функція працює в парі з функцією LineTo (x, y).
· LineTo (x, y); - малює відрізок від поточного положення пера до точки (x, y); координати пера при цьому також стають рівними (x, y).
· Line (x1, y1, x2, y2); - малює відрізок з початком в точці (x1, y1) і кінцем у точці (x2, y2).
· Circle (x, y, r); - малює коло з центром в точці (x, y) і радіусом r.
· Ellipse (x1, y1, x2, y2); - малює еліпс, заданий своїм описаним прямокутником з координатами протилежних вершин (x1, y1) і (x2, y2).
· Rectangle (x1, y1, x2, y2); - малює прямокутник, заданий координатами протилежних вершин (x1, y1) і (x2, y2).
· TextOut (x, y; s); - виводить рядок s у позицію (x, y) (точка (x, y) задає верхній лівий кут прямокутника, який буде містити текст з рядка s).
· SetFontColor (color); - встановлює колір шрифту.
· SetFontSize (sz: integer); - встановлює розмір шрифту в пунктах.
· SetPenColor (color); - встановлює колір пера, що задається параметром color.
· SetPenWidth (w); - встановлює ширину пера, рівну w пікселам.
· SetBrushColor (color); - встановлює колір кисті, що задається параметром color.
· FloodFill (x, y, color); - заливає область одного кольору кольором color, починаючи з точки (x, y).
· Clearwindow (color); - встановлює колір фону, що задається параметром color.
2. Опис програми «Графічний редактор»
2.1 Опис інтерфейсу програми
Графічний редактор - прикладна програма, розроблена для створення і редагування графічних зображень на комп'ютері.
В своїй програмі я хочу розкрити основні можливості графіки в мові програмування «Pascal».
Це досить простий графічний редактор, але і він дозволить вам відчути себе справжніми художниками і, навіть, не маючи блискучих художніх талантів, створювати справжні комп'ютерні «шедеври».
- палітра кольорів, вона знаходиться в лівому нижньому кутку, з її допомогую можна вибрати різноманітні кольори (див. мал 1).
- вікно кольору, на ньому відображається заданий вами колір (див. мал. 1).
- вибір товщини пензля (див. мал. 1).
- заливка - зафарбовує екран вибраним кольором (див. мал. 1).
- кнопка для очищення всього екрану (див. мал. 1).
Мал. 1
2.2 Функції та процедури
програма pascal графіка інтерфейс
· procedure MouseDown - процедура зберігає координати курсору при натиснутій кнопки миші. Завдяки їй натискається кнопки керування малюванням, також задається початкова точка малювання. Також в цій процедурі описуються кнопки, та їх включання.
·
procedure MouseDown (x, y, mb: integer);
begin
MoveTo (x, y);
if (mb = 1) and (y > 430) and (y < 453) then
begin
case x of
323..348:
setpenwidth(1);
353..378:
setpenwidth(2);
383..408:
setpenwidth(3);
412..438:
setpenwidth(4);
442..468:
setpenwidth(5);
end;
end;
if (mb = 1) and (y > 430) and (y < 453) and (x>494) and (x<516) then
begin
SetBrushColor (rgb(r, g, b));
setpencolor (rgb(r, g, b));
Rectangle (0,0,850,398);
end;
if (mb = 1) and (y > 430) and (y < 453) and (x>522) and (x<548) then
begin
SetBrushColor(clWhite);
SetPenColor(clBlack);
Setpenwidth(1);
Rectangle (-1, - 1,851,400);
end;
end;
· procedure MouseMove - ця процедура слідує за координатами курсору. Завдяки їй можна налаштувати колір пензля та малювати на екрані. Встановлюється розмір робочого вікна (висота, ширина). Використовується така функція як блокування екрана. Встановлюється заголовок вікна та очищення вікна.
·
procedure MouseMove (x, y, mb: integer);
var i:integer;
begin
if (mb=1) and (x<850) and (y<399) then LineTo (x, y);
SetBrushColor (rgb(r, g, b));
fillrectangle (266, 422, 305, 460);
SetBrushColor(clwhite);
if (mb = 1) and (x > 2) and (x < 258) then
begin
case y of
422..434:
begin
for i:= 0 to 255 do
begin
setpencolor (rgb(i, g, b));
line (2 + i, 422, 2 + i, 434);
setpencolor (rgb(r, i, b));
line (2 + i, 436, 2 + i, 446);
setpencolor (rgb(r, g, i));
line (2 + i, 448, 2 + i, 458);
end;
setpencolor(clwhite);
rectangle (r + 2, 422, r + 4, 434);
rectangle (g + 2, 436, g + 4, 446);
rectangle (x + 2, 448, x + 4, 458);
r:= x - 2;
setpencolor (rgb(r, g, b));
end;
436..446:
begin
for i:= 0 to 255 do
begin
setpencolor (rgb(i, g, b));
line (2 + i, 422, 2 + i, 434);
setpencolor (rgb(r, i, b));
line (2 + i, 436, 2 + i, 446);
setpencolor (rgb(r, g, i));
line (2 + i, 448, 2 + i, 458);
end;
setpencolor(clwhite);
rectangle (r + 2, 422, r + 4, 434);
rectangle (g + 2, 436, g + 4, 446);
rectangle (x + 2, 448, x + 4, 458);
g:= x - 2;
setpencolor (rgb(r, g, b));
end;
448..458:
begin
for i:= 0 to 255 do
begin
setpencolor (rgb(i, g, b));
line (2 + i, 422, 2 + i, 434);
setpencolor (rgb(r, i, b));
line (2 + i, 436, 2 + i, 446);
setpencolor (rgb(r, g, i));
line (2 + i, 448, 2 + i, 458);
end;
setpencolor(clwhite);
rectangle (r + 2, 422, r + 4, 434);
rectangle (g + 2, 436, g + 4, 446);
rectangle (x + 2, 448, x + 4, 458);
b:= x - 2;
setpencolor (rgb(r, g, b));
end;
end;
SetBrushColor (rgb(r, g, b));
fillrectangle (266, 422, 305, 460);
SetBrushColor(clwhite);
end;
redraw;
end;
Висновки
Під час виконання курсової роботи були вдосконалені теоретичні та практичні знання з графіки в Pascal.
У цій програмі є недоліки: не можна зберігати або завантажити зображення, не можна коректувати ту чи іншу область гумкою, немає функцій, таких як: лінії, круги, прямокутники.
У майбутньому планується вдосконалити програму, а саме - додати те, чого зараз не вистачає їй.
Дана програма надає можливість створити малюнок на будь-якому кольоровому забарвленні та надати зображенню певного кольору. Програма має велику кількість кольорів, які надають змогу користувачеві не повторюватись при використанні своєї роботи.
Запропонований мною варіант графічного редактора можливо вдосконалити. Наприклад, додати декілька нових функцій: кисть, розпилювач, нові фігури, напис та можливість редагувати текст, функцію копіювання в буфер обміну фрагмент чи весь малюнок, а також можливість масштабування.
Список джерел
1. Ковалюк Т.В. «Основи програмування» - Київ, «Видавнича група BHV», 2005. - 383 с.
2. Маженный О.А. «Краткое руководство Turbo Pascal» - Москва, «Вильямс», 2006. - 236 с.
3. http://uk.wikipedia.org/wiki/Pascal
4. http://rsc-team.ru/index.pl? rzd=2&group=lection&ind=21
5. http://www.dialektika.com/
6. Павловський Г.Ю. Підручник з інформатики 10 - 11 клас
7. Основи програмування в задачах та прикладах, А.В. Мілов, Харків: ФОЛИО, 2002 р.
8. Основи мови Turbo Pascal (навчальний курс), П.И. Рудаков, М.А. Федотов, Москва: Радіо та зв'язок, 2000 р
9. Програмування. С. Симонович, Г. Евсеев, Москва: АСТ - ПРЕС книга 2000 р.
Размещено на Allbest.ru
...Подобные документы
Теоретичні відомості. Блок-схема. Текст програми. Результати роботи програми. Процедури і функції. Координати, вікна, сторінки. Багатокутники. Дуги, кола, еліпси. Фарби, палітри, заповнення. Збереження і видача зображень. Виведення тексту. Включення драйв
курсовая работа [345,2 K], добавлен 17.12.2005Технічне обґрунтування та етапи розроблення програми, яка здатна виводити координати курсору миші при переміщенні, а також відображати відстань та швидкість, з якою проходить курсор між двома обраними точками. Основні елементи та загальні правила роботи.
лабораторная работа [14,4 K], добавлен 04.04.2011Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.
курсовая работа [2,0 M], добавлен 23.06.2010Відновлення вхідного сигналу, який заданий графо-аналітично за способом розкладання на гармоніки методом Фур'є. Збереження даних спектрального аналізу у типізованих дискових файлах. Побудова таблиці символьних імен та лістинг програми мовою Turbo Pascal.
курсовая работа [910,1 K], добавлен 31.10.2013Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.
лекция [445,0 K], добавлен 24.07.2014Опис програми Grapher, призначеної для математичної і графічної обробки даних, що описуються одновимірною функцією. Процес побудови графіка. Запис файлу даних мовою програмування Pascal. Моделювання вигляду апроксимаційних кривих та дискретних точок.
лабораторная работа [539,4 K], добавлен 23.09.2009Розробка програми реєстрації і автоматизованого створення звіту на рік по викраденим машинам. Математична модель задачі, структура зберігаючих даних. Створення алгоритмів основної програми на мові Turbo Pascal і процедур Vvod і Red. Вихідний код програми.
курсовая работа [25,4 K], добавлен 07.10.2010Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.
курсовая работа [277,8 K], добавлен 25.06.2015Первинний опис програмного забезпечення графічний редактор. Функціональна специфікація класів. Проектування архітектури програми, структури даних та графічного інтерфейсу. Опис алгоритму природною мовою. Аналіз впливу зміни вимог на зміну архітектури.
курсовая работа [2,4 M], добавлен 07.10.2014Опис програми "Мала експертна система": класифікація, основні задачі; використання байєсівської системи логічного виведення. Опис програми "Редактор баз знань", її застосування. Створення власної БД з чіткою логікою та двома можливими результатами.
лабораторная работа [491,9 K], добавлен 20.03.2011Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.
курсовая работа [831,2 K], добавлен 01.03.2014Головні особливості середовища Turbo Pascal. Властивості та вигляд системи лінійних алгебраїчних рівнянь. Опис схеми єдиного ділення (метод Гауса). Структура вхідної та вихідної інформації, текст програми, блок-схеми всіх процедур і головної програми.
курсовая работа [276,1 K], добавлен 07.02.2011Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.
курсовая работа [1,3 M], добавлен 23.06.2010Використання мови програмування Turbo Pascal, алгоритмів та графічних примітивів модуля Graph. Розробка та реалізація програми для сортування вагонів з довільного порядку в порядок через один. Присвоєння початкових значень та сортувальний алгоритм.
курсовая работа [1,2 M], добавлен 23.06.2010Розробка програми мовою Turbo Pascal для автоматизації процесу перевірки оцінок та аналізу успішності групи, для збереження і перегляду всієї інформації стосовно навчання. Формальна постановка задачі, створення алгоритму та вихідного коду програми.
курсовая работа [36,0 K], добавлен 13.10.2010Створення програми "Шаховий кінь" в системі програмування Turbo Pascal. Генерування відповідно до заданих початкових кординат маршруту руху коня. Алгоритм задачі: початок, виведення зображення та пошук. Реалізація програми та демонтрація її роботи.
курсовая работа [1,3 M], добавлен 23.06.2010Обліковий запис root. Настройка атрибутів користувацького облікового запису. Програми для створення облікових записів користувачів. Створення програми-скрипта add_user для надання робочого інтерфейсу програмі useradd. Блок схема алгоритму програми.
курсовая работа [35,9 K], добавлен 10.01.2013Три типи файлів, які містять програми на Turbo Pascal. Призначення модулів та їх структура: заголовок, інтерфейсна частина та кінець. Стандартні модулі, їх особливості. Компіляція програм, які використовують модулі. Підключення модулів до програм.
контрольная работа [19,6 K], добавлен 18.05.2009Теоретичні аспекти програмування мовою Pascal. Основні поняття та елементи мови. Розділи оголошення сталих і змінних. Стандартні та нестандартні типи даних. Основні операції, стандартні функції та процедури, прості програми. Розгалуження, цикли, масиви.
курсовая работа [122,5 K], добавлен 21.10.2012Написання програми для виведення чисел Фібоначчі. Загальна характеристика мови Паскаль. Науковий доробок Леонардо Фібоначчі. Історія і властивості послідовності. Особливості програмування мовою Turbo Pascal. Відкалібрування та синхронізування програми.
курсовая работа [325,1 K], добавлен 09.10.2013