第三次实验报告
- 格式:doc
- 大小:26.00 KB
- 文档页数:1
第三次实验课 反相器(下)实验日期:20142.3 分析如下电路,解答下列问题上面的电路用两种方式实现了反相器,左图只使用了NMOS ,右图则使用了CMOS(NMOS 和PMOS)。
试完成:V F 3.0-=φ1.仿真得到两个电路的VTC 图形答:红色的为仅用NMOS 实现的反相器的VTC 图形;蓝色的为使用CMOS 的反相器的VTC 图形,如图:2.计算两种电路的V OH ,V OL 及V M 。
可参考波形确定管子的工作状态。
答:①当Vin=2.5V 时,N 管导通有在体偏置条件下阀值电压公式:)22(0F SB F T T V V V φφγ-+-+=()()()⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡--=22220'2011'222'OL OL T in n DS DS T GS M M n d DSAT DSAT T DD M M n DSAT V V V V L W k V V V V L W k I V V V V L W k I (M2速度饱和)将下列数据代人VV V A k V V V D SAT n F T 63.0,/10115,3.0,43.026'0=⨯=-==-φ25.075.0,25.0375.01122==M M M M L W L W解得: V V OL 2875.0=当Vin=0V 时,N 管截止,Vout=OH V =2.5V求解M V :当out in V V =时,由于GS DS V V =,M1工作在饱和区此时流过M1(速度饱和)的电流为:()⎥⎥⎦⎤⎢⎢⎣⎡--=22011'1DSAT DSAT T in M M n DSAT V V V V L W k I (1) 流过M2的电流为(速度饱和)()⎥⎥⎦⎤⎢⎢⎣⎡---=2222'2DSAT DSAT T out DD M M n DSAT V V V V V L W k I (2) )22(0F SB F T T V V V φφγ-+-+=(3)M out in SB V V V V ===联立方程解得M V =1.017V②对于CMOS 器件当Vin=0时,V V V out O H 5.2==当Vin=2.5时,V V V out O L 0==求解M V :当out in V V =时,由于GS DS V V =,NMOS 与PMOS 工作在饱和区由于T M D SAT V V V -<,此时已经发生了速度饱和(参考波形)代入,联立解得:将下列数据V V V V V V V V V A k V A k L W k k L W k k V k V k r r V V V r V V V V V V V V k V V V V k DSATp DSATn Tp Tn p n pp p p nn n n DSATnn DSATpp DSAT TP DD DSAT Tn M DSATp Tp DD M DSATp p DSATn Tn M DSATn n 1,63.04.0,43.0,/1030,/101151)2/()2/(0)2/()2/(26'26'''-==-==⨯-=⨯====+++++==---+----M V =1.132315968V3.哪一种结构的反相器的功能性更好,为什么?(噪声容限,再生性,过渡区增益)答:CMOS 反相器更好。
实验成绩汇总表第一次实验实验日期:2022年10月21日实验成绩:实验名称:果蝇的形态、生活史观察及杂交实验维生素、维生素D、脂肪、粗纤维素、碳水化合物、矿物元素及微量元素2等,同时还含有丰富的酶系统和生理活性物质,果蝇喜甜食且葡萄糖能增加酵母活性。
实验操作:A溶液不断搅拌煮沸;B溶液玉米粉和水加热搅拌均匀后再加酵母粉煮沸。
A、B溶液再合到一起煮沸,待其降温至50~60℃时再加0.5 mL丙酸,待培养基冷却至室温后,再分装到各培养管中(每管约3mL)。
灭菌:将分装好的培养基置于高压蒸汽灭菌锅中,103.4 kPa ,121℃,灭菌20 min,冷却后置于-20℃冰箱保存备用。
注意事项:1.A溶液加热过程中不断搅拌,以防琼脂在底部结块。
2.酵母菌加入后,加热的时间必须尽量缩短,避免酵母菌失活;丙酸必须待其降温至50~60℃时再加入,避免丙酸的挥发。
3.分装培养基时要一次性垂直分装到管底,不能污染到管壁、管口。
4.培养管内应晾至表面无水层、管壁无水滴再置于-20℃冰箱保存备用。
(三)野生型果蝇的采集取一个清洁玻璃容器放入腐烂的香蕉,用纱布罩住容器口,在纱布上开几个2〜3 mm 见方的孔,将容器置于室外。
2〜3 d 后即可采集到野生型果蝇,放入冰箱冷冻室(-20℃)冷冻约2 min,待果蝇全部被麻醉之后,再转移到培养管内。
(四)接种将新培养管与装有果蝇的培养管口对口垂直放置。
其中,装有新鲜培养基的培养管倒扣在上方,打开培养管塞后应迅速对好2个管口,将对好的2个培养管翻转,使新培养管位于下方,轻顿几下,待全部果蝇落入新培养管注明两亲本的基因型及交配日期。
7~8天后清空亲本,待F1成蝇羽化后逐日观察、计数对应表型个体数(可靠的计数及观察是培养开始的20天以内,再晚可能有F2了)若须继续试验、观察F2,可从F1内挑出雌雄蝇5-10对另瓶培养。
单因子杂交杂交实验步骤:1、选处女蝇:每两组做正、反交各1瓶,正交选野生型,红眼为母本,反交选突变型白眼为母本,将母本旧瓶中的果蝇全部麻醉处死,在8-12h内收集处女蝇5只将处女蝇和5只雄蝇转移到新的杂交瓶中,贴好标签,于25℃培养。
半导体功率器件与智能功率IC实验学生姓名:田瑞学号:201422030143指导教师:乔明一、实验室名称:211楼803 工作站二、实验项目名称:半导体功率器件与智能功率IC实验——LDMOS器件版图设计实验三、实验原理:首先,设计版图的基础便是电路的基本原理,以及电路的工作特性,硅加工工艺的基础、以及通用版图的设计流程,之后要根据不同的工艺对应不同的设计规则,一般来说通用的版图设计流程为:1.制定版图规划记住要制定可能会被遗忘的特殊要求清单2.设计实现考虑特殊要求及如何布线创建组元并对其进行布3.版图验证执行基于计算机的检查和目视检查,进行校正工作最终步骤工程核查以及版图核查版图参数提取与后仿真完成这些之后需要特别注意的是寄生参数噪声以及布局等的影响,具体是电路而定,在下面的实验步骤中会体现到这一点。
IC设计与制造的主要流程四、实验目的:掌握版图设计的基本理论。
掌握版图设计的常用技巧。
掌握定制集成电路的设计方法和流程。
熟悉Cadence Virtuoso Layout Edit软件的应用学会用Cadence软件设计版图、版图的验证以及后仿真熟悉Cadence软件和版图设计流程,减少版图设计过程中出现的错误。
五、实验内容:结合LDMOS的版图文件,完成LDMOS器件的版图绘制。
六、实验器材(设备、元器件):CADENCE软件七、实验步骤:LDMOS的版图文件nwell 16400 8000pwell1 10 7000pwell2 70 34003550 40504220 45204740 49905250 54705770 59206350 8000poly 20400 18005000 7400nimplant 20400 74007700 8000pimplant 10 7700omicont 20300 07000900 7600metal 20 20004800 8000nitride 20 06006300 8000八、实验数据及结果分析:整体版图版图下部分别为:源端pad,漏端pad以及栅极pad九、实验结论:通过实验,了解LDMOS器件的版图设计,熟悉CADENCE软件的使用。
第三次实验报告——直流并励电动机1、 实验内容1 1. 工作特性和机械特性保持U=UN 和If =IfN 不变,测取n 、T2 、n=f(Ia)及n=f(T2)。
1.1实验拍照、数据、图表表1-8 U=U N =220V I f =I fN =1.1 A K a =20Ω 1.2 实验结果分析与理解实 验 数 据 I a (A )1.101.00 0.85 0.75 0.63 0.57 0.40 0.25 n (r/min ) 1261 1289 1317 1340 1363 1387 1402 1428 T 2(N.m )2.73 2.512.211.801.571.421.160.84计 算 数 据P 2(w ) 361.5 339.7 305.6 253.3 224.7 206.8 170.8 125.9 P 1(w ) 484.0 462.0 429.0 407.0 380.6 367.4 330.0 297.0 η(%)74.773.5 71.2 62.2 59.0 56.3 51.7 42.4 △n (%)电磁转矩T越大,转速n越低,其特性是一条下斜直线。
原因是T增大,电枢电流Ia与T成正比关系,Ia也增大;电枢电动势Ea则减小,转速n降低。
2、实验内容2调速特性(1)改变电枢端电压的调速2.1实验拍照、数据、图表U a(V)153 123 78 72 66 60 56 0.42n(r/min)858 638 295 276 185 158 138 83I a(A)0.55 0.65 0.93 0.90 0.88 0.86 0.82 0.612.2实验结果分析与理解电枢电压减小时,Ce与电动机本身决定,Φ由励磁电流决定,负载转矩T 不变,只有转速n会随着电枢电压减小而降低,从而实现调速。
改变电枢电压调速,电枢电流几乎不变。
改变电枢电压调速,可以实现连续平滑地无级调速,调速范围大,效率高,机械特性硬,但只能从额定转速向下调节。
实验十六中波调幅发射机组装及调试标准实验报告一、实验室名称科A402二、实验项目名称中波调幅发射机组装及调试三、实验原理图16-1 中波调幅发射机该调幅发射机组成原理框图如图16-1所示,发射机由音频信号发生器,音频放大,AM调制,高频功放四部分组成。
实验箱上由模块4,8,10构成。
四、实验目的1.在模块实验的基础上掌握调幅发射机整机组成原理,建立调幅系统概念。
2.掌握发射机系统联调的方法,培养解决实际问题的能力。
五、实验内容完成调幅发射机整机联调六、实验器材(设备、元器件)1.高频实验箱 1台2.双踪示波器 1台七、实验步骤在做本实验前请调试好与本实验相关的各单元模块1.将模块10的S1的2拨上,即选通音乐信号,经U4放大从J6输出,调节W2使J6处信号峰-峰值为200mV左右,连接J6和模块4的J5将音频放大信号送入模拟乘法器的调制信号输入端。
同时将1MHz (峰-峰值500mV左右)的载波从模块4的J1端输入。
2.调节W1使得有载波出现,调节W2 从J3处观察输出波形,使调幅度适中。
3.将AM调制的输出端(J3)连到集成线性宽带功率放大器的输入端J7,从TH9处可以观察到放大的波形。
4.将已经放大的高频调制信号连到模块10的天线发射端TX1,并按下开关J2,这样就将高频调制信号从天线发射出去了,观察TH3处波形。
八、实验数据及结果分析1.画出调幅发射机组成框图和对应点的实测波形并标出测量值大小。
图1.蓝色为音频信号放大后波形,黄色为AM调制后波形图2.高频功率放大后的波形图3.发射前天线信号波形图4. 发射时天线信号波形九、实验结论实验通过对音频信号进行放大,AM调制处理,将语音信号调制到载波信号中发射出去。
让接收机能够接收到语音信号并进行解调,但在实验过程中,仪器工作正常,但是接收机无法接收到信号。
原因:实验室内电磁环境复杂,天线拉的太长,接收到了过多的噪声。
解决方法:用导线连接两者的天线,或者讲天线收短。
第1篇一、实验目的1. 了解燃烧的条件。
2. 掌握火焰燃烧的基本特性。
3. 通过实验,验证燃烧的必要条件。
二、实验原理燃烧是一种氧化还原反应,通常需要满足以下条件:可燃物、氧气和达到一定温度的点火源。
燃烧的手掌实验旨在通过观察手掌在不同条件下燃烧的情况,验证燃烧的必要条件。
三、实验材料1. 纯棉布一块2. 氧气瓶一个3. 点火器一个4. 酒精灯一个5. 钳子一把6. 量筒一个7. 水盆一个8. 玻璃杯一个9. 手套一副四、实验步骤1. 将纯棉布剪成手掌大小,折叠成多层。
2. 将纯棉布放在水盆中浸泡,使其吸水。
3. 取出纯棉布,用钳子将其夹住,悬挂在氧气瓶上方。
4. 用酒精灯点燃点火器,将其放在纯棉布下方。
5. 观察纯棉布是否燃烧。
6. 将纯棉布放在空气中,用点火器点燃,观察燃烧情况。
7. 将纯棉布放在水中,用点火器点燃,观察燃烧情况。
8. 将纯棉布放在密封的玻璃杯中,用点火器点燃,观察燃烧情况。
五、实验结果与分析1. 当纯棉布在氧气瓶中燃烧时,火焰较大,燃烧较旺。
2. 当纯棉布在空气中燃烧时,火焰较小,燃烧较弱。
3. 当纯棉布在水中燃烧时,火焰熄灭,无法燃烧。
4. 当纯棉布在密封的玻璃杯中燃烧时,火焰熄灭,无法燃烧。
六、实验结论1. 燃烧需要氧气,氧气浓度越高,燃烧越旺。
2. 燃烧需要可燃物,纯棉布是可燃物。
3. 燃烧需要点火源,点火器可以提供点火源。
4. 燃烧需要达到一定温度,纯棉布在点火器点燃后可以燃烧。
5. 燃烧的必要条件:可燃物、氧气、点火源和达到一定温度。
七、实验总结本次实验通过观察燃烧的手掌在不同条件下燃烧的情况,验证了燃烧的必要条件。
在实验过程中,我们发现氧气浓度、可燃物、点火源和温度对燃烧有重要影响。
通过本次实验,我们对燃烧的基本原理有了更深入的了解。
在日常生活中,我们要注意防火,防止火灾的发生。
第2篇一、实验目的1. 了解手掌在燃烧过程中的温度变化。
2. 探究燃烧过程中手掌的热量传递方式。
第三次实验报告实验内容用户和用户组管理实验内容:用户和用户组的文件/etc/passwd 用户账号文件/shadow 用户口令文件/etc/group 用户组账号文件/gshadow 用户组口令文件添加用户useradd为用户设置口令passwd姓名:学号:520913080429专业:信息安全09-041、用户和用户组的文件/etc/passwd 用户账号文件root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/etc/news:uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinrpm:x:37:37::/var/lib/rpm:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinavahi:x:70:70:Avahi daemon:/:/sbin/nologinmailnull:x:47:47::/var/spool/mqueue:/sbin/nologinsmmsp:x:51:51::/var/spool/mqueue:/sbin/nologinnscd:x:28:28:NSCD Daemon:/:/sbin/nologinvcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologinhaldaemon:x:68:68:HAL daemon:/:/sbin/nologinrpc:x:32:32:Portmapper RPC user:/:/sbin/nologinrpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologinnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinpcap:x:77:77::/var/arpwatch:/sbin/nologinntp:x:38:38::/etc/ntp:/sbin/nologingdm:x:42:42::/var/gdm:/sbin/nologinapache:x:48:48:Apache:/var/www:/sbin/nologindistcache:x:94:94:Distcache:/:/sbin/nologinpostgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bashmysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bashdovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologinwebalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologinsquid:x:23:23::/var/spool/squid:/sbin/nologinxfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologinnamed:x:25:25:Named:/var/named:/sbin/nologinsabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinamanda:x:33:6:Amanda user:/var/lib/amanda:/bin/bashcyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/bin/bashmailman:x:41:41:GNU Mailing List Manager:/usr/lib/mailman:/sbin/nologinradiusd:x:95:95:radiusd user:/:/bin/falseexim:x:93:93::/var/spool/exim:/sbin/nologinprivoxy:x:73:73::/etc/privoxy:/sbin/nologinquagga:x:92:92:Quagga routing suite:/var/run/quagga:/sbin/nologinradvd:x:75:75:radvd user:/:/sbin/nologinldap:x:55:55:LDAP User:/var/lib/ldap:/bin/falsetomcat:x:91:91:Tomcat:/usr/share/tomcat5:/bin/shpegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin student:x:500:500:student:/home/student:/bin/bash账号名称,密码,UID:用户ID,GID:用户组ID,用户信息,用户组目录,2、 用户口令文件 /etc/shadow用户密码用户组IDroot:$1$SI/4xwLM$g2zi4WBPwh87mLxspgx3m1:15223:0:99999:7::: bin:*:15223:0:99999:7:::daemon:*:15223:0:99999:7:::adm:*:15223:0:99999:7:::lp:*:15223:0:99999:7:::sync:*:15223:0:99999:7:::shutdown:*:15223:0:99999:7:::halt:*:15223:0:99999:7:::mail:*:15223:0:99999:7:::news:*:15223:0:99999:7:::uucp:*:15223:0:99999:7:::operator:*:15223:0:99999:7:::games:*:15223:0:99999:7:::gopher:*:15223:0:99999:7:::ftp:*:15223:0:99999:7:::nobody:*:15223:0:99999:7:::rpm:!!:15223:0:99999:7:::dbus:!!:15223:0:99999:7:::avahi:!!:15223:0:99999:7:::mailnull:!!:15223:0:99999:7:::smmsp:!!:15223:0:99999:7:::nscd:!!:15223:0:99999:7:::vcsa:!!:15223:0:99999:7:::haldaemon:!!:15223:0:99999:7:::rpc:!!:15223:0:99999:7:::rpcuser:!!:15223:0:99999:7:::nfsnobody:!!:15223:0:99999:7:::sshd:!!:15223:0:99999:7:::pcap:!!:15223:0:99999:7:::ntp:!!:15223:0:99999:7:::gdm:!!:15223:0:99999:7:::apache:!!:15223:0:99999:7:::distcache:!!:15223:0:99999:7:::postgres:!!:15223:0:99999:7:::mysql:!!:15223:0:99999:7:::dovecot:!!:15223:0:99999:7:::webalizer:!!:15223:0:99999:7:::squid:!!:15223:0:99999:7:::xfs:!!:15223:0:99999:7:::named:!!:15223:0:99999:7:::sabayon:!!:15223:0:99999:7:::postfix:!!:15223:0:99999:7:::amanda:!!:15223:0:99999:7:::cyrus:!!:15223:0:99999:7:::mailman:!!:15223:0:99999:7:::radiusd:!!:15223:0:99999:7:::exim:!!:15223:0:99999:7:::privoxy:!!:15223:0:99999:7:::quagga:!!:15223:0:99999:7:::radvd:!!:15223:0:99999:7:::ldap:!!:15223:0:99999:7:::tomcat:!!:15223:0:99999:7:::pegasus:!!:15223:0:99999:7:::student:$1$OweFzAd9$BO6WG8WVpsoak0JTfl5y3/:15223:0:99999:7:::3、用户组账号文件 /etc/grouproot:x:0:rootbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemonsys:x:3:root,bin,admadm:x:4:root,adm,daemontty:x:5:disk:x:6:rootlp:x:7:daemon,lpmem:x:8:kmem:x:9:wheel:x:10:rootmail:x:12:mail,postfix,eximnews:x:13:newsuucp:x:14:uucpman:x:15:games:x:20:dip:x:40:ftp:x:50:lock:x:54: nobody:x:99: users:x:100: rpm:x:37:dbus:x:81: utmp:x:22: utempter:x:35: avahi:x:70: mailnull:x:47: smmsp:x:51: nscd:x:28: floppy:x:19: vcsa:x:69: haldaemon:x:68: rpc:x:32: rpcuser:x:29: nfsnobody:x:65534: sshd:x:74:pcap:x:77:ntp:x:38: slocate:x:21: gdm:x:42: apache:x:48: distcache:x:94: postgres:x:26: mysql:x:27: dovecot:x:97: webalizer:x:67: squid:x:23:xfs:x:43: named:x:25: sabayon:x:86: postdrop:x:90: postfix:x:89: saslauth:x:76:cyrus mailman:x:41: radiusd:x:95: exim:x:93: privoxy:x:73: quaggavt:x:85: quagga:x:92:screen:x:84: ldap:x:55: tomcat:x:91: pegasus:x:65: student:x:500:4、用户组口令文件etc/gshadowroot:::root bin:::root,bin,daemondaemon:::root,bin,daemonsys:::root,bin,admadm:::root,adm,daemontty:::disk:::rootlp:::daemon,lpkmem::: wheel:::root mail:::mail,postfix,exim news:::news uucp:::uucp man::: games::: gopher:::dip:::ftp:::lock::: nobody::: users:::rpm:x::dbus:x::utmp:x:: utempter:x::avahi:x::mailnull:x:: smmsp:x::nscd:x::floppy:x::vcsa:x:: haldaemon:x::rpc:x::rpcuser:x:: nfsnobody:x::sshd:x::pcap:x::ntp:x::slocate:x::gdm:x::apache:x:: distcache:x:: postgres:x::mysql:x::dovecot:x:: webalizer:x::squid:x::xfs:x::named:x:: sabayon:x:: postdrop:x::saslauth:x::cyrusmailman:x::radiusd:x::exim:x::privoxy:x::quaggavt:x::quagga:x::radvd:x::screen:x::ldap:x::tomcat:x::pegasus:x::student:!!::5、添加用户Useradd[root@localhost etc]# useradd lisi[root@localhost etc]# at /default/useradd syntax error. Last token seen: /Garbled time[root@localhost etc]# cat /etc/default/useradd # useradd defaults fileGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skel[root@localhost etc]#6、为用户设置口令passwd# useradd defaults file GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skel[root@localhost etc]# passwd lisi Changing password for user lisi. New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully. [root@localhost etc]#7、修改用户信息Usermod修改用户为lisi的UID为558,用户组ID为500[root@localhost etc]# passwd lisiChanging password for user lisi.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully. [root@localhost etc]# usermod -u 558 -g 500 lisi [root@localhost etc]# grep lisi[1]+ Stopped grep lisi[root@localhost etc]# grep lisi /etc/passwdlisi:x:558:500::/home/lisi:/bin/bash[root@localhost etc]#8、删除用户userdel[root@localhost etc]#Userdel lisi9、用户身份的切换[lisi@localhost etc]$ su root 口令:[root@localhost etc]#切换用户root输入密码:切换用户。
第三次实验报告:几种查找算法的实现和比较//2019-12-4//1.随机生成5万个整数,存入一个文件;//2.算法实现:(1)顺序查找:读入文件中的数据,查找一个key,统计时间;// (2)二分查找:读入文件,排序,二分查找key,统计时间;// (3)分块查找:读入文件,分100块,每块300+数字,查找key,统计时间// (4)二分查找树:读入文件,形成BST,查找key,统计时间//二叉排序树:建立,查找#include "stdio.h"#include "time.h"#include "stdlib.h"struct JD{//定义分块查找的链表结点结构int data;JD *next;};struct INDEX_T{//定义分块查找中,索引表结构int max;//这一块中最大的数字,<maxJD *block;//每一块都是一个单向链表,这是指向块的头指针};INDEX_T myBlock[100];//这是索引表的100项struct NODE{//定义的二分查找树结点结构int data;NODE *left;NODE *right;};const int COUNT=50000;//结点个数int key=666;//待查找的关键字int m=1;//int *array2;void createData(char strFileName[]){//产生随机整数,存入文件srand((unsigned int)time(0));FILE *fp=fopen(strFileName,"w");for(int i=1;i<=COUNT;i++)fprintf(fp,"%d,",rand());fclose(fp);}void createBST(NODE* &bst){//产生5万个随机整数,创建二叉排序树FILE *fp=fopen("data.txt","r");for(int i=1;i<=COUNT;i++){int num;fscanf(fp,"%d,",&num);//从文件中读取一个随机整数//若bst是空子树,第一个结点就是根结点//若bst不是空子树,从根结点开始左小右大,查找这个数字,找到了直接返回,//找不到,就插入到正确位置//创建一个结点NODE* p=new NODE;p->data=num;p->left=0;p->right=0;if(0==bst)//空子树{bst=p;continue;}//非空子树,//在bst中,查找给结点,NODE *q=bst;//总是从根结点开始查找while(1){if(p->data == q->data)//找到了,直接退出break;if(p->data < q->data && q->left==0){//小,往左找,且左边为空,直接挂在q之左q->left=p;break;}if(p->data < q->data && q->left!=0){//小,往左找,且左边非空,继续往左边找q=q->left;continue;}if(p->data > q->data && q->right==0){//大,往右找,且右边为空,直接挂在q之右q->right=p;break;}if(p->data > q->data && q->right!=0){//大,往右找,且右边非空,继续往右边找q=q->right;continue;}}}}int BST_Search(NODE *bst,int key){//在bst中找key,if(0==bst)return -1;//非空子树,//在bst中,查找给结点,NODE *q=bst;//总是从根结点开始查找while(1){if(key == q->data)//找到了,直接退出return 1;if(key < q->data && q->left==0)//小,往左找,且左边为空,找不到return -1;if(key < q->data && q->left!=0)//小,往左找,且左边非空,继续往左边找{q=q->left;continue;}if(key > q->data && q->right==0)//大,往右找,且右边为空,找不到return -1;if(key > q->data && q->right!=0){//大,往右找,且右边非空,继续往右边找q=q->right;continue;}}}void inOrder(NODE *bst){if(bst!=0){inOrder(bst->left);array2[m]=bst->data;//反写回array数组,使数组有序// printf("%7d",array2[m]);m++;inOrder(bst->right);}}int getBSTHeight(NODE *bst){if(bst==0)return 0;else{int hl=getBSTHeight(bst->left);int hr=getBSTHeight(bst->right);int h=hl>hr?hl:hr;return h+1;}}void makeArray(int array[],char strFileName[]) {//生成5万个随机整数FILE *fp=fopen(strFileName,"r");int i=1;while(!feof(fp)){fscanf(fp,"%d,",&array[i]);// printf("%6d",array[i]);i++;}}int Seq_Search(int array[],int key){//在无序顺序数组中,找data是否存在,-1=不存在,存在返回位置下标//监视哨:把要找的那个数放到首部array[0]=key;//for(int i=COUNT;array[i]!=key;i--);if(i>0)//找到了,返回下标return i;return -1;//查找不成功,返回-1}int Bin_Search(int array[],int key){//在有序存储的数组中查找key,找到返回位置,找不到返回-1 int low=1,high=COUNT,mid;while(1){if(low>high)//找不到return -1;mid=(low+high)/2;if(key == array[mid])return mid;else if(key<array[mid])high=mid-1;elselow=mid+1;}}void makeBlock(INDEX_T myBlock[],char strFileName[]) {//从文件中读取整数,分配到块中去//1.初始化块索引表,分100块,400,800,1200,for(int i=0;i<=99;i++){myBlock[i].max=400+400*i;//400,800,1200, (40000)myBlock[i].block=0;}//2.打开文件,读取整数,把每一个整数分配到相应的块中去FILE *fp=fopen(strFileName,"r");while(!feof(fp)){int num=0;fscanf(fp,"%d,",&num);//把num分配到num/400块中,挂到该块链表第一个int blockID=num/400;//求出应该挂在的块号//生成一个新节点,把num放进去,挂上JD *p=new JD;p->data=num;p->next=myBlock[blockID].block;myBlock[blockID].block=p;}fclose(fp);}int Block_Search(INDEX_T myBlock[],int key){int blockID=key/400;//找到块号JD* p=myBlock[blockID].block;while(p!=0){if(p->data==key)return blockID;//能找到p=p->next;}return -1;//找不到}void main(){clock_t begin,end;int pos=-1;//1.生成文件,存入5万个随机整数createData("data.txt");//2.顺序查找int *array=new int[COUNT+1];makeArray(array,"data.txt");//从文件中读取数据begin=clock();for(int k=1;k<=10000;k++)pos=Seq_Search(array,key);end=clock();printf("顺序查找:%d所在的位置=%d.时间=%d毫秒\n",key,pos,end-begin);//3.二分查找树NODE *bst=0;createBST(bst);//产生5万个随机数字,建立一个二叉排序树begin=clock();for(k=1;k<=10000;k++)pos=BST_Search(bst,key);//在bst中找key,找到返回1,找不到返回-1end=clock();printf("二叉排序树查找:%d所在的位置=%d.时间=%d毫秒\n",key,pos,end-begin);array2=new int[COUNT+1];inOrder(bst);//中序输出bst// int height=getBSTHeight(bst);//求出bst的高度// printf("BST高度=%d.\n\n",height);//4.二分查找,利用前面二叉排序树产生的array2,查找key begin=clock();for(k=1;k<=10000;k++)pos=Bin_Search(array2,key);end=clock();printf("二分查找:%d所在的位置=%d.时间=%d毫秒\n",key,pos,end-begin);//5.分块查找,关键字范围[0,32767],分配到100块中去,每一块中存400个数字makeBlock(myBlock,"data.txt");//从文件中读取数据,产生块begin=clock();for(k=1;k<=10000;k++)pos=Block_Search(myBlock,key);//在block中查找key,找到返回块号,找不到返回-1end=clock();printf("分块查找:%d所在的块=%d.时间=%d毫秒\n",key,pos,end-begin);/*for(k=0;k<=99;k++){printf("\n\n\n第%d块<%d:\n",k,myBlock[k].max);JD *q=myBlock[k].block;//让q指向第k块的第一个结点while(q!=0){//输出第k块中所有数字printf("%7d ",q->data);q=q->next;}}*/}。
实验报告(学生打印后提交)实验名称: 生产者和消费者问题实验时间: 2023年 5 月 5日●实验人员:●实验目的:掌握基本的同步互斥算法, 理解生产者和消费者模型。
●了解Windows 2023/XP中多线程的并发执行机制, 线程间的同步和互斥。
●学习使用Windows 2023/XP中基本的同步对象, 掌握相应的API●实验环境: WindowsXP + VC++6.0●运用Windows SDK提供的系统接口(API, 应用程序接口)完毕程序的功能。
API是操作系统提供的用来进行应用程序设计的系统功能接口。
使用API, 需要包含对API函数进行说明的SDK头文献, 最常见的就是windows.h实验环节:1.读懂源程序.2.编辑修改源程.......................................实验陈述:1.基础知识:本实验用到几个API函数:CreateThread CreateMutex, WaitForSingleObject, ReleaseMutexCreateSemaphore, WaitForSingleObject, ReleaseSemaphore, ReleaseMutex, nitializeCriticalSection, EnterCriticalSection, LeaveCriticalSection。
这些函数的作用:CreateThread, 功能:创建一个线程, 该线程在调用进程的地址空间中执行。
CreateMutex,功能:产生一个命名的或者匿名的互斥量对象。
WaitForSingleObject(相应p操作)锁上互斥锁, ReleaseMutex(相应v操作)打开互斥锁.。
CreateSemaphore, 创建一个命名的或者匿名的信号量对象。
信号量可以看作是在互斥量上的一个扩展。
WaitForSingleObject, 功能:使程序处在等待状态, 直到信号量(或互斥量)hHandle出现或者超过规定的等待最长时间, 信号量出现指信号量大于或等于1, 互斥量出现指打开互斥锁。
第一次实验实验日期:2022年10月18日实验成绩:实验名称:生物气候图的绘制(2)以两条均分为12段(代表12个月)的平行直线作为横坐标,并从左至右依次标出1月、2月、3 月、…、12月。
3、生物气候图的绘制:根据上述确定的坐标体系以及计算出来的逐月年平均降水量和逐月年平均温度,在坐标纸上绘制年平均降水量曲线,并标定图示(1)将降水曲线与温度曲线相交的区域填充不同的标志符。
如果温度曲线在上,降水曲线在下,两者间的区域表示干旱期,将此区域用小黑点填充;如果温度曲线在下,降水曲线在上,两者间的区域表示湿润期,将此区域用细黑竖线填充。
(2)月平均降水量超过100mm的区域用黑色填充。
(3)在降水轴的上方,标明该站点的年均温度和总降水量。
(4)在温度轴的上方标明该站点的海拔高度和经纬度,并在温度轴上方的外侧,标出绝对最高温度。
(5)在双线横轴上将月平均温度低于0℃的月份用黑色填充;将极端最低温度低于0℃的月份用斜线条填充。
(6)在气候图解的左上方注明站点的名称。
各地气候的气候数据:实验结果分析:分析:根据实验内容部分所提供的四张各个地区的气象数据,制作出四张气候图解,其分别是位于新疆的三个城市乌鲁木齐,和田,阿勒泰和位于海洋边的城市新加坡1、乌鲁木齐:属于温带大陆性干旱气候,全年气候干旱,降水稀少。
冬天寒冷夏天炎热,温差大。
乌鲁木齐是世界上离海洋最远的城市,最热的时候是7、9月份。
最寒冷的时候是12、1月份。
最热的时候的平均气温为23.7℃,最冷的时候的平均温度是-7.6℃。
降雨量并不丰富,气候干燥。
根据其温带大陆性气候和降雨量及年的每月平均温度来看,在乌鲁木齐地区的地性类型多为荒漠、林地、草原等2、和田:气候特点是四季分明,夏季炎热,冬季冷而干旱,属于干旱荒漠型的气候。
春季升温快而第二次实验实验日期:2022年10月25日实验成绩:实验名称:种群内分布型的测定和生命表的编制至出现均匀分布;如果资源呈斑块分布,就可能导致动物种群集群分布。
东南大学生物科学与医学工程学院虚拟仪器实验报告第三次实验实验名称:数组簇和曲线图形专业:生物医学工程姓名:学号:同组人员:学号:实验室:实验时间:评定成绩:审阅教师:目录一、实验题目 (3)二、实验目的 (3)三、实验内容 (3)1.1实验方案 (3)1.2程序框图设计 (3)1.3程序前面板设计 (4)1.4调试过程 (5)1.5结果分析 (5)1.6使用说明 (7)2.1实验方案 (7)2.2程序框图设计 (7)2.3程序前面板设计 (9)2.4调试过程 (10)2.5结果分析 (10)2.6使用说明 (11)四、心得体会 (11)五、参考文献 (11)一、实验题目1.在波形Graph显件上用两种不同颜色显示一条正弦曲线和一条余弦曲线,每条曲线长度为128个点,其中正弦曲线的x0 =0,△x=1;余弦曲线的x=2,△x=5。
并利用属性节点通过前面板控件改变每条曲线的颜色。
2.设计一个VI,将一个一维数组(含有正数和负数的混合数组)分成两个只含正数(包含0的数)和负数的一维数组。
并分别计算两个数组中各自有多少个元素,同时显示出各自数组中最大、最小值。
二、实验目的1.学习如何创建和初始化数组。
2.建立自动索引概念。
3.学习使用波形Graph显示多条曲线的方法,学习改变Graph上曲线的颜色等属性的方法。
三、实验内容1.在波形Graph显件上用两种不同颜色显示一条正弦曲线和一条余弦曲线,每条曲线长度为128个点,其中正弦曲线的x0 =0,△x=1;余弦曲线的x=2,△x=5。
并利用属性节点通过前面板控件改变每条曲线的颜色。
1.1实验方案使用for循环以及产生正弦和余弦,并使一个周期为128个点;利用簇函数设置正余弦函数的x0和△x,接入到波形图上产生波形;设置属性节点,可改变曲线颜色。
1.2程序框图设计⑴首先运用for循环,设置循环次数为128,产生曲线横轴的128个点。
⑵利用将一个周期2π分成128份,并与i(每次循环i自动加1)相乘后形成x轴的取样点。
宁波大学商学院实验报告实验课程名称:财务管理实验学院:商学院专业:工商管理指导教师:陈永平报告人姓名:张峻学号:096010051班级:工商111学期:2012-2013 第一学期商学院商科实验教学中心制货币时间价值的应用一、实验目的与要求:保险正在成为人们经济生活中不可或缺的一部分。
通过本实验使学生掌握利用时间价值的观念,对购买保险未来收益做出正确评判。
根据资料,以6%的贴现率分别计算各保险方案未来收益的现值(以80岁寿命计算)并根据计算结果为他们作选择。
若贴现率为3%,计算未来收益的现值。
(假设付出与收入都是年末发生)、实验设备及软件:互联网、Microsoft word、Microsoft excel三、实验方法(原理、流程图)(一)世纪彩虹保险0岁(男),年交,保额5万元保费支出:年交保费8280元,交费期至15周岁的保单周年日止保险利益:1、生存领取:18、19、20、21周岁保单周年日每年领取20000元作为大学教育金;25周岁保单周年日领取40000元作为婚嫁金60周岁保单周年日领取50000元作为满期保险金2、身故保险金:25周岁保单周年日前身故领取保证现金价值25周岁保单周年日后至满期前身故,领取50000元3、分红:公司每年根据分红保险业务的实际经营状况,按照保险监管机关的规定确定红利分配(二)育英年金保险二、养老年金:儿子从60周岁起,每年领取13000元养老年金至终身三、身故保险金父亲于投保后一年内因病不幸身故,遗属可领取1万元身故保险金,并领回所交保费8900元,保险责任终止。
若父亲因意外或一年后因病于儿子25周岁之前不幸身故,遗属可领取10万元身故保险金,此后儿子可按下表金额每年领取一次育英年金,直至25周岁。
并且豁免保费,前述生存教育金、养老年金依然有效。
1说明18 〜2125岁60岁每年底一项保险年 金的支出 投资收 益率付款的年 限 8280¥ 8,280.008280 0.600.600.60 15.00 15.00 15.00未来值80000.0040,000.00若儿子不幸于周岁前身故,遗属可领回所交保费并按 年增长率单利增值,保险责任终止。
混凝土用砂、石等骨料实验实验报告学号: 2010010131班号:结 02实验日期: 2011.11.16实验者:陈伟同组人:吴一然建筑材料第三次实验一、 实验目的1、 学习砂筛分析和石子捣实密度的试验方法;2、 通过砂的筛分析实验,判断砂的粗、细和砂的级配是否合格;3、了解石子的针、片状颗粒含量、压碎指标松堆密度等试验方法;4、了解轻骨料的筒压强度测试方法。
二、 实验内容1、砂表观密度测定;2、砂筛分析试验;3、石子捣实密度试验;4、石子针状、片状颗粒含量测定(演示);5、石子压碎指标测定(演示);6、轻骨料筒压强度试验(演示)。
三、 实验原理1、 表观密度的定义:包含闭孔体积在内的单位体积的质量,称材料的表观密度。
(单位:g/cm 3),如果两次实验结果的平均值作为测定值,如两次结果之差大于0.02g/cm 3,应重新进行实验。
2、 细度模数:砂的粗细程度用通过累计筛余百分比计算的细度模数(M x )表示,其计算公式为(1) 式中,A1、A2……A6分别为5.00、2.50……0.160 mm 孔筛上的累计筛余百分率;(2) 砂按细度模数(Mx)分粗、中、细和特细四种规格,由所测细度模数按规定评定该砂样的粗细程度;(3)用M x =3.7~3.1为粗砂,3.0~2.3为中砂,2.2~1.6为细砂,1.5~0.7为特细砂来评定该砂的粗细程度。
并根据0.630mm 筛所在的区间判断砂子属于哪个区累计筛余百分比在85%~71%的属于Ⅰ区,在70%~41%的属于Ⅱ区,在40%~16%的属于Ⅲ区。
11654321005)(A A A A A A A M x --++++=3、石子捣实密度实验要求及说明:1)通过对两种单粒级石子不同比例的搭配,观察其捣实密度的变化,画出石子比例和捣实密度的曲线 ,并进行分析;2)实验使用的石子是石灰岩碎石,粒径分别为5—10mm,10-20mm单粒级;3)所用容积升体积为10L;4)石子的称量总质量为20Kg。
实验报告温度实验实验报告:温度实验一、实验目的:探究温度对物体性质和物质变化的影响,理解温度与物质之间的关系。
二、实验原理:温度是指物体分子平均动能的一种度量,并且与分子的运动状况有关。
温度越高,分子的平均动能越大,物质的分子会更加剧烈地运动。
物体的温度可以通过温度计进行测量,常用的温度计有水银温度计和电子温度计等。
三、实验步骤:1. 准备实验所需材料,包括温度计、水杯和热水。
2. 将温度计放入室温的水中,观察温度计的指示并记录下来,作为初始温度。
3. 将一定量的热水倒入水杯中,然后将温度计插入水中,等待一段时间直到温度稳定,并记录下来。
4. 重复步骤3,但将热水的量减少。
5. 重复步骤3,但将热水的量增加。
四、实验结果:实验中我们记录了不同热水温度下的温度计指示。
以下为实验结果:初始温度:26第一次实验:热水温度:50温度计指示:68第二次实验:热水温度:70温度计指示:88第三次实验:热水温度:90温度计指示:108五、实验讨论:根据实验结果,我们可以观察到热水的温度升高是导致温度计指示升高的原因。
由此,我们可以得出结论:温度是描述物体分子平均动能的物理量,温度越高,分子的运动越剧烈。
在实验中,当我们将温度计浸入热水中时,热能会从热水传递到温度计上的液体,使得液体膨胀,从而使温度计指示上升。
这也是为什么温度计可以用来测量温度的原因。
此外,我们还观察到热水的温度越高,温度计指示的差值也越大。
这与温度计的工作原理有关,当温度升高时,液体膨胀得更多,指示的差值也就越大。
在实验中,我们还发现实验过程中温度计指示并不是立即变化的,而是需要等待一段时间,直到温度稳定才会显示出来。
这是因为温度计的敏感度较低,需要一定的时间来传导热量并使温度计达到平衡。
六、实验总结:通过这次温度实验,我们加深了对温度的理解。
温度是描述物体分子平均动能的物理量,与物体的热能相关。
温度的测量通常可以使用温度计进行,根据温度计指示的差异可以判断物体的温度高低。
第三次实验报告
一、实验目的:
1、掌握嵌入式交叉编译环境的搭建;
2、掌握嵌入式主机通信环境的配置;
3、学会配置Linux下的minicom和Windows下的超级终端;
4、学会在Linux下和Windows下配置TFTP服务;
5、学会配置NFS服务;
6、学会编译Linux内核;
7、学会搭建Linux的根文件系统;
8、熟悉嵌入式Linux的内核相关代码的分布情况。
二、实验内容:
首先在Linux 环境下配置minicom,使之能够正常显示串口的信息。
然后再编译配置Linux2.6 内核,并下载到开发板上运行。
三、实验步骤:
(1)设置minicom,按键“CTRL-A O”配置相应参数。
(2)连接开发板与主机,查看串口是否有正确输出。
(3)查看Linux内核顶层的Makefile,确定相关参数是否正确。
(4)运行“make menuconfig”,进行相应配置。
(5)运行“make dep”。
(6)运行“make zImage”。
(7)将生成映像通过tftp或串口下载到开发板中。
(8)启动运行内核。
四、实验心得:
通过本节课的实验,我掌握了嵌入式交叉编译环境的搭建,掌握了嵌入式主机通信环境的配置,学会了配置Linux下的minicom和Windows下的超级终端,学会了在Linux下和Windows下配置TFTP服务,学会了配置NFS服务,学会了编译Linux内核,学会了搭建Linux的根文件系统,熟悉了嵌入式Linux的内核相关代码的分布情况。