1. Проектую розташування додатку всередині екрану (Натискаю на форму-Object Inspector-Properties-Position: poScreenCenter) і встановлюю заборону зміни його розмірів (Натискаю на форму-Object Inspector-Properties-BorderStyle: bsDialog).
2. Зменшую розмір форми до розумних розмірів.
3. Додаю на порожню форму Рядки введення Edit1, Edit2, 3 мітки Label, 2 кнопки BitBtn, Поле Memo1, Панель Panel1 та розташовую їх зручним чином.
4. Клацаю мишею по формі, переходжу до Інспектора Об’єктів і задаю властивість Caption форми: Натуральний логарифм.
5. Змінюю властивість Caption кнопки BitBtn1 на Обчислення, кнопки BitBtn2 на Очищення.
6.Задаю властивість Caption для міток Label1 – Число, Label3 – Точність. Властивість Caption для мітки Label2 очищую.
7. Очищую значення властивості Text компонентів Edit1 і Edit2.
8.Змінюю властивість Lines поля Memo1 ( вводжу умову задачі).
9. Змінюю властивість Color поля Memo1 (Color: clMenu).
10. До обробника події OnClick кнопки BitBtn1 вводжу такий програмний код:
x:=StrToFloat(Edit1.Text);
e:=StrToFloat(Edit2.Text);
if (x<0) or (x>2) or (e=0.0001) or (e=0.1) then
begin
Label2.Caption:='Помилка! Вводьте числа з проміжку 0<x<2.';
Edit1.Clear;
end
else
Begin
l:=0;
i:=1;
repeat
if i mod 2=0 then
begin
L:=L-abs(exp(i+ln(x-1)))/i;
i:=i+1;
end
else
begin
L:=L+abs(exp(i+ln(x-1)))/i;
i:=i+1;
end;
until l<e;
Label2.Caption:='Ln('+Edit1.Text+')= '+ FloatToStr(L);
end;
11. До розділу var модуля дописую:
i:integer;
L,x,e,h:extended;
12. До обробника події OnClick кнопки BitBtn2 вводжу такий програмний код: Edit1.Clear;
Edit2.Clear;
Label2.Caption:='';
Edit1.SetFocus;
13. Створюю ярлички-підказки для всіх елементів додатку . Для цього:
- виділяю компонент і до його властивості Hint вводжу пояснювальний текст;
- встановлюю властивість ShowHint (показ ярличка) у значення true.
14. Компілюю створений додаток, зберігаю його.
ЛІСТИНГ
unit Unit1; //назва проекта
interface // описання інтерфейсу
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons,math; // підключення бібліотек
Type // описання класу
TForm1 = class(TForm) // описання класу
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit2: TEdit;
Label3: TLabel;
Memo1: TMemo;
procedure BitBtn1Click(Sender: TObject); // опис процедури
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var //блок опису змінних
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject); //обробка подіі onclick на компоненті BitBtn1
var //блок опису змінних
i:integer;
L,x,e,h:extended;
begin
x:=StrToFloat(Edit1.Text); // присвоєння змінній х значення поля Edit1; StrToFloat – переведення рядкового типу даних в дійсний
e:=StrToFloat(Edit2.Text);// присвоєння змінній е значення рядка Edit2
if (x<0) or (x>2) or (e=0.0001) or (e=0.1) then //перевірка належності введеного числа заданому проміжку
begin
Label2.Caption:='Помилка! Вводьте числа з проміжку 0<x<2.'; // присвоєння властивості Caption компонента Label2 тексту'Помилка! Вводьте числа з проміжку 0<x<2.
Edit1.Clear; // очищення Edit1
end
else
Begin
l:=0;
i:=1;
repeat // опис циклу з післяумовою
if i mod 2=0 then // визначення знаку («+» чи «-») перед членами ряду
begin
L:=L-abs(exp(i+ln(x-1)))/i;
i:=i+1;
end
else
begin
L:=L+abs(exp(i+ln(x-1)))/i;
i:=i+1;
end;
until l<e; // умова закінчення виконання циклу
Label2.Caption:='Ln('+Edit1.Text+')= '+ FloatToStr(L); // виведення в мітку Label2 розрахунку і отриманого значення
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject); //обробка подіі onclick на компоненті BitBtn1
begin
Edit1.Clear; // очищення Edit1
Edit2.Clear; // очищення Edit2
Label2.Caption:=''; // очищення Label2
Edit1.SetFocus; // присвоєння фокусу рядку Edit1, тобто він стає активним для введення
end;
end.
Вигляд форми:
Результати виконання:
День8
Варіант 8
Постановка задачі
Самостійно розробити форму для проекту, що реалізує розв’язання даної матричної задачі. Передбачити наявність зручного інтерфейсу користувача, який дозволяє прочитати умову задачі, що її розв’язує проект, підказки щодо того, в яке вікно що треба вводити, коментарі в разі некоректних дій при введенні даних, тощо. У якості об’єкту для введення матричної інформації використати компонент StringGrid. Перевірити проект для різних наборів вхідних даних, у тому числі і некоректних, після чого записати його до окремої папки з назвою Day8. Папку записати до персональної флеш-карти пам’яті..
Задача: Ввести цілочисельний масив 5х5 і вивести мінімальний додатний елемент кожного рядка.
Опис форми та її компонентів
На формі міститься:
· 5 міток Label1, Label2, Label3, Label4, Label5
· Кнопка BitBtn1
· Компонент StringGrid
Опис алгоритму розв’язання задачі
1. Проектую розташування додатку всередині екрану (Натискаю на форму-Object Inspector-Properties-Position: poScreenCenter) і встановлюю заборону зміни його розмірів (Натискаю на форму-Object Inspector-Properties-BorderStyle: bsDialog).
2. Зменшую розмір форми до розумних розмірів.
3. Додаю на порожню форму 5 міток Label зі сторінки Standard, один компонент StringGrid та одну кнопку BitBtn зі сторінки Additional та розташовую їх зручним чином.
4. Клацаю мишею по формі, переходжу до Інспектора Об’єктів і задаю властивість Caption форми: Мінімальний елемент.
5. Для компоненту StringGrid встановлюю такі значення властивостей:
ColCount: 5;
RowCount: 5;
FixedCols: 0;
FixedRows: 0;
Options-goEditing: True;
Options-goTabs: True.
6. Змінюю властивість Caption кнопки BitBtn1 на Обчислити.
7. Очищую значення властивості Caption для усіх міток Label.
8. До обробника події OnClick кнопки BitBtn1 вводжу такий програмний код:
StringGrid1.SetFocus;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.