Лабораторная работа № 2.
Тема: Программирование линейных и разветвляющихся алгоритмов.
Цель работы: приобретение практических навыков программирования в Delphi линейных и разветвляющихся алгоритмов.
Используемые программные средства: Delphi.
1. Теоретические сведения
Линейными называются алгоритмы, в которых команды выполняются в последовательном порядке, т.е. одна за одной. Для их программирования используются операторы присваивания. Если в программе предусматривается проверка некоторых условий, при которых нарушается порядок выполнения команд в приложении, то такие алгоритмы называются разветвляющимися. Для их организации в языке Object Pascal используются операторы условия (if) и операторы выбора (case) (Приложение А).
Работа с компонентами
Ввод, редактирование и отображение информации выполняется в специальных полях или областях формы. Для этих целей Delphi предлагает различные компоненты.
Компоненты Edit типа TEdit (панель Standard) и MaskEdit типа TMaskEdit (панель Additional) представляют собой строку для обработки информации и относятся к Однострочным редакторам. Компонент MaskEdit, в отличие от Edit, предоставляет возможность ограничения вводимой информации по шаблону.
Основное свойство компонентов – Text, используемое для ввода и редактирования данных в текстовом виде (тип string).
Для отображения информации без возможности редактирования при выполнении программы используется компонент Label типа TLabel (панель Standard). Текст представляет собой надпись и чаще всего используется в качестве заголовков для других элементов. Основные свойства компонента Label:
Свойства компонента Label |
Описание свойств |
Alignment |
определяет способ выравнивания текста внутри компонента |
taLeftJustify |
по левому краю |
taCenter |
по центру |
taRightJustify |
по правому краю |
AutoSize |
автоматическая коррекция размеров компонента в зависимости от теста надписи |
Caption |
текст надписи |
При использовании компонентов ввода-вывода достаточно часто требуется провести преобразование типов. Например, для того чтобы вывести с помощью компонента Edit значение переменной типа real, необходимо сначала получить строковое представление переменой. Это можно сделать с помощью функции
FloatToStr(Value:extended):string
которая преобразует вещественное значение Value в строку символов. Перечень основных функций, используемых для преобразования типов, приведен в Приложении Б.
Компоненты Кнопки являются управляющими элементами и используются для выдачи команд на выполнение определенных функциональных действий. В Delphi имеются различные варианты кнопок: стандартная кнопка Button типа TButton (панель Standard), кнопка с рисунком BitBtn типа TBitBtn (панель Additional) и кнопка быстрого доступа SpeedButton типа TSpeedButton (панель Additional). На поверхности кнопки может содержаться надпись, поясняющая назначение кнопки (свойство Caption).
Основным для кнопок являются событие OnClick, возникающее при нажатии на кнопку. При этом кнопка принимает соответствующий вид, подтверждающий действие. Действия, выполняемые в обработчике события OnClick, происходят сразу после отпускания кнопки.
Для организации разветвлений в Delphi используются компоненты в виде кнопок-переключателей, состояние которых (включено-выключено) визуально отражается во время выполнения приложения: CheckBox типа TCheckBox , RadioButton типа TRadioButton и RadioGroup типа TRadioGroup . Компоненты расположены на панели Standard.
Основным свойством компонентов CheckBox и RadioButton является свойство Checked типа boolean.
Компонент RadioGroup представляет собой группу кнопок, являющихся взаимно исключающими, т.е. при выборе одного переключателя другие становятся невыбранными. Для управления количеством и названиями переключателей используется свойство Items типа TStrings, которое позволяет получить доступ к отдельным переключателям в группе. Отсчет строк в массиве Items начинается с нуля. Для работы со списком заголовков кнопок в режиме проектирования приложения значения свойства Items компонента можно изменить, используя String List Editor. Для доступа к отдельному переключателю используется свойство ItemIndex типа integer, содержащее номер переключателя. Количество столбцов для вывода информации определяется свойством Columns.