Учебные материалы по математике | Создание обработчиков событий formсreate | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Создание обработчиков событий formсreate


После этого на форме внутри окаймления появится три кнопки-переключателя с введенными надписями.

Обратите внимание на то, что в тексте программы появилась переменная RadioGroup1 типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1.ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.

2.3.4. Создание обработчиков событий FormСreate и Botton1Сlick

Процедуры — обработчики событий FormСreate и Botton1Сlick создаются аналогично тому, как и в первой теме. Текст процедур приведен ниже.

Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно. Форма приведена на рис.2.1.

Текст программы приведен ниже.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

CheckBox1: TCheckBox;

RadioGroup1: TRadioGroup;

Memo1: TMemo;

Button1: TButton;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.text:=’0,1′;

Edit2.text:=’0,356′;

Edit3.text:=’0′;

Memo1.Clear;

Memo1.Lines. Add(‘Рез-ты ст. гр.920201 Петрова И. И.’);

end;

procedure TForm1.Button1Click(Sender: TObject);

var x, y,z, u,ma:extended;

begin

// Ввод исходных данных и их вывод в окно Memo1

x:=StrToFloat(Edit1.Text);

Memo1.Lines. Add(‘ x=’+Edit1.Text);

y:=StrToFloat(Edit2.Text);

Memo1.Lines. Add(‘ y=’+Edit2.Text);

z:=StrToFloat(Edit3.Text);

Memo1.Lines. Add(‘ z=’+Edit3.Text);

// Проверка номера нажатой кнопки и выбор соответствующей ей функции

case RadioGroup1.ItemIndex of

0: u:=cos(x);

1: u:=sin(x);

2: u:=sin(x)/cos(x);

end;

// Проверка состояния кнопки CheckBox1

if CheckBox1.Checked then

begin u:=abs(u);

y:=abs(y);

z:=abs(z) end;

// Нахождение максимального из трех чисел

if u>y then ma:=u else ma:=y;

if z>ma then ma:=z;

if CheckBox1.Checked then

Memo1.Lines. Add(‘ maxabs=’+FloatToStrF(ma, ffFixed,8,2))

else

Memo1.Lines. Add(‘ max=’+FloatToStrF(ma, ffGeneral,8,2));

end;

end.

2.4. Выполнение индивидуального задания

По указанию преподавателя выберите индивидуальное задание из нижеприведенного списка. В качестве f(x) использовать по выбору: sh(x), x2, ex. Отредактируйте вид формы и текст программы, в соответствии с полученным заданием.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16. Известно, что из четырех чисел ,, и одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n.

17. По номеру n (n>0) некоторого года определить c – номер его столетия (учесть, что, к примеру, началом XX столетия был 1901, а не 1900 год!).

18. Значения переменных a, b и с поменять местами так, чтобы оказалось a<=b<=c.

19. Дано целое k от 1 до 180. Определить, какая цифра находится в k-й позиции последовательности 10111213…9899 , в которой выписаны подряд все двузначные числа.

20. Дано натуральное k. Определить k–ю цифру в последовательности 110100100010000100000…, в которой выписаны подряд степени 10.

21. В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы обозначались названиями цвета: green (зеленый), red (красный), yellow (желтый), white (белый) и black (черный). Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. (1984 год – год зеленой крысы –был началом очередного цикла). Разработать программу, которая вводит номер некоторого года нашей эры и выводит его название по старояпонскому календарю.

22. Если сумма трех попарно различных действительных чисел x, y, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений.

23. Для целого числа k от 1 до 99 вывести фразу “мне k лет”, учитывая при этом, что при некоторых значениях k слово “лет” надо заменить на слово “год” или “года”.

24. Для натурального числа k вывести фразу “мы выпили k бутылок пива”, согласовав окончание слова “бутылка” с числом k.

25. Type курс=(C, В,Ю, З); {север, восток, юг, запад}

Приказ=(вперед, вправо, назад, влево);

Var K1,K2:курс; ПР:приказ;

Корабль сначала шел по курсу K1, а затем его курс был изменен согласно приказу ПР. Определить K2 — новый курс корабля.

26. Type месяц=(январь, февраль, март, апрель, май, июнь, июль, август,

сентябрь, октябрь, ноябрь, декабрь);

день=1..31;

var d1,.d2:день;

m1,m2:месяц;

t:boolean;

Переменной t присвоить значение 1 если дата d1, m1 предшествует (в рамках года) дате d2, m2, и значение 0 в других случаях.

27. Type нота=(до, ре, ми, фа, соль, ля, си);

интервал=(секунда, терция, кварта, квинта, секста, септима);

var n1,n2:нота;

i:интервал;

Определить i-й интервал, образованный нотами n1 и n2(n1¹n2): секунда — это интервал из двух соседних (по кругу) нот (например, ре и ми, си и до), терция — интервал через ноту (например, фа и ля, си и ре) и т. д.

28. Type единица=(дециметр, километр, метр, миллиметр, сантиметр);

длина=real;

Var x : длина;

P : единица;

Значение переменной x, означающее некоторую длину в единицах p,заменить на величину этой же длины в метрах.

29. Type сезон=(зима, весна, лето, осень);

Var m:месяц; {определение «месяц» см. в 26}

S:сезон;

Определить s-сезон, на который приходится месяц m.

30. Var k:1..9; Вывести значение переменной k римскими цифрами.

Тема 3. Программирование циклических алгоритмов

Цель лабораторной работы: изучить простейшие средства отладки программ в среде DELPHI. Составить и отладить программу циклического алгоритма.

3.1. Операторы организации циклов repeat, whyle, for языка Pascal

Под циклом понимается многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений может быть задано в явной или неявной форме.

Для организации повторений в языке Pascal предусмотрены три различных оператора цикла.

Оператор

repeat

<операторы>

until<условие>;

организует повторение операторов, помещенных между ключевыми словами repeat и until, до тех пор, пока не выполнится <условие>=true, после чего управление передается следующему за циклом оператору.

Оператор

While<условие>do begin

<операторы>

end;

организует повторение операторов, помещенных между begin и end, до тех пор, пока не выполнится <условие>=fulse. Заметим, что если <условие>=fulse при первом входе, то <операторы> не выполнятся ни разу, в отличие от repeat, в котором хотя бы один раз они выполнятся.

Оператор

for i:=i1 to i2 do begin

<операторы>

end;

организует повторение операторов при нарастающем изменении переменной цикла i от начального значения i1 до конечного i2 с шагом “единица”. Заметим, что если i2>i1, то <операторы> не выполнятся ни разу. Модификация оператора for i:=i2 downto i1 do begin <операторы> end организует повторения при убывающем изменении i на единицу.

3.2. Средства отладки программ в DELPHI

Практически в каждой вновь написанной программе после запуска обнаруживаются ошибки.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020