当前位置:文档之家› 2020C语言期末试题_A

2020C语言期末试题_A


序号 1 2 3 4
名称 分度圆直径 齿顶圆直径 齿根圆直径 全齿高
图 1 齿轮部分参数几何意义示意图
表 1 齿轮部分参数计算表
符号 计算公式
备注
d
d=mz
(1)z 为齿轮总齿数,用
da
da=m(z+2)
户指定;
df
df =m(z-2.5) (2)m 为齿轮模数,用户
h
h=2.25m
指定。
3.函数求导【10 分】
x

sin(
x 2
)cos(
x 2
)

x0
=0
处且满足精度
ε
=1.0
×10-6
的导数近似值及任一合
适的微分量 ∆ 。
要求:定义求导函数 double derive(double (*f)(double),*delta),函数调用需返回满足精度 ε 的导数近似值 dx
与任一合适的微分量 delta。形参 f 是被求导函数指针,其类型为是 double (*)(double),表示在调用被求导函数时,
值,
yi 是模型输出。σ
是激活函数
sigmoid,σ (x)
=
1 1+e− x
,损失函数 E( yt

y=)
1 2
[(
yt1

y1 ) 2
+
(
yt 2

y2
)2 ]。根
据上述内容完成下列各题:
(1)定义函 数 float* input2hide(float x[2],float w1[2][3],float b1),实现 图 4 模型中输入层到隐藏层 h 的计算。
学年:2019-2020 学年 学期:2 学期 课程名称:程序设计基础B(C语言) 课程代码:JK160210 日期:2020 年 6 月 29 日 时间:10:00-11:40 1.简单程序设计【45 分】
(1)写出 C 语言程序,实现计算自然数从 1 到 100 之和。【15 分】 (2)写出 C 语言程序,实现将具有 5 个成员的整型数组 a 值赋给同型的数组 b。【15 分】 (3)写出 C 语言程序,实现计算三条边长分别为 a=2,b=3 和 c=4 的三角形面积。【15 分】 2.齿轮参数计算【15 分】 齿轮是机械工程中常用零件,齿轮设计时需要计算齿轮参数,标准直齿圆柱齿轮部分参数几何意义和计算公 式分别见图 1 和表 1 所示。请写出实现表 1 中齿轮参数计算的 C 语言程序。
传入自变量 x 的值,返回函数 f (x) 的值;形参 delta 表示任一合适微分量 ∆ 的指针。
4.图形投影变换【10 分】 工程制图中的三视图是正平行投影变换,投影方向垂直于投影平面,如图 2 所示。在 CAD 系统中,生成三
视图就是把 x-y-z 坐标系下的图形投影到 z=0 平面上,并将坐标变换到 u-v-w 坐标系下,在计算机中的生成过程是 通过矩阵运算实现。将 x-y-z 坐标系原点 o(0,0,0) 变换到 u-v-w 坐标系下的坐标为 o′(ox,oy ,oz ) ,对于图形上任一点 p(x, y, z) ,经过投影变换生成主视图,在主视图上对应点的坐标 q(u, v, w) 为:
6.人工智能基础(10 分) 人工神经网络是一种人工智能(机器学习)算法。感知器是一种简单的人工神经网络模型,图 4 是一仅包含一
个隐藏层的多层感知器模型。神经网络运算分为两个过程:(1)前向传播,输入 x,经过网络计算得到输出 y;
(2)反向传播,用最速下降法(梯度下降法)更新权重和偏置量,实现网络参数自主学习,其过程是计算 y 与
b1
w321
y1 = σ ( y1 )
b2
y
yt
∑ y2
=
3
wi22hi
+b2
y2
i=1
w123
∑ h3
=
2 i =1
wi13 xi
+b1
w322
( ) h3 = σ h3
y2 = σ ( y2 ) b2
b1
前向传播
输入层
隐藏层
输出层
图 4 多层感知器网络模型
第 3 页/共 3 页
第 2 页/共 3 页
其中 x 为输入数据、w1 为输入层到隐藏层的连接权重,b1 为偏置量。【4 分】 要求:调用该函数后直接返回隐藏层输出 h,不能将 h 定义为全局变量。 (2)定义函数 float* hide2output(float h[3],float w2[3][2],float b2),实现 图 4 模型中隐藏层到输出层 y 的计算。
目标 yt 的误差损失函数 E,用 E 分别对权重 w 和偏置量 b 求导,利用当前值减去导数值与学习率η 的乘积,实

