Автор: Пользователь скрыл имя, 11 Декабря 2011 в 15:49, курсовая работа
Цель работы: Построить семейство графиков 5 функций, заданных аналитически и определенных на известном интервале изменения аргумента [a,b] для декартовой и полярной систем координат.
Задачи работы:
1. Изучить теоретический материал по теме работы и особенности применения на практике полученных теоретических знаний.
2. Решить прикладную задачу из конкретной предметной области, создав программный продукт в одной из объектно-ориентированных инструментальных сред.
3. Описать основные приёмы работы с созданным программным средством (сеанс работы).
ВВЕДЕНИЕ…………………………………………………………………………..3
Глава 1.ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ……………………………………….....5
1.1 Декартовая система координат………………………………………......9
1.2 Полярная система координат…………..………………………………..11
1.3 Связь между полярной и декартовой системами координат………….21
Глава 2. СТРУКТУРНОЕ ОПИСАНИЕ РАЗРАБОТКИ………………………….23
Глава 3. ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ…………….………………………32
Глава 4. ОПИСАНИЕ ПРИЕМОВ РАБОТЫ С ПРОГРАММОЙ………………..36
ЗАКЛЮЧЕНИЕ……………………………………………………………………..40
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ………………………………..41
ПРИЛОЖЕНИЕ………………………………………………………………….......42
Глава 2. СТРУКТУРНОЕ ОПИСАНИЕ РАЗРАБОТКИ
Задание:
Построить семейство графиков 5 функций, заданных аналитически и определенных на известном интервале изменения аргумента [a,b] для декартовой и полярной систем координат.
Указания: В программе предусмотреть меню, позволяющее выбрать от 1 до 5 аналитически заданных функций для построения их графиков. Рисование графиков должно выполняться последовательно: каждый очередной график (начиная со 2-го) должен быть добавлен к ранее нарисованным.
При выполнении задания использовать модульный стиль программирования: создать модуль, содержащий процедуры и функции, обеспечивающие расчеты смещений осей и масштабирующих коэффициентов в новой системе координат, построение на экране осей системы координат со всеми необходимыми элементами их оформления, рисование графика функции. Основная программа должна содержать ввод исходных данных (интервал [a,b]), аналитический вид функции (для описания которого использовать функциональный тип) и обращения к необходимым процедурам и функциям модуля.
Таблица 1
Компоненты формы
№ | Страница | Имя компонента | Свойство | Примечание |
1 | 2 | 3 | 4 | 6 |
1 | Additional | Series1 |
TPointSeries |
Выберите функцию |
2 | Additional | Series2 | TPointSeries |
Начальное ограничени |
3 | Additional | Series3 | TPointSeries |
Конечное ограничение |
4 | Additional | Series4 | TPointSeries |
Выбирете функцию в полярной системе. |
5 | Additional | Series5 | TPointSeries |
Задайте коэффициент а |
6 | Additional | Series6 | TPointSeries |
Задайте коэффициент b |
7 | additional | Series7 | TPointSeries |
Задайте коэффициент alfa |
8 | win32 | PageControl1 |
TPageControl |
Рисование графиков |
9 | Standard | Label |
caption |
Ограничения |
10 | Standard | ComboBox1 | items
text |
Позволяет разместить панели декартовой системы координат и полярной системы координат |
11 | Additional | Button1 | caption | рисовать |
12 | Standard | Button2 | caption | Оси координат |
13 | Standard | Button3 | caption |
очистка |
14 | Standard | Button4 | caption |
рисовать |
Рис 1. Расположение компонентов на форме.
Компонент Delphi ComboBox
Компонент
Delphi ComboBox представляет собой комбинацию
списка строк ListBox со строкой ввода Edit.
При этом "список строк" компонента
Delphi ComboBox вначале скрыт, и раскрывается
при щелчке мышкой по треугольничку раскрытия,
который находится справа в строке ввода:
Таким образом, с помощью Delphi ComboBox
место на Форме экономится для расмещения
других элементов интерфейса программы.
А при необходимости раскрытие списка
строк можно вообще запретить.
Многие свойства и возможности компонента
Delphi ComboBox по работе со строками (объектами
Items) такие же как и у компонента Delphi ListBox, поэтому повторно описывать
их не буду. Опишу отличия и дополнительные
возможности.
Итак, за возможность раскрытия компонента
ComboBox отвечает стиль - свойство Style:
Стиль
компонента ComboBox1равенComboBox1.Style= |
Количество строк, видимых при
раскрытии списка, равно DropDownCount.
Если реальное количество сохранённых
строк больше этого количества, то автоматически
появляется полоса прокрутки. Программист
может заставить список раскрыться в нужный
момент. Для этого нужно свойству DroppedDown
присвоить значение True. Для этой же цели
пользователь может использовать клавиатурную
комбинацию ALT+ВНИЗ.
Максимально допустимое количество символов
в текстовой строке задаётся параметром
MaxLemgth, причём значение 0 означает отсутствие
ограничений. Свойство CharCase управляет
преобразованием вводимого текста к верхнему
(значение CharCase = ecUpperCase) или нижнему (значение
CharCase = ecLowerCase) регистру. Значение ecNormal
означает, что текст вводится без преобразования.
Основными событиями компонента Delphi ComboBox
являются:
|
Компонент
приложения, содержащий несколько страниц,
каждая из
которых имеет ярлычок в виде закладки,
называется элементом с заклад-
ками. Страницы пользователь может выбирать
сам, щелкая по закладкам
(корешкам или ярлычкам). Количество страниц
можно регулировать, а
также можно переключаться по страницам
с помощью пунктов контекст-
ного меню. Для вызова компонента с закладками
воспользуемся пунктом
главного меню: File/New/Other…. В диалоговом
окне New Items на за-
кладке Form выбрать пиктограмму Tabbed pages.
При таком вызове окно с
вкладками - это разновидность форм среды
Delphi. Данная разновидность
формы содержит набор кнопок (Ok, Cancel,
Help) которые можно удалить
либо запрограммировать на действие.
Компонент
PageControl
Компонент
PageControl (вкладкой Win32 панели компонентов)
также позволяет создать многостраничный
блокнот (элемент с закладка-
ми). В данном случае он выступает как обычный
компонент, расположен-
ный на форме. Данный компонент является
контейнером и может содер-
жать в себе другие элементы или группы.
При расположении компонента
на форме на нем нет страниц. Добавить
страницы можно с помощью пунк-
та контекстного меню New Page. Каждая
страница блокнота TabSheet рас-
сматривается как отдельный компонент,
ее свойства аналогичны свойст-
вам, описанным в предыдущих разделах.
Название страницы – Caption.
Основные свойства компонента представлены
в табл. 5.7.
Таблица 5.7. Свойства компонента PageControl
procedure parabola (a,b:integer);
procedure osi(x,x1,y,y1:real);//рисует оси координат исходя из наибольшего и наименьшего значений графиков
procedure x2_1 (a,b:integer);
procedure sinus (a,b:integer);
procedure list (a,b:integer);
procedure logo(a,b:integer);
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,x,i:integer;
begin
if spinedit1.Value>=spinedit2.
begin
messagedlg('Не правильно введен интервал',mterror,[mbok],1);
exit;
end;
a:=spinedit1.Value;
b:=spinedit2.Value;
case combobox1.ItemIndex of
0:parabola(a,b);
1:x2_1(a,b);
2:sinus (a,b);
3:list (a,b);
4:logo(a,b);
else
messagedlg('Функция не выбрана',mterror,[mbok],1);
end;
//osi();
end;
procedure TForm1.Button2Click(Sender: TObject);
var
a,b:integer;
r,alfa,h:real;
begin
a:=spinedit3.Value;
b:=spinedit4.Value;
try
alfa:=strtofloat(edit1.text);
except
messagedlg('Ошибка ввода параметра Alfa',mterror,[mbok],1);
exit;
end;
case combobox2.ItemIndex of
0:topolar(a,b,alfa,0);
1:topolar(a,b,alfa,3);
2:topolar(a,b,alfa,4);
3:begin
if alfa=0 then
begin
messagedlg('Параметр Alfa должен быть больше нуля!',mterror,[mbok],1);
end;
topolar(a,b,alfa,5);
end;
4:topolar(a,b,alfa,6);
else
messagedlg('Функция не выбрана',mterror,[mbok],1);
end;
procedure
TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
for i:1 to 6 do
Form1.Chart1.Series[i].Clear;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
osi(chart1.LeftAxis.Maximum,
end;
procedure
TForm1.Button4Click(Sender: TObject);
begin
osi(chart1.LeftAxis.Maximum,
end;
Глава 3. ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ
В данной программе используются основные процедуры такие как:
procedure x2_1 (a,b:integer);
procedure sinus (a,b:integer);
procedure list (a,b:integer);
procedure logo(a,b:integer);
Общая блок-схема алгоритма
Блок-схемы основных процедур и функций
procedure list (a,b:integer);
var
i:integer;
begin
Информация о работе Построение семейства графиков функций вида Y=F(X)