Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции_Информатика

.pdf
Скачиваний:
27
Добавлен:
23.03.2016
Размер:
2.42 Mб
Скачать

51

Рассмотрим общие правила построения схем алгоритмов.

1. Для конкретизации содержания блока и уточнения выполняемого действия внутри блока помещаются краткие пояснения – словесные записи с элементами общепринятой математической символики.

Наименование

Обозначение

символа

и размеры

Процесс

 

(вычислительн

a

ый блок)

 

 

b

Решение (логический блок)

Модификация (заголовок цикла)

0,25a

Пуск-останов

a

(начало-конец)

0,5

 

Предопределен ный процесс (вызов подпрограммы

)

Ввод/вывод

Соединитель

Межстраничн

ый

соединитель

0,15a

0,25a

a

b

0,5 a

0,5 a

0,6 a

0,2 a

Функция

Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных

Выбор направления выполнения алгоритма в зависимости от некоторых условий

Выполнение операций по управлению циклом – повторением команды или группы команд алгоритма

Начало или конец выполнения программы или подпрограммы

Вызов и использование ранее созданных и отдельно описанных алгоритмов (подпрограмм)

Общее обозначение ввода или вывода данных в алгоритме безотносительно к внешнему устройству

Указание прерванной связи между блокам в пределах одной страницы

Указание прерванной связи между блоками, расположенными на разных листах

2. Основное направление потока информации в схемах может не отмечаться стрелками. Основное направление – сверху вниз и слева направо. Если очередность

Переход к ОГЛАВЛЕНИЮ

52

выполнения блоков не соответствует этому направлению, то возможно применение стрелок. A

8

 

 

8

 

A := B + 2

9

 

 

3

 

C:= A

 

 

 

 

 

а

 

Да

B2

 

 

 

A > B

B4

Вывод

 

A, B

A := B + 2

2

Ввод

7

Max

C := A3

 

 

A, B

 

(A, B)

 

 

 

A

8

Вывод

 

 

 

 

 

Z

 

 

 

 

в

 

 

 

 

 

 

10

Нет

 

 

D2

 

D2

 

 

 

 

 

 

 

D := A + C

 

 

C3

 

 

12

E3

Нет

A := B

 

 

A > B

 

 

E3

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

Лист 10

 

Лист 12

б

 

 

 

г

 

3.По отношению к блоку линии могут быть входящими и выходящими. Количество входящих линий принципиально не ограничено. Количество выходящих линий регламентировано и зависит от типа блока. Например, логический блок должен иметь не менее двух выходящих линий, каждая из которых соответствует одному из возможных направлений вычислений. Блок модификации должен иметь две выходящие линии, одна соответствует повторению цикла, вторая – его окончанию.

4.Допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель». В пределах одной страницы используется символ обычного соединителя, во внутреннем поле которого помещается маркировка разрыва либо отдельной буквой, либо буквенно-цифровой координатой блока, к которому подходит линия потока. Если схема располагается на нескольких листах, переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель». При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приемником – номер листа и координаты блока-источника.

5.Нумерация блоков осуществляется либо в левом верхнем углу блока в разрыве его контура, либо рядом слева от блока. Принцип нумерации может быть различным, наиболее простой – сквозная нумерация. Блоки начала и конца не нумеруются.

6.Для блоков приняты следующие размеры: а = 10, 15, 20 мм; b = 1,5а. Если необходимо увеличить размер блока, то допускается увеличение на число, кратное пяти. Необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными символами.

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

Блок-схемы являются исключительно простым и наглядным способом представления алгоритмов. Их очень полезно использовать при разработке общей структуры алгоритма, чтобы отчетливо представить себе алгоритм в целом и проследить все логические связи между его отдельными частями, проверить все ли возможные варианты решения поставленной задачи нашли в нем отражение.

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

Переход к ОГЛАВЛЕНИЮ

53

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

4.5. Технология разработки алгоритмов

Опыт практической алгоритмизации и программирования привел к формированию неких общих принципов и методов проектирования, разработки и оформления алгоритмов.

Какими качествами должен обладать хороший алгоритм?

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

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

