Семантические и логические ошибки, в отличии от синтаксических, выявить намного труднее, и для их выявления служат средства интегрированного отладчика Delphi, которые позволяют проще локализовать эти ошибки.

С помощью интегрированного отладчика можно выполнять следующие отладочные операции:

-запускать программу;

-получать значения любых параметров программы;

-модифицировать значения программы;

-останавливать выполнение программы в той или иной ее точке;

-осуществлять трассировку программы (выполнение программы по шагам).

Для запуска программы используется команда главного меню Run/Run (F9). Если перед запуском программы были изменены какие-то файлы проекта, предварительно осуществляется перекомпиляция соответствующих файлов. Если в программе не установлено никаких точек останова и ее выполнение не будет прервано командой, программа отработает до конца. Запущенную программу можно остановить в любой момент командой главного меню Run/Program Pause.

Чтобы временно остановить вычислительный процесс в программе, можно задать точки останова – отмеченные в тексте места программы, при достижение которых она приостанавливает работу. Остановиться можно в любом месте программы, соответствующем исполняемым операторам. Минимальный шаг таких остановок – одна строка текста, поэтому не целесообразно в тесте программы писать на одной строке несколько операторов. Чтобы задать точку останова в программе, можно воспользоваться следующими приемами: поместить курсор мыши в начало строки, где надо задать точку останова, и нажать левую клавишу; поместить курсор текстового редактора в требуемую строку, вызвать локальное меню редактора и выбрать команду Toggle Breakpoint (F5) – переключить точку останова. Таким образом, задаются безусловные точки останова, для которых остановка выполнения программы будет происходить в случае, если компьютером выполняется первая команда, соответствующая строке текста с точкой останова. Помимо безусловных точек останова можно использовать и так называемые условные точки останова, для которых помимо указанной выше информации задаются также условия останова и (или) число проходов до останова.

Интегрированный отладчик предполагает возможность пошагового выполнения программы (трассировки), когда программа выполняется построчно с остановом после операторов каждой очередной строки текста программы, содержащей исполняемые операторы. Трассировка возможна тремя способами: с заходом в выполняемые программы, без захода в них и до ближайшего исполняемого оператора. При трассировке программы возможно сочетать все эти три варианта. В начале отладки, когда подпрограммы еще не отлажены, следует в них заходить, т.е. использовать трассировку с заходом в подпрограммы. Когда же подпрограммы будут полностью отлажены, контроль выполнения ими своих операций можно пропускать.

Для проведения тщательной отладки и устранения выявленных ошибок следует подготовить программу к практическому использованию, сделав более эффективной с точки зрения быстродействия и объема занимаемой памяти. Как правило, когда оптимизируется программа по быстродействию, увеличивается ее оборот и наоборот. Однако имеются приемы, когда можно улучшить сразу эти две характеристики или хотя бы не в ущерб другой (или с минимальным ущербом).

Прежде всего, следует устранить отладочную информацию, помещенную в программу на первом этапе ее создания. Далее следует устранить информацию, контролирующую ряд ошибок времени выполнения. Что касается проверки операций ввода / вывода, то, как правило, нельзя гарантировать, что даже в отлаженной программе не возникнет во время операции такая ошибка, т.к. она зависит не только от самой программы, но и от ее окружения. Поэтому контроль ввода / вывода следует оставить и отключать в программе только по мере необходимости.

Так как программу ’Валютная касса’ придется использовать достаточно часто, то целесообразно было сделать доступ к ней по возможности легким. С этой целью программе был присвоен ярлык (Shortcut) – особый вид пиктограммы, который можно поместить в рабочей области Windows 95.

Программа ’Валютная касса’ была тщательно отлажена, однако даже после тщательной отладки практически не возможно гарантировать, что все ошибки устранены. Надо быть всегда готовым к тому, что при каком-то особом стечение обстоятельств ошибки все таки могут появиться. Очень хорошо, если удастся точно зафиксировать эти обстоятельства, т.к. они позволят выявить и причину возникновения таких ошибок.

