Складання та виконання логічних виразів та операції над ними


Проект «Вгадай число»
Завдання. Складіть програму «Вгадай число». Комп’ютер загадує випадкове число від 0 до 100. Користувач робить спробу вгадати число. Комп’ютер порівнює введене число і видає відповідь «мало» або «багато». Якщо користувач вгадав число, виводиться надпис «Ура! Ти вгадав число!»
1. Створіть проект. Розмістіть на формі елементи відповідно до приведеного прикладу. Задайте властивості компонент згідно таблиці
Властивість
Значення
Form1 . Caption
Вгадай число
Edit1.Text

Label1 .Caption
Ваша спроба
Label2 .Caption

Label3 .Caption
Ура! Ти вгадав число
Label3 .Visible
False
Button1 . Caption
Загадати нове число
Button2 . Caption
Перевірити


2. Для одержання випадкових чисел в Lazarus існує функція Random(k), яка повертає випадкове ціле число, що лежить у діапазоні від 0 до k. Наприклад, щоб отримати випадкове число від 0 до 100, необхідно записати оператор присвоєння: x:=Random(100). Для того, щоб при кожному запуску програми одержувати різні випадкові числа необхідно перед використанням функції Random використати процедуру Randomize
Отже, кнопці «Загадати нове число» відповідає процедура обробки події:
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
b:=Random(100);
Label2.Visible:=False;
Label3.Visible:=False;
Edit1.Clear;
Edit1.SetFocus;
end;
Змінну b потрібно описати як глобальну змінну, а саме перед початком виконавчої частини після слів var   Form1: TForm1;  b:integer;
3. Для кнопки перевірити потрібно записати такий код:
procedure TForm1.Button2Click(Sender: TObject);
var a:integer;
begin
Label2.Visible:=False;
a:=StrToInt(Edit1.Text);
if a=b then
begin
Label3.Visible:=True;
Label2.Visible:=False;
end
else
if not a>b then
begin
Label2.Visible:=True;
Label2.Caption:='МАЛО';
end
else
begin
Label2.Visible:=True;
Label2.Caption:='БАГАТО';
end;
end;
4. Збережіть проект. Запустіть програму на виконання.
Для того, щоб вгадати швидко число потрібно використати так званий метод «половинного ділення».

Комментариев нет:

Отправить комментарий