Да

Нет

S1

P

 

P

S1

S2

S2

S

 

а

б

в

Базисные управляющие структуры

Базисный набор управляющих структур является функционально полным, то есть с его помощью можно создать любой сколь угодно сложный алгоритм. Однако с целью создания более компактных и наглядных алгоритмов дополнительно используются следующие управляющие структуры: а) структура сокращенного ветвления; б) структура выбора; в) структура цикла с параметром; г) структура цикла с постусловием (следующий

Ошибка! Источник ссылки не найден.унок).

Переход к ОГЛАВЛЕНИЮ

54

В разных языках программирования реализация базовых управляющих структур может быть различной. В языке Паскаль реализованы все рассмотренные структуры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

г

 

Дополнительные управляющие структуры

Любой алгоритм может быть построен посредством композиции базисных и

дополнительных структур:

 

-их последовательным соединением образованием последовательных конструкций;

-их вложением друг в друга образованием вложенных конструкций.

4.6. Разработка программы

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

машину и последующий перевод на машинный язык (в коды машины).

Язык программирования это строго формализованный язык для описания процесса решения задачи на ЭВМ, представляет собой совокупность ограниченного набора символов и строгих правил их использования. Составленная программа вводится в

ЭВМ и затем автоматически переводится на язык машины с помощью специальных программных средств, позволяющих автоматизировать этот процесс. Перевод – "трансляция" исходного текста программы выполняется служебной программой – транслятором, который осуществляет синтаксический контроль текста программы и последующий его перевод.

Трансляторы могут быть компилирующего типа – компиляторы и интерпретирующего типа – интерпретаторы.

Компилятор анализирует и преобразует исходный текст в, так называемый, объектный код (промежуточное состояние программы в относительных адресах и с

Переход к ОГЛАВЛЕНИЮ

55

неразрешенными внешними ссылками) с использованием всей логической структуры программы. Затем программа, представленная в объектном коде, обрабатывается служебной программой – компоновщиком, который осуществляет подключение внешних подпрограмм/разрешение внешних ссылок и выполняет дальнейший перевод программы пользователя в коды машины (в абсолютный/загрузочный код – с абсолютной адресацией машинных команд). Программа в абсолютном коде может быть сохранена (в .exe-файле) и выполнена на компьютере. Загрузка программы из .exe-файла в память машины для её выполнения осуществляется служебной программой загрузчик.

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

Выбор языка программирования определяется многими факторами: типом решаемой задачи, располагаемыми вычислительными средствами, вкусами и знаниями заказчика и разработчика.

Язык программирования Паскаль был создан профессором, директором института информатики Швейцарской высшей политехнической школы г. Цюриха Никлаусом Виртом, в 1968 г. впервые опубликовано предварительное описание языка, а в 1970 г. представлен компилятор. Язык назван в честь известного математика Блеза Паскаля (1623

– 1662 г.г.), автора первой механической вычислительной сумматорной машины. Язык Паскаль был создан автором специально для обучения дисциплине программирования в высшей школе как язык поддержки технологии структурного программирования и средство формирования у обучаемого определенного стиля и практических навыков программирования. Основной тезис его разработки: «язык должен быть очевидным и естественным отражением фундаментальных и наиболее важных концепций алгоритмов». Широкое распространение языка Паскаль, его современных диалектов, свидетельствует о его практической ценности в различных сферах применения и, прежде всего, в сфере начального обучения программированию и формирования профессиональных навыков будущего специалиста в области IT-технологий.

4.7. Отладка и тестирование программы

Отладка программы является итеративным процессом обнаружения и исправления ошибок и обычно требует последовательного выполнения четырех этапов:

выявления ошибки;

локализации ошибки в тексте программы;

установления причины ошибки;

исправления ошибки.

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

Переход к ОГЛАВЛЕНИЮ

56

