此题把数学问题转化为用C语言描述即可,很多画图问题可以使用这种方法。
假设屏幕左上角为坐标轴原点
也就是把我们的屏幕当作第一象限时,代码如下
#include <stdio.h>#define MAX 30 // 选定曲线要显示的范围,因为一次函数是一条直线,所以它的显示范围无穷
int main()
{
int x, y
for (y = 0 y < MAX y++) // 因为我们的光标是向下,向右增长。这里设定y为纵坐标
{
for (x = 0 x < MAX x++)
{
if (y == 2 * x + 5)
{
printf("*")
}
else
{
printf(" ") // 空格,不满足y=2x+5的点
}
}
printf("\n") // x轴已经到显示范围,所以需要换行。
}
return 0
}
2. 更换坐标轴原点显示
#include <stdio.h>#define MAX 30 // 选定曲线要显示的范围,因为一次函数是一条直线,所以它的显示范围无穷
int main()
{
int x, y
for (y = 30 y >= 0 y--)
{
for (x = 0 x < MAX x++)
{
if (y == 2 * x + 5)
{
printf("*")
}
else
{
printf(" ") // 空格,不满足y=2x+5的点
}
}
printf("\n") // x轴已经到显示范围,所以需要换行。
}
return 0
}
说明:该程序适用于计算器 CASIO fx-4800,4850P,可计算线路中心的缓和曲线、圆曲线、直线段,中、边桩坐标及切线方位角。
1、A? 输入转角:左转为负,右转为正
2、R? 输入圆曲线半径
3、LS? 输入缓和曲线长度
4、JD(DK)? 输入交点里程桩号
5、X(JD)? 输入本交点X坐标
6、Y(JD)? 输入本交点Y坐标
7、FWJ? 输入待求点切线方位角
9、J? 输入0程序计算中桩,输入1程序计算边桩
10、Z? 输入里程桩号
1 A:R:C“LS”:D“JD(DK)”
2 P=C∧2/24/R-C∧4/2688/R∧3
3 Q=C/2-C∧3/240/R∧2
4 B=90C/兀/R
5 T=(R+P)tan(AbsA/2)+Q◢
6 W=(R+P)/cos(A/2)-R◢
7 L=((AbsA)-2B)兀R/180+2C◢
8 G“ZH”=D-T◢
9 H“HY”=G+C◢
10 I“QZ”=G+L/2◢
11 K“YH”=G+L-C◢
12 M“HZ”=G+L◢
13 N”X(JD)”:E”Y(JD)”:F”FWJ”: J
14 A<0=>S=-1:≠=>S=1⊿ (提示:0为数字“0”)
15 U=F+A/2+90S
16 V=W+R
17 B=N+VcosU
18 O=E+VsinU (提示:O为字母“O”)
19 Lbl 1
20 {Z}
21 Z≤G=>L=T+G-Z
22 V=F+180
23 U=F
24 Goto 2⊿
25 Z≤H=>L=Z-G
26 V=L-L∧5/(90R∧2C∧2)
27 L=30L∧2S/(兀RC)
28 P=F+180
29 Q=F+L
30 U“FWJ”=F+3L◢
31 Goto 4⊿
32 Z≤K=>L=F+A/2+90S+180+180(Z-I)S/R/兀
33 U“FWJ”=L+90S◢
34 Goto 5⊿
35 Z≤M=>L=M-Z
36 V=L-L∧5/(90R∧2C∧2)
37 L=30SL∧2/(兀RC)
38 P=F+A
39 Q=F+A+180-L
40 U=F-3L+A◢
41 Goto4⊿
42 Z>M=>L=Z-M+T
43 U=F+A
44 V=U
45 Goto 2
46 Lbl 2
47 X=N+LcosV◢
48 Y=E+LsinV◢
49 Goto 6⊿
50 Lbl 3
51 {W}
52 P“XL”=X+Wcos(U-90) ◢
53 Q“YL”=Y+Wsin(U-90) ◢
54 P“XR”=X+Wcos(U+90) ◢
55 Q“YR”=Y+Wsin(U+90) ◢
56 Goto 1
57 Lbl 4
58 X=N+TcosP+VcosQ◢
59 Y=E+TsinP+VsinQ◢
60 Goto 6
61 Lbl 5
62 X=B+R cosL◢
63 Y=O+RsinL◢ (提示:O为字母“O”)
64 Goto 6
65 Lbl 6
66 J=1=>Goto 3⊿
67 Goto 1
注:
1、◢ 为输出指令,若在后面加上,即可显示前面的计算结果输出在屏幕上。
2、括号()为说明,请不要输入。
计算参数:
A?=53°12′46.1〃
R?=4500
LS?=360
JD(DK)?=10021.359
T=2434.65260
W=534.31251
L=4539.32398
ZH=7586.70640
HY=7946.70640
QZ=9856.36839
YH=11766.03038
HZ=12126.03038
X(JD)?=3378226.731
Y(JD)?=456053.721
FWJ?=98°56′55.62〃
J?=1
Z?=10000
核对结果:
FWJ=487°23′2.26〃
X=3377706.668
Y=455858.525
W?=10(……偏距)
XL=3377714.613(……偏左坐标)
YL=455864.5966(……偏左坐标)
XR=3377698.722(……偏右坐标)
YR=455852.4535(……偏右坐标)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)