Цель: Сформировать практические навыки: реализация разветвляющихся процессов обработки данных с помощью операторов if, case Object Pascal; построение однооконных интерфейсов с помощью визуального компонента «окно» (класс TForm) и визуальных компонентов панели инструментов Standard: «метка» (класс TLabel), «редактор» (класс TEdit), «кнопка» (класс TButton).
Задание
1. В соответствии с вариантами задания и приведенной ниже спецификацией реализуйте приложение под Windows.
2. Разработайте тестовые задания, и оттестируйте программу одним из методов тестирования.
Спецификация приложения
1. В соответствии с приведенными вариантами заданий реализуйте приложение под Windows, используя для организации пользовательского интерфейса следующие элементы управления: «форма» (класс TForm), «кнопка» (класс TButton), «метка» (класс TLabel), «однострочный редактор» (класс TEdit). Ввод данных и вывод результатов осуществляйте в элементы управления «однострочный редактор». Подписи к однострочным редакторам выполните с помощью элементов «метка». Вычисление результата свяжите с нажатием на элементе управления «кнопка» левой клавиши мыши.
2. Организуйте контроль содержимого строки, вводимой в элемент «однострочный редактор». Если вводимая строка не соответствует заданному формату, то необходимо предусмотреть следующее: в окне сообщений вывести сообщение об ошибке, очистить строку, введенную в «однострочный редактор».
3. Визуальный компонент, в который выводится результат, должен быть доступен только для чтения, чтобы пользователь не мог редактировать его содержимое.
4. Установите удобный для пользователя порядок перемещения фокуса по компонентам с помощью клавиши Tab.
Рекомендации к выполнению
1. Для организации управляющей структуры программ используйте оператор if в форме if then и if then else или case.
2. Для выполнения заданий используйте операции mod, div и стандартные функции Abs, Int, Frac, Trunc, Round, Odd.
3. Для преобразования введенных значений из строкового формата в числовой, а результатов – из числового формата в строковый формат используйте библиотечные подпрограммы StrToInt, StrToFloat, IntToStr, FloatToStr модуля Sysutils.
4. Организуйте контроль ввода данных в элемент «однострочный редактор». Для этого используйте блок try…finally и процедуру ShowMessage модуля Dialogs.
5. Чтобы компонент был доступен только для чтения, необходимо в его свойство ReadOnly занести значение True.
6. Чтобы на компонент нельзя было установить фокус ввода с помощью клавиши Tab, необходимо занести в его свойство TabStop значение False.
7. Чтобы установить нужный порядок перемещения фокуса ввода по элементам формы с помощью клавиши Tab:
• установите указатель мыши на форме;
• нажмите правую клавишу мыши;
• в появившемся меню выберите пункт Tab Order;
• в появившемся диалоговом окне установите требуемый порядок перемещения фокуса.
8. Разработанные приложения сохраняйте в отдельной папке.
Варианты заданий
1. Вычислите площадь треугольника со сторонами a, b, c. Перед вычислением проанализируйте значения, введенные в качестве длин сторон. Если эти значения не могут выступать в качестве длин сторон треугольника, необходимо сообщить об этом пользователю и потребовать повторный ввод. Площадь треугольника вычисляйте по формуле Герона:
![]()
2. Вычислить высоты треугольника ha, hb, hc по длинам трех его сторон a, b, c. Перед вычислением площади проанализируйте введенные в качестве длин сторон значения. Если эти значения не могут выступать в качестве длин сторон треугольника, необходимо сообщить об этом пользователю и потребовать повторный ввод. Площадь треугольника s вычисляйте по формуле Герона:

3. Проанализируйте введенное с клавиатуры целое число и выведите сообщение о его четности.
4. Проанализируйте введенную с клавиатуры пару целых чисел a, n и выведите сообщение о кратности числа a числу n.
5. Вычислите корни квадратного уравнения
![]()
если
![]()
то корни действительные; следовательно, необходимо вычислять

если d < 0, то корни мнимые

6. Вычислите значение функции

