Модель |
Имя файла |
Размер файла (байт) |
Small |
Ex_1.cpp |
1710 |
Ex_1.obj |
2268 |
|
Ex_1.exe |
16281 |
|
Large |
Ex_1.cpp |
1710 |
Ex_1.obj |
2451 |
|
Ex_1.exe |
18634 |
Из таблицы следует, что программа модели памяти Large, превосходит по объему программу модели памяти Small за счет использования дальних указателей.
На рисунке приведен порядок размещения в памяти компонентов программ Smal и Large:
Start Stop Length Name Class
00000H 02922H 02923H _TEXT CODE
02930H 02F03H 005D4H _DATA DATA
02F04H 02F05H 00002H _CVTSEG DATA
02F06H 02F0BH 00006H _SCNSEG DATA
02F0CH 02F17H 0000CH _INIT_ INITDATA
02F18H 02F5BH 00044H _BSS BSS
02F60H 02FDFH 00080H _STACK STACK
Program entry point at 0000:0000
Модель Large:
Start Stop Length Name Class
00000H 02EB9H 02EBAH _TEXT CODE
02EBAH 03111H 00258H Ex_1_TEXT CODE
03120H 0372DH 0060EH _DATA DATA
0372EH 0372FH 00002H _CVTSEG DATA
03730H 03735H 00006H _SCNSEG DATA
03742H 037C5H 00084H _BSS BSS
037D0H 0384FH 00080H _STACK STACK
Program entry point at 0000:0000
Для выполнения задания 2 выполним тестирование предыдущей программы на простых тестах. Например, при отладке фрагмента программы «указатель на целое» можно менять значение инициализации переменной tmp, декремент значения указателя prt; при отладке фрагмента программы «указатель на одномерный массив» можно менять число элементов массива mass1, их значения; при отладке фрагмента программы «указатель на двумерный массив (матрицу)» можно менять количество элементов матрицы A[ ][ ], их значения; при отладке фрагмента программы «указатель на структуру» можно проверить доступ к полям name, phone_number, age. Результаты тестирования приведены в отчете к лабораторной работе 10. Результаты тестирования показали, что программа работает верно, без ошибок.
При разработке данной программы можно прогнозировать следующие виды ошибок:
1) Ошибки в выборе алгоритма; плохой выбор алгоритма становится ясным после его опробования.
2) Ошибки общего характера; они возникают из-за недостаточного знания или понимания алгоритмического языка программирования.
3) Синтаксические ошибки: пропуск знаков пунктуации, несогласованность скобок, кавычек, неверное написание операторов, функций, ключевых слов, использование указателей и т.д.
4) Ошибки анализа; ошибки связанные либо с неполным учетом возникающих ситуаций, либо с неверным решением задачи.
5) Ошибки физического характера, к ним относятся случайный пропуск некоторых операторов.
Среди выше перечисленных ошибок существуют и такие ошибки, которые компилятором могут вообще не обнаруживаться, например, неправильные параметры циклов.
При отладке программы в интегрированной среде ВС++ можно использовать меню Debug, которое имеет следующие компоненты:
Inspect- дает возможность получить информацию о данном объекте.
Evaluate / modify - позволяет изменить значение заданного объекта и просмотреть результат.
Call stack- стек-вызов; показывает последовательность функций в программе, позволяет управлять функциональными запросами.
Watches - позволяет отслеживать изменение заданных объектов.
Toggle breakpoints– устанавливает / убирает контрольные точки.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.