Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная по информатике.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
110.08 Кб
Скачать
  1. Подтверждать свой ввод пользователь будет нажатием кнопки. Добавьте на форму компонент BitBtn с вкладки Additional.

Свойство

Значение

Комментарий

Kind

bkYes

Тип кнопки

Caption

Ввод

Заголовок компонента

Height

25

Высота компонента

Left

13

Расстояние от левого верхнего угла компонента до левого края формы

Name

bbRun

Имя компонента

Top

130

Расстояние от левого верхнего угла компонента до верхнего края формы

Width

75

Ширина компонента

  1. И, наконец, последний, необходимый компонент - кнопка завершения работы программы. Добавьте форму компонент BitBtn с вкладки Additional.

Свойство

Значение

Комментарий

Kind

bkClose

Тип кнопки

Caption

Выход

Заголовок компонента

Height

25

Высота компонента

Left

123

Расстояние от левого верхнего угла компонента до левого края формы

Name

bbClose

Имя компонента

Top

130

Расстояние от левого верхнего угла компонента до верхнего края формы

Width

75

Ширина компонента

  1. Ну вот, внешний вид новой программы уже сформирован. Запишите все изменения в проекте нажатием кнопки Save All (Кстати, периодически полезно нажимать эту кнопку, чтобы сохранить свою работу, например, перед запуском программы).

Созданную программу уже можно даже опробовать в действии: для этого нажмите кнопку Run или клавишу F9 на клавиатуре. Вдоволь налюбовавшись плодами своего труда, закройте программу. Сейчас радость от всего увиденного может омрачать лишь одно: как Вы убедились, созданная программа беспомощна как младенец, она ничего не умеет делать. Ее обучением Вы и займетесь в ближайшее время.

  1. Для обеспечения работоспособности программы необходимо написать код, который будет выполняться в ответ на действия пользователя. Эту работа будет вестись в окне Main.pas. Туда нужно добавить несколько строк – все, что ниже выделено жирным шрифтом.

type

TMain_form = class(TForm)

mmOutput: TMemo;

edInput: TEdit;

Label1: TLabel;

bbRun: TBitBtn;

bbClose: TBitBtn;

private

{ Private declarations }

// любой текст до конца строки, начинающийся с символов '//' - комментарий,

// компьютером он не воспринимается, и необходим лишь человеку

// эта строка, как и предыдущие - комментарий

big_number, // задуманное число

test_val, // значение, введенное пользователем

err_code:integer; // код ошибки

answer_str:String; // строка ответа пользователю

begin_of_new_game:Boolean; // признак начала игры

public

{ Public declarations }

end;

  1. Но это еще не все. Сейчас начинается самое интересное. Пользователь во время работы взаимодействует с программой и вполне обоснованно ожидает, что после нажатия кнопки «Ввод» компьютер проанализирует введенное значение. Чтобы анализ действительно происходил, нужно написать код, который реагирует на данное событие - нажатие кнопки «Ввод». Для этого выполните двойной щелчок мышью на кнопке «Вид» формы. Delphi подготовит шаблон процедуры, которая будет выполнять все необходимые действия. Вам же остается только эти действия описать.

procedure TMain_form.bbRunClick(Sender: TObject);

begin

// Если нужно начать новую игру

if (begin_of_new_game) then

begin

// задумаем число

big_number:=Random(1001);

// выведем сообщение

mmOutput.Text:='Число задумано.';

// добавим к сообщению строку

mmOutput.Lines.Add('Попробуйте угадать!');

// очистим поле ввода

edlnput.Text:=’’;

// установим курсор в поле ввода

edInput.SetFocus;

// сменим название кнопки

bbRun.Caption:='Ввод';

// сбросим признак начала новой игры

begin_of_new_game:= False;

end // иначе

else

begin

// преобразуем введенную пользователем строку в число

Val(edInput.Text,test_val,err_code);

// если введеная строка не является числом, сообщим об ошибке

if (err_code <> 0) then

answer_str:='Ошибочный ввод.'

else

begin

// сформируем ответ пользователю в виде строки, она начинается с введенного числа

Str(test_val,answer_str);

// добавим разделители в строку ответа

answer_str:=answer_str +' -';

// определим дальнейшее содержимое строки, если введенное значение больше задуманного

if (test_val > big_number) then

//добавим подстроку

answer_str:=answer_str + 'Перелет.'

else

// если введенное значение меньше задуманного

if (test_val < big_number) then

// добавим подстроку

answer_str:=answer_str + 'Недолет.'

else

begin

// пользователь угадал число, сформируем ответ

answer_str:=answer_str + 'Угадали!'#13#10;

answer_str:=answer_str + 'Для начала нового сеанса'#13#10;

answer_str:=answer_str + 'нажмите кнопку "Игра".';

// сменим название кнопки, она будет начинать новую игру

bbRun.Caption:='Игра';

// установим признак начала новой игры

begin_of_new_game:=True;

end;

end;

// выведем пользователю сформированную строку ответа

mmOutput.Lines.Add(answer_str);

// очистим поле ввода

edInput.Text:='';

// установим курсор в поле ввода

edInput.SetFocus;

end;

end;