Тестирование программы должно включать в себя прогон трех видов контрольных примеров: нормальных ситуаций, граничных ситуаций и случаев неправильных данных. Нормальные случаи – это примеры с правильными входными данными. Если программа не работает в подобных случаях, она требует серьезных переделок. Граничные контрольные примеры помогают установить, способна ли программа нормально реагировать на особые случаи во входных данных. Граничные примеры представляют собой данные, которые, будучи математически корректными, приводят программу к необходимости работать особым образом. Неправильными являются такие данные, которые расположены вне допустимого диапазона. Примеры с неправильными данными должны быть обработаны соответствующим образом, поскольку в повседневной эксплуатации программе придется иметь дело и с неверными входными данными.

После того как ошибка обнаружена, необходимо найти в исходном тексте программы то место, в котором она возникала, – локализовать ошибку. Можно использовать ряд различных методов отладки, позволяющих обнаружить расположение ошибки; выбор существенно зависит от особенностей ситуации. Большинство программистов начинают с неформального метода, известного под названием проверка за столом. Используя контрольный пример, который привел к ошибке в программе, программист аналитически трассирует листинг программы в надежде локализовать ошибку. Проверка за столом – это хороший метод, поскольку он заставляет программиста детально понять работу программы. Если применение метода проверки за столом оказалось бесплодным, нужно использовать специальные методы и способы отладки, позволяющие наблюдать за передачей управления в программе и за изменением значений наиболее важных переменных. Полученная отладочная информация позволит локализовать подозрительные ситуации, провести анализ и выявить причину ошибки, устранить ее, а затем продолжить поиск других ошибок.

4.7.1.Причины и типы ошибок

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

синтаксические ошибки;

семантические ошибки;

логические ошибки.

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

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

Переход к ОГЛАВЛЕНИЮ

57

выводит соответствующее сообщение в окне Build, содержащее номер строки с ошибкой и ее возможный характер. Список сообщений можно просмотреть с помощью команды меню View/Debug Windows/Event Log. При выполнении программы из среды Delphi автоматически выбирается соответствующий исходный файл и в нем находится местоположение ошибки. Если же программа выполнялась вне среды и в ней появилась ошибка данного типа, то необходимо запустить среду и найти вызвавший ошибку оператор.

Логические (смысловые) ошибки – самые сложные и трудноуловимые, связанные с неправильным применением тех или иных алгоритмических конструкций. Эти ошибки при выполнении программы могут проявиться явно (выдано сообщение об ошибке, нет результата или выдан неверный результат, программа "зацикливается"), но чаще они проявляют себя только при определенных сочетаниях параметров или вообще не вызывают нарушения работы программы, которая в этом случае выдает правдоподобные, но неверные результаты.

Ошибки первого типа легко выявляются самим компилятором. Обычно устранение синтаксических ошибок не вызывает особых трудностей. Более сложно выявить ошибки второго и особенно третьего типа. Для обнаружения и устранения ошибок второго и третьего типа обычно применяют специальные способы и средства отладки программ. Выявлению ошибок второго типа часто помогает использование контролирующих режимов компиляции с проверкой допустимых значений тех или иных параметров (границ индексов элементов массивов, значений переменных типа диапазона, ситуаций переполнения, ошибок ввода-вывода). Устанавливаются эти режимы с помощью ключей компилятора, задаваемых либо в программе, либо в меню Project/Options/Compiler

среды Delphi, либо в меню Options/Compiler Турбо-среды.

4.7.2.Способы и средства отладки

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

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

Переход к ОГЛАВЛЕНИЮ

58

расположения отладочных операторов меняется, но их лучше не удалять, а превращать в комментарии. Такой способ отладки весьма трудоемок и может сам служить источником ошибок.

Процесс отладки значительно облегчается, если использовать для этого системные средства отладки – специальные программы-отладчики, имеющиеся в программном обеспечении компьютера.

Встроенный отладчик среды Delphi или Турбо Паскаля (Debugger) позволяет контролировать ход выполнения программы – выполнять трассировку программы без изменения самой программы с помощью следующих действий:

выполнения программы построчно/по шагам;

остановки выполнения программы в заданной точке останова;

перезапуска программы, не закончив ее выполнение;

назначения и модификации значений любых переменных и параметров программы,

атакже получения некоторых дополнительных сведений о программе, например

списка активных процедур.

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