w

b
的更新。如 wi
= wi −η
∂E ∂wi
, bi
= , xi 是模型输入, winj (n = 1或2)是相邻两层间神经元的连接权重, bi 是偏置量, hi 是隐藏层神经元的
标,m 为投影变换矩阵,q 为 p 在主视图上生成的对应点坐标。
图 2 三视图示意图及投影变换
5.新冠人员排查【10 分】
同学 A 于 6 月 29 日乘火车返校,当天下午 A 到校后直接回到寝室,与室友进行了简单交流后,全寝室同学
开始休息。晚上,A 所在寝室与相邻两寝室全体同学相约到二食堂共进晚餐并点了烧烤,烧烤才吃了两串,A 就
其中 h 为隐藏层数据、w2 为隐藏层到输出层的连接权重,b2 为偏置量。【4 分】 要求:调用该函数后直接返回输出 y,不能将 y 定义为全局变量。 (3)定义函数 float dE_db2(float y[2],float yt[2]),实现损失函数对隐藏层到输出层偏置量 b2 的导数值计算,
其中 y 为已知输出数据、yt 为设定的目标值。【2 分】 要求:调用该函数直接返回该偏置量的导数值 db2。
函数
f
在 x0 处的导数可用差分
f ′(x0 ) =
f
(
x0
+
∆) − 2∆
f
(
x0

∆)
近似,但微分量

如何取值才能使导数近似值
f ′(x0) 满足指定
的精度 ε ?为简化处理,当 f (x0 + ∆) − f (x0 − ∆) < ε 时,可认为导数近似值 f ′(x0) 满足了精度要求。
编写 C 语言程序,实现计算函数 f (x)=
接到通知,同车次同车厢一名乘客被确诊为新冠感染者,学校启动应急方案,梳理了 A 的活动轨迹,找到了 A
的密切接触者,校医院将所有密切接触者带走隔离,随即对密切接触者做了检测,其中学号为“5120190001”的同
学具有新冠抗体,解除了隔离并从隔离名单中排除,其他同学继续隔离观察。
假设:每个寝室均住满 6 人,去食堂路上未预见其他人,食堂做好了防护措施,不对食堂工作人员隔离。
第 1 页/共 3 页
设 x-y-z 坐标系的原点 o 在 u-v-w 坐标系下的坐标为 (1, 2, 0,1) ,请编写 C 语言程序,计算图形上一点 p(3, 4,5,1) ,
在主视图上生成对应的坐标 q(qx , qy , qz,1) 。 要求:定义投影变换函数 void projection(float p[4] ,float m[4][4],float q[4]),其中 p 为 x-y-z 坐标系下任一点坐
每位同学的信息包括:学号,姓名。
(1)建立同学信息的结构体类型。【4 分】
(2)定义一个函数,实现创建新冠密切接触者链表;【其中 A 用本人信息代替,其他同学信息如下设定:
学号(5120190000),姓名(CLanguage)】。【4 分】
(3)定义一个函数,形参为学号,实现从链表中删除具有新冠抗体的同学。【2 分】
反向传播
∑ h1
=
2
wi11 xi
+b1
i=1
E( yt − y)
x1
w111
w121
( ) h1 = σ h1 b1
w121 w122
∑ y1
=
3
wi21hi
+b2
y1
i=1
x2
1
w ∑ 12
h2
=
2 i =1
wi12 xi
+b1
w221
w122
( ) h2 = σ h2
w222
w113
相关主题