- •Задание на разработку
- •Введение
- •Метод решения
- •1.1 Формирование списка больных и запись его в файл
- •1.2 Осуществление поиска по диагнозу
- •1.3 Определение начала эпидемии
- •1.4 Построение диаграммы о заболеваемости.
- •2.1 Работа с подпрограммами
- •2.1.1. Организация хранения данных о больных в файлах, и вывода данных из файла в таблицу списка больных
- •Добавление больного
- •Поиск больного
- •2.1.2 Добавление нового больного в базу
- •2.1.3 Определение начала эпидемии
- •2.1.4 Поиск по диагнозу
- •2.1.5 Построение диаграммы
- •2.2 Интерфейс программы
- •2.2.1 Главное окно «Списки больных» Form1
- •2.2.2 Окно «о программе» Form2
- •2.2.3 Окно «Справка» Form3
- •2.2.4 Окно «Настройки» Form4
- •4 Результаты моделирования
- •Заключение
- •Библиографический список
- •Приложение
Метод решения
1.1 Формирование списка больных и запись его в файл
Создадим структуру, состоящую из полей: фамилия, имя, отчество, диагноз, и дата постановки на учет. Пользователь вручную заполняет эти данные с клавиатуры, диагноз выбирается из 4 предложенных(ОРЗ, ОРВ, ГРИПП, СПИД). Для каждого диагноза создается переменная, в которой хранится количество больных уже болеющих этой болезнью, изначально они равны 0. При создании каждого нового больного в переменную соответствующего диагноза этого больного добавляется единица. То есть переменные диагнозов становятся счетчиками, в которых хранится значение числа больных этой болезнью. Для того чтобы знать количество больных создадим переменную которая изначально равна 0, и после добавления нового больного к нему плюсуется единица. Для того чтобы хранить переменные с значениями диагнозов опишем структуру znacheniya Состоящую из полей V, Z, G, S. После создания больного поля обновляются и записываются во 2 файл.
Изначально таблица больных заполняется данными из первого файла, а при работе с программой данные будут и дозаписываться в файл и добавляться к таблице, так при запуске программы чтение из файлов будет происходить только 1 раз, а запись несколько раз. При добавлении нового больного следует увеличивать количество строк в таблице.(количество строк должно совпадать с общим количеством больных)
1.2 Осуществление поиска по диагнозу
Когда пользователь заполнит поле диагноз, происходит поиск по таблице в соответствующем столбце, все совпадения с диагнозом выводятся на экран в соответствующую таблицу.
1.3 Определение начала эпидемии
Эпидемия объявляется, если количество людей заболевших определенной болезнью превысит заданное значение. Порог который не должны превышать больные-E изначально равен 2, это значение можно изменить с клавиатуры в настройках. После каждого добавления нового больного следует проверять переменную его болезни с переменной эпидемии. Если они равны, следовательно, объявляется начало эпидемии. При наличии базы данных о больных, она тоже проверяется и если значения диагнозов превышают или равны E то объявляется что идет эпидемия.
1.4 Построение диаграммы о заболеваемости.
На диаграмме будут выводиться столбцы соответствующие каждому заболеванию, высота каждого столбца (или его значение) для каждого заболевания будут соответствовать переменной этого заболевания умноженной на константу k=5, для удобства восприимчивости информации. На оси ОУ будет количество заболевших, а на оси OX соответствующие болезни. Так как возможности данной программы ограниченны 4 заболеваниями, значит, диаграмма будет состоять из четырех прямоугольников(Рис. 1.4.1), столбцы строятся стандартными средствами Builder. Пусть первому столбцу соответствует количество заболеваний ОРЗ, второму-ОРВ, третьему-ГРИПП, и четвертому-СПИД.
Чел
ОРВ
СПИД
ГРИПП
ОРЗ
Рис.
1.4.1 Представление информации в диаграмме
Для создания прямоугольника следует задать 4 его координаты (x1,x2)-координаты левого верхнего угла, и (x2,y2) правого верхнего угла, Так как расстояние между прямоугольниками постоянно, значит x2 и y2 будет постоянным для всех прямоугольников. Ширина прямоугольника равнаB=60 пикселям. Расстояние между прямоугольниками равно R=60 пикселям. Расстояние между первым прямоугольником и осью OY = D=20 пикселям. (Рис 1.4.2)
Y
X2,Y2
X
X2,Y2
X2,Y2
X1,Y1
X1,Y1
X1,Y1
X1,Y1
X2,Y2
60
60
20
Рис
1.4.2. Координаты и размеры столбцов
Если бы начало координат соответствовало точке (0.0) то:
для первого прямоугольника X1=0; X2=60; Y2=0
для второго прямоугольника X1=120; X2=180; Y2=0
для третьего прямоугольника X1=240; X2=300; Y2=0
для четвертого прямоугольника X1=360; X2=420; Y2=0
Координата Y1 первого столбца рассчитывается по формуле 1.1, для второго столбца по формуле 1.2, для третьего столбца по формуле 1.3, для четвертого столбца по формуле 1.4
Но в builder система координат выглядит так, как это показано на рисунке 1.4.3.
Рис
1.4.3. Система координат в Builder
Y
X
Это значит что при создании осей координат, следует сместить начало координат по оси OY на некоторое значение вверх, исходя из величины диограммы сдвиг по оси OY будет равен 150 пикселям, а сдвиг по оси OX будет равен 10 пикселям для удобства восприятия
Но так как в стандартной системе координат ось Y направлена вниз, то для того чтобы столбцы росли вверх следует значение Y1 сделать отрицательным, и к его значению добавить 150 (величина сдвига начала координат по Y) А значение Y2 сделать равным 150 (величина сдвига начала координат по Y), То есть:
для первого прямоугольника X1=20; X2=80; Y2=150
для второго прямоугольника X1=140; X2=200; Y2=150
для третьего прямоугольника X1=260; X2=320; Y2=150
для четвертого прямоугольника X1=380; X2=440; Y2=150
Координата Y1 в измененной системе координат для первого столбца рассчитывается по формуле 1.5, для второго столбца по формуле 1.6, для третьего столбца по формуле 1.7, для четвертого столбца по формуле 1.8
Представление диаграммы в новой системе координат показано на рисунке 1.4.4
Y’
X1,
Y1
X
X2,
Y2
10
150
Y
X’
Рис
1.4.4 Представление диаграммы в новой
системе координат
Чтобы изобразить новую ось координат на рисунке проведем две линии:
1 линию от точки (0.150) до (450.150) – Новая ось ОУ
2 линию от точки (10.0)до(10.450)-Новая ось OX
1.5 Блок-схема
