Практикум по Delphi для решения прикладных задач


         

создать компьютерную версию одной из


Цель работы - создать компьютерную версию одной из головоломок Самуэля Ллойда: из заданного набора чисел надо выбрать те, сумма которых составит 50. Числа, которые избрал Ллойд для своей головоломки: 25, 27, 3, 12, 6, 15, 9, 30, 21, 19.

Выполнить следующие действия:

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

2.      Выбираем с помощью флажков числа и помещаем в правое окно.

3.      Сумма выбранных чисел представлена в виде надписи.

4.      Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка.

Описание плана разработки программы

1.      Открыть новый проект.

2.      Разместить на форме экземпляры компонентов: список флажков CheckListBox, надпись Label, список ListBox.

3.      Выполнить следующие действия:

Таблица 20.



Выделенный объект

Вкладка окна

Object Inspector

Имя свойства/

имя события

Действие

Form1

Properties

Caption

Установка имени формы «Головоломка»

BorderStyle

Задайте значение bsSingle

CheckListBox1

(Вкладка Additional )

Properties

Items

Задаем состав списка. Щелкнуть на кнопке построителя. Откроется окно String List editor (Редактор списка строк). Введите в список заданные числа через Enter. Нажмите кнопку OK.

Height

Подобрать значение так, что все числа поместились в список (без полос прокруток).

Events

OnClickCheck

Описать очистку списка. Проверить, установлен флажок или нет. После обновления списка необходимо подсчитать сумму выбранных чисел. Элементы списка выглядят как числа, но являются текстовыми строками (воспользоваться функцией StrToInt).


 

Продолжение таблицы 20.

Выделенный объект

Вкладка окна

Object Inspector

Имя свойства/

имя события

Действие

ListBox1

(Вкладка Standard)

Properties

Height

Подобрать значение так, что все числа поместились в список (без полос прокруток). Первоначально список пуст. Заполняться он будет при работе программы.

Label1

(Вкладка Standard)

Properties

Caption

Введите текст: «Сумма: 0»

Autosize

Задайте значение False

Alignment

Задайте значение taCenter

4.      Сохраните проект, запустите и протестируйте его.

Листинг подпрограммы

procedure TForm1.CheckListBox1ClickCheck (Sender: TObject);

var i, s: Integer;

begin

ListBox1.Clear;

for i: = 0 to CheckListBox1.Items.Count-1 do

if CheckListBox1.Checked[i] then

ListBox1.Items.Add (CheckListBox1.Items[i]);

s := 0;

for i := 0 to ListBox1.Items.Count -1 do

s := s + StrToInt(ListBox1.Items[i]);

Label1.Caption := ‘Сумма: ’ + IntToStr(s);

if s = 50 then

begin

Label1.Caption := ‘Сумма:’ + IntToStr (s);

CheckListBox1.Enabled := False;

ListBox1.Enabled := False;

end;

end;




Содержание раздела