50109 (Обработка матриц), страница 2
Описание файла
Документ из архива "Обработка матриц", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50109"
Текст 2 страницы из документа "50109"
Для получения вводимого значения можно использовать функцию InputBox. Эта функция имеет 3 строковых параметра – для заголовка окна, подписи к строке ввода и значения, которое помещается в строку. Результат этой функции – введенная строка.
Str:=InputBox(‘Окно ввода', ‘Сообщение’,’ Ввод данных’).
Строка ввода Edit также может использоваться для ввода данных. Введенные значения заносятся в свойство text. Это свойство имеет строковый тип. Следовательно, после ввода данных Edit1.text хранит в строковом представлении то, что было введено в строку ввода Edit.
Для преобразования строки в число используются функции Object Pascal - StrToFloat и StrToInt.
Метки Label предназначены для размещения на экране текстовой информации. В частности, их можно использовать для вывода результатов работы программы.
Так как свойство caption имеет строковый тип, то необходимо для вывода чисел преобразовать их в переменную строкового типа.
Функции FloatToStr(a) и IntToStr(c) предназначены для преобразования в строку, соответственно, вещественного или целого числа.
Рисунок 3.5 - Размещение компонентов Edit и Label на форме
Само по себе внесение данных в строку ввода не приведет к их обработке. Для того, чтобы это произошло, нужно использовать компонент Button – кнопку. Этот компонент предназначен для формирования события при нажатии на эту кнопку. На рисунке 3.6 представлена форма с кнопкой Button1. Свойство Caption этой кнопки – "Вычисление квадратного корня".
Рисунок 3.6 - Форма с кнопкой Button
Для кнопки Button событие OnClick является событием по умолчанию, поэтому, для создания заготовки обработчика события, достаточно выполнить двойной щелчок по кнопке Button. В результате окно редактора кода станет активным и будет содержать заготовку обработчика события TForm1.Button1Click. Между словами begin – end следует поместить операторы, которые будут выполняться при нажатии кнопки.
Таблица StringGrid (таблица строк) предназначена для отображения двумерной информации. Каждая ячейка может содержать символьную строку. Значок таблицы находится на странице Дополнительно палитры компонентов.
Рисунок 3.7 - Страница Дополнительно палитры компонентов
Нумерация строк и столбцов таблицы начинается с 0. Координаты каждой ячейки таблицы задаются парой чисел. Первое число – номер столбца, второе – номер строки. Например, ячейка с номером (3,5) расположена в четвертом столбце и шестой строке.
Основные свойства таблицы:
Name –имя компонента. Используется в программе для доступа к свойствам компонента.
Cells – соответствующий таблице двумерный строковый массив.
Cells[i,j] – элемент, который находится в столбце i и в строке j.
ColCount – число столбцов в таблице.
RowCount - число строк в таблице.
FixedCols – число фиксированных столбцов. По умолчанию –1.
FixedRows - число фиксированных строк. По умолчанию –1.
Если зафиксировать необходимое количество первых строк и столбцов, то можно задавать заголовки, постоянно присутствующие в окне компонента, в том числе при горизонтальном и вертикальном скроллинге.
DefaultDrawing – если свойство имеет значение True, то прорисовка ячеек при рисовании таблицы будет происходить автоматически, в противном случае нужно создать свои средства отображения.
DefaultColWidth– задает исходную ширину всех столбцов.
DefaultRowHeight - задает исходную высоту всех строк.
Col – номер столбца, в котором находится активная ячейка. Свойство доступно только на этапе выполнения программы.
Row - номер строки, в которой находится активная ячейка. Свойство доступно только на этапе выполнения программы.
Для определения поведения таблицы используется свойство Options. Оно содержит различные флаги. Например, флаг goEditing позволяет редактировать ячейки таблицы, то есть на этапе выполнения программы разрешается вводить и редактировать данные в ячейке. Эти свойства следует задать в Инспекторе Объектов (рисунок 3.8). На вкладке Параметры указано количество зафиксированных вверху строк – 1, зафиксированных колонок – 0.
Рисунок 3.8 - Инспектор Объектов таблицы строк tab1
-
3.5 Создание меню приложений в среде Delphi
В Delphi для создания главного меню имеется визуальный компонент Main Menu, расположенный на странице Standard Палитры Компонентов. Процесс создания главного меню на этапе конструирования формы осуществляется при помощи встроенного конструктора меню (Menu Designer).
Вначале нужно поместить компонент Main Menu на форму, а затем вызвать конструктор. Для вызова конструктора можно дважды щелкнуть левой кнопкой по компоненту Main Menu или вызвать контекстное меню, в котором выбрать команду Menu Designer. В открывшемся окне (рисунок 3.9) следует ввести названия пунктов меню.
Рисунок 3.9 - Окно ввода названий пунктов меню
При вводе названия элемента меню, определяется значение свойства Caption для этого пункта (рисунок 3.10).
Рисунок 3.10 -Инспектор объектов для второго пункта
Подчеркнутая буква в имени пункта означает клавишу быстрого перехода. Задать её можно с помощью символа &, помещаемого перед соответствующим символом текста.
После ввода всех пунктов меню нужно закрыть окно конструктора. На форме остается созданное меню (рисунок 3.11).
Рисунок 3.11 - Форма с двумя пунктами меню
Для определения реакции на выбор пунктов следует по очереди выбирать все пункты меню и щелкать по ним мышкой. В результате появляется окно Редактора Кода, в котором нужно ввести программный код для обработчика события OnClick.
-
3.6 Структура проекта Delphi
Программа Delphi – это несколько связанных между собой файлов. Любая программа состоит из файла проекта (с расширением .dpr) и одного или нескольких модулей с расширением .pas. Файл проекта не предназначен для редактирования пользователем и создается автоматически самой системой программирования Delphi.. Модули имеют стандартную конструкцию, предусмотренную языком Pascal.
Уже при составлении программы следует думать о ее отладке и с этой целью в программу стоит помещать операторы или группы операторов, которые проверяют правильность ее работы, или выводят сведения, позволяющие судить об этом программисту.
3.7 Форма в режиме дизайна
Рисунок 3.13 – Форма в режиме дизайна
3.8 Форма в режиме выполнения
Рисунок 3.14 – Форма в режиме выполнения
3.9 Задание исходной матрицы
Рисунок 3.15 - Задание массива А и В (случайным образом)
Рисунок 3.16 - Задание массивов С1 и С2 (по частям массивов А и В с последующей сортировкой)
Листинг программы приводим в Приложении Б.
-
4. Отладка программы
Термин «отладка» означает исправление ошибок в программе и обеспечение ее правильной работы. Возникающие в процессе создания программы ошибки классифицируются следующим образом:
-
Синтаксические ошибки.
-
Ошибки периода выполнения программы.
-
Логические ошибки.
Delphi позволяет легко найти и исправить ошибки, возникающие как во время компиляции (синтаксические ошибки), так и во время выполнения. В состав интегрированной среды разработчика Delphi входит мощный и гибкий отладчик, который позволяет построчно выполнять программу, анализируя при этом выражения и модифицируя значения переменных. Этот отладчик встроен в среду Delphi, благодаря чему можно редактировать, компилировать и отлаживать программы не выходя из Delphi.
-
4.1 Синтаксические ошибки
Ошибки на этапе компиляции (или синтаксические ошибки) возникают в том случае, если не описана переменная, передается неправильное количество параметров подпрограмме, не совпадают типы переменной и выражения в операторе присваивания, операторы не удовлетворяют требованиям языка Object Pascal и т.п.
Object Pascal имеет строгие правила по сравнению с другими языками, поэтому, исправив синтаксические ошибки, можно считать выполненной основную часть отладки.
На рисунке 4.1 изображено окно редактора кода в тот момент, когда программа была запущена на компиляцию и компилятор обнаружил синтаксические ошибки. Напомним, что запуск на компиляцию и выполнение программы осуществляется командой Выполнить/Выполнить (функциональная клавиша F9), а запуск программы только на компиляцию можно осуществить при помощи команды Проект/Компилировать (комбинация клавиш Ctrl+F9). В нижней части редактора кода содержатся сообщения об ошибках. Сообщение начинается словом [Ошибка], заключенным в квадратные скобки, далее идет имя файла проекта, затем в круглых скобках указывается номер строки программы, где была допущена ошибка и, в заключение, после двоеточия идет текст, поясняющий смысл допущенной ошибки.
Рисунок 4.1 - Сообщение компилятора о синтаксической ошибке
Исправление ошибок следует начинать с первой, поскольку часто одна ошибка является причиной появления других ошибок. Исправив первую ошибку, следует снова запустить программу на компиляцию. Во многих случаях исправление только одной ошибки существенно уменьшает общее количество сообщений об ошибках.
-
4.2 Ошибки периода выполнения программы
Другой возможный тип ошибок - это ошибки этапа выполнения (или семантические ошибки). Это происходит в том случае, если транслируется корректная программа, а затем при ее выполнении предпринимается попытка выполнить недопустимое действие, например, открыть несуществующий файл для ввода или выполнить деление на 0. В этом случае Delphi генерирует так называемое исключение (Exception) – рисунок 4.2.
Рисунок 4.2 - Сообщение о сгенерированном исключении
Сообщение, содержащееся в этом окне, информирует, что произошло деление на ноль, и выполнение программы приостановлено. Нажатие кнопки OK прерывает выполнение программы. Открывается окно редактора кода, в котором строка, содержащая ошибку, будет выделена синей полосой (рисунок 4.3).
Рисунок 4.3 - Строка кода, содержащая ошибку периода выполнения
-
4.3 Логические ошибки
Программа, содержит логические ошибки, если реализованный в ней алгоритм является неправильным. В этом случае программа работает, выдает результат, но этот результат неверен. Такое происходит если, например, в программе неправильно записана формула либо при поиске максимума из трех чисел сравнили между собой только два числа. Для поиска и устранения логических ошибок необходимо использовать тесты, - решенные каким-либо образом задачи, имеющие правильный ответ.
В больших и сложных программах логические ошибки и ошибки периода выполнения достаточно трудно отследить и обнаружить. В этих случаях вполне естественным является желание выполнить программу в интерактивном режиме, наблюдая за изменениями значений отдельных переменных или выражений. При этом желательно иметь возможность останавливаться в определенном месте программы и смотреть, что там происходит. Часто бывает полезно изменять значения некоторых переменных при выполнении программы. Это позволит повлиять на ее поведение и увидеть, в какую сторону оно изменилось. Все эти возможности наряду с другими средствами предоставляет отладчик Delphi, являющийся составной частью интегрированной среды разработки.