Програмування циклів. Задача табулювання функції. Об’єкт: mainmenu 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Програмування циклів. Задача табулювання функції. Об’єкт: mainmenu



Мета роботи: Ознайомитися з новим об’єктом MainMenu та його основними властивостями. Створити форму „Табулювання функції”.

 

Теоретичні відомості

За допомогою об’єкта MainMenu створюють головне меню програми. Для цього об’єкта можна задати такі властивості: Items, Tag (допоміжна змінна, яка використовується в тексті програми) тощо.

 

Хід лабораторної роботи

1. Завантажити середовище візуального програмування Delphi.

2. Задати властивості форми: Caption, Height, Width, Color.

3. Вставити у форму чотири текстових поля: Label1, Label2, Label3, Label4 (рис.8).

4. Вставити у форму багаторядкове поле редагування (об’єкт Memo) (рис.8). Задати вертикальну та горизонтальну смуги прокручування. Для цього необхідно увімкнути значення ssBoth для властивості ScrollBars. Для властивості Lines необхідно витерти значення Memo1 і ввести:

 

Результати:

x y

5. Вставити у форму головне меню (об’єкт MainMenu). Для цього необхідно обрати компонент MainMenu із закладки Standard палітри компонентів і перенести його на форму. Ввести назви команд головного меню. Для цього потрібно двічі клацнути лівою кнопкою миші на вставленому об’єкті MainMenu1. У вікні, що з’явиться вибрати мишею рамку для введення в неї тексту команди і ввести відповідне значення властивості Caption:

Обчислити Вихід Про програму

Протабулювати функцію

Очистити поле виведення

6. Вставити у форму три об’єкти типу Edit: Edit1, Edit2, Edit3 (рис.8). Очистити поля редагування Edit1, Edit2, Edit3.

7. Змінити заголовки Caption на об’єктах типу Label (рис.9).

 

 

Рис.8 Рис.9

 

8. Запрограмуватикоманду„Протабулювати функцію”. Процедура матиме такий вигляд:

Procedure TForm1.N2Click (Sender: TObject);

Var

x,y,h,a,b: real;

s1,s2: string;

Begin

a:= StrToFloat (Edit1.Text);

b:= StrToFloat (Edit2.Text);

h:= StrToFloat (Edit3.Text);

x:=a;

while x<=b do begin

y:=sin(2*x) – 2*cos(x);

s1:= FloatToStrF (x, ffFixed,3,2);

s2:= FloatToStrF (y,ffFixed,7,4);

Memo1.Lines.Add(s1+’ ’+s2);

x:=x+h;

end;

end;

9. Запрограмуватикоманду„Очистити поле виведення”. Процедура матиме такий вигляд:

Procedure TForm1.N3Click (Sender: TObject);

Begin

Memo1.Clear;

end;

10. Запрограмувати команду „Вихід”.

11. Запрограмувати команду „Про програму” головного меню так, щоб під час її виконання на формі з’явилося прізвище автора програми.

12. Вставити поле редагування, створити у головному меню команду „Максимальне значення функції” та запрограмувати її відповідним чином.

13. Вставити поле редагування, створити у головному меню команду „Кількість додатних чисел” або команду „Сума від’ємних чисел” та запрограмувати її відповідним чином.

14. Зберегти створену програму у своїй власній папці.

15. Виконати створену програму.

16. Створити exe - файл програми. Закрити Delphi і запустити створену програму.

 

Контрольні запитання

1. Як вставити у форму головне меню MainMenu?

2. Як ввести назви команд у головне меню?

3. Які властивості багаторядкового поля редагування ви знаєте?

4. Як запрограмувати деяку команду головного меню?

5. Що означає команда Memo1.Clear?

Лабораторна робота №5

РОБОТА З МАСИВАМИ. ОБ’ЄКТИ: CheckBox, GroupBox, StringGrid та BitBtn

Мета роботи: Ознайомитися з новими об’єктами CheckBox, GroupBox, StringGrid (таблиця рядків), BitBtn (кнопка) та їх основними властивостями. Створити дві форми „Створення і обробка одномірного масиву” та „Робота з матрицями”.

 

Теоретичні відомості

Об’єкт CheckBox використовується для створення незалежного дво-чи трипозиційного прапорця: увімкнено/вимкнено (/недоступний). Для цього об’єкта визначені такі дві нові властивості: AllowGrayed (наявність третьої позиції) та State (стан прапорця). Панель групи об’єктів GroupBox призначена для розміщення на ній групи із кількох об’єктів. Панель групи використовують для покращення дизайну вікна. Об’єкт StringGrid призначений для створення у формі двовимірної таблиці символьних рядків і має такі властивості: ColCount (кількість стовпців), RowCount (кількість рядків), FixedCols, FixedRows (кількість фіксованих стовпців та рядків таблиці, які не прокручуються). Об’єкт BitBtn – кнопка з малюнком і визначеним типом дії. Цей об’єкт має такі властивості: Glyph (малюнок з файлу на кнопці) та Kind (тип стандартної дії).

 

