Задача на записи., прошу помочь разобратся |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на записи., прошу помочь разобратся |
SergSIS |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: 0 |
Задача:
В картотеке поликлиники значатся доктора и пациенты. С использованием типа: type личность=record фамилия:тип; инициалы:тип; г.рождения:тип; адрес:тип; end; Вывести на экран фамилии пациентов заданного специалиста. Я понимаю так, что нужно создать массив пациентов с указанием больных органов и массив докторов с указанием органов которые они лечат. А потом по полю записи доктора органы которые он лечит сделать выборку пациентов у которых эти ограны больны. Правильно я понимаю? Чёт мудрено больно. И как это сделать? Кто знает помогите пожалуйста. Заранее благодарен за любую помощь или подсказку. Сообщение отредактировано: SergSIS - |
volvo |
Сообщение
#2
|
Гость |
SergSIS, чего ж мудреного?
Смотри, что получается: type |
SergSIS |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: 0 |
Спасибо за совет!!! Всё как я и предполагал, а тут даже более конкретно.
Только вот я думаю, что вот в этом месте specialist: string; { <--- название органа, который врач лечит } нужно наверное указывать специальность специалиста (типа дерматолог), а после записать соответствие специалист=орган (дерматолог=кожа). Так я думаю будет правильнее. И вывод будет не "введите орган который лечит доктор", а "введите специалиста". Как Вы думаете? |
volvo |
Сообщение
#4
|
Гость |
Да пожалуйста
Хочешь сделать еще лучше? Делай так: Type Тогда описание врача и больного будет выглядеть по-другому: TDoctor = record { <--- Врач } Таким образом, уже есть соответствие между специализацией врача (TDoctor.specialist) и проблемой больного (TWeak.problem), оно записано в массиве TDocSpec... И если у нас (как и раньше) выбран доктор, индекс которого в массиве равен N, то определение "его" больных сводится к: For i := 1 to max_weaks do P.S. Преимущество этого способа: минимальными изменениями программы можно сделать так, чтобы у каждого больного мог быть не один, а несколько больных органов... |
SergSIS |
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: 0 |
Во, здорово!
...Но тогда ввод problem и specialist по каждому пациенту и доктору нужно делать через перебор базового типа TWeakSet и TDocSet? |
volvo |
Сообщение
#6
|
Гость |
Что значит "через перебор"?
Const Я вот сейчас подумал - может, добавить решение такого типа задач (где именно идет работа с множествами, типизированными константами) в FAQ? Нужно это кому-то, или такие задачи редко встречаются? |
Bokul |
Сообщение
#7
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата Я вот сейчас подумал - может, добавить решение такого типа задач (где именно идет работа с множествами, типизированными константами) в FAQ? Чем толще FAQ, тем лучше! -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Текстовая версия | 6.10.2024 8:55 |