Текст программы дан в приложении 3.

2.7.3 АВТОМАТИЗИРОВАННАЯ ТЕХНОЛОГИЯ РАБОТЫ

С КЛИЕНТАМИ

Дальнейшая работа работа кассира происходит следующим образом: из перечня производимых обменным пунктом операций выбирается нужная клиенту; номер и серия справки строгой отчетности для каждого клиента автоматически появляется на экране ( в соответствии с данными, введенными в подменю ’Справки строгой отчетности’ при подготовке системы к работе). В строку ’Выдано’ вносится фамилия, имя, отчество клиента. В строку ’Предъявлен’ из предлагаемого списка выбирается нужный документ, удостоверяющий лич ность клиента (это может быть паспорт РФ, загранпаспорт, военный билет и другие удостоверения. Серия и номер документа могут быть заполнены или нет по желанию кассира. В левом верхнем углу экрана есть запись ’Резидент: да, нет’. Ввод информации о том, с резидентом или нет проводится операция, требуется для точного оформления отчетной документации, т.е. для составления реестра проведенных операций

После занесения вышеперечисленной информации в рабочее окно, кассир приступает непосредственно к проведению нужной операции. Так, в случае покупки валюты производится следующее:

-в верхнем правом углу окна выбирается операция ’Покупка’;

-в поле ’Принято от клиента’ заполняются строки:

’Код ценности’ – это двухзначный код ценности по следующему классификатору: 10 – банкноты и казначейские билеты; 11 – монеты; 23 – аккредитивы и др. (обменные пункты мытищинского филиала Уникомбанка работают только с банкнотами и казначейскими билетами, и монетами)

’Код валюты’ – это трехзначный код по следующему классификатору: 840 – доллар США, 280 – немецкая марка, 810 – рубль. В данном случае указывается любой код иностранной валюты (если банк производит операции с этой валютой), за исключением рубля.

-’сумма прописью’, ’сумма цифрами’ – соответственно вносится информация о сумме иностранной валюты, которую клиент желает продать.

После этого в верхнем правом углу экрана в строке ’Курс’ появляется курс, по которому будет осуществляться данная операция.

В поле ’Получено клиентом’ автоматически заполняются стоки ’Код ценности’ – 10,11 и ’Код валюты’ – 810.

Нажав клавишей мышки на строку ’Вычисление’ получаем результат проведения данной операции: количество рублей. которое необходимо выдать клиенту (строка ’Сумма цифрами’). В случае, если клиентом были получены рубли, выраженные в старой и новой нарицательных стоимостях – это должно быть отражено в строке ’В том числе старыми’.

Для занесения результатов данной операции в отчетную документацию необходимо (при помощи мышки) нажать клавишу ’Сохранить’, для того, чтобы вывести на печать данную информацию следует нажать (при помощи мышки) клавишу ’Печать’. В случае прекращения операции следует нажать клавишу ’Отказ’. Перед началом работы со следующим клиентом следует нажать клавишу ’Новый’ (происходит очищение рабочего поля).

При продаже банком валюты должны быть произведены следующие действия:

-в верхнем правом углу рабочего окна выбирается операция ’Продажа’;

-в поле ’Получено клиентом’ заносится код валюты, которую желает получить клиент (за исключением кода рубля 810), код ценности (10) и сумма необходимой валюты цифрами и прописью.

После этого автоматически заполняется строка ’Курс’ по которой будет производиться операция продажи валюты, в поле ’Принято от клиента’ заполняются строки ’Код валюты’ (810) и ’Код ценности’ (10,11).

После нажатия на клавишу ’Вычисления’ появляются результаты проведения операции: сумма в рублях (без учета налога), которую необходимо взять с клиента, указывается в поле ’Принято от клиента’ строка ’Сумма цифрами’, при этом если от клиента приняты рубли в старой нарицательной стоимости эта информация должна быть отмечена в строке ’В том числе старыми’. )