
- •Методика разработки учебных программ в среде Delphi
- •1. Этапы разработки проекта
- •1.1. Анализ задания и декомпозиция задачи
- •Допущения, ограничения, соглашения
- •Требования к программному интерфейсу
- •Требования к пользовательскому интерфейсу
- •Формулировка общей задачи
- •Декомпозиция и формулировка частных задач
- •1.2. Постановка и реализация частных задач
- •1.3. Отладка и тестирование
- •2. Типовые требования тз на учебную разработку проекта
- •Допущения, ограничения и соглашения
- •Программный интерфейс
- •Пользовательский интерфейс
- •Формулировка задачи
- •Оформление программного кода
- •Декомпозиция и формулировка частных задач
- •Подготовка проекта
- •4. 2. Постановка и реализация частных задач Задача 1. Вывод информационного сообщения
- •Задача 2. Ввод исходных данных
- •Задача 3. Преобразование в числовые типы значений полей ввода
- •Процедура преобразования Строка–Целое число
- •Вызов процедуры
- •Задача 4. Вычисления и представление результата
- •4. 3. Тестирование проекта
- •Приложение 1. Элементы схем алгоритмов Обозначения основных элементов схем алгоритмов
- •Приложение 2. Листинг модуля
Вызов процедуры
Вызов процедуры Inp_Int(L: TLabeledEdit; var V, Flag: Integer) свяжем с событием Нажатие кнопки. Для этого выполним следующие действия.
1. Установим компонент типа TButton, переопределим свойство Caption на Y=.
2. Определим событие Button1Click(Sender: TObject).
Критическая ситуация при вызове процедуры Inp_Int может возникнуть при ошибке преобразования Flag=1.
Код процедуры обработки события.
procedure TForm1.Button1Click(Sender: TObject);
var Flag: Integer;
begin
Inp_Int(LE_n, n, Flag); // преобразование в число n, X, dX
Inp_Int(LE_X, X, Flag);
Inp_Int(LE_dX, dX, Flag);
If Flag = 1 //в одной из Inp_Int ошибка преоброазования, досрочное завершение
then exit;
//продолжение
end;
Тестирование подпрограммы – запустите программу на выполнение при правильных значениях полей ввода, при ошибочном синтаксисе введённого значения, при пустых значениях полей ввода.
Задача 4. Вычисления и представление результата
Исходные данные: значения глобальных переменных n, X и dX, выражение Y = X/(X-5)
Критическая ситуация: при x=5 – деление на 0.
Соглашения.
1. Решение оформим в виде процедуры Out(L: TLabel; n, X, dX: Integer), где L:– компонент типа TLabel – формальный входной параметр для вывода значений X и Y.
2. Для вычислений и вывода значений X и Y воспользуемся счётным оператором цикла по I:= 1..n.
3. При X = 5 выражение не вычисляем, после X выводим сообщение деление на 0.
4. Вызов процедуры свяжем с событием Нажатие кнопки.
Код процедуры Out(L: TLabel; n, X, dX: Integer).
//Вычисления и вывод результатов
Procedure Out(L: TLabel; n, X, dX: Integer);
//Вычисление и вывод X, Y; L: TLabel - куда выводить
Var I: Byte; //счётчик цикла
Y: Real;
begin
L.Caption := ' '; //очистка метки вывода
L.Caption := ' X Y' + #10#13 ; //заголовок вывода
For I:= 1 to n do
begin
If X <> 5 //Х =0 - деление на 0
then begin
Y:= X/(X - 5); //вывод X, Y
L.Caption := L.Caption + IntToStr(X) + ' ' +
FloatToStrF(Y, ffGeneral, 2, 5)+ #10#13;
end
//вывод X и сообщения о делении на 0
else L.Caption := L.Caption + IntToStr(X) + ' Деление на 0'+ #10#13;
X:= X + dX;
end;
end;
4. 3. Тестирование проекта
Запустите программу на выполнение при правильных значениях полей ввода, при Xi=5, при ошибочном синтаксисе введённого значения, при пустых значениях полей ввода.
Отлаженный проект должен выглядеть примерно как на рис.2.
Рис. 2. Готовый проект
Приложение 1. Элементы схем алгоритмов Обозначения основных элементов схем алгоритмов
Элемент |
Функции |
|
Процесс - выполнение операции или группы последовательных операций. Внутри элемента или в выноске указывают содержание операции.
|
|
Предопределённый процесс - указывает на отдельно описанный программный элемент. Чаще всего это процедура. Внутри элемента или в выноске указывают полное имя с фактическими параметрами. |
|
Ввод-вывод - обмен данными между устройствами. Внутри элемента или в выноске указывают эти данные, при необходимости указывают устройства ввода-вывода. |
|
Решение - выбор направления выполнения алгоритма в зависимости от условия. Внутри элемента указывают условие (логическое выражение). Направление выхода помечают словами "True" и 'False". |
|
Линия потока - указание последовательности связей между элементами. Если направление обхода однозначно, то стрелки не указывают. |
|
Пуск-останов - начало, конец программы или модуля.
|