Хід лабораторної роботи (частина перша)

1. Завантажити середовище візуального програмування Delphi.

2. Задати властивості форми: Caption, Height, Width, Color.

3. Вставити у форму два текстових поля: Label1, Label2 (рис.10).

4. Вставити у форму панель групи об’єктів (об’єкт GroupBox) (рис.10). Для цього необхідно обрати компонент GroupBox із закладки Standard палітри компонентів і перенести його на форму.

5. Вставити у панель два прапорці (об’єкти CheckBox). Для цього необхідно обрати компонент CheckBox із закладки Standard палітри компонентів.

6. Вставити у форму чотири об’єкти типу Edit: Edit1, Edit2, Edit3, Edit4 (рис.10). Очистити поля редагування Edit1, Edit2, Edit3, Edit4.

7. Вставити у форму кнопки - об’єкти типу Button з назвами Button1 і Button2 (рис.10).

8. Вставити у форму кнопку - об’єкт типу BitBtn із закладки Additional палітри компонентів Delphi.

9. Змінити заголовки Caption на об’єктах типу Label, GroupBox, CheckBox та Button (рис.11).

10. Змінити властивість Kind кнопки BitBtn на bkClose.

 

 

Рис.10 Рис.11

 

11. Перед тим, як програмувати кнопки Button1 і Button2, необхідно у розділі описування змінних задати змінні цілого типу n та i, де n – розмір масиву, а i – порядковий номер елемента масиву, а також m – динамічний масив цілих чисел.

Var

Form1: TForm;

n, i: integer;

m: array of integer;

12. Запрограмувати кнопку Button1. Процедура матиме такий вигляд:

Procedure TForm1.Button1Click (Sender: TObject);

Begin

Randomize;

n:= StrToInt (Edit1.Text);

SetLength (m,n); {задати масиву m довжину n}

Edit2.Text:=’’;

for i:=1 to n-1 do begin

m[i]:=random(50)-10;

Edit2.Text:= Edit2.Text+’ ‘+ IntToStr (m[i]);

end;

end;

13. Запрограмувати кнопку Button2. Процедура матиме такий вигляд:

Procedure TForm1.Button2Click (Sender: TObject);

Var

sum, count: integer;

{sum - сума додатних чисел, count - кількість від’ємних чисел}

Begin

Edit3.Text:=’’;

sum:=0;

Edit4.Text:=’’;

count:=0;

for i:=0 to n-1 do begin

if CheckBox1.Checked then

if m[i]>0 then sum:=sum+m[i];

if CheckBox2.Checked then

if m[i]<0 then count:=count+1;

end;

if CheckBox1.Checked then Edit3.Text:= IntToStr (sum);

if CheckBox2.Checked then Edit4.Text:= IntToStr (count);

end;

14. Вставити поле редагування Edit та об’єкт типу CheckBox, змінити його заголовок Caption на „Максимальне значення масиву” та запрограмувати кнопку „Обчислити” відповідним чином.

15. Вставити поле редагування Edit та об’єкт типу CheckBox, змінити його заголовок Caption на „Добуток непарних чисел” та запрограмувати кнопку „Обчислити” відповідним чином.

16. Зберегти створену програму у своїй власній папці.

17. Виконати створену програму.

18. Створити exe - файл програми. Закрити Delphi і запустити створену програму.

 

Хід лабораторної роботи (частина друга)

1. Завантажити середовище візуального програмування Delphi.

2. Задати властивості форми: Caption, Height, Width, Color.

3. Вставити у форму два текстових поля: Label1, Label2 (рис.12).

4. Вставити у форму об’єкт StringGrid (рис.12). Для цього необхідно обрати компонент StringGrid із закладки Additional палітри компонентів і перенести його на форму. Задати для властивостей ColCount і RowCount значення 5. Задати для властивостей FixedCols і FixedRows значення 1. Вибрати властивість Options і для її під властивостей goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goDrawFocusSelected goEditing задати значення True.

5. Вставити у форму один об’єкт типу Edit: Edit1 (рис.12). Очистити поле редагування Edit1.

6. Вставити у форму кнопку - об’єкт типу Button з назвою Button1 (рис.12).

7. Вставити у форму кнопку - об’єкт типу BitBtn.

8. Змінити заголовки Caption на об’єктах типу Label, та Button (рис.13).

9. Змінити властивість Kind кнопки BitBtn на bkClose.

10. Зафіксувати положення всіх компонентів на формі. Для цього необхідно в меню Delphi вибрати Edit=>Lock Controls.

 

 

Рис.12 Рис.13

 

11. Записати процедуру для підпису номерів рядків та стовпців матриці:

Procedure TForm1.FormCreate (Sender: TObject);

Var

i,j: integer;

Begin

with StringGrid1 do begin

i:=0;

for j:=1 to RowCount-1 do

Cells[I,j]:= IntToStr (j);

j:=0;

