Задача табулирования функции

Автор: Пользователь скрыл имя, 19 Февраля 2013 в 11:33, практическая работа

Описание работы

Цель работы. Создать форму для решения задачи табулирования функции. Создать главное меню (объект типа MainMenu), содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню (PopupMenu) с командой для очистки поля вывода. Результаты табулирования вывести в многострочное поле редактирования (объект типа Memo). Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трёх флажков (объектов типа CheckBox), расположенных на панели группы объектов (типа GroupBox) (см. рис. 9).

Работа содержит 1 файл

лАБ_РАБ№3_Делфи.doc

— 114.50 Кб (Скачать)

ПРАКТИЧЕСКАЯ  РАБОТА № 3.

ЗАДАЧА ТАБУЛИРОВАНИЯ  ФУНКЦИИ

Изучение объектов: Memo, MainMenu, PopupMenu, CheckBox, GroupBox. Программирование циклов

Цель работы. Создать форму для решения задачи табулирования функции. Создать главное меню (объект типа MainMenu), содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню (PopupMenu) с командой для очистки поля вывода. Результаты табулирования вывести в многострочное поле редактирования (объект типа Memo). Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трёх флажков (объектов типа CheckBox), расположенных на панели группы объектов (типа GroupBox) (см. рис. 9).

Теоретические сведения. Объект Memo применяют для создания многострочного редактора текста. Кроме обычных свойств, поле редактирования Memo обладает еще такими:

 

Свойство

Описание свойства

Примеры значений

HideSelection

Сохранение выделения фрагмента  текста в момент потери фокуса

True (выделение не сохраняется), False (сохраняется)

Lines

Ввод начального текста в поле редактирования

Комплексное свойство (задается в диалоговом окне)

MaxLength

Максимально возможное  количество введенных символов

Например, 50 - пятьдесят  символов, 0 - без ограничений

ScrollBars

Наличие полос прокрутки

ssNone (отсутствуют), ssHorizontal (горизонтальная), ssBoth (обе)


 

Объект CheckBox используют для создания независимого двух или трехпозиционного флажка: включен /выключен (/серый). Для этого объекта определены такие два новых свойства:

 

Свойство

Описание свойства

Примеры значений

AllowGrayed

Наличие третьей позиции

True (трёхпозиционный флажок),

False (двухпозиционный флажок)

State

Состояние флажка

cbGrayed (серый), cbUnchecked (отключен), cbChecked (включен)


 

Панель группы объектов GroupBox предназначена для размещения на ней группы из нескольких объектов. Панель группы используют для улучшения дизайна окна программы. Свойства этого объекта аналогичны описанным выше.

С помощью объекта MainMenu создают главное меню программы. Вот некоторые свойства главного меню:

 

Свойство

Описание свойства

Примеры значений

Items

Команды меню

Комплексное свойство (задается в диалоговом окне)

Tag

Вспомогательная переменная, используется в тексте программы

0; 8 (целое число)


 

С помощью объекта PopupMenu создают контекстное меню некоторого компонента. Для «связывания» контекстного меню с конкретным объектом необходимо свойству PopupMenu этого объекта присвоить значение имени (Name) соответствующего контекстного меню. Рассмотрим некоторые свойства контекстного меню:

 

Свойство

Описание свойства

Примеры значений

Alignment

Выравнивание меню относительно точки  щелчка по правой клавише мыши

paCenter (по центру), paLeft (слева), paRight (справа)

AutoPopup

Автоматический вызов  контекстного меню

True (вызовется при щелчке по правой клавише),

False (вызовется с помощью метода Popup)


 

Конкретная команда  меню (главного или контекстного) может  иметь такие свойства:

 

Свойство

Описание свойства

Примеры значений

Break

Разбивка меню в горизонтальном направлении

mbNone (без разбивки), mbBarBreak (разбивка с вертикальной черточкой),

 mbBreak (разбивка без вертикальной черточки)

Shortcut

Комбинация "горячих" клавиш для  вызова команды меню

Ctrl+A, F8, Ctrl+FlO, Shift+F3,

Shift+Ctrl +F11, Ctrl-HDel


 

Ход работы:

1.    Загрузите среду визуального программирования Delphi.

