Автор работы: Пользователь скрыл имя, 29 Мая 2013 в 12:25, практическая работа
Создать программу, выполняющую следующие действия: После запуска программы пользователь вводит свое имя, например, Александр, в прямоугольник с мигающим текстовым курсором и нажимает клавишу Enter.
Появляется вопрос: "Александр, ты любишь читать?". Если пользователь нажмет на клавишу Да, то должна появиться реплика: "Молодец!", если он нажмет на клавишу Нет, то появится реплика: "Почему же? Надо читать".
Пояснения.
Комбинированные списки бывают 3 типов:
простые (simple) - список всегда открыт;
раскрывающиеся (drop down) - список свернут;
неизменяемые (drop down list) - список свернут
и возможен только выбор элемента из списка.
16. В режиме Только чтение, сделать недоступной кнопку Добавить:
Выделенный объект |
Вкладка окна |
Имя свойства/ |
Значение/Действие |
CheckBox1 |
Events |
OnClick |
if CheckBox1.Checked = false then Button1.Enabled := true else |
Аналогично сделать
недоступными кнопки Редактировать, Удалить,
17. Сохранить проект окончательно, запустить
и протестировать его.
Задание |
Подсказка | |
1 |
Предусмотреть возможность добавления терминов в список не только при щелчке на кнопке Добавить, но и при нажатии клавиши Enter. |
Для компоненты ComboBox1 в обработчик события onKeyPress вставить код: if Key = #13 then ... |
2 |
Сделать так, чтобы при щелчке на кнопке Добавитьосуществлялся ввод пустой строки, а не копировалась запись, на которой стоит курсор. |
|
3 |
Добавить две
метки и вывести на них общее
количество терминов в списке и номер
выбранного термина. |
Для объекта ComboBox1 в обработчик события Change вставить код, присваивающий
заголовку панели значение ComboBox1.Items.Count |
4 |
Предусмотреть изменение значений общее количество и номер выбранного термина при выполнении операций Добавить иУдалить. |
|
5 |
Обеспечить сохранение всех изменений словаря при закрытии формы. |
Для объекта Form в обработчик события CloseQuerry вставить код, сохраняющий измененный список в файле Glostext.txt. |
6 |
Отсортировать список. |
Свойству Sorted объекта ComboB |
7 |
Предусмотреть отображение на форме общего количества терминов в списке и номер выбранного термина, начиная с самого первого момента запуска программы. |
Для объекта Form в обработчик события Create вставить необходимый код (см. п.3). |
Пусть оптимальный вес человека определяется как рост минус 100. Если фактический вес человека меньше оптимального, то будем считать его худым, если больше, то полным.
|
Создать программу,
с помощью которой можно |
1. Открыть новый
проект.
2. Разместить в форме экземпляры компонентов
в соответствии с рисунком . В Edit1 будем вводить вес в кг, а в Edit2 – рост в см.
3. Сохранить код программы и проект под
именами, например, Unit5.pas и Pr5.dpr.
4. Ввести в раздел VAR переменные для сохранения значений:
фактического
веса (faktW),
оптимального веса (optW),
роста (Rost)
разницы между оптимальным весом и фактическим
(Delta).
В начале будем считать, что все данные у нас целые числа:
VAR
factW, optW, Rost, Delta : integer;
5. Создать процедуру,
реагирующую на щелчок по
Выделенный объект |
Вкладка окна |
Имя свойства/ |
Значение/Действие |
Button1 |
Events |
OnClick |
factW := StrToInt(Edit1.text); |
Пояснение
Функция StrToInt преобразует строку в целое
число, функция IntToStr выполняет обратное действие
– целое число преобразует в строку.
6. Усовершенствовать программу так, чтобы
можно было бы вводить любые десятичные
величины. Для этого необходимо использовать
вещественный тип переменных Real:
VAR
factW, optW, Rost, Delta : real;
Преобразование
действительных чисел в строковый
тип и строковый тип в действит
7. Сохранить проект окончательно, запустить и протестировать его.
Задание |
Подсказка | |
1 |
Для форматирования и преобразования действительных чисел вместо функции FloatToStr() применить функцию Format(‘
%f ',[пeременная]). |
|
2 |
Для форматирования и преобразования применить эту же функцию в таком виде Format(‘Строка
%f’,[пeременная]). |
|
3 |
Усовершенствовать
проект: |
|
4 |
Сделайте так,
чтобы в начале программы или
после повторного запуска объекты Label2 и Edit2 |
Свойству Visible нужно присвоить False. |
5 |
Предусмотреть возможность повторного запуска задачи - ввести кнопку Повторить. |
5. В случае
преобразования строкового
Обработчик исключений строится в виде таких конструкций:
Try
<защищенный блок операторов>
except
<обработка исключений>
end;
Если при выполнении операторов из защищенного блока возникнет исключение, управление будет передано в блок операторов, располагающийся междуexcept и end, но если обработка пройдет без ошибок, блок исключений игнорируется и управление передается оператору, следующему за end.
Пример использования
обработки исключений для процедуры Edit1KeyPressed
try
FactW:=StrToInt(Edit1.Text);
except
ShowMessage('Ошибочная запись числа: ' + Edit1.Text);
Edit1.SetFocus;
Exit;
end;
В результате выполнения
FactW:=StrToInt(Edit1.Text);
если возникнет
исключительная ситуация, то на экране
появится окно с текстовым сообщением
и кнопкой ОК. После появления окна работа
программы приостановится в ожидании
реакции пользователя. При вызове стандартной
процедуры Exit снова активизируется редактор,
в котором обнаружен ошибочный текст.
Внесите необходимые изменения для обработки
исключительных ситуаций, возникающих
при вводе чисел.
Внимание!
При работе в среде Delphi эксперименты с
исключениями плохо прослеживаются, так
как при каждом исключении среда перехватывает
управление программой. Для отмены этого
необходимо в команде Tools/Debugger Options/Language
Exceptions убрать флаг у опции Stop on Delphi Exceptions.
6. Предусмотрите
невозможность ввода
7. Измените алгоритм
расчета с учетом Индекса
Вес – X,
Рост – Y.
Индекс массы тела – A, где A = X / Y2 (кг/м2)
Результат определяется по таблице:
Значение индекса |
Результат | |
1 |
A < 18 |
Большой недовес |
2 |
18 <= A < 20 |
Маловато и небезопасно, можно получить истощение |
3 |
20 <= A <= 25 |
Идеально |
4 |
26 <=A <=30 |
Легкий недобор |
5 |
30 < A |
Срочно нужно худеть |
|
Создать программу, с помощью которой пользователь мог бы увидеть в зависимости от значений насыщенности красного, зеленого и синего результирующий цвет. |
1. Открыть новый
проект.
2. Разместить в форме экземпляры компонентов
в соответствии с рисунком .
3. Полоса прокрутки ScrollBar может быть горизонтальной (по
умолчанию) или вертикальной. Это определяется
свойством Kind. В нашем случае используется
вертикальная полоса прокрутки.
4. Сохранить
код программы и проект под
именами, например, Unit6.pas и
5. Выполнить следующие действия:
Выделенный объект |
Вкладка окна |
Имя свойства/ |
Значение/Действие |
ScrollBar1 |
Properties |
Name |
Установка имени полосы прокрутки "RedBar", под которым компонент будет известен программе. |
Max |
255 | ||
Position |
122 |
Аналогично задайте значения для ScrollBar2 и ScrollBar3, присвоив им имена GreenBar и BlueBar.
6. Для всех
компонентов формы свойству Cap
7. Выполнить следующие действия:
Выделенный объект |
Вкладка окна |
Имя свойства/ |
Значение/Действие |
RedBar |
Events |
OnChange |
Panel1.Color:= |
Аналогично задайте
значения для ScrollBar2 и ScrollBar3, проследите за правильность
записи параметров в функции RGB и IntToStr.
Пояснения.
В зависимости от передвижения ползунка ScrollBar1, будет меняться цвет Panel1, выводиться числовое значение
кода на месте Label и меняться цвет Panel4.
8. Сохранить проект окончательно, запустить
и протестировать его.
Задание |
Подсказка | |
1 |
Поместить на форму кнопку выхода из программы. |
|
2 |
Предусмотреть, чтобы при запуске программы были установлены начальные цвета панелей в зависимости от исходных значений ползунков. |
Поместить в
событие при создании формы (OnCreate для Form1) обработку значений
позиции ScrollBar1, ScrollBar2 |
3 |
Внесите изменения так, чтобы выводились на экран значение кода цвета ни только в десятичной системе счисления, но и в шестнадцатеричной системе счисления. |
Добавить объект Label4. Поместить в событие по изменению полосы прокрутки ScrollBar (RedBar) дополнительную строку, изменяющую свойство нового компонента Label4: Label4.Caption:=Format('0x%x', [RedBar.Position]); Для перевода значений
в шестнадцатиричную систему
счисления можно |
Создать программу,
выполняющую следующие
|
После запуска программы появляется изображение аналогичное рисунку. Пользователь, перемещаясь с помощью клавиш-стрелок по левому списку "Физических величин", выбирает любое слово, нажав клавишу Enter. |
Затем пользователь переходит в правый список "Названий физических величин" и выбирает соответствующее название ранее выбранной физической величины.