直线插补流程图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
直线插补与圆弧插补程序设计一.直线插补
1.直线插补程序流程图
直线插补程序设计:
#include"stdio.h"
#include"math.h"
void CHABU1 (int F,int n,int Y,int X) /*第一象限调用函数*/
{
int nx=0,ny=0;
for(;n>0; n--)
{
printf("运算前:F=%d ",F);
i f(F>=0)
{
printf("需走步数:
n=%d\n",n);
printf("------向
+xe方向走一步 ");
F=F-Y;
printf("F=%d
",F);
printf("+X\n");
nx++; /*X方向走的总步数*/
}
e lse
{
printf("需走步数:
n=%d\n",n);
printf("------向
+ye方向走一步 ");
F=F+X;
printf("F=%d
",F);
printf("+Y\n");
ny++; /*y方向走的总步数*/
}
}
printf("nx=%d,ny=%d\n",nx,ny);
void CHABU2(int F,int n,int Y,int X) /*第二象限调用函数*/
{
int nx=0,ny=0;
for(;n>0; n--)
{
printf("运算前:F=%d ",F);
if(F>=0)
{
printf("需走步数:
n=%d\n",n);
printf("------向-xe方向走一步 ");
F=F-Y;
printf("F=%d ",F);
printf("-X\n");
nx++; /*X方向走的总步数*/
}
else
{
printf("需走步数:n=%d\n",n);
printf("------向+ye方向走一步 ");
F=F+X;
printf("F=%d ",F);
printf("+Y\n");
ny++; /*y方向走的总步数*/
}
}
printf("nx=%d,ny=%d\n",nx,ny);
}
void CHABU3(int F,int n,int Y,int X) /*第三象限调用函数*/
{
int nx=0,ny=0;
for(;n>0; n--)
{
printf("运算前:F=%d ",F);
if(F>=0)
{
printf("需走步数:n=%d\n",n);
printf("------向-xe方向走一步 ");
F=F-Y;
printf("F=%d ",F);
printf("-X\n");
nx++; /*X方向走的总步数*/
}
else
{
printf("需走步数:n=%d\n",n);
printf("------向-ye方向走一步 ");
F=F+X;
printf("F=%d ",F);
printf("-Y\n");
ny++; /*y方向走的总步数*/
}
}
printf("nx=%d,ny=%d\n",nx,ny);
}
void CHABU4(int F,int n,int Y,int X) /*第四象限调用函数*/
{
int nx=0,ny=0;
for(;n>0; n--)
{
printf("运算前:F=%d ",F);
if(F>=0)
{
printf("需走步数:
n=%d\n",n);
printf("------向+xe方向走一步 ");
F=F-Y;
printf("F=%d ",F);
printf("+X\n");
nx++; /*X方向走的总步数*/
}
else
{
printf("需走步数:n=%d\n",n);
printf("------向-ye方向走一步 ");
F=F+X;
printf("F=%d ",F);
printf("-Y\n");
ny++; /*y方向走的总步数*/
}
}
printf("nx=%d,ny=%d\n",nx,ny);
}
main()
{
int F=0,X=0,Y=0,n,xe,ye,x0,y0,ny,nx;
void CHABU1 (int,int,int,int);/*函数声明*/
void CHABU2(int,int,int,int);
void CHABU3(int,int,int,int);
void CHABU4(int,int,int,int);/*函数声明*/
printf("输入相关数据\n");
printf("x0=");
scanf("%d",&x0);
printf("xe=");
scanf("%d",&xe);
printf("y0=");
scanf("%d",&y0);
printf("ye=");
scanf("%d",&ye);
X=abs(xe-x0); /*取绝对值*/
Y=abs(ye-y0); /*取绝对值*/
/*printf("X=%d\n",X);验证绝对值函数*/
n=X+Y;
printf("n=%d\n",n); /*总步数*/
printf("运动结果如下:\n");