2.    Поменяйте  заголовок (Caption) формы с «Form1» на «Табулирование   функции»   (без кавычек)  и увеличьте размеры формы в вертикальном направлении.

3.    Смените пиктограмму  в левом верхнем углу формы,  указав конкретный файл с рисунком  пиктограммы в поле значения  свойства Icon (пиктограмма) формы.

Щелкните в строке Icon на …, а потом на кнопке Load окна Picture Editor, чтобы получить окно Load picture. Откройте папку

С: \ Program Files \ Borland \ Delphi x.O \ Images \ Icons,

выберите графический  файл с любой пиктограммой => Open => Ok.

4.    Сохраните  выполненную на данный момент  форму в своей папке (File=>Save All).

5.   Расположите   в   форме   поля   редактирования   Edit1,   Edit2, Edit3 и соответствующие им текстовые поля «Левая грани-«Левая граница», «Правая граница», «Шаг», а также текстовое поле для задания вида данной функции y=sin(x) +1 (см. рис. 9).

 

рис. 9

Замечание. Чтобы быстро вставить в форму несколько однотипных объектов, щелкните на пиктограмме этого объекта, удерживая нажатой клавишу Shift, а потом - на форме необходимое количество раз. Если случайно вставите лишний объект, то удалить его можно с помощью клавиши Delete. Для отказа от режима вставки щелкните на изображении стрелки на палитре компонентов. Размер, стиль и цвет шрифта выберите на своё усмотрение так, чтобы форма выглядела как можно лучше. Save all.

6. Выровняйте вставленные поля  редактирования к левому краю первого объекта и отцентрируйте текстовое поле с указанием функции, воспользовавшись окном выравнивания Alignment.

Выделите группу полей редактирования вместе с подписями к ним и  выполните команды Edit (редактировать).=> Align (выровнять) => Horizontal - Left sides (горизонтально - левые границы) => Vertical - Space equally (вертикально - равномерно) => Ok. Выделите текстовое поле с выражением для функции и выполните команды Edit => Align  => Horizontal - Center in Window ( горизонтально - к центру окна) => Ok. Save All.

7.    Вставьте  в   форму   панель  группы  объектов   (объект  типа GroupBox).

Компонента GroupBox находится на закладке Standard. Поменяйте значение свойства Caption (подпись) этого объекта на слово «Вывод» (без кавычек). Размер, стиль и цвет шрифта выберите на своё усмотрение. Увеличьте панель группы.

8.    Вставьте на панель  три флажка (объекты типа CheckBox).

Для этого используйте компоненту CheckBox закладки Standard палитры компонентов Delphi. Выровняйте флажки, выделив их заблаговременно (см. п. 6). Поменяйте значения свойства Caption (подпись) этих объектов. Стиль и цвет шрифтов выберите на своё усмотрение.

9.    Установите   флажки   «На   экран»   и   «В   массив»   в   режим «включен». Для этого выделите эти объекты и смените значения их свойств Checked (контроль выбора) на True.

10.  Вставьте в форму многострочное  поле редактирования (объект типа  Memo).

Компонента Memo  находится на закладке Standard. Увеличьте размеры поля. Значение свойства ScrollBars (наличие полос прокрутки) этого объекта задайте как ssBoth (наличие двух полос - вертикальной и горизонтальной). File => Save All.

11.  Задайте начальные значения  для полей редактирования левой  и правой границ аргумента  функции и для шага изменения  аргумента.

Для этого поменяйте значения свойства Text этих объектов. Для ввода символа десятичной точки примените символ, предусмотренный операционной системой компьютера.

12.  Удалите   из   многострочного   поля   редактирования   слово  Memo1.

Для этого в окне Object Inspector смените значение свойства Lines (строки) объекта Memol. Вызовите окно редактирования этого свойства (окно String list editor - редактор многострочного поля), нажав на кнопку. Удалите слово Memol и для завершения работы с этим окном щелкните на кнопке Ok.

 

Рис.10.

13.  Вставьте в форму  главное и контекстное меню (объекты  типа MainMenu и PopupMenu).

Компоненты MainMenu  и PopupMenu  находятся на закладке Standard. Расположите их пиктограммы в произвольном месте формы (на этапе выполнения программы они будут невидимыми).

    1. Введите названия команд главного меню формы (см. рис. 11 и рис. 12).

