Задание по курсовой работе
Постановка задачи
Создать файл, содержащий сведения о пациентах глазной клиники. Каждая запись содержит поля: фамилия пациента, пол возраст, место проживания (город), диагноз.
Написать программу, выдающую следующую информацию:
- количество иногородних, прибывших в клинику;
- список пациентов старше Х лет с диагнозом Y. Значения X и Y вводит пользователь.
Для отладки программы на диске с помощью текстового редактора Блокнот
был создан файл Глазная поликлиника.
txt
, имеющий следующее содержание:
Абромович,м,47,Калининград,близорукость
Путин,м,26,Калининград,коньюктевит
Иванова,ж,31,Балтийск,дальнозоркость
Сидоров,м,25,п.Южный,косоглазие
Петиков,м,27,Калининград,глоукома
Задова,ж,36,Советск,катаракта
Пастушенко,ж,18,Калининград,близорукость
Дубровский,м,67,Гусев,дальнозоркость
Нагиев,м,35,Нестеров,коньюктевит
Городнянский,м,45,Калининград,косоглазие
Пресли,м,36,Балтийск,катаракта
Тайлакова,ж,17,Черняховск,глоукома
Топор,м,56,Калининград,дальнозоркость
Курникова,ж,29,п.Шоссейный,коньюктевит
Галкин,м,24,Калининград,катаракта
Пушкин,м,43,Ладушкино,близорукость
Ситишкин,м,21,Калининград,косоглазие
Парфёнова,ж,21,Багратионовск,дальнозоркость.
Алгоритм чтения, обработки этого файла содержит циклы и оператор ветвления. Результаты выводятся в текстовое поле на форме, имеющей следующий вид. Использованы также следующие объекты – метки, командные кнопки, поле рисунка и поле со списком.
Блок- схема
Текст программы на языке Visual Basic
Dim fio As String, pol As String, age As Integer, city As String, diag As String, n As Integer
Private Sub CmdEnter_Click()
If Val(TxtAge.Text) < 1 Or Val(TxtAge.Text) > 100 Then
Ms
Else
Open App.Path + "глазная поликлиника.txt" For Input As #1
Do
Input #1, fio, pol, age, city, diag
If age > Val(TxtAge.Text) And diag = Combo1.Text Then
txtSpisok.Text = txtSpisok.Text + fio + ", возраст " + Str(age) + ", диагноз " + diag + vbCrLf
End If
Loop Until EOF(1)
Close
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Open App.Path + "глазная поликлиника.txt" For Input As #1
Do
j = j + 1
Input #1, fio, pol, age, city, diag
If city <> "Калининград" Then n = n + 1
For i = 1 To j
For j = 1 To Combo1.ListCount
If diag = Combo1.List(j - 1) Then f = 1
Next j
If f = 0 Then Combo1.AddItem diag
If f = 1 Then f = 0
Next i
Loop Until EOF(1)
Close
Text2.Text = Str(n)
EndSub Анализ полученного результата
Проведенная проверка с помощью контрольного примера показала успешную работу программы по всем вариантам:
- подсчет иногородних пациентов в клинике;
- список пациентов старше определенного возраста по различным диагнозам.
Вывод
Наращивая данную программу с помощью различных подпрограмм можно решать и другие задачи по обработке информации о пациентах в данной клинике. Например, данные по месту и условиям работы, но удобнее, на мой взгляд, всю информацию поместить в базу данных, добавив к таблицам данных несколько запросов с вычисляемыми полями.
Список используемой литературы
1. Информатика. Под ред. Макаровой Н.В. СПб, 1998
2. Шафрин Ю.А. «Основы компьютерной технологии». М., 1998
3. Симанович С.В. Информатика. Базовый курс «Питер» 2001
4. Практикум по компьютерной технологии. Шафрин Ю., Ефимова О., АБФ, М., 1997