Cтраница 4
Некоторые более старые компиляторы не поддерживают использование шаблонов. Но шаблоны являются частью стандарта ANSI C - n -, поэтому компиляторы всех основных производителей поддерживают шаблоны в своих текущих версиях. Если у вас очень старый компилятор, вы не сможете компилировать и выполнять упражнения, приведенные в этой главе. Однако все же стоит прочитать ее до конца, а затем вернуться к этому материалу после модернизации своего компилятора. [46]
Подобные записи используются также в листингах программ для полного описания каждого изменения. Разделы, касающиеся листков состояния модулей и функционального тестирования, дополняются при внесении каждого изменения, а список результирующих компонентов программного изделия оставляется без изменения, чтобы правильно характеризовались текущая версия и уровни ее обновления. Особенно внимательно следует осуществлять управление конфигурацией СС, так как на этапе использования она остается единственным документом, отслеживающим текущее состояние программного изделия. [47]
Функция SetScrollSizes класса CScrollView сообщает MFC размер рисунка. Горизонтальные и вертикальные размеры рисунка записываются в структуру SIZE, передаваемую во втором параметре. В текущей версии программы MiniDraw размер рисунка установлен постоянным: 640 пикселей в ширину и 480 - в высоту. [48]
Для снижения дефицита адресов разработчики стека TCP / IP предлагают разные подходы. Принципиальным решением является переход на новую версию IPv6, в которой резко расширяется адресное пространство за счет использования 16-байтных адресов. Однако и текущая версия IPv4 поддерживает некоторые технологии, направленные на более экономное расходование IP-адресов. Технология CIDR отказывается от традиционной концепции разделения адресов протокола IP на классы, что позволяет получать в пользование столько адресов, сколько реально необходимо. Благодаря CIDR поставщик услуг получает возможность нарезать блоки из выделенного ему адресного пространства в точном соответствии с требованиями каждого клиента, при этом у него остается пространство для маневра на случай его будущего роста. [49]
После нескольких месяцев взаимодействия со специалистом по предмету с целью определения основных понятий, извлечения правил и уточнения стратегии решения экспертом задачи, инженер знаний получает базу знаний с несколькими сотнями правил и параметров. Инженер знаний продолжает уточнять и расширять первоначальную модель в течение еще нескольких месяцев, возможно привлекая дополнительных экспертов для проверки точности и состоятельности результатов работы системы или собирая данные об утечках, действительно имевших место, и используя их для проверки системы. К этому времени конструктор решает, что текущая версия системы из-за чисто эмпирического постепенного наращивания стала слишком громоздкой. Он решает от нее отказаться и быстро создает новую, более эффективную систему, которую в свою очередь необходимо развивать и совершенствовать. Таким образом, за время, превышающее один год, ценой напряженных усилий инженер знаний создает заслуживающую доверия экспертную систему. Еще несколько месяцев он затратит на тестирование системы в практической обстановке, эффективно превращая ее из пробной модели в функционирующую экспертную систему. [50]
![]() |
Окончательный вид меню Edit программы MiniEdit.| Новые команды, добавляемые в меню Edit. [51] |
Откройте ( если требуется) окно редактора меню для текущей версии программы MiniEdit и выполните следующие действия. [52]
В обязанности группы контроля или другого органа включают их сравнение и ( или) сверку с контрольными суммами исходных данных либо предыдущих стадий обработки. Например, контрольная сумма балансов дебиторских счетов в предыдущей версии главного файла плюс контрольная сумма по объему продаж в кредит в текущей версии должна быть равна контрольной сумме балансов в конце текущего процесса обработки. [53]
Текущую версию строки следует удалить из рабочего файла, что можно сделать, просто забыв о ней - текст останется в рабочем файле, но к этой строке не будет указателя. Затем добавляется замещающая строка, что наиболее просто осуществляется добавлением ее в конец рабочего файла. Ясно, что для выполнения всех этих действий все-таки требуется информация о позициях строк, как и в случае, когда все размещалось в памяти для обеспечения возможности определять последовательность строк; чтобы можно было прочесть текущую версию строки, нужно узнать, где она находится в рабочем файле; для доступа к ней должна быть обеспечена возможность подхода к этой точке в рабочем файле, а для записи ее новой версии должна существовать возможность переместиться к концу. [54]
Практическая реализация вертикального слоения связана также с концепцией сосредоточенного описания рассредоточенных действий. Как правило, рассредоточенным действием является реализация расширяющей функции. Его сосредоточенное представление - текст, называемый описанием слоя и содержащий неформальное описание алгоритма рассматриваемой функции в терминах программных фрагментов и контекстов, в которые они вставляются, а также список этих фрагментов с указанием точных координат их внедрения в текущую версию программы. [55]