for i:=1 to ColCount-1 do

Cells[I,j]:= IntToStr (i);

end;

end;

12. Для попередження помилки введення у вікно комірки нечислового значення необхідно ввести обробку натискання клавіші, щоб заборонити введення будь – яких символів, крім цифр від 0 до 9 та знаків „+” і „-”. Для створення процедури, яка обробляє подію натискання клавіші, потрібно вибрати у вікні Інспектора об’єктів компонент StringGrid1 і на сторінці Events (Події) двічі клацнути лівою кнопкою миші на пустому місці списку у події OnKeyPress, після чого з’явиться необхідна процедура. Вона повинна мати такий вигляд:

Procedure TForm1.StringGrid1KeyPress (Sender:TObject; var Key:Char);

Begin

if not (Key in [‘0’..’9’,’-’,’+’]) then Key:=#0;

end;

13. Запрограмувати кнопку Button1. Процедура матиме такий вигляд:

Procedure TForm1.Button1Click (Sender: TObject);

{ визначити суму парних елементів матриці }

Var

i,j,sum,n: integer;

Begin

with StringGrid1 do begin

sum:=0;

Edit1.Text:=’’;

for j:=1 to RowCount-1 do

for i:=1 to ColCount-1 do

if Cells[i,j]<>’’ then begin

n:= StrToInt (Cells[j,i]) mod 2;

if n=0 then sum:=sum+ StrToInt (Cells[j,i]);

Edit1.Text:= IntToStr (sum);

end;

end;

end;

14. Вставити поле редагування Edit та текстове поле Label із заголовком „Добуток непарних чисел” та запрограмувати кнопку „Обчислити” відповідним чином.

15. Вставити поле редагування Edit та текстове поле Label із заголовком „Сума елементів головної діагоналі матриці” та запрограмувати кнопку „Обчислити” відповідним чином.

16. Зберегти створену програму у своїй власній папці.

17. Виконати створену програму.

18. Створити exe - файл програми. Закрити Delphi і запустити створену програму.

 

Контрольні запитання

1. Яке призначення панелі групи об’єктів типу GroupBox?

2. Як розмістити на цій панелі об’єкти типу CheckBox?

3. Які властивості панелі групи об’єктів ви знаєте?

4. Які властивості має об’єкт CheckBox?

5. Що означає команда SetLength(m,n)?

6. Яке призначення компоненту StringGrid?

7. Що вміщують його властивості Align, ColCount, FixedRows?

8. Як розмістити на формі кнопку BitBtn?

9. Що вміщує властивість Kind об’єкта BitBtn?

 

 

Лабораторна робота №6

РОБОТА З РЯДКАМИ

Мета роботи: Створити форму „Обробка рядків типу String”.

 

Хід лабораторної роботи

1. Завантажити середовище візуального програмування Delphi.

2. Задати властивості форми: Caption, Height, Width, Color.

3. Вставити у форму три текстових поля: Label1, Label2, Label3 (рис.14).

4. Вставити у панель три прапорці (об’єкти CheckBox).

5. Вставити у форму три об’єкти типу Edit: Edit1, Edit2, Edit3 (рис.14). Очистити поля редагування Edit1, Edit2, Edit3.

6. Вставити у форму кнопку - об’єкт типу Button (рис.14).

7. Вставити у форму кнопку - об’єкт типу BitBtn.

8. Змінити заголовки Caption на об’єктах типу Label, CheckBox та Button (рис.15).

 

Рис.14 Рис.15

 

9. Змінити властивість Kind кнопки BitBtn на bkClose.

10. Запрограмувати кнопку Button1. Процедура матиме такий вигляд:

Procedure TForm1.Button1Click (Sender: TObject);

Var

s: string;

n:byte;

Begin

n:=0;

Edit2.Text:=’’;

Edit3.Text:=’’;

s:=Edit1.Text;

if CheckBox2.Checked then

while Pos(‘a’,s)>0 do begin

n:=n+1;

s[Pos(‘a’,s)]:=’o’;

end;

if CheckBox3.Checked then

while Pos(‘ ’,s)>0 do begin

n:=n+1;

s[Pos(‘ ’,s)]:=’-’;

end;

if CheckBox1.Checked then Edit3.Text:= IntToStr (n);

Edit2.Text:=s;

end;

11. Вставити поле редагування Edit та об’єкт типу CheckBox, змінити його заголовок Caption на „Добуток непарних чисел” та запрограмувати кнопку „Обчислити” відповідним чином.

12. Зберегти створену програму у своїй власній папці.

13. Виконати створену програму.

14. Створити exe - файл програми. Закрити Delphi і запустити створену програму.

 

Контрольні запитання

1. Яке призначення функцій StrToInt та IntToStr?

2. Яке призначення процедур Delete та Insert?

3. Як працюють функції Concat, Pos, Length і Copy?

4. Яке призначення властивості Checked об’єкта CheckBox?

 

 

Лабораторна робота №7



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 386; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.108.9 (0.098 с.)