linux应用平台期中试卷及答案湛江师范学院2015-2016学年度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 1 页,共 5 页

任课教师签名: 命题教师签名: 系主任签名: 主管院长签名:

湛江师范学院2015-2016学年度第 1学期 期中试卷 课程:LINUX 平台及应用/LINUX 操作系统

一、编写过滤器(25分)。由文本文件roll.txt 生成HTML 文件roll.html 。如roll.txt 为: 2012324128 张维 2012324129 莫东灵 2012324136 蔡翠云 2013324101 李桂梅 ... 2013324157 陈若林 则生成的roll.html 为:

...
2012324128 张维
2012324129 莫东灵
2013324157 陈若林
解: sed -e '1i ' -e '/[0-9]/ s/ /<\/td>
/' -e '/^[0-9]/ s/^/
/' -e '/[0-9]/ s/$/<\/td><\/tr>/' -e '$a <\/table>' roll.txt>roll.html

第 2 页,共 5 页

二、C 编程及作图。(50分,单学号者做第1小题,双学号者

做第2小题) 1)编程C 程序输出图中各顶点;(35)

2)gnuplot 作图,并在Windows 中用浏览器查看该图,检验正确性。(15分) 1. 画右图所示的螺线。

螺线起点在原点,首段长度0.2,角度0。

每一段比上一段长度大0.2,角度大

-144o 。程序的输出(共50行)为:

0.0000 0.0000

0.5000 0.0000

-0.3090 -0.5878

0.1545 12.6677

7.7254 -10.6331

2. 画右图所示的四个五角星。五角星半径

0.75,中心分别位于(0,2),(0,-2),

(2,0),(-2,0)。五角星相邻两顶点半径

的比例为0.381966。输出为:

0.0000 2.7500

-0.1684 2.2318

...

0.0000 2.7500

0.0000 -1.2500

-0.1684 -1.7682

...

0.0000 -1.2500

...

解:

Mkdir aa

cd aa

pwd

ls

cat >aa.plot

set terminal png

set output "/var/www/html/aa.png"

第 3 页,共 5 页

set size ratio 1 plot 'aa.dat' with lines vi aa.c #include #include main(){ double pi =4*atan(1),r=0.75,r1=0.381966*r,a0,b0,c0,d0,a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,x0,x1,x2,x3,y0,y1,y2,y3; int i; x0=0,y0=2,x1=0,y1=-2,x2=2,y2=0,x3=-2,y3=0; for(i=0;i<=5;i++){ a0=x0+r*sin(-2*i*pi/5); b0=y0+r*cos(-2*i*pi/5); c0=x0+r1*sin(-(pi/5+2*i*pi/5)); d0=y0+r1*cos(-(pi/5+2*i*pi/5)); printf("%7.4f%10.4f\n\n",a0,b0); printf("%7.4f%10.4f\n\n",c0,d0); } for(i=0;i<=5;i++){ a1=x1+r*sin(-2*i*pi/5); b2=y1+r*cos(-2*i*pi/5); c1=x1+r1*sin(-(pi/5+2*i*pi/5)); d1=y1+r1*cos(-(pi/5+2*i*pi/5)); printf("%7.4f%10.4f\n\n",a1,b1); printf("%7.4f%10.4f\n\n",c1,d1); } for(i=0;i<=5;i++){ a2=x2+r*sin(-2*i*pi/5); b2=y2+r*cos(-2*i*pi/5); c2=x2+r1*sin(-(pi/5+2*i*pi/5)); d2=y2+r1*cos(-(pi/5+2*i*pi/5)); printf("%7.4f%10.4f\n\n",a2,b2); printf("%7.4f%10.4f\n\n",c2,d2); } for(i=0;i<=5;i++){ a3=x3+r*sin(-2*i*pi/5); b3=y3+r*cos(-2*i*pi/5); c3=x3+r1*sin(-(pi/5+2*i*pi/5)); d3=y3+r1*cos(-(pi/5+2*i*pi/5)); printf("%7.4f%10.4f\n\n",a3,b3);

printf("%7.4f%10.4f\n\n",c3,d3);

}

}执行:

gcc -o aa aa.c –lm

./aa

./aa > aa.dat

gnuplot aa.plot

三、income文件的第三列为职业,第四列为月收入。用awk

或shell脚本求各职业的平均月收入。(25分) 如income 的内容为:

01 王洁怡教师 5800

02 肖蔓文员 2980

03 梅梅教师 4500

04 何焕娣教师 6000

05 黄如金医生 8000

06 周文员教师 3800

07 马潇潇医生 10000

08 陈虹香文员 3100

09 罗艳医生 4900

10 连天碧文员 2500

则输出为:

教师: 5025

第4 页,共5 页