Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Приклад записки.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.36 Mб
Скачать
  1. Побудова інформаційно-математичної моделі задачі

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

Етап побудови інформаційної моделі задачі полягає у дослідженні предметної ділянки задачі та визначенні вхідних даних, способів їх зібрання та обробки. Для даного алгоритму задачі інформаційна модель буде представлена у вигляді блок –схеми, і матиме наступний вигляд (рисунок 2.1).

Полотно 370

Рисунок 2.1 – Інформаційна модель задачі

  1. Об’єктна модель

Найкраще об’єктну модель будувати за допомогою засобів Microsoft Visual Studio. Це робиться наступним чином:

  1. Активізуємо вікно Solution Explorer

  2. Клацнути правою клавішею миші на проекті

  3. Вибрати пункт меню View Class Diagram

Об’єктна модель даної задачі зображена на рисунку 3.1.

Рисунок 3.1 – Об’єктна модель задачі

4. Визначення структури даних

У своєму проекті я створив 2 класи: paint_cherga, paint_spusok. Клас paint_cherga бути містити усі необхідні методи та атрибути для роботи з чергою, а клас paint_spusok – для роботи зі списком.

Структуру даних представимо у вигляді таблиць, в яких будуть відображені методи та атрибути цих класів.

В таблиці 4.1 показані методи класу paint_cherga.

Метод

Тип

Призначення

getel(PictureBox^ p, TextBox^ t, int i)

void

Створення елементу черги.

create_cherga()

void

Ініціалізація масиву елементів черги (динамічних компонент типу Label)

Таблиця 4.1 – Методи класу paint_cherga

В таблиці 4.2 показані атрибути класу paint_cherga.

Назва

Тип

Призначення

i

int

Індекс елементу який має додатися

j

int

Зберігає координати, які використовуються для перевірки чи всі елементи зсунуті, після того як відбулося видалення

v

int

Позиція в якій елемент повинен зупинитися (при додаванні в чергу)

k

int

Індекс елементу який має зсуватися після того, як відбулося видалення

d

int

Позиція в якій елемент повинен зупинитися після зсуву

kilk_el

int

Кількість елементів в черзі

mas

Label^

Масив динамічно створених компонент типу Label, за допомогою яких зображуються елементи черги

Таблиця 4.2 – Атрибути класу paint_cherga

В таблиці 4.3 показані методи класу paint_spusok.

Метод

Тип

Призначення

addel(PictureBox^ p, int t, int l, int i)

void

Створення елементу списку(графічно)

create_spusok()

void

Ініціалізація масиву елементів списку (динамічних компонент типу Label)

zsuv()

void

Зсуває індекси масиву елементів списку(на 1 в ліво)

set_index()

void

Встановлює значення покажчика, даного, та адреси елемента списку який має створюватися

dod_pochatok(Label^ l)

void

Додає елемент на початок списку(графічно)

dod_kinets()

void

Додає елемент в кінець списку(графічно)

vud_pochatok()

void

Видаляє елемент з початку списку(графічно)

vud_kinets()

void

Видаляє елемент з кінця списку

up()

void

Зсуває елементи списку, в тому випадку, якщо був видалений не останній елемент(у порядку відображення на екрані)

dod_pislya_indeksa_1()

void

Додають елемент після вказаного індексу

dod_pislya_indeksa_2()

vud_pislya_indeksa()

void

Видаляє елемент після вказаного індекса(графічно)

index_list()

void

Заповнює списки (компоненти типу ComboBox) з яких будуть братися дані для операцій «Додати елемент після індексу» та «Видалити елемент після індексу»

Таблиця 4.3 – Методи класу paint_spusok

В таблиці 4.4 показані атрибути класу paint_spusok.

Назва

Тип

Призначення

i

int

Індекс елементу списку (поле покажчика) який має додатися

j

int

Індекс елементу списку (поле даних) який має додатися

n

int

Індекс елементу списку (поле адреси) який має додатися

v

int

Індекс елементу списку (поле адреси) який потрібно видалити

d

int

Індекс елементу який потрібно рухати при будь-якій операції над списком

s

int

Новий текст для елементу списку (поле адреси) який замінює попередній під час виконання будь-якої з операцій над списком

c

int

Відстань від верхнього краю pictureBox елементу, який має видалитись

p

int

Допоміжна змінна (вона дорівнює 1, якщо після операції видалення зі списку потрібно буде зсувати

вказівник на вершину списку

z

int

Текст поля вказівника (не враховуючи символ «*») та поля даного елементу списку, який має створюватися.

u

int

Допоміжна змінна (вона дорівнює 1, якщо закінчилася операція «Додати елемент після індексу №»)

k

int

kilk_el

int

Кількість елементів в списку

check

bool

Перевірка на наповненість допоміжних comboBox-ів

mas

Label^

Масив динамічно створених компонент типу Label, за допомогою яких зображуються елементи списку

Таблиця 4.4 – Атрибути класу paint_spusok