Тема. Поняття логічних змінних і логічних виразів.
Робота з випадаючими списками. Поняття глобальних і локальних змінних в середовищі програмування Лазарус
Практична робота № 10.
Хто має право бути президентом України?
Завдання практичної роботи. Створити форму з 4-ма запитаннями на які потрібно відповісти Так \ Ні в вигляді випадаючих списків. Всі запитання формуються на основі 103 статті Конституції України.
Якщо ви обрали 4 відповіді "Так" і натиснули на кнопку форми "ПЕРЕВІРИТИ", то виводимо на екран повідомлення: “Вітаємо, Ви маєте право бути президентом України! ”
Якщо хоча б одна відповідь “Ні” то виводимо повідомлення: “На жаль Ви не маєте право бути президентом України! ”
Таким чином реалізується логічна функція AND для чотирьох глобальних логічних змінних, які в програмі мають імена GlobalA, GlobalB, GlobalC, GlobalD . Спочатку всі змінні знаходяться в стані FALSE. В залежності від вибору відповіді змінні змінюють своє значення на TRUE або FALSE.
Приклад створеного застосунку можна завантажити тут.
Ви можете змінити або додати запитання, вивести при правильній відповіді прапор або герб України, тобто це тільки шаблон програми.
Pascal source code
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
GlobalA: boolean = False;
GlobalB: boolean = False;
GlobalC: boolean = False;
GlobalD: boolean = False;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
if ( GlobalA AND GlobalB AND GlobalC AND GlobalD) then
begin
Form1.Color:=clGreen;
ShowMessage ('Вітаємо! Ви маєте право бути президентом України! :-)');
end
else
begin
Form1.Color:=clRed ;
ShowMessage ('На жаль ви не маєте права бути президентом України :-(');
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var text1: string;
begin
text1:= Combobox1.Text;
if (text1 = 'Так' ) then
begin
GlobalA:= True;
end
else
begin
GlobalA:= False;
end;
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
var text1: string;
begin
text1:= Combobox2.Text;
if (text1 = 'Так' ) then
begin
GlobalB:= True;
end
else
begin
GlobalB:= False;
end;
end;
procedure TForm1.ComboBox3Change(Sender: TObject);
var text1: string;
begin
text1:= Combobox3.Text;
if (text1 = 'Так' ) then
begin
GlobalC:=True;
end
else
begin
GlobalC:=False;
end;
end;
procedure TForm1.ComboBox4Change(Sender: TObject);
var text1: string;
begin
text1:= Combobox4.Text;
if (text1 = 'Так' ) then
begin
GlobalD:=True;
end
else
begin
GlobalD:=False;
end;
end;
end.