50110 (Обработка матриц), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Обработка матриц", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "50110"

Текст 3 страницы из документа "50110"

Любой объект Проектировщика форм доступен в исходном тексте программы по его имени. Имя (или название) объекта — это одно из его свойств, которые можно изменять и настраивать в Инспекторе объектов. Соответствующее свойство называется Name (Имя). Оно имеется у всех объектов без исключения и расположено в Инспекторе объектов в категории Miscellaneous (Дополнительныв) (рис. 5).

Первоначально значением этого свойства является строка Forml, сгенерированная системой Delphi 7 автоматически. Если ее изменить, например на MyForm, и нажать клавишу ENTER, то в проекте произойдут следующие изменения.

- Заголовок формы изменится с Forml на MyForm. Система Delphi 7 считает, что заголовок окна совпадаете его названием, пока разработчик не изменит заголовок явно.

- Тип формы в файле Unitl.pas изменится с TForml наТтуРогт.

- Имя переменной Forml изменится на MyForrn.

Эти операции система Delphi 7 выполнит автоматически. В дальнейшем при корректировке названий форм и других объектов в исходные тексты также будут вноситься изменения, не требующие вмешательства человека, что позволяет избежать неприятных ошибок.

Заголовок формы — это свойство Caption (Заголовок). В Инспекторе объектов оно находится в категории Visua l (Внешний вид). Здесь можно ввести строку

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

На форме размешаются объекты, соответствующие компонентам с палитры компонентов. Чтобы создать на форме текстовое ноле, надо:

- выбрать панель Standard (Стандартная);

- щелкнуть на кнопке Edit (Текстовое поле);

- щелкнуть на том месте формы, где требуется поместить текстовое ноле.

В этом месте появится новый элемент управления (рис. 6).

Черные маркеры по контуру объекта указывают, что он выделен. Эти маркеры предназначены для изменения размеров объекта с помощью мыши. По умолчанию в системе Delphi 7 принято, что название нового объекта совпадает с его заголовком. Это название создается средой Delphi по следующему принципу.

Берется название компонента (для формы это Form, для текстового поля — Edit и так далее), и к нему добавляется порядковый номер, начиная с единицы. Если теперь на форму поместить еще одно текстовое поле, то его названием будет Edit2,

Если теперь взглянуть на исходный текст класса TMyForm, то окажется, что в разделе private появилось новое поле:

Editl: TEdit;

Оно было добавлено средой Delphi 7 в описание класса TMyForm автоматически.

Создание работоспособной программы

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

Чтобы контролировать ход компиляции и создания готового приложения, надо в настройках среды Delphi 7 включить флажок Show compiler progress (Отображать ход компиляции) (рис. 7). Соответствующее диалоговое окно открывается командой TooU x Environment Options > Preferences (Сервис > Настройки среды > Предпочтения разработчика).

Компиляция программы выполняется командой Project > Compile Project (Проект > Компилировать проект) или нажатием комбинации клавиш CTRU-F9. При этом на экране появляется диалоговое окно, в котором отображаются:

- название главного файла проекта — в строке Project (Проект);

- имя компилируемого файла — в строке Compiling (Компиляция) ;

- номер текущей строки компилируемого исходного текста — в строке Current Line (Текущая строка);

- общее число строк с учетом других откомпилированных модулей — в строке

Total lines (Всего арок);

- число советов, генерируемых компилятором для подскачки разработчику о двусмысленных местах в исходном тексте, например когда переменная перед ее первым использованием не имеет значения — в строке Hints (Подсказки);

- число предупреждений, выдаваемых компилятором при обнаружении мест в программе, которые могут служить потенциальным источником ошибок - в строке Warnings (Предупреждения);

- число ошибок, возникающих, когда компилятор не может определить, что означает некоторая строка исходного текста, — в строке Errors (Ошибки)

Если в процессе компиляции встретились подсказки и предупреждения, работоспособная программа все равно будет создана. Если же встретились ошибки, этого не произойдет, а система Delphi 7 во второй строке информационного окна сообщит об их обнаружении Done: There are errors (Готово: Найдены ошибки) . Ошибки надо исправить и выполнить процесс компиляции заново.

Компонент Меню (TMainMenu)

Компонент TMainMenu предназначен для добавления к программе главного меню, без которого не обходится практически ни одно из приложений Windows.

Способ создания

Чтобы добавить к разрабатываемой программе меню, надо выбрать на панели компонентов Standard (Стандартные) компонент TMainMenu и поместить его на форме в

•f. MyForm.MainMemi!

Компонент TMainMenu — нееизуалъпый, в отличие от визуальных компонентов TEdit и TLabel, в точности соответствующих своему внешнему виду в работающей про-грамме. Это означает, что хотя он виден на форме как небольшой квадрат, в окне созданной программы в таком виде компонент не появится. Представление его на форме в миниатюрном виде просто указывает на наличие в программе объекта, ответственного за меню. А создается меню с помощью специального редактора. Некоторые компоненты называются невизуальными потому, что, во-первых, ряд элементов управления невозможно разместить на форме без специальной подготовительной работы, а во-вторых, в системе Delphi 7 имеется ряд компонентов, которые не предназначены для отображения на экране, хотя их свойства можно настраивать с помощью Инспектора объектов. Подобные компоненты используются, например, для обращения к базам данных, для установки связи с Интернетом и прочего.

