КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вопросы и задачи для самостоятельного решения. Пример проектирования (продолжение примера главы 2)
Пример проектирования (продолжение примера главы 2)
Напомним, что мы пришли в нашем случае к последовательность действий программы. (1) Вести входную строку. (2) Если входная строка пустая, то закончить работу. (3) Преобразовать входную строку. (4) Вывести преобразованную строку. (5) Ввести очередную входную строку и вернуться к действию (2).
Простейший анализ этого описания действий позволил нам выделить основной объект - входную строку и список действий: - ввести, - преобразовать, - операцию проверки состояния пуста ли входная строка. Далее можно выделить объект сообщение и соответствующую ему операцию - вывести. Конкретный способ реализации объекта выбирается программистом в результате оценки нескольких вариантов. Например, способ представления объекта строка - список в связном представлении или массив символов; вид параметра процедуры вывода сообщения - текст сообщения или его номер в таблице сообщений и т. п.
Выводы В данном примере целесообразно принять решение о представлении объекта строка (входная и преобразованная) в виде массива символов. Этот массив представляет собой основной информационный объект и может быть реализован в отдельном модуле «str». Над ним должны быть определены следующие операции (процедуры). - Ввести входную строку (readString). - Проверить входную строку на корректность (testString). - Проверить входную строку на пустоту (isEmpty). - Преобразовать строку (processString). - Вывести строку (printString). На процедуру testString естественно возложить контроль алфавита, длины входной строки и нарушение структуры входной строки (ведущие символы не пробелы). Для вывода сообщений можно разработать отдельный модуль «msg» в котором реализовать единственную процедуру msgWrite, параметром которой является значение перечислимого типа (INPUT_MSG, END_MSG, ERROR_MSG) определяющее вывод сообщений 2.2.1.1, 2.2.1.2, 2.2.1.3 соответственно. При этом логика программы головного модуля может быть представлена так:
msgWrite(INPUT_MSG); readString(str); while(isEmpty(str)) { if (!testString(str)) { msgWrite(ERROR_MSG); } else { processString(str); printString(str); } msgWrite(INPUT_MSG); readString(str); } msgWrite(END_MSG);
Предполагается, что процедура ввода строки обращается к модулю «msg» для вывода приглашения к вводу msgWrite (INPUT_MSG) Далее кодирование и отладка головного модуля и модулей «str» и «msg» могут быть произведены на языке программирования. Какие подходы к проектированию, кроме объектного Вам известны? Какие основные шаги необходимо выполнять при объектно-ориентированном подходе к проектированию? В чем основные преимущества объектного подхода и когда его следует использовать? Что такое объект? Определите основные объекты для следующей задачи: Электронная база штрафов ГИБДД – сотрудники ГИБДД, выписывая штрафы водителям, заносят данные о водителе, нарушении, его месте, времени, транспортном средстве водителя в общую базу данных.
Дата добавления: 2014-12-26; Просмотров: 336; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |