37852

Стандартні компоненти і оброблювачі подій. Створення програм для процесів, що розгалужуються

Лабораторная работа

Информатика, кибернетика и программирование

Створення форми Створіть форму таку ж як у другій лабораторній роботі скорегувавши текст написів і положення вікон TEdit. 1 unit unit1; interfce uses Windows Messges SysUtils Vrints Clsses Grphics Controls Forms Dilogs StdCtrls ExtCtrls; type TForm1 = clssTForm Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Lbel1: TLbel; Lbel2: TLbel; Lbel3: TLbel; Lbel4: TLbel; Memo1: TMemo; Button1: TButton; CheckBox1: TCheckBox; RdioGroup1: TRdioGroup; Lbel5: TLbel;...

Украинкский

2013-09-25

177.5 KB

4 чел.

ЛАБОРАТОРНА РОБОТА №4

Тема роботи: Стандартні компоненти і оброблювачі подій. Створення програм для процесів, що розгалужуються.

Мета роботи: вивчити стандартні компоненти, організації переключень TCheckBox і TRadioGroup і оброблювачі подій FormCreate і ButtonClick. Створити з використанням згаданих компонентів інтерфейс і програму для заданого алгоритму, що розгалужується.

Рекомендована література:

  1.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  2.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

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

  1.  Які оператори мови Pascal описують процеси з розгалуженням?
  2.  В яких випадках доцільно викоритовувати оператор case?
  3.  Що називають кнопками-перемикачами?
  4.  Які види кнопок-перемикачів Ви знаєте?
  5.  За що відповдає компонент TcheckBox?
  6.  За що відповдає компонент TRadiogroup?
  7.  Що називають оброблювачем подій та як його створюють?

Хід роботи.

Ознайомтесь з теоретичними відомостями та створіть проект для лбораторної роботи №4. Звіт до лабораторної роботи повинен сладатися з коротких теоретичних відомостей, відповідей до контрольних запитань та програми.

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

Кнопки-перемикачі в Delphi

При створенні програм у DELPHI для організації розгалужень часто використовуються компоненти у вигляді кнопок-перемикачів. Стан такої кнопки (включене - виключено) візуально відбивається на формі. На формі (рис. 1) представлені кнопки-перемикачі двох типів (TСheckBox і TRadioGroup ).

Компонент TCheckBox організує кнопку незалежного перемикача, за допомогою якої користувач може указати своє рішення типу так/ні. У програмі стан кнопки зв'язаний зі значенням булевої змінної, яка перевіряється за допомогою оператора if.

Компонент TRadiogroup організує групу кнопок залежних перемикачів. При натисканні однієї з кнопок групи всі інші кнопки відключаються. У програму передається номер включеної кнопки (0, 1, 2,..), що аналізується за допомогою оператора case.

Приклад програми

Завдання: Ввести три числа - x, y, z. Обчислити по розсуду або u=sin(x), або u=cos(x), або u=tg(x). Знайти максимальне з трьох чисел: max(u, y, z) або max(|u|, у|, |z|).

Створити форму типу, яка вказана на рис. 1  і розробити відповідну програму.

Створення форми

Створіть форму, таку ж, як у другій лабораторній роботі, скорегувавши текст написів і положення вікон TEdit.

Робота з компонентом TCheckBox

Виберіть у меню на сторінці компонентів Standard піктограму і помістіть її в потрібне місце форми. За допомогою інспектора об'єктів змініть заголовок (Caption) на "Обчислення maxabs". У тексті програми з'явилася змінна CheckBox1 типу TCheckBox. Тепер у залежності від того, натиснута чи ні кнопка, змінна типу Boolean CheckBox1l.Checked буде приймати значення true або false.

Робота з компонентом TradioGroup

Виберіть у меню на сторінці компонентів Standard піктограму  і помістіть її в потрібне місце форми. На формі з'явиться окреслений лінією чистий прямокутник із заголовком RadioGroup1. Замініть заголовок (Caption) на U(x). Для того щоб розмістити на компоненті кнопки, необхідно властивість Columns установити рівним одиниці. Двічі клацніть по правій частині Items мишею, з'явиться рядковий редактор списку заголовків кнопок. Наберіть три рядки з іменами: у першої  cos(x), у другийsin(x), у третьої - tg(x), натисніть ОК.

Зверніть увагу на те, що в тексті програми з'явилася змінна RadioGroup1 типу TRadioGroup, Тепер при натисканні однієї з кнопок групи в змінній цілого типу RadioGroup1.ItemIndex буде знаходитися номер натиснутої клавіші, що використовується в приведеній програмі.

Створення оброблювачів подій FormCreate і ButtonClick

Процедури - оброблювачі подій FormCreate і ButtonClick створюються аналогічно тому, як і в другій лабораторній роботі. Текст процедур приведений нижче. Запустите програму і переконаєтеся в тому, що всі гілки алгоритму виконуються правильно. Форма приведена на рис. 1. Текст програми приведений нижче.

Рис. 1

unit unit1;

interface

uses

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

 Dialogs, StdCtrls, ExtCtrls;

type

 TForm1 = class(TForm)

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Memo1: TMemo;

   Button1: TButton;

   CheckBox1: TCheckBox;

   RadioGroup1: TRadioGroup;

   Label5: TLabel;

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(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';  // Початкове значення Y

 Edit3.Text := '0'; // Початкове значення Z

 Memo1.Clear;           //Очищення вікна редактори Memo1

// Виведення рядка в багаторядковий редактор Memol

Memo1.Lines.Add('Ла6.раб.N3. Ст.гр. 2ЭК Іванов А.А.');

end;

procedure TForm1.Button1Click(Sender: TObject);

 var  x, y, z, a, u, ma : Extended;

begin

 x := StrToFloat(Edit1.Text);

//Зчитується значення X

 Memo1.Lines.Add('Х = '+Edit1.Text);

// Виведення Х в вікно Memol

 Y := StrToFloat(Edit2.Text);

// Зчитується значення Y

 Memo1.Lines.Add('Y ='+Edit2.Text);

// Виведення Y у вікно Memol

 Z := StrToFloat(Edit3.Text);

// Зчитується значення Z

 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;

 // Виведення U у вікно Memol

Memo1.Lines.Add('U = ' + FloatToStr(U, fffixed,8,2));

//Перевірка стану кнопки 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, fffixed,8,2));

end;

end.

Індивідуальні завдання.

Виберіть індивідуальне завдання з нижчеподаного списку. У якості f(x) використовувати sh(x), х2; е . Відредагуйте вид форми і текст програми відповідно до завдання.

  1.  a=   
  2.  

  1.  

  1.  

  1.       
  2.  7
  3.  7.
  4.  
  5.  
  6.  
  7.  
  8.      
  9.  
  10.  
  11.  r=max(min(f(x),y),z).
  12.  р=   
  13.  

  1.  

  1.  

  1.       
  2.  7
  3.  
  4.  
  5.  
  6.  
  7.  
  8.      
  9.  
  10.  
  11.  7
  12.  
  13.  
  14.  =   
  15.  

  1.  


 

А также другие работы, которые могут Вас заинтересовать

76442. Правовые последствия усыновления 15.11 KB
  Если ребенок имеет кровного родителя и усыновлен одним лицом другого пола При усыновлении ребенка не всегда разрываются все его связи с кровными родственниками например мать ребенка вступила в новый брак и ребенка усыновил отчим. Однако закон сохраняет право родителя ребенка на сохранение правовых отношений с ним не только для тех случаях когда ребенка усыновил отчим мачеха а для всех случаев когда ребенок усыновлен только одним лицом и при этом ребенок имеет кровного родителя другого пола чем усыновитель. Закон формулирует это...
76443. Отмена усыновления ребенка 15.27 KB
  Однако могут быть и другие ситуации например не сложились семейные родственные отношения усыновителя и ребенка или тяжелая болезнь усыновителя и т. Во всех случаях суд тщательно изучает все обстоятельства конкретного дела и вправе отменить усыновление ребенка исходя из его интересов и с учетом его мнения п. Порядок отмены усыновления Отмена усыновления ребенка производится в судебном порядке п.
76444. Правовые последствия отмены усыновления 13.52 KB
  При отсутствии родителей а также если передача ребенка родителям противоречит его интересам ребенок передается на попечение органа опеки и попечительства. Изменение имени отчества или фамилии ребенка достигшего возраста десяти лет возможно только с его согласия. Суд исходя из интересов ребенка вправе обязать бывшего усыновителя выплачивать средства на содержание ребенка.
76445. Опека и попечительства как форма семейного воспитания детей 16.24 KB
  Опекун попечитель назначается органом опеки и попечительства №48ФЗ от 24. В соответствии с Семейным и Гражданским кодексами РФ дети находящиеся под опекой попечительством имеют право на: воспитание в семье опекуна попечителя заботу с их стороны; совместное с ним проживание исключения допускаются с разрешения органа опеки и попечительства когда подопечный достиг возраста 16 лет и раздельное проживание не отразится неблагоприятно на его воспитании и защите прав и интересов; обеспечение условий для содержания воспитания...
76446. Права и обязанности опекунов и попечителей 27.96 KB
  Проживание будущего опекуна или попечителя и его потенциального подопечного по разным адресам может породить проблему выбора места установления опеки и попечительства. При этом в отдельных случаях при наличии заслуживающих внимания обстоятельств допускается установление опеки попечительства по месту проживания кандидата в опекуны и попечители например если он уже привез к себе нуждающегося в помощи гражданина либо не имеет возможности долго находиться в доме будущего подопечного. Но потом личное дело подопечного где хранится вся...
76447. Прекращение опеки и попечительства 15.01 KB
  Прекращение опеки и попечительства связаны с несколькими факторами. Не требует особого решения и прекращение попечительства при достижении подопечным 18ти лет п. Так же основаниями для прекращения попечительства над несовершеннолетними гражданами являются: эмансипация приобретение несовершеннолетним полной дееспособности до достижения им восемнадцатилетнего возраста; вступление в брак несовершеннолетним.
76448. Приемная семья (понятие, значение, приемные дети и приемные родители) 16.33 KB
  Приемная семья дает возможность максимально приблизить воспитание детейсирот и детей оставшихся без попечения родителей к реальной жизни. Она формирует у детей навыки преодоления трудных жизненных ситуаций психологическую защиту и правильное поведение при стрессах а также моральноэтическую установку на создание собственной стабильной семьи что важно и для некоторых взрослых граждан прежде всего для тех кто видит в воспитании детей свое призвание кто небезразличен к судьбе обездоленных детей и считает что у него хватит сил умения и...
76449. Договор о приемной семье 14.61 KB
  152 Семейного кодекса РФ приемной семьей признается опека или попечительство над ребенком которые осуществляются по договору о приемной семье заключаемому между органом опеки и попечительства и приемными родителемями. Так как к отношениям возникающим из договора о приемной семье применяются положения Главы 20 Семейного кодекса РФ об опеке ниже под опекуном попечителем подразумевается и приемныйе родительи. Договор о приемной семье заключается в соответствии с Правилами заключения договора об осуществлении опеки или попечительства...
76450. Основания и последствия прекращения договора приемной семье 14.86 KB
  Прекращение договора о приемной семье. При необходимости срок действия договора может быть продлен по соглашению сторон. Основанием прекращения может быть и неисполнение или ненадлежащее исполнение договора одной из сторон.