Редактор меню вызывается двойным щелчком на объекте MainMenul . Первоначально меню пустое.

В Инспекторе объектов надо открыть категорию Localizable (Настраиваемые) и в свойстве Caption (Заголовок) ввести название первого пункта, например стандартную команду &Файл с указанной горячей клавишей, а затем нажать клавишу ENTER. Редактор меню переключится обратно в проектируемое меню, где уже появится первый пункт. Теперь надо опять нажать клавишу ENTER, и система Delphi 7 переключится к заголовку Caption для нового пункта. В него вводится очередное название (например, &Сложить), опять нажимается клавиша ENTER, и цикл формирования меню повторяется.

Компонент Флажок (TCheckBox)

Данный компонент используется для фиксации включенного или выключенного состояния (одного из двух). После размещения компонента Флажок на форме подпись к этому элементу управления можно задать в свойстве Caption. Расположение этой подписи определяется свойством Alignment: значение taRightHustify означает расположение подписи справа, а значение taLeftJustify — слева. Главное свойство флажка называется Checked. Оно доступно для изменения и на этапе проектирования, и на этапе работы программы. Это свойство принимает значение True, если флажок включен, и False, если он сброшен. Некоторые флажки могут находиться в третьем, «частично установленном» состоянии, когда признак установки флажка отображается приглушенным цветом. Такая возможность нужна, когда требуется сообщить пользователю о неполном соответствии указанному статусу (например, в ходе установки программ таким образом сообщается, что для установки выбраны не все доступные средства). Если для свойства AllowGrayed задано значение True, то флажок при последовательных щелчках на нем будет поочередно принимать состояния «сброшен», «установлен частично», «установлен». Определить текущее состояние или задать новое из числа доступных можно, проверив или изменив свойство State. Чтобы реагировать на изменение состояния флажка, надо создать обработчик события OnCLkk (При щелчке).

Форма в режиме дизайна при выполнении задания представлена на Рис. 11, а в режиме выполнения на Рис. 12- Рис. 14.

Листинг программы приведен в Приложении Б.

4.Отладка программы

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

В некоторых случаях выдаются предупреждения или подсказки. Желательно устранять их источники, руководствуясь принципом «дыма без огня не бывает». Однако ошибки, связанные с неверной реализацией алгоритма (например, когда вместо символа > ошибочно введен символ <, что не является синтаксической ошибкой), могут привести к возникновению ошибок уже во время работы программы. Кроме того, неверная реализация исходного алгоритма не обязательно приводит к нарушению работоспособности приложения, но может повлечь за собой выдачу неверных результатов или выполнение ошибочных действий.

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

var Arr : array[1..10] of integer;

N := 11;

for i := 1 to N do

Arrfi ] := 0;

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

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

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

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

Например:Undeclared identifier: 'X '

В данном случае указано, что идентификатор X не объявлен.

Логические ошибки

Существует несколько способов предотвращения, выявления и устранения логических ошибок. Все они используются программистами, как правило, в комбинации друг с другом. За наиболее часто встречающимися ошибками можно заставить следить саму программу. Для этого в настройках проекта — соответствующее диалоговое окно вызывается командой Project > Options (Проект > • Настройки) — на вкладке Compiler (Компилятор) надо выполнить следующие действия (рис. 16).

На панели Code generation (Генерация машинного кода) сбросьте флажок Optimization (Оптимизация). Когда компилятор создает оптимизированный код, он нередко вносит существенные улучшения в детали алгоритма, реализованного на Паскале. Например, если программист вводит в процедуре локальную переменную X для хранения промежуточных результатов:

Выполнение по шагам

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

Рассмотрим пример, связанный с проектом Projectl (предварительно в Менеджере проектов его надо сделать активным).

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

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

В заголовке главного окна системы Delphi 7 появится информационное сообщение Projectl [Stopped] (Выполнение проекта Projectl остановлено).Далее выполнение метода AddActionExecute можно продолжить по шагам. Для этого используются команда Run > Step Over (Запуск > • Перешагнуть), клавиша F8 или кнопка Step Over (Перешагнуть). Если выполнить очередной шаг, то в редакторе подсвечивается голубым цветом и помечается зеленой стрелкой следующий оператор, ожидающий выполнения.

Просмотр и изменение значений

Помимо простого просмотра различных значений во время работы программы иногда требуется какое-нибудь значение изменить. Пусть, например, в процессе отладки по тагам обнаружена ошибка, но выполнение программы желательно продолжить. Чтобы обойти ошибку, неверное значение можно исправить вручную. Это делается в окне быстрого просмотра значений, которое открывается командой Run > Evaluate/ Modufy (Запуск > Определить/Изменить) или комбинацией клавиш CTRL+F7 (рис. 20).

В поле Expression (Выражение) вводится вычисляемое выражение. По щелчку на кнопке Evaluate (Вычислить) в поле Result (Результат) появится его значение. Это поле (панель) сделано таким большим, потому что в нем отображаются не только отдельные значения, но и массивы, и записи. В поле New value (Новое значение ) выводится измененное значение. С помощью кнопки Watch (Следить) выражение, указанное в поле Expression (Выражение) , можно добавить в окно слежения.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4121
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее