实验三四
测量实验报告 (已填写答案)

工程测量实验报告系别:_____________班级:_____________姓名:_____________学号:_____________工程测量实验室实验一水准仪的认识与使用1、实习报告中文字部分自己填写2、实验或实习报告中的表格,请填写自己或小组观测的数据一、实验目的:1.了解微倾式DS3水准仪的基本构造,认识其主要部件的名称和作用。
2.练习水准仪的安置,瞄准和读数。
3.练习一测站的测量、记录、计算和检核。
二、实验仪器设备和工具:每组实习设备为DS3微倾式水准仪一台、水准尺2根、尺垫1个、铅笔、计算器自备。
三、方法与步骤:1、水准仪的认识:(1)部件名称、位置、作用及使用方法。
(2)了解水准尺分划注记的规律,掌握读数方法。
2、水准仪的使用:(1)安置:要求高度适中,地面坚实稳固,架头水平,仪器连接牢固。
(2)粗平:观察左手大拇指旋转脚螺旋时的运动方向与圆水准气泡的移动方向之间的关系,从仪器构造上注意观察脚螺旋的顺时针(或逆时针)转动与仪器的升降之间的关系。
(3)瞄准水准尺:(4)精平与读数:安置→粗平→瞄准→精平→读数2、实验数据记录:(请填写自己观测的数据,以下为示例)测站测点后视读数(m)前视读数(m)高差(m)备注1 A-1 1.568 1.416 0.152 第1台阶2 A-2 1.568 1.265 0.303 第2台阶3 A-3 1.568 1.114 0.454 第3台阶4 A-4 1.568 0.966 0.602 第4台阶四、注意事项:1.中心连接螺旋要旋紧,防止仪器从架头上摔落。
2.每次读数前,均须消除视差和进行精确整平。
3.记录人员记录数据时,要向观测人员回报,记录以m为单位,记为mm。
4.为了人和仪器的安全,测站点和转点应选在路边。
5.仪器操作时不要用力过猛,脚螺旋,水平微动螺旋都有一定的调节范围,使用时不宜旋到顶端。
五、思考题:1、一个测站的水准测量中,已经观测了后视点,当观测前视点时是否还要再次粗略整平及精确整平?为什么?答:不能进行粗略整平。
动物生理学实验思考题

实验二:坐骨神经标本的制作1、毁坏脑颅----单毁随。
保持静止,麻醉蟾蜍,减少痛苦。
2、脑颅+脊髓----双毁随。
排除中枢神经对腓肠肌的m影响。
3、完整的标本:坐骨神经脊柱骨+坐骨神经+腓肠肌+股骨头或胫腓骨头4、任氏液的作用:它包括钾离子,钙离子、钠离子,氯离子,碳酸氢根和磷酸二氢根等等。
维持其正常生理机能,维持细胞渗透压稳定,保持内环境稳态,相当于机体中的组织液。
5、注意事项:用锌铜弓刺激时神经干要悬空,切勿接触其他物体。
如果神经干结扎不好,通电断电时会引起腓肠肌收缩,需要重新结扎。
剥过皮的保本不可和皮肤,赃物接触6、如何保持机能正常:1、金属器械不要碰及、损伤神经或腓肠肌2、保持湿润,常加任氏液,最好先泡一会.实验三四:骨骼肌单收缩和收缩特性1定义:阈强度或阈刺激,即产生动作电位所需的最小刺激强度,作为衡量组织兴奋性高低的指标。
强度小于阈值的刺激,称为阈下刺激;阈下刺激不能引起兴奋或动作电位,但并非对组织细胞不产生任何影响。
最适刺激强度有了阈刺激也就是刺激导致的电位变化已经达到了阈电位,这样就会有动作电位的产生,从而形成局部电位因为骨骼肌收缩是许多神经纤维共同作用的结果,当刺激在一定范围内增大时,兴奋的神经纤维增多,多支配的骨骼肌肌纤维也会随之增多,收缩增强活的神经肌肉组织具有兴奋性,能接受刺激发生兴奋反应。
标志单一细胞兴奋性大小的刺激指标一般常用阈值即强度阈值表示,阈值是指在刺激作用时间和强度-时间变化率固定不变的条件下,能引起组织细胞兴奋所需的最小刺激强度,达到这种强度的刺激称为阈刺激。
单一细胞的兴奋性是恒定的,但是不同细胞的兴奋性并不相同。
因此,对于多细胞的组织来说,在一定范围内,刺激与反应之间表现并非“全或无”的关系。
坐骨神经和腓肠肌是多细胞组织,当单个方波电刺激作用于坐骨神经或腓肠肌时,如果刺激强度太小,则不能引起肌肉收缩,只有当刺激强度达到阈值时,才能引起肌肉发生最微弱的收缩,这时引起的肌肉收缩称阈收缩(只有兴奋性高的肌纤维收缩)。
实验三四 链表的实现和应用

江南大学物联网工程学院上机报告课程名称 班 级 数据结构 上机名称 姓 名 链表的实现和应 用 上机日期 学 号 2016.3.11 上机报告要求 1.上机名称 2.上机要求 3.上机环境 4.程序清单(写明运行结果) 5.上机体会1.上机名称链表的实现和应用2.上机要求⑴定义线性表的链式存储表示; ⑵基于所设计的存储结构实现线性表的基本操作; ⑶编写一个主程序对所实现的线性表进行测试; ⑷线性表的应用:①设线性表 L1和 L2分别代表集合 A 和 B,试设计算法求 A 和 B 的并集 C,并用线 性表 L3代表集合 C;②设线性表 L1和 L2中的数据元素为整数,且均已按值非递减有序排列,试 设计算法对 L1和 L2进行合并,用线性表 L3保存合并结果,要求 L3中的数据元素也按值非递减 有序排列。
⑸设计一个一元多项式计算器,要求能够:①输入并建立多项式;②输出多项式;③执行两个多项式 相加;④执行两个多项式相减;⑤(选做)执行两个多项式相乘。
3.上机环境Visual C++ 6.04.程序清单(写明运行结果)(1) #include<stdio.h> #include<stdlib.h> typedef int datatype; typedef struct node { datatype data; struct node *next; }LinkList; LinkList *CREATLISTF(LinkList *L,int n) { intnum,i; LinkList *head,*s,*r; head=L; r=head; head->next=NULL;printf("请输入集合中的元素(由小到大) :\n"); for(i=0;i<n;i++) { scanf("%d",&num); s=(LinkList*)malloc(sizeof(LinkList)); s->data=num; r->next=s; r=s; } r->next=NULL; return head; } LinkList *merge(LinkList *L1,LinkList *L2) { LinkList *L3,*pa,*pb1,*pb2,*pc; L3=(LinkList*)malloc(sizeof(LinkList)); L3->next=NULL; pa=L1->next; pb1=pb2=L2->next; pc=L3; while(pa && pb1) if(pa->data<pb1->data) { pc->next=pa;pc=pa; pa=pa->next; } else if(pa->data>pb1->data) { pc->next=pb1;pc=pb1; pb1=pb1->next; } else { pc->next=pa; pc=pa;pa=pa->next;pb1=pb2=pb1->next; } if(pa)pc->next=pa; else pc->next=pb1; return(L3); } void display(LinkList *L) { LinkList *head; head=L->next;do { printf("%d\t",head->data); head=head->next; }while(head!=NULL); } void main() { intan,bn; LinkList *L1,*L2,*L3; L1=(LinkList*)malloc(sizeof(LinkList)); L2=(LinkList*)malloc(sizeof(LinkList)); printf("\n 集合 A 中元素的个数:\n"); scanf("%d",&an); *L1=*CREATLISTF(L1,an); printf("集合 A 的元素为:\n"); display(L1); printf("\n 集合 B 中元素的个数:\n"); scanf("%d",&bn); *L2=*CREATLISTF(L2,bn); printf("集合 B 的元素为:\n"); display(L2); L3=merge(L1,L2); printf("\n 集合 A 与集合 B 的并集为:\n"); display(L3); }(2) #include<stdio.h> #include<stdlib.h> struct node { intexp; float coef; struct node *next; }; typedef struct node ListNode; ListNode *createpoly() { ListNode *h=NULL,*p,*q=NULL; int e; float c; printf("请输入系数和指数:"); scanf("%f,%d",&c,&e); while(e!=0||c!=0) { p=(ListNode*)malloc(sizeof(ListNode)); p->coef=c; p->exp=e; p->next=NULL; if(h==NULL) h=p; else q->next=p; q=p; printf("请输入系数和指数:"); scanf("%f,%d",&c,&e); } return h; } void disppoly(ListNode *h) { ListNode *p; p=h; while(p!=NULL) { if(p->exp==0) printf("%.2f",p->coef); else printf("%fx^%d",p->coef,p->exp); p=p->next;if(p!=NULL) printf("+"); } printf("\n"); } ListNode *addpoly(ListNode *h1,ListNode *h2) { ListNode *p,*r=NULL,*s1,*s2,*s=NULL; float c; int e; s1=h1; s2=h2; while(s1!=NULL&&s2!=NULL) { if(s1->exp==s2->exp) { c=s1->coef+s2->coef; e=s1->exp; s1=s1->next; s2=s2->next; } else if(s1->exp>s2->exp) { c=s1->coef; e=s1->exp; s1=s1->next; } else { c=s2->coef; e=s2->exp; s2=s2->next; } if(c!=0) { p=(ListNode*)malloc(sizeof(ListNode)); p->coef=c; p->exp=e; p->next=NULL; if(s==NULL) s=p; else r->next=p; r=p;} } while(s1!=NULL) { c=s1->coef; e=s1->exp; s1=s1->next; if(c!=0) { p=(ListNode*)malloc(sizeof(ListNode)); p->coef=c; p->exp=e; p->next=NULL; if(s==NULL) s=p; else r->next=p; r=p; } } while(s2!=NULL) { c=s2->coef; e=s2->exp; s2=s2->next; if(c!=0) { p=(ListNode*)malloc(sizeof(ListNode)); p->coef=c; p->exp=e; p->next=NULL; if(s==NULL) s=p; else r->next=p; r=p; } } return s; } void deletepoly(ListNode *h) { ListNode *p,*r=h; while(r!=NULL){ p=r->next; free(r); r=p; } } void main() { ListNode *head1,*head2,*head; printf("第一个多项式为:\n"); head1=createpoly(); printf("第二个多项式为:\n"); head2=createpoly(); printf("将两个多项式相加后得:\n"); head=addpoly(head1,head2); disppoly(head); deletepoly(head); }5.上机体会并集的表示有两种方法,顺序结构和链式结构,首先先要搞清楚这两者的区别,然后再加以编写,改进程 序。
中山大学计算机原理-接口技术实验报告模板-实验三四五六

