Разработка проекта СПРАВОЧНИК
Постановка задачи
Создать программу, выполняющую следующие действия.
![]() | После запуска программы пользователь выбирает с помощью мышки или стрелок название цвета и нажимает клавишу Enter. На экране появляется название цвета на русском языке и код в формате RGB. Программа заканчивает свою работу по нажатию клавиши Выход. |
Новыми в этой работе являются: · использование компоненты ListBox (список) (вкладка палитры компонентов Standard), · использование встроенного редактора для ввода информации, · алгоритм выбора (оператор Case). |
Задание для самостоятельного выполнения, №4
Задание | Подсказка | |
Изменить шрифты, цвет экрана и букв. | Возможно, придется в коде программы подкорректировать количество пробелов между названием цвета и его кодом. | |
Сделать так, чтобы при установке курсора мыши в поле ListBox1, появлялась подсказка о том, что надо сделать. | Воспользуйтесь свойствами Hint (текст сообщения), Showhint (показывать ли сообщение) объекта ListBox1. | |
Внести изменения в программу, чтобы для надписей цвета и формата RGB использовались два отдельных объекта Label. | ||
Внесите изменения в программу для того, чтобы исходные данные о таблице цветов задавались в массиве. |
Практическая работа №5
Разработка проекта СЛОВАРЬ
Постановка задачи
Разработать программу для составления словаря новых терминов.
![]() | Должна иметься возможность внесения в словарь изменений, дополнений или сокращения его. При выборе термина на контрольной панели должны появляться его номер и общее количество слов в словаре. |
Новыми в этой работе является: · использование комбинированного списка ComboBox (представляющие собой объединение строки ввода и компонента ListBox), · компонента - выключатель CheckBox, · функции MessageDlg. Все эти компоненты находятся на вкладке палитры компонентов Standard. |
Задание для самостоятельного выполнения, №5
Задание | Подсказка | |
Предусмотреть возможность добавления терминов в список не только при щелчке на кнопке Добавить, но и при нажатии клавиши Enter. | Для компоненты ComboBox1 в обработчик события onKeyPress вставить код: if Key = #13 then ... | |
Добавить две метки и вывести на них общее количество терминов в списке и номер выбранного термина. | Для объекта ComboBox1 в обработчик события Change вставить код, присваивающий заголовку панели значение ComboBox1.Items.Count, а в обработчик события Click- код, присваивающий заголовку другой панели значение ComboBox1.ItemIndex+1, имея ввиду, что первый термин имеет индекс 0, второй - 1 и т.д. | |
Обеспечить сохранение всех изменений словаря при закрытии формы. | Для объекта Form в обработчик события CloseQuerry вставить код, сохраняющий измененный список в файле Glostext.txt. | |
Отсортировать список. | Свойству Sorted объекта ComboBox1 присвоить значение True. |
Практическая работа №6
Разработка проекта ВАШ ВЕС
Постановка задачи
Пусть оптимальный вес человека определяется как рост минус 100. Если фактический вес человека меньше оптимального, то будем считать его худым, если больше, то полным.
![]() | Создать программу, с помощью которой можно выполнить: Введя свой рост и фактический вес, и нажав кнопку Расчет, учащийся может определить, худой ты или полный и на сколько надо поправиться или похудеть. |
Новым в этой работе являются: · использование типов переменных - целочисленного и действительного (integer и real); · преобразование строковых данных в числовые и числовые в строковые с помощью функций StrToInt; StrToFloat, IntToStr FloatToStr ; Format(); · обработка исключительных ситуаций с помощью оператора Try – except – end; · использование процедуры ShowMessage для вывода сообщения в отдельном окне. |
Задание для самостоятельного выполнения, №6
Задание | Подсказка | |
Для форматирования и преобразования действительных чисел вместо функции FloatToStr() применить функцию Format(‘ %f ’,[пeременная]). Например, Format(‘%f ‘, [Delta]) | ||
Для форматирования и преобразования применить эту же функцию в таком виде Format(‘Строка %f’,[пeременная]). Например, Format(‘Вам надо похудеть %f',[Delta]) . | ||
Усовершенствовать проект: сделать к программе заголовок; сделать шрифт выводимой реплики отличным от стандартного по виду, цвету и размеру; вставить кнопку выхода из программы; предусмотреть возможность повторного запуска программы (см. проект Диалог). | ||
Сделайте так, чтобы в начале программы или после повторного запуска объекты Label2 и Edit2 были не видны и появлялись бы на экране только после того, как будет введен вес. | Свойству Visible нужно присвоить False. |
5. В случае преобразования строкового типа в числовой тип может возникнуть ситуация появления ошибки, если введены недопустимые символы. Если функции StrToInt или StrToFloat обнаружат ошибку в записи числа, они инициируют так называемую исключительную ситуацию (исключений), которая обычно приводит к аварийному завершению работы программы.
Обработчик исключений строится в виде таких конструкций:
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 снова активизируется редактор, в котором обнаружен ошибочный текст.
Внесите необходимые изменения для обработки исключительных ситуаций, возникающих при вводе чисел.
Примечание
При работе в среде Lazarus эксперименты с исключениями плохо прослеживаются, так как при каждом исключении среда перехватывает управление программой. Для отмены этого необходимо в команде Tools/Debugger Options/Language Exceptions убрать флаг у опции Stop on Lazarus Exceptions.
6. Измените алгоритм расчета с учетом Индекса массы тела.
Вес – X,
Рост – Y.
Индекс массы тела – A, где A = X / Y2 (кг/м2)
Результат определяется по таблице:
Значение индекса | Результат (сообщение, которое надо вывести) | |
A < 18 | Большой недовес | |
18 <= A < 20 | Маловато и небезопасно, можно получить истощение | |
20 <= A <= 25 | Идеально | |
26 <=A <=30 | Легкий недобор | |
30 < A | Срочно нужно худеть |
Практическая работа №7