- •Министерство образования республики беларусь
- •Содержание
- •1. Программирование линейных алгоритмов. Знакомство со средой разработки delphi
- •1.1.Интегрированная среда разработки delphi
- •1.2.Структура проекта delphi
- •Задание 1.1. Создание и сохранение проекта
- •Задание 1.2. Создание простого приложения
- •1.3. Запуск программы на выполнение
- •Задание 1.3. Задание для самостоятельного выполнения
- •Задание 1.4. Создание отчета
- •Вопросы
- •2. Программирование разветвляющихся алгоритмов
- •2.1. ОператорыIFиCasEязыка Паскаль
- •2.2. Кнопки-переключатели и многострочный редактор текста вDelphi
- •2.3. Пример разработки программы
- •Задание 2.1. Задание для самостоятельного выполнения
- •Вопросы
- •3. Программирование циклических алгоритмов
- •3.1. Операторы повтора языка Паскаль
- •3.2. Средства отладки программ вDelphi
- •3.3. Пример разработки программы
- •Задание 3.1. Задание для самостоятельного выполнения
- •Вопросы
- •4. Программирование с использованием массивов
- •4.1. Массивы вDelphi
- •КомпонентStringGrid
- •4.3. Пример разработки программы
- •Задание 4.1. Задание для самостоятельного выполнения
- •Вопросы
- •5. Построение графика функции
- •5.1. Формирование изображений программным способом
- •5.2. Пример разработки программы
- •Задание 5.1. Задание для самостоятельного выполнения
- •Вопросы
- •6. Программирование с использованием средств для отображения графической информации
- •6.1. Проектирование диаграммы
- •6.2. Пример разработки программы
- •Задание 6.1. Задание для самостоятельного выполнения
- •Вопросы
- •7. Программирование с использованием записей и файлов
- •7.1. Переменных типа запись
- •7.2. Файлы
- •7.3. Работа с текстовыми файлами
- •7.4. Компоненты OpenDialog и SaveDialog
- •7.5. Пример разработки программы
- •Задание 7.1. Задание для самостоятельного выполнения
- •Вопросы
- •Список литературы
- •Приложения
- •Команды основного меню
- •Основные группы компонентов в палитре компонентов
- •Общие свойства компонентов
- •Основные компоненты и их свойства
- •Простые типы данных языкаObjectPascal
- •Математические формулы
- •Процедуры и функции работы со строками
- •Процедуры и функции работы с файлами
3.2. Средства отладки программ вDelphi
Практически каждая созданная программа содержит ошибки.
Ошибки первого уровня (ошибки компиляции) связаны с неправильной записью операторов (орфографические, синтаксические). При обнаружении ошибки компилятор DELPHI останавливается напротив первого оператора, в котором обнаружена ошибка. В нижней части экрана появляется текстовое окно, содержащее сведения обо всех ошибках найденных в проекте. Каждая строка этого окна содержит имя файла, в котором найдена ошибка, номер строки с ошибкой и характер ошибки. Для быстрого перехода к интересующей ошибке необходимо дважды щелкнуть на строке с ее описанием. Для получения более полной информации о характере ошибки необходимо обратится к справочной системе нажатием клавиши F1. Следует обратить внимание на то, что одна ошибка может повлечь за собой другие, которые исчезнут при ее исправлении. Поэтому следует исправлять ошибки последовательно, сверху вниз и, после исправления каждой ошибки компилировать программу снова.
Ошибки второго уровня (ошибки выполнения) связаны с ошибками выбранного алгоритма решения или с неправильной программной реализацией алгоритма. Эти ошибки проявляются в том, что результат расчета оказывается неверным либо происходит переполнение, деление на ноль и др. Поэтому перед использованием отлаженной программы ее надо протестировать, т.е. выполнить расчеты при таких комбинациях исходных данных, для которых известен результат. Если тестовые расчеты указывают на ошибку, то для ее поиска следует использовать встроенные средства отладки среды DELPHI.
В простейшем случае для локализации места ошибки рекомендуется поступать следующим образом. В окне редактирования текста установить курсор в строке перед подозрительным участком и нажать клавишу F4 (выполнение до курсора). Выполнение программы будет остановлено на строке, содержащей курсор. Теперь можно просмотреть значения интересующих переменных. Для этого нужно поместить на нужную переменную курсор (на экране будет высвечено ее значение) либо нажать Ctrl-F7 и в появившимся диалоговом окне указать имя интересующей переменной (с помощью данного окна можно также изменить значение переменной во время выполнения программы). Нажимая клавишу F7 (пошаговое выполнение), можно построчно выполнять программу, контролируя изменение тех или иных переменных и правильность вычислений. Если курсор находится внутри цикла, то после нажатия F4 расчет останавливается после одного выполнения тела цикла. Для продолжения расчетов следует выбрать команду Run в меню Run.
3.3. Пример разработки программы
Предположим нужно разработать программу, которая выводит таблицу значений функции , причем значение аргумента х изменяется в интервале от х1 до х2 c шагом h.
Разместим на форме четыре компонента Label, четыре компонентаEdit, текстовое полеMemoи одну кнопку. Примерный вид формы приведен ниже:
Создание процедур-обработчиков событий
1. Создайте процедуру-обработчик создания формы и приведите ее текст к следующему виду:
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add('Результаты ст.гр.555 Иванова Сидора Петровича');
end;
2. Создайте процедуру-обработчик нажатия кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var x1,x2,x,h,a,s:extended;
N,k,c:integer;
begin
x1:=StrToFloat(Edit4.Text);
Memo1.Lines.Add(' x1='+Edit1.Text);
x2:=StrToFloat(Edit2.Text);
Memo1.Lines.Add(' x2='+Edit2.Text);
N:=StrToInt(Edit3.Text);
Memo1.Lines.Add(' n='+Edit3.Text);
h:=StrToFloat(Edit4.Text);
Memo1.Lines.Add(' h='+Edit4.Text);
c:=-1; x:=x1;
repeat
a:=1;S:=1;
for k:=1 to N do begin
a:=c*a*x/k;
s:=s+a;
end;
Memo1.Lines.Add('при x='+FloatToStrF(x,ffFixed,6,2)+ ' сумма =' + FloatToStrF(s,ffFixed,6,2)); x:=x+h;
until x>x2;
end;
Результат выполнения программы:
: