ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.09.2024
Просмотров: 20
Скачиваний: 0
|
|
Зміст |
|
1 |
Постановка задачі ................................................................................................................. |
3 |
|
2 |
Типи даних в Паскаль........................................................................................................... |
4 |
|
3 |
Графіка в Паскаль................................................................................................................. |
6 |
|
4 |
Алгоритм розробки програми.............................................................................................. |
9 |
|
5 |
Практична реалізація.......................................................................................................... |
11 |
|
|
5.1 |
Опис структури даних та вимоги до них............................................................. |
11 |
|
5.2 |
Опис файлів та їх призначення............................................................................. |
11 |
|
5.3 |
Опис процедур та функцій користувача.............................................................. |
12 |
|
5.4 |
Опис процедур та функцій, що використовувалися у програмі........................ |
12 |
6 |
Інструкція для роботи з програмою.................................................................................. |
13 |
|
7 |
Приклад тестування та результату роботи програми...................................................... |
14 |
|
Висновки................................................................................................................................. |
16 |
||
Література............................................................................................................................... |
17 |
||
Додаток А. Лістинг основної програми............................................................................... |
18 |
||
Додаток Б. Лістинг модуля Zarplata ..................................................................................... |
19 |
СумДУ МК І КР 0023
Змн. Арк. |
№ докум. |
Підпис Дата |
|
Розроб. |
Шаховська С.О. |
Літера Аркуш |
Аркушів |
Перевір. Кукарін В.О. |
Зміст |
2 |
23 |
Реценз. |
Гр. 211-і |
|
|
Н. Контр. |
|
|
Затверд.
1 Постановка задачі
Теоретичне завдання
1.Типи даних у Паскаль
2.Графіка у Паскаль
Практичне завдання
Створити файл, що містить відомості про робітників заводу. Структура запису: прізвище, ім’я, по-батькові, цех, стать, вік, заробітна платня.
Написати програму, що видає таку інформацію:
-список робітників цеху Х та їх заробітну плату;
-середню та максимальну заробітну плату цеху Х.
Вимоги до програми
Створення та обробка бази даних здійснюється шляхом вибору відповідного пункту
меню.
Основні пункти меню програми:
-створення файла записів;
-додавання інформації у файл;
-внесення змін у запис за запитом;
-видалення запису;
-виведення вмісту файла даних у вигляді таблиці.
Обробка файла (створення, додавання, видалення, редагування і т.д.) повинна здійснюватися за допомогою процедур та функцій.
Введення даних повинно відбуватися з перевіркою на область допустимих значень. Всі процедури та функції повинні бути розміщенні у відповідних модулях.
Фай повинен містити не менше 10 записів.
СумДУ МК І КР 0023
Змн. Арк. |
№ докум. |
Підпис Дата |
|
Розроб. |
Шаховська С.О. |
Літера Аркуш |
Аркушів |
Перевір. Кукарін В.О. |
1 Постановка задачі |
3 |
23 |
Реценз. |
Гр. 211-і |
|
|
Н. Контр. |
|
|
Затверд.
2 Типи даних в Паскаль
Одним з найважливіших понять у програмуванні є змінна. Змінна – це поіменована ділянка оперативної пам’яті комп’ютера, де зберігається значення деякої величини. Змінна має такі властивості: назву (ім’я), значення, тип. Кількість змінних та їхні властивості задає користувач. Тип змінної визначає її допустимі значення, а також операції, які можна над нею виконувати.
Розглянемо стандартні типи даних: числові цілі, числові дійсні, символьний та логічний.
|
Цілочислові типи |
|
|
|
|
Назва типу |
|
Діапазон значень |
|
|
|
Byte |
|
0...255 |
|
|
|
Shortint |
|
-128...127 |
|
|
|
Word |
|
0...65535 |
|
|
|
Integer (основний тип) |
|
-32768...32767 |
|
|
|
Longint |
|
-2147483648...2147483647 |
|
|
|
Приклад опису цілочислових змінних: var
H1, H2: word;
Zcolor: byte;
Дійсні типи
Дійсні числа можна записувати у форматі з фіксованою крапкою, наприклад, 5.04, - 12.109, або у форматі з плаваючою крапкою, наприклад, -5.2Е+2 (це є -520.0), 16.1Е-3 (це є 0.0161). символи nE+2 означають множення числа n на 10 у степені +2. Для представлення дійсних значень у Паскалі частіше використовуються типи: real, single, double. Ці типи розрізняються діапазоном допустимих значень і обсягом необхідної пам’яті:
real – числа від 2.9Е–39 до 1.7Е38 з мантисою 11 – 12 знаків; надається 6 байт пам’яті;
single – числа від 1.5Е–45 до 3.4Е38 з кількістю значущих цифр 7 – 8; надається 4 байти пам’яті;
double – числа від 5.0Е–324 до 1.7Е308 з кількістю значущих цифр 15 – 16; надається 8 байт пам’яті;
Формат опису дійсних типів аналогічний опису цілочислових типів: var Y1, Y2: single;
zz: double;
СумДУ МК І КР 0023
Змн. Арк. № докум. Підпис Дата Розроб. Шаховська С.О.
Перевір. Кукарін В.О.
Реценз. Н. Контр.
Літера |
Аркуш |
Аркушів |
2 Типи даних |
4 |
23 |
в Паскаль |
Гр. 211-і |
Затверд.
Логічний тип
Логічний тип характеризується двома значеннями: false (хибність) та true (істинність). Під час опису цих величин у програмі на Паскалі використовується слово boolean, наприклад,
var
Pozit, Sel: boolean;
Символьний тип
Змінні, які набуваютьсимвольних значень з таблиці ASCII, належать до символьного типу – char. Для розміщення таких змінних у памяті потрібний лише один байт.
До програми на Паскалі символьні змінні вводяться за допомогою такого опису: var
Wx, Ux: char;
Якщо в програмі є значення символьних змінних, їх слід взяти в апострофи, наприклад,
Х= ’В’.
Усі наведені вище типи даних є стандартними. Їх не треба описувати у розділі типів. До простих нестандартних типів належать перерахований, діапазонний та рядковий типи.
Перерахований тип
Перерахований тип утворюють з ідентифікаторів (імен користувача) шляхом їх об’єднання у список, який записують у круглих дужках:
type <ім’я типу> = (<значення 1>, <значення 2>,..., <значення
n>);
Приклад. Опишемо два перераховані типи (дні тижня та кольори):
type week = (mon, tue, wed, the, fri, sat, sun); colors = (red, green, yellow, white);
та оголосимо дві змінні – day та mycolor цих типів: var day: week; mycolor: colors;
Номер першого елемента списку завжди є 0. Дані перерахованого типу не можна вводити з клавіатури чи виводити. Даними перерахованого типу не можуть бути числові чи символьні значення.
Діапазонний тип
Діапазонний тип – це звуження деякого базового упорядкованого типу. Його описують наступним чином:
type <ім’я> = <значення 1> .. <значення 2>;
Арк.
|
СумДУ МК І КР 0023 |
|
|
Змн. Арк. № докум. Підпис Дата |
5 |
||
|
|||
|
|
3 Графіка в Паскаль
У графічному режимі мінімальним об'єктом, яким може управляти програміст, є так званий піксел. Його геометричні розміри визначаються дозволом монітора. Дозвіл монітора звичайно задається у вигляді rх х rу , де rх - кількість пікселів на екрані по горизонталі, а rу - кількість пікселів по вертикалі. Навіть у випадку самого грубого дозволу зображення в графічному режимі формується за допомогою 64 000 графічних елементів, що набагато перевищує можливості текстового режиму. Будь-яке зображення формується з досить простих геометричних фігур. Це точки, відрізки прямих, окружності і т.д. З геометрії відомо, що положення геометричного об'єкта і його форма задаються координатами його точок. Отже, для того щоб запрограмувати графічний об’єкт, треба навчитися задавати координати графічних об'єктів.
Графічні координати задають положення точки на екрані дисплея. Оскільки мінімальним елементом, до якого має доступ програміст, є піксел, природно як графічні координати використати порядкові номери пікселів. Припустимий діапазон зміни графічних координат становить [0, rх - 1] для x-координати й [0, rу - 1] для y-координати. Точкою відліку є верхній лівий кут екрана. Значення y-координати відлічуються з ліва праворуч, а у-координати - зверху вниз. Останнє відрізняє графічні координати від звичайних декартових координат, прийнятих у математиці, і служить джерелом помилок для початківця програміста. Проблема полягає в тім, що при розробці програми графік або інше зображення звичайне проектується у звичній для нас декартовій системі координат. Але для правильного відображення такого графіка на екрані необхідно врахувати розходження між декартовой і графічної системами координат. Підкреслю, що таких розходжень три:
1.Графічні координати приймають тільки цілочисленні значення.
2.Графічні координати приймають значення, обмежені як знизу
(нульовим значенням), так і зверху (значенням дозволу).
3.Графічна координата у відлічується зверху вниз.
Таким чином, геометричні декартові координати точки (х, у) для відображення її на екрані варто перерахувати в графічні (xg, yg) по формулах
xg = [rx х x] + dx, yg = ry -[ry x y]- dy,
де [x] - ціла частина х; rx і ry - масштабні множники, обрані з умови
СумДУ МК І КР 0023
Змн. Арк. |
№ докум. |
Підпис Дата |
|
Розроб. |
Шаховська С.О. |
Літера Аркуш |
Аркушів |
Перевір. Кукарін В.О. |
3 Графіка в Паскаль |
6 |
23 |
Реценз. |
Гр. 211-і |
|
|
Н. Контр. |
|
|
Затверд.
rx - [rx x xmax ]+1 rу = [sy x ymax ]+1.
Тут хmax і уmах - максимальні значення геометричних координат. Перерахування координати в по такій же формулі, що й для х, привів би до дзеркально відбитого щодо горизонтальної лінії зображенню. Що складають dx і dy забезпечують зсув зображення щодо лівого верхнього кута екрана. Зображення буде зміщено в центр екрана при dx = [rx / 2],
Робота дісплея неможлива без спеціальних мікросхем, керуючих його роботою. Відеоадаптер повинен підтримувати роботу дисплея в графічному режимі. Турбо Паскаль забезпечує роботу з наступними відеоадаптерами: CGA, MCGA, EGA, VGA, Hercules, AT&T 400, 3270 PC, ІBM-8514.
Роботою відеоадаптера управляє спеціальна програма, що називається драйвером. Драйвер зберігається в окремому файлі на диску з кодом що необхідний йому для роботи. Ознака файлу із драйвером - розширення .bgі імені файлу. Ім'я файлу із драйвером відповідає типу відеоадаптера вашого комп'ютера.
Перемикання в графічний режим і робота в ньому реалізовані в Турбо Паскалі у вигляді набору процедур, що перебувають у спеціальному модулі graph.tpu. Цей модуль повинен явно підключатися до програми за допомогою оператора використання uses. У модуль graph входить приблизно 50 процедур.
Отже, програма при перемиканні в графічний режим повинна визначити тип відеоадаптера. Це можна зробити, явно вказавши в програмі тип відеоадаптера або давши програмі можливість самостійно визначити значення відповідних параметрів. Для цього необхідно ввести змінну цілого типу, нехай її ідентифікатор буде gd. При явному визначенні
відеоадаптера в програмі повинен бути присутнім оператор присвоювання |
|
||||
|
gd := value; |
|
|
|
|
|
де value - це або деяке число, або убудована константа (убудовані константи не треба |
||||
описувати спеціально, тому що їхні описи втримуються в модулях). |
|
||||
|
При автоматичному розпізнаванні відеоадаптера в правій частині оператора |
||||
присвоювання використається константа Detect (або нульове значення). |
|
||||
|
Друге, що повинна зробити програма, - задати певний графічний режим. Для цього |
||||
варто ввести ще одну змінну цілого типу, назвемо її gm, і привласнити їй значення. |
|
||||
|
Перемикання в графічний режим роботи дисплея виконується викликом процедури |
||||
ІnіtGraph з модуля graph: |
|
|
|||
|
ІnіtGraph(gd, |
gm. 'c:\tp\bgі'); |
|
||
|
Перший параметр у цій процедурі задає тип відеоадаптера, другий визначає режим, а |
||||
третій |
являє собою рядок із |
вказівкою розташування драйвера на диску. Порожній рядок |
|||
|
|
|
СумДУ МК І КР 0023 |
Арк. |
|
|
|
|
7 |
||
Змн. Арк. |
№ докум. |
Підпис |
Дата |
||
|
означає, що графічний драйвер перебуває в тім же каталозі, що й програма. Процедура ІnіtGraph переводить систему в графічний режим, а потім повертає керування викликаючій програмі. Завершення роботи в графічному режимі виробляється за допомогою процедури CloseGraph, що вивантажує драйвер з пам'яті й відновлює попередній відеорежим.
За допомогою процедур RestoreCrtMode і SetGraphMode можна перемикатися між текстовим і графічним режимами, не закриваючи графічний режим.
Перемикання в графічний режим (ініціалізація графічного режиму) звичайно супроводжується обробкою можливих помилок ініціалізації. Ці помилки можуть бути пов'язані з відсутністю графічного драйвера або неправильних значень параметрів. При наявності помилки процедура ІnіtGraph виробляє відповідний, відмінний від нуля, результат - код помилки. Цей код можна одержати за допомогою функції GraphResuіt.
Щоб зображення не залежало від дозволу, потрібно использувать функції GetMax і GetMax, що повертають найбільший номер пиксела по горизонталі й по вертикалі відповідно. Графічні координати правого нижнього кута екрана рівні (GetMax, GetMax). Процедура SetBkColor установлює колір тла, а процедура SetColor - колір графічного об'єкта. Параметрами цих процедур є або цифрові коди квітів, або убудовані константи, що позначають колір. У таблиці наведені убудовані константи Турбо Паскаля, що позначають кольори й відповідають цифрові коди.
Процедура Lіne(xl, yl, х2. в2) виводить відрізок прямої, що задає початковою крапкою (x1, y1) і кінцевою крапкою (х2,y2). Окружність виводиться процедурою Cіrcle(x, в, r), параметрами якої є графічні координати центра х и в, а також радіус r (у пикселах).
Прямокутник будується процедурою Rectangle(xl. yl, х2, в2), перші два параметри якої задають графічні координати верхнього лівого кута прямокутника, а останні два параметри - координати нижнього правого кута. Процедура Bar(xl, yl, х2, в2) також призначена для висновку прямокутника й відрізняється від процедури Rectangle тим, що в цьому випадку внутрішня частина прямокутника зафарбовується заздалегідь певним чином. У випадку процедури Rectangle для заповнення внутрішньої області фігури доводиться використати додатковий виклик процедури модуля Graph. Колір заповнення може бути заданий за допомогою процедури SetColor(Color). Аргументом цієї процедури є константа або змінна типу Word, що є кодом кольору. Цей код може приймати значення з інтервалу 0. .15. Зручніше використати убудовані константи модуля Graph, імена яких відповідають виведеним квітам. Спосіб зафарбування визначається не тільки кольором, але й стилем заповнення. У Турбо Паскале є 12 стилів заповнення, а вибрати кожної з них можна за допомогою процедури SetFіll Style (Style, Color). Перший параметр цієї процедури задає стиль заповнення, а другий - колір. У числі припустимих стилів зафарбування - суцільна, штрихова й т.д.
Арк.
|
СумДУ МК І КР 0023 |
|
|
Змн. Арк. № докум. Підпис Дата |
8 |
||
|
|||
|
|