ловойДетская смертність 28-364
4. Склад і структура реалізованого програмного забезпечення
4.1 Реалізація програмного забезпечення в середовищі Delphi
У середовищі Delphi реалізовано додаток [19], призначене для отримання прогнозу структури популяції. Робота програми заснована на взаємодії наступних програмних модулів (Малюнок 1):
Рисунок 1 - Загальна схема роботи програми
Отримання і перетворення вихідних даних відбувається в procedure readfl. З використанням властивостей компонента TMemo red.Lines.LoadFromFile(«W_all_»+inttostr(form1.ComboBox2.ItemIndex+1)+«.txt») дані з потрібного файлу, який розташований в одній директорії з головним exe-файлом, построчно зчитуються і відображаються як рядкові величини. Після чого формується масив з даних завантажених в ТМемо. Даний алгоритм показаний на малюнку 2.
Алгоритм реалізації прогнозу структури популяції можна розділити на три етапи (Малюнок 3): отримання необхідних даних з масиву вихідних значень, формування матриці Леслі, формування вектора чисельності жінок, итерационная процедура моделювання, висновок отриманих даних. p>
Малюнок 2 - Алгоритм перетворення вихідних даних у масив
Рисунок 3 - Схема прогнозування структури населення.
На першому етапі здійснюється формування матриці Леслі за допомогою procedure DoMatrix. Процедура DoMatrix визначає структуру демографічної матриці і перетворює вхідні дані в матрицю A, яка має такий вигляд (Малюнок 4):
R1R2R3R4 .... Rn - 1RnD1000 .... 00D200 .... 000D30 .... 0 ............... 00000 ... Dn - 1Dn Малюнок 4 - Структура демографічної матриці
де Ri - коефіцієнт народжуваності для i-ої групи (Ri - кількість дітей на 1000); Di - коефіцієнт смертності для i-ої групи (Di - кількість померлих на 1000).
Далі в procedure TForm1.Button1Click (Sender: TObject) після визначення структури демографічної матриці, формується матриця h. У h [1, i] заносяться дані про чисельність жінок за 1990 рік, в h [2, i] - дані про чисельність жінок за 1995 рік, а h [3, i] - за 2000 рік.
Потім викликається procedure progn (w: tvector; w0: tvector; M: tmatrix; l: byte), яка здійснює прогнозування структури населення використовуючи метод пересування віків, тобто модель реалізує ітераційний процес, за яким обчислюється вектор w1=A * w0, wN=A n * w0, де w0 [n], що задає початкову структуру населення по віку, в якому кожен компонент w0 [i] - кількість населення заданої статі і віку i-ої групи, w1-вектор, що описує структуру і склад населення на кроці 1, wN-вектор, що описує структуру і склад населення на кроці і т.д.,
Для цього викликається procedure multV (SVect: TVector; var Dvect: TVector; SMatr: TMatrix; Ub: Integer), яка здійснюється ітераційний процес прогнозування шляхом перемноження векторів чисельності на матрицю Леслі. Таким чином, метод пересування віків можна представити у вигляді такої схеми (Малюнок 5):
Малюнок 5 - Схема методу пересування віків
Для визначення репродуктивної цінності жінок і швидкості розмноження популяції розроблена procedure asimpt (w: tvector; var w...