align="justify"> На екрані побудувати сімейство кривих (епіциклоїда), заданих функцією:
X=(1 + A) · cos (A · t) + R · cos (1 + A) · t; [0 lt;=t lt;=2 · pi]=(1 + A) · sin (A · t) -R · sin (1 + A) · t;
Група параметрів A, R для побудови сімейства дана в текстовому файлі.
Блок - схема:
Алгоритм:
Оскільки тема нашої курсової «Елементи машинної графіки», нам потрібно загострити особливу увагу на цьому завданні, і виконати це завдання найбільш специфічно. Оскільки в Паскалі ABC, на відміну, наприклад, від Турбо Паскаля, безліч додаткових модулів, особливо додаткових графічних модулів, ми якраз скористаємося одним з них.
Почнемо з назви програми, підключення модулів і опису констант, згідно з нашим завданням.
Де «Crt» додатковий графічний модуль. Модуль Crt дозволяє виводити кольорові символи на кольоровому екрані. Хоча як і раніше відображення відбуватиметься в текстовому режимі.
Тепер приступимо до опису побудови графіка, в якій буде у нас перебувати, крім побудови самого графіка, побудова осей координат, зчитування змінних з файлу.
Для початку вважаємо дані з файлу. Але перед цим створимо файл data3.txt і відкриємо цей файл для читання, після чого закриємо.
Далі переходимо до побудови графіка (епіциклоїда).
Де «t:=t + 0.01» крок, «x» і «y» наші стандартні функції за завданням.
Важливо знати, що якщо крок буде великим, то графік вийти мало-вугільним, що не плавним, але чим менше буде крок, тим потрібно часу для побудови графіка, навіть самим потужним комп'ютерам потрібно кілька пар секунд щоб побудувати графік c мінімальним кроком.
У підсумку отримуємо кінцевий код програми (див. додаток Г).
Робота та інтерфейс програми
Попередньо для нашого завдання ми повинні створити файл data3.txt, записати туди дані, а саме параметри A, R через пропуск для побудови графіка.
Малюнок 4.1 - Заповнення файлу
Залежно від введених параметрів, програма буде будувати і виводити графік в графічне вікно (див. Малюнок 4.2).
Малюнок 4.2 -Робота графічного вікна
Завдання 5. Записи
Написати програму, яка формує файл записів даної структури Type Kniga=Record Avtor: String; Nazvanie: String; God: Integer; Izdatel: String; Stranizy: Integer; End; і визначає: - чи є книги даного автора;- Книгу з найбільшою кількістю сторінок;- Назви книг даного автора, виданих з зазначеного року, в даному видавництві.
Блок - схема:
Алгоритм:
Для початку задамо ім'я програм. Підключимо модуль роботи з екраном. Опишемо запис. У мові Паскаль запис визначається шляхом вказівки службового слова record та перерахування входять до запис елементів із вказівкою типів цих елементів.
Зробимо опис змінних.
Далі для введення в діалоговому вікні даних створюємо цикл з n=10.
Далі працюємо з отриманим масивом. Згідно з завданням шукаємо, чи є книги даного автора. Вводимо з клавіатури учасника цікавить нас книги і присвоюємо їй значення «avt». Далі він порівнює «avt» з авторами які містяться в нашому масиві.
Згідно завдання потрібно знайти книгу з найбільшою кількістю сторінок. Для цього в циклі порівнюємо з максимальним значенням кожну книгу.
Далі потрібно знайти назви книг даного автора, виданих з зазначеного року, в даному видавництві.
У підсумку отримуємо код програми (див. Додаток Д)
Робота та інтерфейс програми
Введення здійснюється за допомогою клавіатури і підтверджується (приймається) натисканням клавіші Enter. Всі дані повинні вводитися згідно з умовою, сказаному в завдання і дубльованому на екрані (див. Рисунок 5.1).
Малюнок 5.1 - Введення даних
Після того як ми ввели всі дані виконуємо всі умови зазначені в завданні. Виконуємо пошук
чи є книги даного автора;
книгу з найбільшою кількістю сторінок;
назви книг даного автора, виданих з зазначеного року, в даному видавництві. (див. Малюнок 5.2)
Малюнок 5.2 - Результат