Рис.11.      Рис.12.

 

Выберете объект MainMenu1 и дважды щелкните на значении его свойства Items. Другой способ - дважды щелкните на самом объекте.

Закройте окно создания команд главного меню Form1 .MainMenu1.

15. Введите названия  команд контекстного меню формы.

Для этого аналогично как для главного меню поменяйте  значения свойства Items объекта PopupMenu1 в окне Form1.PopupMenu1 (как вызвать это окно см. п. 14). В окне Object Inspector введите значение свойства Caption — «Очистить поле вывода» (без кавычек, рис.13). Можете придумать и задать еще несколько команд. Закройте окно Form1 .PopupMenu1. Сохраните форму (Save All).

Рис.13.

16. Запрограммируйте команду  «Очистить поле вывода» главного меню с помощью метода Clear объекта Memol.

Методы объекта - это  набор процедур и функций, которые  аналогично свойствам применяют  к объекту. Как и в случае свойства, имя объекта от имени метода отделяется точкой. Щелкните по команде меню «Очистить поле вывода». Появится заготовка процедуры реакции на событие вызова этой команды. В нее запишите команду вызова метода Clear для очистки поля вывода объекта Memol:

procedure TForm1 .N3Click(Sender: Tobject);

(Здесь N3 - имя  команды «Очистить поле вывода» у Вас может быть другой номер, его не исправляйте}

begin

{Вызовем метод  объекта Memo1, очищающий}

Memo1.Clear

{многострочное  поле редактирования}

end;               {Теперь щелкните на форме}

17. Запрограммируйте     команду     «Выход»     главного     меню, воспользовавшись стандартной процедурой Close.

procedure TForm1 .N6Click(Sender: Tobject);

{Здесь N6 - имя команды "Выход"}

begin

Close           {Закрываем окно программы}

end;            {Теперь щелкните на форме}

Сохраните выполненную на данный момент форму в своей папке (File=>Save All).

18.  Запрограммируйте  команду «Очистить поле вывода»  контекстного меню.

Дважды щелкните на команде  контекстного меню «Очистить поле вывода»  в окне Form1.PopupMenu1 (вызов этого окна см. в п. 14). Текст процедуры очистки такой же, как и для команды главного меню: Memol.Clear (см. п. 16).

19.  «Свяжите» контекстное  меню PopupMenu1 с формой Form1. Щёлкните на форме и задайте свойство формы PopupMenu как

PopupMenu1.

Замечание. Значение свойства формы Menu автоматически устанавливается как MainMenu1 в момент создания главного меню (п. 13).

20. Запустите созданную  на этот момент программу и  исследуйте ее работу.

Поупражняйтесь с многострочным  полем редактирования Memol, вводя и корректируя в нем некоторый текст. Обратите внимание на то, что в этом окне можно выполнять такие же действия с текстом, как и в текстовом редакторе: выделять фрагмент текста, копировать, переносить или удалять этот фрагмент. Вытрите текст с помощью команды главного меню «Очистить поле вывода». Еще раз введите текст и вытрите его с помощью контекстного меню (для вызова контекстного меню формы нужно щелкнуть правой клавишей мыши на свободном месте формы). Закончите работу программы, щелкнув на кнопке «Выход».

21.  Запрограммируйте команду «Табулировать».

Свойство Lines объекта типа Memo комплексное, то есть оно также является объектом со своими свойствами и методами. Результат работы данной программы - это таблица, которая состоит из нескольких строк. Чтобы добавить в поле Memol новую строку таблицы, надо поменять значения комплексного свойства Lines (строки) с помощью его метода Add (добавить) с одним аргументом - символьной строкой: Memol.Lines.Add ('cтpокa символов'). Щелкните на команде «Табулировать» из главного меню один раз. Появится заготовка к процедуре, которую заполните так:

procedure Tforml.N2Click(Sender: TObject);

var

x, у, h, a, b   :         real;

cod             :       integer;

str1, str2       :         string;

begin

{В объект Memol вставляем строку с подписями столбцов значений аргумента и функции}

Информация о работе Задача табулирования функции