Звіт за обчислювальну практику, страница 8

for i:=1 to 5 do

for j:=1 to 5 do

if Length(StringGrid1.Cells[i-1,j-1])<>0

then a[i,j]:=StrToInt(StringGrid1.Cells[i-1,j-1])

else a[i,j]:=0;

begin

min:=a[1,1];

for i:=1 to 5 do

begin

if (min>a[i,1]) and ((a[i,1]>0)or(a[i,1]=0)) then min:=a[i,1];

end;

Label1.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

begin

min:=a[1,2];

for i:=1 to 5 do

begin

if (min>a[i,2]) and ((a[i,2]>0)or(a[i,2]=0)) then min:=a[i,2];

end;

Label2.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,3];

for i:=1 to 5 do

begin

if (min>a[i,3]) and ((a[i,3]>0) or(a[i,3]=0))then min:=a[i,3];

end;

Label3.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,4];

for i:=1 to 5 do

begin

if (min>a[i,4]) and ((a[i,4]>0)or(a[i,4]=0)) then min:=a[i,4];

end;

Label4.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,5];

for i:=1 to 5 do

begin

if (min>a[i,5]) and ((a[i,5]>0)or(a[i,5]=0)) then min:=a[i,5];

end;

Label5.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

9. Створюю ярлички-підказки для всіх елементів додатку . Для цього:

- виділяю компонент і до його властивості Hint вводжу пояснювальний текст;

- встановлюю властивість ShowHint (показ ярличка) у значення true.

10. Компілюю створений додаток, зберігаю його.

ЛІСТИНГ

unit Unit1; //назва проекта

interface // описання інтерфейсу

uses

  Windows, Messages, SysUtils,Classes,Graphics, Controls, Forms,Dialogs,StdCtrls,Buttons, Grids; // підключення бібліотек

Type

  TForm1 = class(TForm) // описання класу

    StringGrid1: TStringGrid;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    BitBtn1: TBitBtn;

    procedure BitBtn1Click(Sender: TObject); // опис процедури

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var  //блок опису змінних

  Form1: TForm1;

  a:array [1..5,1..5] of integer; // опис  двовимірного масиву цілочислового типу(5x5)

   i,j,min:integer;

implementation

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject); //обробка подіі onclick  на компоненті BitBtn1

begin

StringGrid1.SetFocus; // присвоєння фокусу елементу StringGrid1

for i:=1 to 5 do

for j:=1 to 5 do

if Length(StringGrid1.Cells[i-1,j-1])<>0 // якщо довжина рядка не дорівнює 0

then a[i,j]:=StrToInt(StringGrid1.Cells[i-1,j-1]) // то елементу  a[i,j] присвоюється значення комірки елемента  StringGrid1

else a[i,j]:=0;

begin

min:=a[1,1];

for i:=1 to 5 do

begin

if (min>a[i,1]) and ((a[i,1]>0)or(a[i,1]=0)) then min:=a[i,1]; // умова визначення мінімального елемента рядка

end;

Label1.Caption:='Мін. елем. рядка = '+IntToStr(min); // присвоєння властивості  Caption мітки  Label1 значення мінімального додатнього елемента рядка

end;

// аналогічно для наступних  рядків

begin

min:=a[1,2];

for i:=1 to 5 do

begin

if (min>a[i,2]) and ((a[i,2]>0)or(a[i,2]=0)) then min:=a[i,2];

end;

Label2.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,3];

for i:=1 to 5 do

begin

if (min>a[i,3]) and ((a[i,3]>0) or(a[i,3]=0))then min:=a[i,3];

end;

Label3.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,4];

for i:=1 to 5 do

begin

if (min>a[i,4]) and ((a[i,4]>0)or(a[i,4]=0)) then min:=a[i,4];

end;

Label4.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

  begin

min:=a[1,5];

for i:=1 to 5 do

begin

if (min>a[i,5]) and ((a[i,5]>0)or(a[i,5]=0)) then min:=a[i,5];

end;

Label5.Caption:='Мін. елем. рядка = '+IntToStr(min);

end;

end;

end.

Вигляд форми:

Результати виконання:

            День9

Варіант 8

Постановка задачі

Варіант 8*

Самостійно розробити форму для проекту, що реалізує розв’язання даної файлової задачі. Передбачити наявність зручного інтерфейсу користувача, який дозволяє прочитати умову задачі, що її розв’язує проект, підказки щодо того, в яке вікно що треба вводити, коментарі в разі некоректних дій при введенні даних, тощо. Форма має вміщувати поле редагування для введення повного імені файлу, а також поле для перегляду вмісту файлу до і після його обробки. Перевірити проект для різних текстових файлів, перевірити сформовані ним файли на відповідність задачі, що її розв’язує проект, після чого записати його до окремої папки з назвою Day9. Папку записати до персональної флеш-карти пам’яті..

Задача: Зчитати англійський текст з текстового файлу, шлях до якого введений до рядка редагування Edit1, виділити слова, що починаються і закінчуються однією і тією ж літерою, після чого записати дані слова до текстового файлу, шлях до якого введений до рядка редагування Edit2. Передбачити можливість перегляду обох текстових файлів у відповідних вікнах форми (Label або Memo). Роботу програми перевірити шляхом перегляду файлу результату за допомогою текстового редактора Блокнот.

Опис форми та її компонентів

На формі міститься:

·  2 рядки  введення                                  Edit1, Edit2

·  2 мітки     Label1, Label2

·  7 кнопок                                            Button1, Button2, Button3, Button4,Button5, Button6, Button7

·  Поле                                                         Memo1

·  Компонент                                              OpenDialog1

Опис алгоритму розв’язання задачі

1. Проектую розташування додатку всередині екрану (Натискаю на форму-Object Inspector-Properties-Position: poScreenCenter)  і встановлюю заборону зміни  його розмірів (Натискаю на форму-Object Inspector-Properties-BorderStyle: bsDialog).

2. Зменшую розмір форми до розумних розмірів.

3. Додаю  на порожню форму 2 рядки  введення  Edit1, Edit2, 7 кнопок                                            Button1, Button2, Button3, Button4, Button5, Button6, Button7, 2 мітки  Label, Поле Memo1 та  невізуальний компонент     OpenDialog1 та розташовую їх зручним  чином. 

4. Клацаю  мишею по формі, переходжу до Інспектора Об’єктів і задаю властивість Caption форми: Слова, що починаються і закінчуються однією і тією ж літерою.

5. Змінюю властивість Caption кнопки Button1 на Пошук слів, аналогічно: . Button2 і Button3  - …, Button4 - Вхідний файл, Button5 - Вихідний файл, Button6 – Очистити, Button7 – Вихід.