Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Задания для самостоятельной работы

Используя материал предыдущих занятий решить следующие задачи. Каждую задачу оформлять в виде отдельного приложения. Рекомендуется каждое приложение сохранять в отдельной папке. Продумывать интерфейс с пользователем, чтобы пользо­вателю было удобно работать с вашим приложением. Для разработки интерфейса использовать интерфейсные компоненты Windows: Label, Edit, Bitton.

  1. Hайти минимальное из 5-ти чисел. Вывести результат.

  2. Введите четыре веществ числа. Определите можно ли построить четырехугольник с длинами сторон, равными этим числам.

  3. Заданы тарифы на оплату электроэнергии. Если использовано от 1 до 100 киловатт-час (кВт. час), то плата А рублей за каждый кВт. час. Если использовано больше 100 кВт. час, то за каждый кВт. час от 101 до 200 - плата B руб. а за каждый кВт. час свыше 200 - плата C руб. Составьте алгоритм, вычисляющий, сколько надо заплатить за ис­пользование N кВт. часов электроэнергии.

  4. Введите порядковый номер дня недели. Выдайте название дня недели.

  5. Ввели 6-ти значное число. Является ли оно счастливым, т.е. равна ли сумма первых 3-х цифр сумме 3-х последних.

  6. Ввели 6-ти значное число. Является ли оно перевертышем, т.е. одина­ково читается как справа налево, так и слева направо.

  7. Заданы тарифы на перевозки грузов. За перевозку тонны груза на расстояние от 1 до 1000 километров (км) плата А рублей за каждый км. Если груз перевозится на расстояние больше 1000 км, то за каждый км от 1001 до 2001 перевозка тонны груза стоит B рублей за каждый км., а за каждый км свыше 2000 перевозка тонны груза стоит C руб. за км. Составьте алгоритм, вычисляющий, сколько надо заплатить за пере­возку одной тонны груза на N км.

  8. Электронные часы показывают P часов, M минут, S секунд. Напишите программу, вычисляющую время в часах, минутах и секундах, которое будут показывать часы через 2 минуты 10 секунд.

  9. Поле шахматной доски определяется парой (m, n) натуральных чисел (m от 1 до 8, n от 1 до 8). Первое число - номер строки (номер гори­зонтали), второе число - номер столбца (номер вертикали). Даны натураль­ные числа k, l, m, n, каждое из которых не больше 8. Определить:

а) являются ли поля (m,n) и (k,l) полями одного цвета;

б) угрожает ли полю (m,n) ферзь, находящийся на поле (k,l).

в) угрожает ли конь, стоящий на поле (k,l) полю (m,n).

  1. В кассе имеются только 3-х и 5-ти рублевые купюры (как это было в 1980 году). Составить программу, которая бы "выплачивала" такими купю­рами любую сумму более 7 рублей.

  2. Ввести коэффициенты квадратного трехчлена, вывести значения корней квадратного уравнения. В случае, если корни не существуют выдать сообщение.

Списки. Компоненты ListBox и ComboBox

Для создания удобного интерфейса с пользователем используются списки выбора. Мы познакомимся с двумя видами списков: ComboBox, ListBox. Списки содержат элементы, которые могут быть выбраны при помощи клавиатуры или мыши. Компоненты TListBox и TComboBox отличаются внешним видом на экране. TListBox – это прокручиваемый список возможных выборов, на экране видны несколько элементов списка. TComboBox – это выпадающий или компактный список выборов, на экране видим только один элемент, при распахивании списка вы можете видеть несколько элементов. Отличие состоит еще и в том, что компонент TComboBox – это поле редактирования со списком, т.е. пользователь может либо ввести нужное значение вручную, либо выбрать его из списка. То, что пользователь ввел в TComboBox, будет содержаться в свойстве Text. TListBox не позволяет добавлять новые элементы в список. Ниже перечислены основные свойства списков.

Таблица

Основные свойства компонентов ListBox и ComboBox

Свойство

Описание

1

2

Align

Выравнивание внутри формы ( для ListBox).

BorderStyle

Стиль границы ( для ListBox).

Color

Цвет фона.

Columns

Число столбцов в списке ( для ListBox).

Ctl3D

Придать трехмерный вид.

ExtendedSelect

Только для ListBox, определяет, можно ли выбрать несколько последовательно расположенных элементов. Работает совместно со свойством MultiSelect. С помощью клавиш Shift – смежные выделения; Ctrl – несмежные выделения.

MultiSelect

Только для ListBox; разрешены ли выделения нескольких элементов.

Selected

Массив, позволяющий определить, какие элементы списка выбраны.

ItemIndex

Содержит порядковый номер выделенного элемента списка, нумерация с нуля.

Items

Объект типа TString, массив строк, содержащий элементы списка, имеет свои методы для работы со списком:

Text

Только для TComboBox, содержит текст, введенный пользователем, позволяет задавать элемент, который первоначально будет видим в списке.

Style

Задает стиль списка. Может принимать одно из следующих значений:

DropDownList – для ComboBox, в список нельзя вводить новые значения;

Standart – нормальный строковый, все строки одинаковой высоты;

OwnerDrawFixed – каждый элемент имеет вы- соту, определенную свойством ItemHeight;

OwnerDrawVariable – элементы списка могут иметь переменную высоту.

Самое важное при работе со списком – это задание элементов списка и определение элемента, выбранного пользователем. Для задания элементов списка можно использовать свойство Items, доступ к которому можно получить с помощью Инспектора объектов.

Для ввода значений в это свойство необходимо щелкнуть на трех точках, при этом открывается окно редактора свойств (String List Editor), в котором и вводятся значения списка, по одному на каждой строчке:

Для определения выбранного элемента используется свойство ItemIndex, которое содержит номер выбранного элемента, нумерация с нуля.

Для демонстрации работы списка выполним следующее упражнение: в форме создадим список, содержащий названия времен года: зима, весна, лето, осень. С помощью функции ShowMessage отобразим выбор пользователя. Вид формы:

По кнопке «Ввод» работает обработчик:

procedure TForm1.Button1Click(Sender: TObject);

begin

case ComboBox1.ItemIndex of

0: ShowMessage ('Зима');

1: ShowMessage ('Весна');

2: ShowMessage ('Лето');

3: ShowMessage ('Осень');

end;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]