Автономный отладчик (Turbo Debugger – файл td.exe) предоставляет большие возможности: позволяет осуществить трассировку программы/блока на уровне ассемблерных и машинных инструкций, просмотреть содержимое/дамп памяти и пр., что требует особого режима компиляции исходного текста. Использование дополнительных возможностей автономного отладчика целесообразно при отладке и тестировании больших по объему и сложных программ и при наличии у программиста достаточно высокого уровня квалификации. (В данном пособии автономные средства отладки не рассматриваются.)

4.7.3. Отладка программ в среде Delphi

(для программирующих в Delphi)

В Delphi имеется мощный встроенный отладчик, значительно упрощающий отладку программ. Основными инструментами отладки являются точки контрольного останова и окно наблюдения за переменными.

(1) Точки контрольного останова

Точка контрольного останова определяет оператор в программе, перед выполнением которого программа прервет свою работу, и управление будет передано среде Delphi. Точка останова задается с помощью опции View|Debug windows|Breakponts.

Окно точек останова содержит список всех установленных в проекте точек, перед выполнением которых происходит прекращение работы программы и управление получает среда Delphi.

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

FileName – определяет имя файла;

Line number – номер строки от начала файла (в момент появления окна оно содержит файл и строку с текстовым курсором);

Condition – можно указать условие останова в виде логического выражения (например, MyValue = Мах-Value-12);

Pass count – количество проходов программы через контрольную точку без прерывания вычислений.

Переход к ОГЛАВЛЕНИЮ

59

Окно точек останова (слева) и окно добавления новой точки (справа)

(2) Окно наблюдения

Наблюдать за состоянием переменной или выражения можно с помощью специального окна, вызываемого опцией View|Debug windows|Watches.

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

Для добавления нового выражения следует щелкнуть по окну правой кнопкой мыши и выбрать опцию New Watch. В строке Expression ввести выражение. Окно Repeat count определяет количество показываемых элементов массивов данных; окно Digits указывает количество значащих цифр для отображения вещественных данных; переключатель Enabled разрешает или запрещает вычисление выражения. Остальные элементы определяют вид представления значения.

Значения переменных можно также посмотреть во время останова программы, наведя курсор мыши на переменную в тексте кода.

Окно наблюдения и окно добавления в него нового выражения

(3) Принудительное прерывание работы программы

Если программа запущена из среды Delphi, ее работу можно прервать в любой момент с помощью клавиш Ctrl+F2, кнопки ESC, опцией Run|Program Pause или, наконец, установив точку контрольного останова в той части программы, которая выполняется в данный момент или будет выполнена.

Переход к ОГЛАВЛЕНИЮ

60

(4) Трассировка программы

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

Теперь программист может прослеживать работу программы по шагам с помощью клавиш F7 и F8 или инструментальных кнопок. При нажатии клавиши F8 будут выполнены запрограммированные в текущей строке действия, и работа программы прервется перед выполнением следующей строки текста программы.

Следует заметить, что контрольная точка останова выделяется по умолчанию красным цветом, а текущая прослеживаемая строка – синим. Если программа остановлена в контрольной точке, т. е. когда текущая строка совпадает со строкой останова, строка выделяется красным цветом. Признаком текущей строки является особое выделение строки в служебной зоне слева в окне редактора.

Фрагмент окна редактора в режиме отладки

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

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

После трассировки нужного фрагмента программы можно продолжить нормальную ее работу, нажав клавишу F9.

(5)Действия в точках прерывания

ВDelphi с любой точкой можно связать одно или несколько действий. Для этого нужно активизировать окно точек останова, вызвать его локальное меню (щелчок правой кнопкой) и выбрать продолжение Properties. В появившемся окне свойств щелкнуть по кнопке Advanced.

Внижней части окна имеется панель Actions, с помощью которой и определяются действия для точки останова, указанной в верхней части окна:

Break – останов перед выполнением помеченного оператора;

Ignore subsequent exceptions – если переключатель установлен, игнорируются все возможные последующие исключения в текущем отладочном сеансе до очередной точки останова, в которой, возможно, это действие будет отменено;

Переход к ОГЛАВЛЕНИЮ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]