- •Задания на самостоятельную работу Самостоятельная работа № I Создание простейшего консольного приложения
- •Самостоятельная работа № II
- •Самостоятельная работа № III Очень простое приложение.
- •Самостоятельная работа № IV Сложение двух целых чисел.
- •Самостоятельная работа № V Немного более сложное приложение.
- •Самостоятельная работа № VI Создание приложений с несколькими формами.
- •Самостоятельная работа № VII Конвертор.
- •Самостоятельная работа № VIII Вычисление размера платежей по займу.
- •Самостоятельная работа № IX Угадай магическое число.
- •Самостоятельная работа № X
- •Завдання 1а
- •Завдання 2
- •Завдання 2а
- •Завдання 3
- •Завдання 3а
- •Задание 4
- •Завдання 4а
- •Задание 5 Инструкция выбора if
- •34 Меньше 67
- •2000 Год - не високосный
- •Завдання 8а
- •Завдання 9 Цикли
- •Завдання 9а
- •Цикл for
- •6 10 4 2 5 8 1 7 7 3 Сред, арифм. 5.30
- •10 3 6 1 10 1 3 8 7 6 Сред, арифм. 5.50
- •5 2 2 5 4 2 2 1 6 10 Сред, арифм. 3.90
- •1 3 4 2 7 4 9 6 2 1 Сред, арифм. 3.9
- •Завдання 11а
- •Завдання 14а
- •Завдання 15 Одновимірні масиви
- •Завдання 15а
- •Завдання 16 Одновимірні масиви та складний пошук
- •Завдання 16а
- •Завдання 17 Масиви із різною кількістю елементів
- •Завдання 17а
- •Завдання 18 Двовимірні масиви
- •Завдання 18а
- •Завдання 19 Двовимірні масиви
- •Завдання 19а
Самостоятельная работа № VII Конвертор.
Создайте программу перевода температур из градусов по Фаренгейту в градусы по Цельсию.
Поместите на форму компоненты Label1, Edit, Label2, Button1 и Button2 со страницы Standard палитры компонент как показано на рис.4.
В метке Label имеется свойство Word Wrap — допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Чтобы такой перенос мог осуществляться, надо установить свойство WordWrap в true, свойство AutoSize в false (чтобы размер компонента не определялся размером надписи) и сделать высоту компонента такой, чтобы в нем могло поместиться несколько строк. Если WordWrap не установлено в true при AutoSize равном false, то длинный текст, не помещающийся в рамке метки, просто обрезается.
Перейдите в обработчик события OnClick сделав двойной щелчок на компоненте Buttonl на форме.
При вводе из окна числовой информации надо использовать функции StrToInt(s) - преобразование строки s в целое значение и StrToFloat(s) – преобразование строки s в значение с плавающей запятой (описание смотрите в лекции). После десятичной точки должно быть 4 цифры.
Затем выполните перевод температур по формуле: С = (5 : 9) * (F— 32), где С - это температура по шкале Цельсия, a F -- по шкале Фаренгейта.
Потом вам надо занести в метку смешанную информацию, состоящую из строк символов и чисел. Для этого воспользуйтесь функциями FloatToStrF(n) и IntToStr(k), переводящие соответственно число n с плавающей запятой и целое число k в строки. При вызове функции FloatToStrF(n,f,k,m) указывают: f — формат; k — точность; m— количество цифр после десятичной точки. Формат определяет способ изображения числа: ffGeneral — универсальный; ffExponent — научный; ffFixed — с фиксированной точкой; ffNumber — с разделителями групп разрядов; ffCurrency — финансовый. Точность — нужное общее количество цифр.
Для формирования текста, состоящего из нескольких фрагментов, можно использовать операцию ”+”, которая для строк означает их склеивание (конкатенацию).
Рис.4 Вид формы конвертора
Сделайте, чтобы в TEdit можно было вводить только числа.
Для этого вам надо поместить следующий код в OnKeyPress любого TEdit'а:
// Key – код нажатой клавиши
// проверим является ли символ допустимым
if ((Key >= '0') && (Key <= '9')) // цифра
return;
else if ((Key == '.') || (Key == ','))
{
// DecimalSeparator - глобальная переменная - разделитель целой и дробной части, содержит символ, используемый в качестве разделителя при записи дробных чисел.
if ((Edit1->Text).Pos(DecimalSeparator) != 0)
Key = 0; // разделитель уже введен
else // если ещё нет
Key = DecimalSeparator;
return;
}
if (Key == VK_BACK) // клавиша <Backspace>
return;
if (Key == VK_RETURN) // клавиша <Enter>
{
Edit1->SetFocus(); //делаем компонент активным: в его поле можно набирать и выводить текст;
return;
}
// остальные клавиши запрещены
Key = 0; // код запрещенных символов заменим нулем, в результате символ в поле редактирования не отобразится
Для того, чтобы после нажатия на кнопку завершить форма закрылась используйте метод Close(), который закрывает форму.