7. Определите, попадает ли точка с координатами x0, y0 в круг радиусом r. Уравнение окружности: r2 = x2 + y2.
8. Определите и сообщите, к какому множеству символов принадлежит введенная литера:
• прописная латинская;
• строчная латинская;
• арабская цифра;
• прописная кириллица;
• строчная кириллица;
• другой символ.
Проверку принадлежности введенного символа множеству и вывод сообщения об этом осуществляйте в событийной процедуре OnKeyPress элемента «однострочный редактор». Внутри этой процедуры введенный символ хранится в переменной Key в формате Char. После вывода сообщения о принадлежности введенного символа очищайте содержимое элемента управления «однострочный редактор», используя метод Clear (Например, Edit1.Clear).
9. Выполните задание предыдущего пункта (8), используя оператор Case.
Пример
Пусть требуется определить, является ли введенный символ арабской цифрой или другим символом. Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 2):

Рис. 2
Ей соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit; //элемент «однострочный редактор» для ввода символа
Edit2: TEdit; //элемент «однострочный редактор» для вывода ответа
Label1: TLabel; //элемент «метка» для хранения надписи к Edit1
Label2: TLabel; //элемент «метка» для хранения надписи к Edit2
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ((Key>='0') and (Key<= '9')) then //Clear – метод, который очищает поле Text «однострочного редактора»
begin Edit2.Text:='Арабская цифра'; Edit1.Clear end
else begin Edit2.Text:='Другой'; Edit1.Clear end
end; //Событийная процедура, вызываемая при нажатии клавиши, когда фокус ввода находится на элементе Edit1
end.
Содержание отчета
1. Задание.
2. Текст программы на Object Pascal.
3. Тестовые наборы данных для тестирования программы.
Контрольные вопросы
1. Назовите синтаксические правила, в соответствии с которыми записывается оператор if.
2. Укажите порядок, в котором выполняется оператор if.
3. Как поместить в Then - и Else - часть несколько операторов?
4. Что можно размещать между зарезервированными словами if и Then?
5. Что можно размещать после зарезервированного слова Then?
6. Что можно размещать после зарезервированного слова Else?
7. Нарисуйте управляющую структуру, соответствующую оператору if, содержащему только Then - часть, и укажите порядок выполнения узлов.
8. Нарисуйте управляющую структуру, соответствующую оператору if, содержащему Then - и Else - часть, и укажите порядок выполнения узлов.
9. Для чего предназначен метод Clear визуального компонента «однострочный редактор» и как на него можно сослаться в тексте программы?
10. Что содержится в свойстве Text визуального компонента «однострочный редактор» и как на него можно сослаться в тексте программы?
11. Каково множество значений типа Char и как записываются значения этого множества в тексте программы?
12. Перечислите операции, определенные на значениях типа Char, и поясните правила их выполнения.
13. Перечислите стандартные процедуры и функции, определенные на значениях типа Char, и поясните правила их выполнения.
14. Когда вызывается событийная процедура OnKeyPress и как создать шаблон ее кода для компонента «однострочный редактор» (тип TEdit) в интегрированной среде разработки?
Лабораторная работа №3
Тема: Управляющие структуры языка Delphi. Выбор.
Цель: Сформировать практические навыки: реализация разветвляющихся процессов обработки данных с помощью оператора case Object Pascal и применения логических и побитовых операций; построение однооконных интерфейсов с помощью визуального компонента «окно» (класс TForm) и визуальных компонентов панели инструментов Standard: «метка» (класс TLabel), «редактор» (класс TEdit), «кнопка» (класс TButton), «список» (TListBox), «комбинированный список» (TComboBox).
Задание
1. В соответствии с вариантами задания и приведенной ниже спецификацией реализуйте приложение под Windows.
2. Разработайте тестовые задания и оттестируйте программу одним из методов тестирования.
Спецификация приложения
1. В соответствии с приведенными вариантами заданий реализуйте приложение под Windows, используя для организации пользовательского интерфейса следующие элементы управления: «форма» (класс Tform), «кнопка» (класс TButton), «метка» (класс TLabel), «однострочный редактор» (класс TEdit), «список» (класс TListBox), «комбинированный список» (класс TComboBox). Ввод данных и вывод результатов осуществляйте в элементы управления «однострочный редактор». Подписи к редакторам сделайте с помощью элементов «метка». Выбор операции реализуйте с помощью элемента управления «комбинированный список». Вычисление результата свяжите с нажатием на элементе управления «командная кнопка» левой клавиши мыши.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |


