气象程序设计及绘图实习报告

气象程序设计及绘图实习报告
气象程序设计及绘图实习报告

实习要求:

?根据所提供的实习说明和资料,按要求完成实习内容;

?将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号)

?根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。

实习内容:

?Nino34海温指数与海平面气压相关图

?Nino34海温指数与中国160站降水相关图

1.绘制1月份Nino34海温指数与1月份海平面气压相关图

1.1 资料说明

?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数;

?全球海平面气压月平均数据:slp.jan.grd为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率2.5?*2.5?;

1.2步骤:

1用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.grd 文件中;

corr.grid.f90文件:

program cx

implicit none

realt(63),p(73,144,63),r(73,144),relation,z(63) character*12 c(63)

character*7 a(63)

integer i,j,k

open(5,file='D:\expriments\grads\slp.jan.grd',f orm='binary')

open(6,file='D:\expriments\grads\nino34.txt') do i=1,63

read(6,'(A12)') c(i)

end do

do i=1,63

read(c(i),'(A7,F5.2)') a(i),t(i)

end do

do k=1,63

read(5) ((p(i,j,k),j=1,144),i=1,73)

end do

!print*,p

do i=1,73

do j=1,144

do k=1,63

z(k)=p(i,j,k)

end do

r(i,j)=relation(z,t,63)

end do

end do

!print*,r

open(7,file='D:\expriments\grads\corr.slp.txt') open(8,file='D:\expriments\grads\corr.slp.grd', form='binary') write(7,'(144F5.2)') ((r(i,j),j=1,144),i=1,73) write(8) ((r(i,j),j=1,144),i=1,73)

end

function relation(a,b,n)

implicit none

integer,intent(in)::n

real,intent(in)::a(n),b(n)

real::relation !返回的相关系数integer::i,j !循环控制变量

real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

!计算平均值

s=0.

do i=1,n

s=s+a(i)

end do

amean=s/n

s=0.

do i=1,n

s=s+b(i)

end do

bmean=s/n !计算相关系数

sfenzi=0.

sfenmu1=0.

sfenmu2=0.

do i=1,n

sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean) sfenmu1=sfenmu1+(a(i)-amean)**2

sfenmu2=sfenmu2+(b(i)-bmean)**2 end do

relation=sfenzi/sqrt(sfenmu1*sfenmu2)

end function relation

保存于corr.slp.grd 文件中。

书写corr.slp.grd 的数据描述文件1.ctl:

dset e:\grads\20150706qimo\test1\corr.slp.grd

title slp

undef -9.99e33

xdef 144 linear -180 2.5

ydef 73 linear -90 2.5

zdef 1 levels 1000

tdef 63 linear jun1951 1yr

vars 1

slp 0 0 sea level pressure

endvars

编写1.gs文件:

'reinit'

'open e:\grads\20150706qimo\test1\1.ctl'

'set lev 1000'

'set lon -180 180'

'set lat -90 90'

'set t 1'

'set gxout shaded'

'set grads off'

'set black -0.2 0.2'

'd slp'

'set gxout contour'

'd slp'

'draw title Lu Yu '

'cbar 1.0 0'

'printim e:\grads\20150706qimo\test1\1.png white'

;

绘制1951-2013年1月Nino34海温指数与海平面气压相关系数图:

1951-2013年1月Nino34海温指数与海平面气压相关系数图

2 绘制1月份Nino34海温指数与7月份中国160站降水相关图:

2.1资料说明

?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数;

?160站降水资料:r1607.txt是中国160站1951~2013年共63年7月降水资料,数据是1951年7月各站降水量按照id.txt中各站顺序写入,该年160站都写入后再写下1952年7月各站降水量,...................,直至2013年7月各站降水量按照id.txt 中各站顺序写入;

?160站站点资料:id.txt是160站站号和纬度、经度资料,共有160行。每行第一个数据为8位字符型的站号,后面两个数字分别为该站点纬度和经度;

2.2 步骤:

用Fortran编写corr.station.f90文件,计算1951-2013年1月Nino34海温指数与7月160站降水相关系数,计算结果保存于corr.7.txt和corr.7.grd文件中;

program cx

implicit none

integer p(160,63),i,j,k

real

s(63),r(160),relation,t(63),lon(160),lat(160),ti m

character*12 c(63)

character*7 a(63)

character*8 stid(160)

integer nlev,nflag

open(6,file='E:\grads\20150706qimo\test2\nin o34.txt')

open(5,file='E:\grads\20150706qimo\test2\r16 07.txt')

open(10,file=E:\grads\20150706qimo\test1\id. txt')

do i=1,160

read(10,*) stid(i),lat(i),lon(i)

end do

print*,stid

do j=1,63

read (5,*) (p(i,j),i=1,160)

end do

do i=1,63

read(6,'(A12)') c(i)

end do

do i=1,63

read(c(i),'(A7,F5.2)') a(i),t(i)

end do

do i=1,160

do j=1,63

s(j)=p(i,j)

end do

r(i)=relation(s,t,63)

end do

!print*,r

tim=0

nlev=1

nflag=1

open(7,file='E:\grads\20150706qimo\test2\cor r.7.txt')

open(8,file='E:\grads\20150706qimo\test1\cor r.7.grd',form='binary')

do i=1,160

write(7,*) stid(i),lon(i),lat(i),tim,nlev,nflag,r(i) end do

do i=1,160

write(8)stid(i),lat(i),lon(i),tim,nlev,nflag,r(i) end do

nlev=0

write(8)stid(160-1),lat(160-1),lon(160-

1),tim,nlev,nflag,r(160-1)

end

function relation(a,b,n)

!本程序计算两列向量的相关系数

!a,b分别是待计算的向量

!n是向量的长度,要求两列向量等长implicit none

integer,intent(in)::n

real,intent(in)::a(n),b(n)

real::relation !返回的相关系数

integer::i,j !循环控制变量

real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

!计算平均值

s=0.

do i=1,n

s=s+a(i)

end do

amean=s/n

s=0.

do i=1,n

s=s+b(i)

end do

bmean=s/n

!计算相关系数

sfenzi=0.

sfenmu1=0.

sfenmu2=0.

do i=1,n

sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean)

sfenmu1=sfenmu1+(a(i)-amean)**2 sfenmu2=sfenmu2+(b(i)-bmean)**2 end do relation=sfenzi/sqrt(sfenmu1*sfenmu2) end function relation

书写corr.7.grd 的数据描述文件2.ctl ;

dset E:\grads\20150706qimo\test2\corr.7.dat dtype station

stnmap E:\grads\20150706qimo\test2\corr7.map UNDEF 2.5E33

TITLE corr

TDEF 1 linear jan1951 1mo

V ARS 1

r 0 99 relation

endvars

准备corr.7.grd的站点映射文件corr7.map;

准备GrADS画站点图时插值时所需格点数据Grid.grd和及其描述文件Grid161.ctl(已提供);

编写2.gs文件,绘制1951-2013年1月Nino34海温指数与7月中国160站降水相关系数图,保存于corr.7.gmf 文件中。

'reinit'

‘open

E:\grads\20150706qimo\test2\grid161.ctl' 'open E:\grads\20150706qimo\test2\2.ctl' 'set lat 3 54'

'set lon 70 135'

'define a=oacres(g,r.2)'

'define a1=maskout(a,g-0.5)'

'define aa=smth9(a1)'

'set grads off'

'set mpdsetworld'

'set map 1 1 1' 'enable print E:\grads\20150706qimo\test1\corr7.gmf'

'set gxout shaded'

'set cmin 0'

'd aa'

'set gxout contour'

'set ccolor 2'

'd aa'

'draw title Lu Yu '

'print'

'disable print'

1951-2013年1月Nino34海温指数与7月我国160站降水相关系数图

分析:

图1 是1951-2013年1月Nino34海温指数与海平面气压相关系数图,从图中可以看出,赤道中东太平洋地区海温指数和海平面气压成明显正相关,最大相关系数已超过0.8;而赤道锡太平洋地区海温指数和海平面气压则成负相关,最小相关系数低于-0.6。由此可以解释当发生厄尔尼诺事件时,由于赤道中东太平洋和秘鲁沿岸等地区海温上升,使沃克环流减弱,对中东太平洋地区的下沉气流产生负的影响,使中东太平洋地区海平面气压降低;与之相反,西太平洋地区上升气流减弱,海平面气压升高。

图2为1951-2013年1月Nino34海温指数与7月我国160站降水相关系数图,可以看出在我国西北部、中部、东北部分地区以及长江流域的降水与海温指数成正相关,而在青海,西藏广州等地则与海温指数成负相关。由此可见,当热带太平洋出现暖水位相(即厄尔尼诺事件)时, 我国东北南部、华北大部以及长江中下游地区往往会有降水较少;而当热带太平洋出现冷水位相(即拉尼娜事件)时,该地区则往往会有较充沛的降水。当发生厄尔尼诺时,哈得莱环流增强,因此与哈得莱环流下沉支密切相关的副热带高压也会增强,使得我国夏季降水受到影响。

气象程序设计及绘图实习报告

实习要求: ?根据所提供的实习说明和资料,按要求完成实习内容; ?将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号) ?根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。 实习内容: ?Nino34海温指数与海平面气压相关图 ?Nino34海温指数与中国160站降水相关图 1.绘制1月份Nino34海温指数与1月份海平面气压相关图 1.1 资料说明 ?Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数; ?全球海平面气压月平均数据:slp.jan.grd为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率2.5?*2.5?; 1.2步骤: 1用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.grd 文件中; corr.grid.f90文件: program cx implicit none realt(63),p(73,144,63),r(73,144),relation,z(63) character*12 c(63) character*7 a(63) integer i,j,k open(5,file='D:\expriments\grads\slp.jan.grd',fo rm='binary') open(6,file='D:\expriments\grads\nino34.txt') do i=1,63 read(6,'(A12)') c(i) end do do i=1,63 read(c(i),'(A7,F5.2)') a(i),t(i) end do do k=1,63 read(5) ((p(i,j,k),j=1,144),i=1,73) end do !print*,p do i=1,73 do j=1,144 do k=1,63 z(k)=p(i,j,k) end do r(i,j)=relation(z,t,63) end do end do !print*,r open(7,file='D:\expriments\grads\corr.slp.txt') open(8,file='D:\expriments\grads\corr.slp.grd',f orm='binary') write(7,'(144F5.2)') ((r(i,j),j=1,144),i=1,73) write(8) ((r(i,j),j=1,144),i=1,73) end function relation(a,b,n) implicit none integer,intent(in)::n real,intent(in)::a(n),b(n) real::relation !返回的相关系数integer::i,j !循环控制变量 real::sfenzi,sfenmu1,sfenmu2,s !加法器real::amean,bmean !a,b向量的平均值

微气象~作图题

1.土壤温度随深度的变化在一天过程中,由于太阳辐射的作用,白天和夜间土壤增热和冷却不同,所以土壤温度随深度的变化也不相同。有四种类型 日射型,也称白天受热型。日间当地面获得大量的辐射热量以后,地面温度急剧上升,热量由土壤上层向下层输送;此时,土温的铅直分布是由上层向下层递减,而且递减速度很快。这种类型主要出现在正午前后,如13h的土温分布曲线。 辐射型,也称夜间放射型。夜间当地面由于辐射冷却而温度下降时,土壤温度随深度增加而递减;土壤热通量方向为负,即由土壤深层向地面输送热量,以缓和地面温度的下降。这种类型主要出现在午夜以后。如01h的土温分布曲线。 早上过渡型,也叫清晨转变型。这是由夜间的辐射型分布向白天日射型分布的过度类型。日出之后,地表净辐射很快由负转变为正值,则地面温度开始上升,于是土壤上层温度分布迅速变成日射型,但是下层土壤温度仍然保持辐射型分布。此时,土壤中间层的温度最低,地面和土壤深层都向这一层输送热量。如7h的温度分布曲线。 晚上过渡型,也叫傍晚转变型。这是由白天的日射型分布向夜间的辐射型分布的过渡类型。在傍晚前后,由于辐射冷却作用,地面温度开始下降,土壤上层出现辐射型分布,但是在土壤下层仍然保持白天的日射型。此时,土壤中间层的温度最高,热量从该层向地表和深层输送。如19h的土温分布曲线。 2.气温铅直分布近地气层中空气温度的变化,主要决定于下垫面辐射状况和湍流运动的变化。日间,地面在太阳辐射作用下受热,并以湍流交换形式将热量输送给近地气层,使整个近地层气温自下而上很快升高。夜间,地面辐射冷却,热量由近地层向地面输送。 气温铅直分布类型:日射型、辐射型、早上过渡型和傍晚过渡型。4种类型昼夜依次转换。日射型:12时曲线。日间,地面净辐射为正并因吸收太阳辐射而加热,地面温度急剧上升,热量将由地面通过湍流向近地层中输送。因此气温铅直分布由地面向上迅速递减的。

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.360docs.net/doc/fa2820215.html, https://www.360docs.net/doc/fa2820215.html,,能输出https://www.360docs.net/doc/fa2820215.html,和https://www.360docs.net/doc/fa2820215.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

气象绘图软件GrADS高级使用技巧

收稿日期:2002-11-1 作者简介:高文良,男,31岁,主要从事短期气候预测等研究工作。 气象绘图软件GrADS 高级使用技巧 高文良1 刘晓燕2 曾小东3 (11成都高原气象研究所 成都 610072; 21阿坝州金川县气象局 624100 31阿坝州马尔康县气象局 624000 ) 摘 要:本文通过介绍气象绘图软件GrADS 使用中 的一些高级技巧,分析了GrADS Script 语言中的难理解之处,并介绍了在GrADS 中做合成分析和t 检验的程序,可以对学习和使用GrADS 的科研人员起参考、帮助作用,达到事半功倍的效果,促进GrADS 软件的应用更广泛、深入,提高科研人员的工作效率。关键词:GrADS ;技巧;程序中图分类号:TP391文献标识码:C 文章编号:1003-7187(2002)04-0057-03 1 引言 气象绘图软件GrADS (Grid Analysis and Dis 2play System )是免费共享软件,可随时从互联网上下载(http ://https://www.360docs.net/doc/fa2820215.html,/grads/),后续版本正陆续推出[1]。GrADS 有丰富的内部函数,可以对数据进行计算和分析处理。它支持处理格点资料和站点资料,并且支持对GriB 码文件、特殊格式文件(如一字节整型、二字节整型、大中型机器二进制数据等)的直接读取,气象科研领域应用非常广泛[2]。在其最新1.8SL 9版本中,GrADS 又将应用领域推进到了海洋学科,功能也得到了进一步地增强和扩展。 但在使用GrADS 的过程中,特别是使用GrADS Script 语言编程当中,有一些问题需要特别注意。因为GrADS Script 语言是一种类似于VB Script (或MA TL AB Script )的高级语言,稍不注意就容易出现错误,且查错十分困难,这点与其他语言有较大的差别。2 站点数据处理 GrADS 中站点数据处理基于格点数据的基础之上,需先将站点数据通过Cressman 客观分析方法内插至格点上,然后再依照格点资料的处理方式对站点资料数据进行分析和处理。所以,内插的背景网格点的选取就显得比较重要。提供背景格点资料数据只起一个背景网格场的作用,格点数据并不参与运算,只提供网格背景,告诉站点数据插至什么点及各个点的距离、综合考虑几个点来插值等信息。 因此,对于需要揭示小尺度特征气象场的站点数据,就需要将背景网格点的间距取得小一些,这样可以将局地小尺度信息完整地体现出来。反之,如果要强调大尺度的信息,就可以将背景格点场的间距取得大一些,将小尺度的噪声滤掉,体现大尺度场的特征。两种方法的最终目的是画出真实而美观的原始数据场的图形。 要将已有的站点数据资料转换成GrADS 可以读取格式的站点数据,也可使用Visual Fortran 6.0或C 语言(Turbo C 、Visual C ++等)进行转换。但必须按照GrADS 的规定格式来变换。数据文件头的结构和定义也必须按规定且与后续数据一致。在Visual Fortran 6.0语言中可以用流式文件(Stream )的方式生成GrADS 需要的站点数据文件,可以写成多时次、多层次和多变量的数据集(在Power Station 4.0中则不能写成多时次和多层次的数据集,它不支持Stream 方式的文件,只能写一个时次的数据)。而在C 语言中的操作更加方便,因为C 语言中对文件的操作方式一般是以字节为单位进行的,没有其他多余的信息。只要按照GrADS 要求的数据格式生成数据,以上的各种语言环境下都能够被GrADS 正确读取。 另一个需注意的问题是在格点文件和站点文件之间,一定使两者的数据描述文件保持时间上的一致性。起始时间和时间步长都要符合数据本身的规定。如果起始时间不一致,在GrADS 中会出现少于两个站的提示,画出的图被标示为缺测值。如果上述两种数据的时间步长不一致,则可能出现错误的结果,导致在一个特定时间下的数据成为另一个时间下的数据,而不是操作者想要的时次。或者图形的结果和前面第一种错误一样,出现全为缺测值的错误情况。

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

GrADS绘图软件安装及入门

GrADS绘图软件安装于入门

目录 第一章GrADS绘图软件概述 1.GrADS绘图软件简介 2.GrADS绘图软件的安装(windows环境) 3.1在windows环境下安装GrADS软件包第二章GrADS绘图模板 1.GrADS示例演示 1.1 启动GrADS 1.2 退出GrADS 1.3 示例演示GrADS命令的使用

第二章GrADS绘图软件概述 1GrADS绘图软件简介 The Grid Analysis and Display System(GrADS) 是一套应用广泛、使用方便的科学数据绘图软件包。其主要特点: ●GrADS属于自由软件,可以从Internet上免费获得。 ●可运行于各种Windows 和Unix工作平台。 ●GrADS可用于4D数据的分析。既经度、纬度、层(气压层、高度层等) 和时间/xyzt 4维。数据可以是格点化的数据或离散点数据。GrADS 特别适用于气象类数据的分析。但也完全可以用于更广泛类型的数据分 析。 ●GrADS有多种显示方式:等值线、流线、矢量图、风矢量图、站点填 图、折线图、直方图等多种两维图形。 ●可处理多种数据格式的数据。GRIB、NetCDF、HDF-SDS等通用数据格 式和系统自定义的一种二进制数据格式。 ●采用命令行输入的方式交互式地显示图形。并有多种命令对数据进行再 加工。如求平均;计算涡度、散度、垂直积分、计算差分等。 ●图形可以按多种格式存储:ps、png、jpg、tiff、gif、windows metafile 等。自身以metafile格式存储。 ●提供多种辅助工具软件。如看图、打印、图形格式转换(gv)等工具。 2Internet上的GrADS资源 2.1 GrADS在Internet上的主页 GrADS主页地址:https://www.360docs.net/doc/fa2820215.html,/grads 从GrADS主页上可以找到预编译好了的适合于windows环境下的GrADS软件包, 2.2 windows环境下GrADS资源 ●grads-2.0.a7.oga.3-win32_superpack.exe——GrADS软件包安装执 行程序。目前在windows环境下较新的版本为GrADS第2.0版。 ●下载GrADS演示数据: 从ftp://https://www.360docs.net/doc/fa2820215.html,/grads/sprite/tutorial下载: model.le.dat 和model.le.ctl文件; 或者GRIB码格式的数据: model.grb、model.gmp和model.ctl 3GrADS绘图软件的安装(windows环境) 在windows下运行GrADS的条件: ●安装GrADS软件包 3.1在windows环境下安装GrADS软件包

(画图vc程序设计)

西安科技大学 《VC++程序设计》 实验报告 题目画图 院、系(部)计算机科学与技术学院专业及班级 学号 姓名:szgkb 日期 2014.6.2

1 题目要求 建立一个通过“画图”程序,它是基于MFC的多文档应用程序,并且应用程序的风格样式具有Office视觉样式的Ribbon风格。在实现程序的过程中,要创建具有Office视觉样式的项目,再为应用程序的Ribbon功能区添加相应的绘图命令。在实现绘图中,能够很好地使用CDC类中的绘图函数,以实现直线、矩形、圆弧、椭圆等的绘制。了解MFC中设备环境类和坐标映射方式,并且了解常用的GDI对象。扩展“画图”程序实现图形的绘制、保存、滚动等功能。 2 功能需求 选择“绘图”选项卡后,将会展开一些绘图工具。选择某个绘图工具后,便可以在客户区中绘制相应的图形,还可以点击面板上的“画笔颜色”和“填充颜色”按钮,利用弹出的颜色对话框分别设置绘图的颜色及填充的颜色,而且单击“文本”按钮还可以在客户区中输入文本内容,在文本输入中,涉及到文本的颜色、插入符的位置、字体、退格、回车、文本字符等的正确处理。 3 总体设计 建立一个MFC的基于对话框的应用程序,取名为MyPaint1。接下来创建Ribbon 功能区,创建了“工具”、“颜色”两个面板。新建绘图类CDrawShape用以封装自由线、直线、矩形、椭圆、圆的绘制过程。在CMyPaint1View中响应绘图命令并通过添加鼠标左键按下以及移动的消息响应函数(OnLButtonDown、OnMouseMovehe、 OnLButtonup)来实现图形绘制。另外设置插入符、文本内容、文本颜色,来实现文本的输出。最后进行对绘图光标的修改。 3.1 系统模块 3.2 系统业务处理流程运行“画图”程序“绘图”菜单 工具面板 客户区绘图 颜色面板 保存图形

网络编程实验报告

【实验目的】 掌握基于多线程并发服务器的基本设计框架和实现方法。 【实验性质】 综合性实验 【实验器材与所需软件】 计算机、交换机、windows操作系统、java集成开发环境 【实验学时】 8学时 【实验内容】 实现一个多线程并发服务器(服务器功能自选),要求该服务器可以体现出同时为多个客户端服务的特性。 【实验过程与步骤】 实验设计并实现了一个基于多线程并发服务器的网络聊天室工具。 1,需求分析: 工具采用了Client/Server结构,将聊天室划分为两个子程序:客户端子程序、服务器端子程序。 ●客户端程序: 实现客户端与服务器端进行连接,并可与服务器端进行实时通讯。 ●服务器端: 实现建立与多个客户端程序之间的连接,管理连接并能够通过多线程技术同时与多个客户端进行实时通讯。 2,系统设计: 系统的设计中,客户端与服务器端的连接,通过TCP/IP网络建立,并依托Socket进行实时通讯。系统中,各个模块之间的关系如下图所示:

上图中,显示同一服务器,通过网络可以同时与多个客户端程序建立连接并实现实时通讯功能,通讯流程如下图所示: 根据图示,客户端与服务器之间通过Socket()进行实时通讯,通讯步骤是:服务器监听、客户端发出请求、服务器接受、建立连接、交互通讯、关闭连接。另外,由于聊天室工具必须实现多客户端同时连接通讯的要求,因此,在服务器端设计时考虑采用多线程技术,每个服务器拥有多个服务线程,每个线程负责与一个客户端进行连接通讯,从而达到一个服务器同时与多个客户端并发通讯的效果。 3,系统实现: 在网络聊天室的最终实现时,设计服务器类、服务器线程类、客户端类以及系统界面类: ●服务器类 Class Server: 主要负责管理系统中的服务器线程,通过线程管理与客户端之间的连接及通讯,是服务器的主要管理端。 ●服务器线程类 Class ServerThread: 线程类中,实现了具体的服务器与客户端之间一一对应的连接关系,并通过Socket与客户端进行实时通讯。 ●客户端类 Class Client:

气象程序设计与绘图软件安装与运行

第一章:气象程序设计与绘图软件安装与运行 1.1实验实习目的 1.1.1了解并掌握FORTRAN90与软件开发环境及基本操作。 (1)了解FORTRAN90与软件开发环境的关系。 (2)掌握FORTRAN90上机实验实习基本操作过程。 (3)掌握FORTRAN90软件开发环境启动方法。 (4)理解有关工作区间、项目、文件的基本概念。 (5)掌握工作空间、项目、文件的创建方法。 (6)掌握软件开发环境图像用户界面。 (7)掌握程序的输入、编译、构造和运行方法。 (8)了解软件开发环境常用菜单、工具按钮、环境窗口的基本功能。 1.1.2了解GrADS 2.0软件环境和基本操作方法 (1) GrADS的安装。 (2) GrADS的启动与退出。 (3) GrADS的文件处理。 (4) GrADS的使用流程。 1.2 实验实习内容1 1.2.1 问题描述 现有北京1951-1980年1月月平均气温文件beijingT.dat,编写程序计算北京30年的平均气温,并输出结果。 北京1951-1980年1月月平均气温为1.0、-5.3、-2.0、-5.7、-0.9、-5.7、-2.1、0.6、-1.7、-3.6、-3.0、0.1、-2.6、-1.4、-3.9、-4.7、-6.0、-1.7、-3.4、-3.1、-3.8、-2.0、-1.7、-3.6、-2.7、-2.4、-0.9、-2.7、-2.4、-0.9、-2.7、-1.6、-3.9。 1.2.2 算法设计 通过对问题的分析,设计求解算法,并绘制流程图。 1.2.3 程序编写 Program main integer,parameter::n=30 realTave,sum,temp(n) open(1,file='i:\shixi\3\beijingT.txt',form='formatted') doi=1,n read(1,*)temp(i) end do close(1) open(2,file='i:\shixi\3\Tave.dat',form='formatted')

网络编程实验报告

网络编程实验报告

网络编程 课程设计报告 题目: 基于Linux网络聊天室的设计姓名: 陈佳悦陈雄兰 学院: 信息科学技术学院 专业: 网络工程 班级: 网络工程102 学号: 19310213 19310214 指导教师: 薛卫职称:副教授

基于Linux网络聊天室的设计 摘要:本课程设计是在Linux环境下基于Socket进行开发的。系统服务器端和客户端组成。服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端。通过多路复用的子进程实现服务端与多个客户端之间的数据发送与接收。可以在单机上开辟两个窗口分别运行客户、服务器的程序。本方案经gcc 调试器调试成功,可以在机网络聊天中使用。 关键词:网络聊天;linux ;socket 1.相关概念及技术 1.1 网络套接字编程 1.1.1套接字基本概念 套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。 1.1.2 套接字工作原理 要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

Java画图板程序设计报告

西安科技大学Java语言课程设计报告 ¥

题目:画图板应用程序开发 & 班级: 学号: 姓名: 2010年 12 月 目录 1 设计题目及具体要求 (3) · 2 总体设计 (6) 3 详细设计与实现 (4) 4 系统测试 (11) 5 设计小结 (31) 参考文献 $

: 1、设计题目及具体要求 题目需求 ? 1. 设计题目:小画图板的开发。 2. 重点分析 本软件的重难点为主窗体的设计、菜单栏和工具栏的设计、事件响应的处理、画图的基本功能的实现。 3. 实现功能

1.新建一个空白图形文件:用于绘制新的图形。 2.打开或保存一个图形文件,便于对图形文件的管理。 3.绘制一些基本的图形组件:直线,矩形,实心矩形,椭圆,实心椭圆,圆,实心圆,圆角矩形,实心圆角矩形等。 4.用鼠标在绘图板上单击拖动进行随笔花。 5.` 6.橡皮擦:可以将已绘制的图形擦掉。 7.添加文字:可以在绘图区域内添加文字。 8.选择文字的字体:通过一个下拉式的选择条,可以选中所需要的字体。本程序中包括:宋体,隶书,华文彩云,仿宋-GB2312,华文行楷,Times New Roman,Serif,Monospaced,SonsSerif,Garamond。当然,在下面的程序分析中可以看到,由于设置了字体选择数组,使得可以随意添加系统支持的任何字体。大大方便和简化了程序设计。 9.选择文字的字体风格:通过两个复选框按钮,可以选择需要的字体风格,包括:粗体,斜体,用同时选中两者,只选择其中一种或两者都不选中3种选择方式。10.设置画笔的颜色:可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩,生动活泼。 10. 设置画笔的粗细:该选项在作用于基本图形组件和文字时,它的效果是不同的。 当作用于绘制图形组建时,它的作用是改变画笔绘制线条的粗细;当作用于文字时,它的作用是改变文字的大小。 ;

气象常用软件

【转贴】气象常用的软件目录 利用一些商用或科学上的软件,常常可以事倍功半,下面我就列举一些我所使用过的软件,它们均可较好的解决各种气象问题。在此总结的目的也是希望广大气象工作者开阔思路。 1 Matlab (version 5.0,5.1,5. 2 and 5.3)—(目前在美国气象界使用非常广泛,它拥有非常强大的toolbox,利用其toolbox可以解决气象上大多复杂问题,例如SVD分析,小波分析,常用的统计分析、傅立叶分析等) 2 Visual Fortran 6.0A and Array Visulation(支持Fortran90标准,并且带有可视化工具,功能强大,支持多种编译系统,是DEC公司1998年最新的产品,方便调试 程序),现收到最新更新6.0C 3 Fortran Powerstation 4.0和4.1(同样为DEC公司出品,较2为早,支持 Fortran90标准,是较为完备调试程序的工具,较2简单) 4 Origin 5.0和patch2(非常好的两维数据场绘图,且可以进行简单的统计计 算,并直接画图) 5 Mathmatic3.0和4.0(功能强大的数学运算软件,可以利用它进行公式推导或 数据分析,较程序直观,且可以直接成图。 6 SPSS V7.5; 8.0;9.0(专业的数据统计分析软件,可直接绘图,可利用它进行 气象资料场的诊断分析) 7 SAS V6.12(专业的数据统计分析软件,可直接绘图,也可利用它进行气象资 料场的诊断分析,和SPSS功能不相上下) 6 Sigmal Plot v3.04 and v4.0(非常好的两维数据场绘图,带有简单的统计功 能,直观,简单,方便) 7 Excel2000(目前属office2000的一个组件,它可以简单的对数据资料进行分 析和处理,并直接成图,很方便的把图插到word里进行编辑) 8 Grads v1.7.9(气象上最常用的绘图软件,并且它还可以进行简单的数据处理,并对目前气象流行的netcdf格式的数据可直接处理,目前它有各种版本的软件,分别对不 同的操作系统,完全免费) 9 Vis5d(气象上三维作图软件,它可以动态的显示三维资料场的变化,非常直观,目前也有各种机器的版本,最近,北京大学暴雨实验室已经把它移植到微机上,并对 它成功的实行汉化工作,属免费软件) 10 NCAR Graphics(NCAR开发的气象作图软件,目前,最新版本为NCAR Version4.1,它的功能强大,既可画两维的数据场,又可以画三维数据场资料的变化。新版增加了人机对话的功能。用它做出的图较Grads做出的图美观,清晰,但属于商业软件,目前较贵, 我所已购置NCAR作图的最新软件。 11 PCMDI(属于模式后处理软件,可以和气象模式紧密的结合起来,做到数值模式

安卓实验报告报告

《Android网络程序设计》课程期末作品设计报告 学号:130705222 姓名:廖梓茗 班级:13信息 2 班 学院:电子信息学院 2016年6 月

1 主要界面截图 分组界面全部赛程界面 球队赛程界面

“我的”界面--未登录“我的”界面--已登录 登陆界面

修改密码界面

2 请结合本项目的开发,回答以下问题 2.1 如何在ViewPager中放入多个Fragment?如何为每个Fragment设置标签?介绍一下管理ViewPager的适配器。 给viewpager addOnPageChangerListener 同时绑定fragment数据源 2.2 适配器是什么?以本项目为例介绍一个列表适配器的实现? Adapter是控件与数据之间的桥梁,控制控件什么时候如何显示数据 项目中的listview的adapter全继承BaseAdapter,自由度高。 其中adapter 的getView方法主要控制listview的每个item显示什么视图view 2.3 如何访问网络接口?如何获得网络接口返回的数据?以本项目为例介绍一个网络接口的访问。 本项目访问网络,主要使用HttpClient,调用AsyncHttpClient的get或post发送 一个请求,在回调接口中处理返回数据。

例如获取分组数据接口,先获取AsyncHttpClient对象 AsyncHttpClient client = new AsyncHttpClent(); 再调用client对象的post或是get方法 Client.get(url,new TextHttpResponseHandler()); 在回调函数onSuccess中处理返回信息 2.4 如何解析json数据?以本项目为例介绍一个接口返回的json数据的解析过程。 json数据解析,主要使用Gson或是FastJson解析 FastJson: JSON.priseObjest()或是JSON.priseArray()直接将json映射成list或是object 3 请回答以下问题 3.1 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity,应使用什么方法?其有哪些参数,分别表示什么? 在新Activity中如何将数据返回启动它的Activity? 原Activity如何用什么方法获取返回的数据?其有哪些参数,分别表示什么? startActivityForResult(intent, requestCode); setResult(intent); 通过onActivityResult()函数中的Intent参数中获取传回的数据 3.2 Activity和Fragment的生命周期状态各有哪些?状态之间如何变换?状态变换时会执行哪些方法?

Web应用程序设计综合实验报告解析

Web应用程序设计综合实验报告题目:网上购物系统 学生姓名: XXX 学号: XXXXXXXXXXX 院(系): XXXXXXX 专业: XXXXXXXXXX 指导教师: XXXXXXXXXX 2014 年 7月 6 日

1、选题背景 随着计算机技术的发展和网络人口的增加,网络世界也越来越广播,也越来越来越丰富,网上商城已经成为网上购物的一股潮流。互联网的跨地域性和可交互性使其在与传统媒体行业和传统贸易行业的竞争中是具有不可抗拒的优势。在忙碌丰富的社会生活中,人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式,对于企业来说,网络交易能大大提高交易速度、节约成本。在这种形势下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求,因而开发了这样一个具有前台后台的网上商城系统,以满足购物者和企业的需求。 因此这次毕业设计题目就以目前现有的网上商城系统为研究对象,研究一般的网上商城的业务流程,猜测其各个功能模块及其组合、连接方式,并分析其具体的实现方式,最后使用Java加web服务器和数据库完成一个网上商城系统的主要功能模块。通过这样一个设计,可以提高自己Java编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Web开发流程,为今后工作打下基础。 1.1设计任务 从以下几个方面实现网络商城的基本功能: 1、用户部分: (1)用户的登录和注册,用户必须注册才能购物,注册时系统会对注册信息进行验证,进入系统或是结账时,用户可以进行登录,登录时,如果密码错误,系统会进行验证并提示错误。 (2)浏览商品,实现用户可以在网络商店中随意浏览商品,商品按类别分类,方便用户查找不同类别的商品 (3)购物车管理,能实现添加商品、删除商品、更新商品的功能。 (4)生成订单,查看购物车后单击下一步则生成订单信息表,一旦提交订单,则购物车就不能被改变。 2、管理员部分:

简单画图程序设计

面向对象程序设计 课程设计报告 设计题目:简单画图程序的设计 学院:信息工程学院 专业:计算机科学与技术(交通)学号: 姓名: 指导教师: 2015 年1 月4 日

目录 1.设计目的和内容------------------------------------------------1 1.1.设计目的-----------------------------------------------------------1 1.2.设计内容-----------------------------------------------------------1 2.基本功能---------------------------------------------------------1 2.1.图形样式-----------------------------------------------------------1 2.2.颜色样式-----------------------------------------------------------2 2. 3.画笔样式-----------------------------------------------------------2 2.4.线型选择-----------------------------------------------------------3 3.设计思路---------------------------------------------------------3 4.软件设计---------------------------------------------------------5 4.1.设计步骤-----------------------------------------------------------5 4.2.界面设计-----------------------------------------------------------8 4.3.关键功能的实现----------------------------------------------------9

气象图例配色原则

.图例配色原则 3.1降水分布图图例分级与配色 降水配色方案分为降水距平百分率图例分级和配色方案和降水量图例分级和配色方案,降水量分布图又分为日、月、季、年四类模版,应用的选取规则如下表所示: 表3.1 降水量分布图图例配色方案选取划分表 时间跨度(单位:天) 模版名称 1‐10 日降水量图例配色方案 11‐60 月降水量图例配色方案 61‐120 季降水量图例配色方案 121‐365 年降水量图例配色方案 >365 年降水量图例配色方案 3.1.1降水量距平百分率图例分级和配色 分级 颜色 R G B (单位:%) >200 0 0 255 100~200 0 150 255 50~100 0 255 255 20~50 50 200 50 0~20 200 255 200 ‐20~0 255 255 150 ‐50~‐20 255 150 100 ‐80~‐50 255 100 100 ‐100~‐80 255 0 0

配色原则:降水量偏少为暖色调,降水量偏多为冷色调。基于两方面的考虑将原有的绘图等值线间隔25%更换为20%:(1)方便评价描述(2)与预测传统保持一致。举例: 图3.1.1 XXXX年X月X日-X月X日全国降水量距平百分率分布图(单位:%) 3.1.2日降水量图例分级和配色 分级 颜色 R G B (单位:mm) >250 255 0 255 100~250 0 0 255 50~100 0 100 255 25~50 0 150 255 10~25 0 255 255 5~10 100 255 100 0.1~5 180 255 180 无降水 255 255 180 缺资料 0 255 255

相关文档
最新文档