中山大学计算机原理-接口技术实验报告模板-实验三四五六计算机原理-接口技术实验实验报告实验人:院(系):学号:日期:专业(班级):实验题目: [实验三]可编程并行接口(一)8255方式0 ;[实验四]可编程并行接口8255与七段数码管实验;[实验五]交通灯控制实验;[实验六] 可编程并行接口(二)8255方式1沉重悼念5.12汶川大地震遇难同胞![实验三]可编程并行接口(一)8255方式0一、实验目的掌握8255方式0的工作原理及使用方法。
二、实验原理8255的基本工作原理与使用方法:并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图-2所示。
计算机原理-接口技术实验图-1: 8255内部结构及引脚图(a)工作方式控制字(b)c口按位置位/复位控制字1、8255的内部结构:如图-1所示,8255的内部结构由以下4个部分组成:(1)输入/输出端口A、B、C 。
这三个端口均可看作是I/O端口,但它们的结构和功能也稍有不同。
A口和B口是一个独立的8位I/O口。
C口可以看作是一个独立的8位I/O 口;也可以看作是两个独立的4位I/O口。
(2)A组和B组控制电路。
这是两组根据CPU命令控制8255工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255的工作方式,也可以根据编程命令来对C口的指定位进行置位/复位的操作。
A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。
植物学下册植物实验实验三四苔藓植物和蕨类植物

永久切片:地钱叶横切片(2片),地钱胞芽纵切片(2片),地钱雌器托纵切片(3片),地钱雄器托切片(3片),葫芦藓精子器切
片(3片),葫芦藓颈卵器切片(3片);
(优选)植物学下册植物实验实验三四苔藓植物和蕨类植物
问荆,肾蕨等部分蕨类植物及标本的观察。
孢子囊单生于近叶腋,孢子囊大,有柄,囊壁由数层细胞组成,孢子同型
蕨孢子囊群纵切片
蕨孢子囊群装片
蕨原叶体
精子器
颈卵器
幼蕨装片
槐叶苹(Salvinia natans)浮水,茎横卧, 无根,每节3叶轮生,上2叶矩圆形浮水,下1叶细裂须根 状
孢子果:壁由变态的囊群盖形成,孢子果单 性,大小孢子囊生在不同的孢子果内
问荆Equisetum arvense L.
问荆腊叶标本,浸制标本(示孢子叶穗)
孢囊柄:是问荆属植物孢子叶的特殊变态形式。
营养枝
生殖枝
谢谢观看
问荆,肾蕨等部分蕨类植物及标本的观 察。
石松孢子体
(Lycopodium clavatum)
有根、茎、叶分化, 茎匍匐生长,叉状分 枝,营养叶和孢子叶 异型,营养叶鳞片状 密生在小枝上,孢子 叶集生在分枝顶端 呈孢子叶球。
孢子囊单生于近叶腋,孢子囊大,有
石 柄,囊壁由数层细胞组成,孢子同型 松 孢 子 叶 球
(优选)植物学下册植物实验实验三四苔藓植物和蕨类植物
雌配子体: 颈卵器着生在伞形雌生殖托上
蕨类植物实验内容:
腊叶标本:各种蕨类植物标本。
地钱叶横切片;地钱胞芽杯切片和胞芽装片; 地钱雌器托切片; 地钱雄器托切片; 地钱孢子体切片
问荆生殖枝(示孢子叶穗)。
藓纲:葫芦藓装片; 藓精子器切片; 藓颈卵器切片; 藓原丝体装片
五四制青岛版小学科学三四五年级实验指导

五年级上册科学实验指导5、我们的营养【实验名称】:检验脂肪、淀粉、蛋白质实验【实验目的】:通过实验,掌握食物中主要营养成分的鉴定方法。
【实验器材】烧杯、水、淀粉、玻璃棒、碘酒、滴管;馒头、米饭;白纸、瓜子;镊子、酒精灯、瘦肉。
【实验步骤】(一)检验淀粉实验1、把少许淀粉放在烧杯内,加一点水,用玻璃棒搅拌成淀粉状糊。
2、用滴管吸入碘酒,在淀粉糊中滴入2—3滴碘酒,淀粉糊变成了蓝色。
3、把少量米饭放在硬纸板上,用滴管向米饭上滴2—3滴碘酒,观察到米饭变成蓝色。
4、用滴管再向馒头上2—3滴碘酒,观察到馒头变成蓝色。
【实验结论】米饭、馒头中含有淀粉。
【实验原理】淀粉遇到碘酒变蓝色。
根据这一特性,可用来检测食物里是否含有淀粉。
(二)检验脂肪实验把花生、瓜子放在白纸上用力挤压,在白纸上留下了淡黄色、半透明状的油渍。
【实验结论】花生、瓜子中含有脂肪。
(三)检验蛋白质实验把瘦肉切成条状,用镊子夹一细条,放在酒精灯火焰上烧,过一会儿闻一闻,会闻到一股像烧鸡毛一样的气味。
【实验结论】像烧鸡毛一样的气味,是蛋白质被烧的气味。
说明瘦肉含有蛋白质。
【实验说明】区分油渍和水渍油渍:发黄、半透明;水渍:原纸色、不透明。
【注意事项】在做脂肪实验前先让学生观察水滴到纸上的特点,以便区分油渍和水渍。
☆6、食物到哪里去了【实验名称】:唾液的消化作用的实验【实验目的】:观察唾液对淀粉的消化作用【实验材料】:两支试管、淀粉液、37℃的温水、水槽、滴管、碘酒。
【实验步骤】:1.两支试管中分别加入等量的淀粉液;其中一支加入少量唾液,并摇匀。
2.将两支试管放入37℃-40℃的温水中。
3 .过一会儿,分别往两支试管中滴入2-3滴碘酒。
观察现象。
【实验现象】加入唾液的试管中没有什么变化,没加入唾液的试管中的淀粉呈现蓝色。
【实验结论】唾液有消化淀粉的作用。
【注意事项】:1.保持试管的水温在37℃左右,唾液发挥正常的消化作用。
2.加入碘酒后摇匀。
【链接】:1.由于淀粉具有遇到碘酒变蓝的性质,所以没加唾液的试管中淀粉变蓝。
有趣的科学小实验作文

有趣的科学小实验作文有趣的科学小实验作文(精选15篇)无论是在学校还是在社会中,大家都有写作文的经历,对作文很是熟悉吧,作文根据写作时限的不同可以分为限时作文和非限时作文。
还是对作文一筹莫展吗?下面是店铺为大家整理的有趣的科学小实验作文,仅供参考,大家一起来看看吧。
有趣的科学小实验作文1科学是人类的成长之门,是它让我们了解到许多知识,是它带领我们探索自然的奥秘;是它让我们受到很大启发。
一天,我跟妈妈去逛街,走着走着我看见了一个叔叔在卖指南针,手里还正在制作一个指南针,他旁边的喇叭里在说准备的材料和制作过程。
我想要不我回去也做一个,回到家后我找了一个铁针、一个磁针、一个玩具轮子、一个胶带。
我先拿出一个铁针和一个磁针,然后把铁针放到磁针上反复摩擦直到铁针磁化掉,让我疑惑的是铁和磁铁怎么可以磁化呢?接着拿出一个玩具轮子当指南针的底座,再次把磁化了的铁针放在玩具轮子上,最后用胶带把铁针固定在玩具轮子上,轻轻一推指南针就做好了。
指南针一边指向北,一边指向南,当它转动时四面八方都会转动,让我们辨别方向。
这次实验让我收获了很多,让我明白了指南针只有转动才能指四面八方停下来就指向北和南,如果指北就是北极,指向南就是南极。
有趣的科学小实验作文2今天我要做一个有趣的科学小实验筷子的神力。
做实验当然少不了材料,我迫不及待地准备好实验材料:一个塑料杯子、一杯米、一根竹筷子。
首先我把米倒进塑料杯里,用手按压杯中的米,然后用手按住杯中的米,将竹筷子从手指缝中间插进去,接着用手轻轻一提筷子,但是杯子和米都没有被提起来。
我又试着做了几次,都没有成功。
怎么回事呢?我拿过爸爸的手机看了一下实验原理,然后恍然大悟。
原来筷子能够把杯子和米提起来,是因为用手按米的时候把杯子里面的空气挤出来,杯子外面的压力大于杯子里面的压力,使筷子和米之间紧紧地结合在一起,筷子就能将倒满米的杯子提起来。
我失败的原因是没有将杯子里面的空气全部挤出来。
失败乃成功之母!再试一次!这一次我使劲把米按了按,再用我的拳头压了压,一边按压一边想:这次一定要把被子里的空气挤出去。
科学实验报告必备15篇

科学实验报告必备15篇科学实验报告1材料:一个有窄口的塑料瓶、黏土、一段塑料软管、几个硬币、胶带。
1、在塑料瓶的一侧挖二三个洞。
在瓶子的同一侧,用胶带把三四个硬币固定上去。
这些硬币有重量,可使潜水艇往下沉。
2、把塑料软管放入塑料瓶的窄口里,再用黏土把软管和瓶口的缝隙封好。
3、把这个玩具潜水艇放到一盆水里,让潜水艇灌满水。
4、从软管把空气吹入潜水艇。
在你吹气的时候,潜水艇内的'水会从洞口被逼出来。
5、当潜水艇充气到一定程度时,它会慢慢升到水面上。
操作:你只要控制潜水艇内空气的量,就可以使潜水艇在水中浮沉了。
原因:怎么会这样?空气的重量比水轻,当你把潜水艇装满气时,潜水艇变得比水还轻,所以会上升到水面上。
科学实验报告2实验组别:实验合作者:指导老师:实验日期:20××年×月×日第×节实验名称:调查污染的来源实验目的':通过调查污染的来源,让学生知道水是如何被污染的。
实验器材:实验步骤:采访当地政府部门。
家庭生活污染物。
采访家用物资销售部。
医院采访。
实验现象:农药、化肥,洗涤剂等都会污染水。
实验结论:我发现水污染来自于××××××问题讨论:科学实验报告3实验内容:光的反射能力实验地点:五年级教室实验目的:认识光的反射及应用实验器材:卡纸(红、黄、绿、黑、白)各一张,手电筒一支,夹子实验步骤:1、夹子夹住卡纸2、将夹横立在桌上,并在桌面上放一页有字的'纸。
3、打开手电筒开关,对着卡纸,观察文字实验现象:黑色反光弱,红色反红光,黄色反黄光,绿色反绿光,白色反光能力强。
实验结论:深色反光弱,浅色反光能力强。
实验效果:好!实验人:xxx实验人实验时间:20xx年xx月xx日仪器管理员签字:xxx科学实验报告4今天上午,我去参加小记者活动,科学实验之染色工艺。
活动开始了,老师先告诉我们什么叫染色工艺。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、VB程序设计技巧实验知识点:练习VB程序设计的技巧。
如:RGB函数的用法,控件数组的应用,select case分支结构的掌握等实验要求:1)设计一个可以进行四则运算的简单计算器。
该计算机除了可以进行加、减、乘、除、求模(取余)等简单的四则运算外,还要求可以进行四则混合连算,并具有符合计算器日常使用习惯的容错纠错功能。
具体步骤如下:①在界面上建立按钮控件数组:首先在窗体中置入一个命令按钮控件后,将其激活并点击右键通过“复制”、“粘贴”的方法依次产生19个一样的命令按钮控件,其中在创建第一个“粘贴”控件时VB会询问“是否要创建控件数组?”回答“是”即可开始依次创建该数组。
②按钮属性的设置:将各按钮的caption属性分别设置为0,1,2……9,+、-、×,/,Mod,=,cls,Exit,注意在设置这些属性时其值与按钮控件的Index属性的对应性。
③其它控件的属性设置:文本框作为显示操作数和结果的控件,应遵循一般计算器的显示习惯,将其Alignment即对齐属性设置为“Right”,此外,将各控件相关的字体、字号等设置为统一风格。
④在程序的通用区定义四个窗体层变量:num1、num2、sum、act、前三个为双精度、act为整型变量。
⑤编写进行四则运算所需的程序作为命令按钮的单击事件过程。
2)设计一个趣味调色板。
通过改变红、绿、蓝三种基本颜色的比例,显示调色结果。
具体步骤如下:①在界面上放置3个滚动条控件(HScrollBar水平滚动条),8个标签(label)控件,1个形状(shape)控件和2个命令按钮,其中形状控件是用来显示调出的颜色结果的,标签控件则分别用来静态显示“红”、“绿”、“蓝”和动态显示红绿蓝三色配比读数以及其它提示性信息,三个滚动条则用来在程序执行时调整三原色的配比比例。
②形状控件shape的初始设置:Shape属性设置值为“oval”这样所显示的形状就是椭圆形的;Backstyle属性设置值为“opaque”;Fillcolor属性设置初始值为白色;③程序中使用RGB函数。
该函数的完整格式:RGB(red,green,blue)其中的red、green、blue分别代表红、绿、蓝的三个整型数据,其值在0~255之间(如果超过255,则当作255处理)。
合理搭配这三个整型数据,就可以得到全部色彩。
④设置ScrollBar控件的四个属性:LargeChange——滚动条控件每次能够被改变的最大值为100;SmallChange——滚动条控件每次能够被改变的最小值为10;Max——滚动条控件的最大值为255;Value——滚动条控件的当前值随程序运行变化;⑤编写调色的事件过程程序(即三个滚动条变化的事件过程)。
实验四小综合实验知识点:掌握时钟控件的使用,熟悉时钟控制程序的编程思路,熟练应用输入与输出相结合的方法,熟练运用函数调用来实现相关功能,将编程思想和控件融为一体来解决实际应用中的问题。
实验要求:设计一个具有实际应用价值的动态倒计时牌。
要求目标时间(即倒计时截至时间)的年、月、日、时、分、秒以及倒计时主题可以根据不同主题由用户动态设定,并且在此设定基础上在屏幕上显示距离相关主题到达之时还有n年、n天和n秒(其中的三个n各不相同,且随着程序运行动态变化),以北京时间作为主要显示板块,同时显示纽约、伦敦时间的附加倒计时板块。
程序中除了刚运行时给出一次当前标准时间值(或读出系统当前时间)外,在程序运行期间应在自己独立的用户时钟控制下,而不受外界输入影响和系统时间的束缚。
实验步骤:1)根据实验设计需要在窗体上放上若干所需的标签控件、文本框控件、时钟控件、框架控件、组合框控件、命令按钮控件等,并设置各控件的必要属性值;2)在程序中用时钟控件不断触发系统时间与预设定时间时间截止点的时间差:分别计算当前时间和预设定时间截止点之间相差的整年数、当前时间到时间截止点还差的不足一年的天数和当前时间到时间截止点之间相差的不足一天的秒数并分别显示之。
3)程序中调用系统时间综合使用了“Now”函数和“Format”函数,其完整形式为:–Format(Now, “hh:mm:ss”)–Format(Now,“mm/dd/yy”)前者可以按照“小时:分钟:秒”的形式返回当前时间;后者可以按照“月/日/年”的形式返回。
4)为保证应用程序的灵活性,应在倒计时牌上设有暂停、继续、时间校正、时区切换,结束运行等特殊要求的激发点。
5)按照需要构筑程序框架并编写应用程序。
实验三参考代码一:•Dim num1 As Double, num2 As Double•Dim sum As Double•Dim act As Integer•Private Sub Form_Load()•num1 = 0•num2 = 0•sum = 0End Sub•Private Sub Command1_Click(Index As Integer)•Select Case Index•Case 0• If Text1.Text = "" Then• Text1.Text = "0"• Else• Text1.Text = Text1.Text + "0"• End If•Case 1• If Text1.Text = "" Then• Text1.Text = "1"• Else• Text1.Text = Text1.Text + "1" End If•Case 2• If Text1.Text = "" Then• Text1.Text = "2"• Else• Text1.Text = Text1.Text + "2"• End If•Case 3• If Text1.Text = "" Then• Text1.Text = "3"• Else• Text1.Text = Text1.Text + "3"• End If•Case 4• If Text1.Text = "" Then• Text1.Text = "4"• Else• Text1.Text = Text1.Text + "4" • End If•Case 5• If Text1.Text = "" Then• Text1.Text = "5"• Else• Text1.Text = Text1.Text + "5" •End If•Case 6• If Text1.Text = "" Then• Text1.Text = "6"• Else• Text1.Text = Text1.Text + "6" • End If•Case 7• If Text1.Text = "" Then• Text1.Text = "7"• Else• Text1.Text = Text1.Text + "7" • End If•Case 8• If Text1.Text = "" Then• Text1.Text = "8"• Else• Text1.Text = Text1.Text + "8" • End If•Case 9• If Text1.Text = "" Then• Text1.Text = "9"• Else• Text1.Text = Text1.Text + "9" • End If•Case 10• If Text1.Text = "" Then• Text1.Text = "."• Else• Text1.Text = Text1.Text + "." • End If•Case 11• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 1•Case 12• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 2•Case 13• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 3•Case 14• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 4•Case 15• num1 = CDbl(Text1.Text) • Text1.Text = ""• act = 5•Case 16• num1 = 0• num2 = 0• sum = 0• Text1.Text = ""•Case 17• num2 = CDbl(Text1.Text) •Select Case act• Case 1• sum = num1 + num2 • Case 2• sum = num1 - num2 •Case 3• sum = num1 * num2 • Case 4• sum = num1 / num2 • Case 5• sum = num1 Mod num2 • End Select• Text1.Text = ""• Text1.Text = CStr(sum) •Case 18• End•End Select•End Sub实验三参考代码二:•Private Sub Form_Load()•rgeChange = 10: HScroll1.SmallChange = 1: HScroll1.Max = 255: HScroll1.Value = 0 •rgeChange = 10: HScroll2.SmallChange = 1: HScroll2.Max = 255: HScroll2.Value = 0 •rgeChange = 10: HScroll3.SmallChange = 1: HScroll3.Max = 255: HScroll3.Value = 0 •Label7.Caption = 0: Label8.Caption = 0: Label9.Caption = 0•Label2.BackColor = vbBlack•End Sub•Private Sub HScroll1_Change()•Label2.BackColor = RGB(HScroll1.Value,HScroll2.Value, HScroll3.Value)•Label7.Caption = HScroll1.Value•End Sub•Private Sub HScroll2_Change()•Label2.BackColor = RGB(HScroll1.Value,HScroll2.Value, HScroll3.Value)•Label8.Caption = HScroll2.Value•End Sub•Private Sub HScroll3_Change()•Label2.BackColor = RGB(HScroll1.Value,HScroll2.Value, HScroll3.Value)•Label9.Caption = HScroll3.Value•End Sub•Private Sub Command1_Click()•HScroll1.Value = 0•HScroll2.Value = 0•HScroll3.Value = 0•Label2.BackColor = vbBlack•End Sub•Private Sub Command2_Click()•End•End Sub实验四参考代码:•Dim nYear As Long, nDay As Long, tYear As Long, tDay As Long•Dim nSec As Long, tSec As Long•Dim strNow1 As String, strNow2 As String•Dim strEnd1 As String, strEnd2 As String•nYear,nDay,nSec为当前年和当前年距离年底的天数以及当前天已经过去的秒数,•tYear,tDay,tSec为预设定时间截止点的年,该年元月1日到时间截止点的天数以及时间截止点当天零点到截止时间的秒数•Private Sub Command1_Click()•Timer1.Enabled = TrueEnd Sub•Private Sub Command2_Click()•Timer1.Enabled = False•End Sub•Private Sub Command3_Click()•Timer1.Enabled = False•Label2.Caption = "0"•Label4.Caption = "000"•Label6.Caption = "00000000"•End Sub•Sub showDay()•Label4.Caption = (tDay - nDay) Mod 365•End Sub•Sub showYear()•Label2.Caption = tYear - nYear - 1+ (tDay + nDay) \ 365•End Sub•Sub showSecond()•nSec = 86400 - nSec + tSec•If nSec > 86400 Then• nSec = nSec - 86400• nDay = nDay + 1•End If•Label6.Caption = nSec•End Sub•Private Sub Command4_Click()•End•End Sub•Private Sub Form_Load()•strEnd1 = InputBox$("请输入倒计时截止日期:(格式:月-日-年)")•strEnd2 = InputBox$("请输入倒计时截止时间:(格式:时:分:秒)")•Label1.Caption = "距离" + Right(strEnd1, 4) + "年" + Left(strEnd1, 2) + "月" + Mid(strEnd1, 4, 2) + "日" + "还有:"•tYear = Val(Right(strEnd1, 4))•tDay = (Val(Left(strEnd1, 2)) - 1) * 30 +Val(Mid(strEnd1, 2))•tSec = Val(Left(strEnd2, 2)) * 3600 + Val(Mid(strEnd2, 4, 2)) * 60 + Val(Right(strEnd2,2))•End Sub•Private Sub Timer1_Timer()•strNow1 = Format(Now, "mm/dd/yyyy")•strNow2 = Format(Now, "hh:mm:ss")•nYear = Val(Right(strNow1, 4))•If nYear Mod 4 = 0 And nYear Mod 100 <> 0 Or nYear Mod 400 = 0 Then• nDay = 366 - (Val(Left(strNow1, 2) - 1) * 30 + Val(Mid(strNow1, 4, 2)))•Else• nDay = 365 - (Val(Left(strNow1, 2) - 1) * 30 + Val(Mid(strNow1, 4, 2)))•End If•nSec = Val(Left(strNow2, 2)) * 3600 + Val(Mid(strNow2, 4, 2) - 1) * 60 +Val(Right(strNow2, 2))•showSecond•showDay•showYear •End Sub。