Использование графических операторов в Borland Paskal
Міністерство Освіти і Науки , Молоді та Спорту України
Національний Технічний Університет «ХПІ»
Кафедра «Гідравлічні
і пневматичні машини»
КУРСОВА РОБОТА
З
інформатики
Виконав:
студент Дикий Р. 0
група ЕМ-30
Перевірив:
Гришин
О.М.
Харків 2011
Зміст
1 Використання графічних операторів у Borland Pascal 3
1.1 Деталь накреслена в Microsoft Office Visio 3
1.2 Текст програми , що креслить з’єднання деталей , написаної в середі програмування Turbo Pascal 3
1.3 Список підпрограм 8
1.3.1 Процедура яка креслить шпильку 8
1.3.2 Процедура яка креслить верхню гайку із шайбою 9
1.3.3 Процедура яка креслить нижню гайку із шайбою 9
1.3.4 Процедура яка креслить капелюшок болта 10
1.3.5 Процедура яка креслить осьову лінію 10
1.3.6 Процедура яка креслить дві з’єднанні деталі 10
1.3.7 Процедура що показує відстань між центрами двох шпильок 11
1.4 Результат роботи програми 11
2 Знаходження коренів нелінійного рівняння 12
2.1 Знаходження коренів нелінійного рівняння графічним методом 12
2.1.1 Текст програми для розрахунку з функції 12
2.1.2 Результат роботи програми 13
2.1.3 Побудова графіка функції за допомогою “Grapher ” 13
2.2 Знаходження коренів нелінійного рівняння методом порозрядного наближення 14
2.2.1 Текст програми 15
2.3 Знаходження коренів нелінійного рівняння за допомогою MS Office Excel 16
Список
джерел 17
1 Використання графічних операторів у Borland Pascal
1.1 Деталь накреслена в Microsoft Office Visio
1.2 Текст програми , що креслить з’єднання деталей , написаної в середі програмування Turbo Pascal
program IIInuJLbka;
uses crt,graph;
var
gd,gm:integer; df,dr,dx,dy,dd,dp:integer;
procedure Shp(x,y,l,d:integer);
begin
dr:= y+l+round(d*0.2);
df:= round(d*0.1);
setcolor(15);
bar(x,y,x+d,y+L);{
rectangle(x,y,x+d,y+L);{OSNOVA SHPILKI}
line(x,y,x+df,y-round(d*0.2));
line(x+d,y,x+d-df,y-round(d*0.
line(x+df,y-round(d*0.2),x+d-
line(x,y+l,x+
line(x+d,y+l,
line(x+df,dr,x+d-df,dr);{
setcolor(15);
line(x+round(0.1*d),y-Round(d*
line(x+d-round(0.1*d),y-round(
end;
procedure GaykaV(x,y,d:integer);
begin
dx:=x-round(0.6*d); dd:=round(d*0.35);
dy:=round(d*0.8);dr:=round(d*
bar(dx,y-round(0.8*d),x+d+
rectangle(dx,y-round(0.8*d),x+
arc(dx+dd, y-round((0.8*d)/1.9), 0, 180,dd);
arc(dx+(dd*3),y-round((0.8*d)/
arc(dx+(dd*5),y-round((0.8*d)/
line(dx+(dd*2), y-round((0.8*d)/1.9),x-
round(0.6*d)+(dd*2), y);
line(dx+(dd*4), y-round((0.8*d)/1.9),x-round(
bar(dx-dr,y,x+d+round(0.6*d)+
rectangle(dx-dr,y,x+d+round(0.
end;
procedure GaykaN(x,y,d:integer);
begin
dx:=x-round(0.6*d); dd:=round(d*0.35); dy:=round(d*0.8); dr:=round(d*0.15);
bar(dx,y-round(0.8*d),x+d+
rectangle(dx,y-round(0.8*d),x+
arc(dx+dd, y-round((0.7*d)/1.9), 180, 0,dd);{duga1 n}
arc(dx+(dd*3),y-round((0.7*d)/
arc(dx+(dd*5),y-round((0.7*d)/
line(dx+(dd*2), y-round(0.23*d),dx+(dd*2), y-dy);
line(dx+(dd*4), y-round(0.23*d),dx+(dd*4), y-dy);
bar(dx-dr,y-dy,x+d+round(0.6*
rectangle(dx-dr,y-dy,x+d+
end;
procedure Shlyapka(x,y,d:integer);
begin
dx:=x-round(0.6*d); dd:=round(d*0.35); dy:=round(d*0.8);
bar(dx,y-round(0.8*d),x+d+
rectangle(dx,y-round(0.8*d),x+
arc(dx+dd, y-round((0.8*d)/1.9), 0, 180,dd);
arc(dx+(dd*3),y-round((0.8*d)/
arc(dx+(dd*5),y-round((0.8*d)/
line(dx+(dd*2), y-round((0.8*d)/1.9),x-round(
line(dx+(dd*4), y-round((0.8*d)/1.9),x-round(
end;
procedure Midline(x,y,l,d:integer);
begin
setlinestyle(4,$ff18,1);{Stil Linii}
line(x+round(d/2),y-round(l/5)
end;
procedure Detal(x,y:integer);
var k,l:integer;
begin
setlinestyle(
setbkcolor(0);
setcolor(15);{
moveto(x,y);
linerel(500,0)
linerel(0,-
linerel(-150,
linerel(0,40);
linerel(-200,
linerel(0,-40)
linerel(-150,
linerel(0,140)
moveto(x,y-60)
linerel(130,0)
linerel(0,15);
linerel(240,0)
linerel(0,-15)
linerel(130,0)
moveto(200,y-
linerel(240,0)
setfillstyle(
floodfill(203,
dx:=200;
dy:=y-52;
repeat
line(dx,dy,dx+4,dy-4);
line(dx+4,dy-4,dx+8,dy);
dx:=dx+8;
until dx>=440;
setfillstyle(
floodfill(x+2,
setfillstyle(
floodfill(202,
end;
procedure razm(x1,x2,y:integer);
begin
setlinestyle(0,15,1);
line(x1+15,y-38,x2+15,y-38);{
moveto(x2+15,y-38);{Strelka right}
linerel(-9,3);
moveto(x2+15,y-38);
linerel(-9,-3);
moveto(x1+15,y-38);{Strelka LEFT}
linerel(9,3);
moveto(x1+15,y-38);
linerel(9,-3);
moveto(x1+180,y-46);
outtext('500');
end;
begin
initgraph(gd,gm,'x:\tp\egavga.
detal(70,300);
Shp(125,115,230,30);
gaykaV(125,153,30);
gaykaN(125,331,30);
Shp(500,115,230,30);
gaykaV(500,153,30);
gaykaN(500,331,30);
Shp(295,181,155,30);{bolt}
Shlyapka(295,199,30);
gaykaN(295,331,30);
midline(295,181,155,30);
midline(125,125,200,30);{
midline(500,125,200,30);
razm(125,500,125);
readkey;
closegraph;
end.
1.3 Список підпрограм
1.3.1 Процедура яка креслить шпильку
Shp(x,y,l,d:integer);
Параметрами x,y задаються координати лівого нижнього краю деталі. Параметром l задається довжина деталі. Параметром d задається ширина деталі. Усі параметри цілого типу.
1.3.2 Процедура яка креслить верхню гайку із шайбою
GaykaV(x,y,d:
Параметрами x,y задаються координати лівого нижнього краю гайки.
Параметром d задається діаметр гайки. Усі параметри цілого типу.
1.3.3 Процедура яка креслить нижню гайку із шайбою
GaykaN(x,y,d:
Параметрами x,y задаються координати лівого нижнього краю гайки. Параметром d задається діаметр гайки. Усі параметри цілого типу.
1.3.4 Процедура яка креслить капелюшок болта
Shlyapka(x,y,d:
Параметрами x,y задаються координати лівого нижнього краю капелюшка. Параметром d задається діаметр капелюшка. Усі параметри цілого типу.
1.3.5 Процедура яка креслить осьову лінію
Midline(x,y,l,d:
Параметрами x,y задаються координати лівого нижнього краю деталі , для якої креслиться осьова лінія. Параметри l,d допоміжні. Усі параметри цілого типу.
1.3.6 Процедура яка креслить дві з’єднанні деталі
Detal(x,y:
Параметрами x,y задаються координати лівого нижнього краю деталі. Усі параметри цілого типу.
1.3.7 Процедура що показує відстань між центрами двох шпильок
razm(x1,x2,y:
Параметрами x1, x2 задаються іксові координати осьових ліній шпильок. Параметром у задається висота розмірної лінії.
1.4 Результат роботи програми
Програма виконує креслення двох деталей з’єднаних двома шпильками та болтом.
2 Знаходження коренів нелінійного рівняння
2.1 Знаходження коренів нелінійного рівняння графічним методом
2.1.1 Текст програми для розрахунку з функції
uses crt;
var x,y:real;f:text;
begin
clrscr;
assign(f,'123.
rewrite(f);
x:=0;
repeat
y:=sin(x)-x+0.15;
x:=x+0.1;
writeln(f,x:4:3,' ',y:4:3);
until x>2;
close(f);
readkey;
end.
2.1.2 Результат роботи програми
| X | Y |
| 0,100 | 0,150 |
| 0,200 | 0,149 |
| 0,300 | 0,146 |
| 0,400 | 0,139 |
| 0,500 | 0,129 |
| 0,600 | 0,115 |
| 0,700 | 0,094 |
| 0,800 | 0,067 |
| 0,900 | 0,033 |
| 1,000 | -0,009 |
| 1,100 | -0,059 |
| 1,200 | -0,118 |
| 1,300 | -0,186 |
| 1,400 | -0,265 |
| 1,500 | -0,353 |
2.1.3 Побудова графіка функції за допомогою “Grapher ”
Чорна точка на графіку – корінь рівняння (перетин графіка з віссю Х), згідно з графіком X≈0.9
2.2 Знаходження коренів нелінійного рівняння методом порозрядного наближення
Метод порозрядного наближення. Перевага цього методу полягає у можливості пошуку усіх коренів відрізка [а,в] він дозволяє відмовитись від підготовчого етапу знаходження та відсіювання коренів.
2.2.1 Текст програми
uses crt;
const r=4;eps=1e-5;h=100*eps;x_end=
var c,x,y:real;i,n,k,w:integer;
function sign(x:real):integer;
begin
sign:=0;
if x>0
then sign:=1
else if x<0 then sign:=-1;
end;
function f(x:real):real;
begin
f:= SIN(x)-x+0,15;
end;
{++++++++++++++++
begin
clrscr;
x:=-10;
c:=h;
w:=sign(f(x));
repeat
repeat
x:=x+c;
if f(x)*w/c<0
then c:=-c/r;
if x>x_end
then
begin
readkey;
exit;
end;
until (abs(c)<eps/r);
c:=h;
w:=sign(f(x));
writeln('root=',x:8:5);
until false;
readkey;
end.
Результатом роботи програми
є знайдений корінь , який дорівнює
Х=0.980
2.3 Знаходження коренів нелінійного рівняння за допомогою MS Office Excel
Вводимо початкове значення Х пошуку в комірку А2, формулу записуємо у комірку В2.
| A2 | B2 | |
| 0,6 | = SIN(A2)-A2+0,15 |
Коренем рівняння є значення
в комірці А2 у випадку, коли у комірці
В2 значення функції буде дорівнювати
0. Для знаходження кореня використовуємо
пункт меню Сервіс->Підбір параметра.
| A2 | B2 | |
| 0,980 | 0 |
| Х | У |
| 0,820 | 0,061 |
| 0,840 | 0,055 |
| 0,860 | 0,048 |
| 0,880 | 0,041 |
| 0,900 | 0,033 |
| 0,920 | 0,026 |
| 0,940 | 0,018 |
| 0,960 | 0,009 |
| 0,980 | 0,000 |
| 1,000 | -0,009 |
| 1,020 | -0,018 |
Корінь рівняння можна побачити у комірці А2.
Список джерел
1. Фаронов В.В. Turbo Pascal. Курс для начинающих. М.-2005.
2. Поляков, Круглов. Язык программирования Turbo Pascal.-М.:МАИ, 1992.
3. Абрамов, Трифонов, Трифонова.
Введение в язык Паскаль.-М.:
4. Фурунжиев В.И., Бабушкин
Ф.М. Применение
5. Численные методы: Учеб.
для техникумов /Под ред. Н.И.
Данилина.-М.: Высш.шк.,1976.

- Использование графических редакторов в дизайне проектировании женских костюмов
- Использование графического метода в изучении развития животноводства
- Использование графического метода в изучении развития животноводства
- Использование графического метода и симплекс-метода в решении задач линейного программирования
- Использование дактильной речи в коммуникативной деятельности лиц с нарушением слуха
- Использование данных бухгалтерского управленческого учета в принятии решений в процессе производственной деятельности
- Использование данных бухгалтерского учета и отчетности при краткосрочных решениях
- Использование в экономики теории магисталей
- Использование генетических алгоритмов для поиска решения задач ГЭТ
- Использование геоинформационных систем для составления схемы землеустройства
- Использование геральдики в патриотическом воспитании старших дошкольников
- Использование ГИС в муниципальном и региональном управлении
- Использование горнолыжного туризма для укрепления внутрисемейных отношений
- Использование городских сточных вод для технического водоснабжения