第14章 (DEMO)
- 格式:doc
- 大小:336.50 KB
- 文档页数:8
SharpDevelop学习笔记—插件开发⼿册SharpDevelop插件开发⼿册第⼀章 PadPad(⾯板)就是插件框架中的停靠窗⼝。
有这些特点:Pad不能关闭,但可以隐藏或显⽰。
每种类型的Pad只能打开⼀个,不能在运⾏时添加,标题唯⼀。
可以显⽰图标,由插件框架中的布局管理器负责管理。
通常不显⽰⽂件内容,⽽是辅助⽤户完成任务。
下⾯进⼊我们的实战流程,先新建⼀个类库型的项⽬,命名为CSPadDemoPlug,把Class1.cs改名为Main.cs,修改为如下内容:1using System;2using System.Drawing;3using System.Windows.Forms;45using ICSharpCode.SharpDevelop.Gui;67namespace PadDemoPlug8{9 public class Pad : AbstractPadContent10 {11 PadControl control=new PadControl();12 public Pad(): base("TestPanel")13 {14 }1516 public override Control Control17 {18 get19 {20 return this.control;21 }22 }23 }24}25记得要在项⽬中加⼊插件框架中的ICSharpCode.Core.dll和SharpDevelop.Base.dll引⽤。
这两个⽂件在插件框架下的Bin⽬录下。
写插件框架的插件需要包含。
在项⽬中添加新建项à⽤户控件。
改名为CSPadControl。
各位可以在CSPadControl上添加⼀些相关的内容。
在⼯程中添加⼀个DemoPlug.addin⽂件,这是插件配置⽂件,很重要,内容如下:OK!把编译后的PadDemo.dll和DemoPlug.addin⽂件拷贝到的\AddIns\⽬录下,运⾏插件框架就可以看到我们创建的Pad了(如下图),同时在插件框架的菜单【查看】-【⼯具】下也出现了TestPanel菜单项。
第一章命名约定 (2)第二章代码布局格式约定 (3)第三章类型使用约定 (4)第四章表达式约定 (4)第五章控制结构约定 (5)第六章函数及操作符使用约定 (5)第七章类使用约定 (5)第八章模块及访问约定 (5)第九章预编译指令使用约定 (6)第十章注释使用约定 (6)第十一章错误检查及异常处理约定 (7)第十二章其它 (7)第一章命名约定1.变量名命名约定1.1.变量名应符合ANSI C/C++ 变量名命名规定。
如:long nTemp; //Truelong 4Temp; //False1.2.变量名使用混合大小写,并以小写字母开头。
如:long nTemp; //normallong NTemp; //abnormal1.3.声明常量(const),宏(macro)和枚举常量(enum )时应全部使用大写字母。
如:const double PAI=3.1415926; //noramlconst double Pai=3.1415926; //abnoraml#define P AI 3.1415926 //normal#define Pai 3.1415926 //abnormalenum Color{RED,BLUE,GREEN}; //normalenum Color{Red,Blue,Green}; //abnormal1.4.变量名是用多个单词表示时1.4.1.当使用混合大小写时,将修饰词放在前面,并且尽量拼写完整增加可读性。
如:maxElement,currentFile 等。
1.4.2.当全部使用大写时,单词之间应用下划线连起来。
如:BUFFER_SIZE,FILE_SIZE 等。
1.5.变量名命名应有意义1.5.1.一律使用英文字母进行拼写;不用汉语拼音。
1.5.2.变量名大小应至少2~3个字母。
(当作为整型循环变量时,可以使用单个字母。
如:i,j,k等。
)如:chrName,hWnd等。
第4章Java Web编程习题解析4.1 第1章习题解析1. 略。
2. 答:URL称为统一资源定位符,URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
3. 答:①是URL,①和②都是URI,③是URN4. 答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。
Servlet容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
7. 答:<tomcat-install>\lib\servlet-api.jar文件。
8. 答:部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的\WEB-INF目录中。
9. 答:当服务器找不到用户请求的资源时将发生404错误。
10. 答:JSP页面是嵌入了Java脚本元素的HTML页面。
11. 答:Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。
Java Web 编程习题解析第4章 4.2 第2章习题解析1. 答:Servlet 接口定义了下面5个方法:public void init(ServletConfig config)public void service(ServletRequest request, ServletResponse response) throws ServletException, IOExceptionpublic void destroy()public ServletConfig getServletConfig()public String getServletInfo()2. 答:Servlet 是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。
深入浅出MFC一Contents[Trial version] 目录[Trial version] 第0章你一定要知道(导读)[Trial version] 第1章Win32基本程序观念[Trial version] 第2章C++的重要性质[Trial version] 第3章MFC六大关键技术之模拟[Trial version] 第5章总观AlicationFramework[Trial version] 第6章MFC程序设计导论[Trial version] 第7章简单而完整:MFC骨干程序[Trial version] 第8章Document-View深入探讨[Trial version] 第9章消息映射与命令绕行[Trial version] 第10章MFC与对话框[Trial version] 第11章View功能之加强与重绘效率之提升[Trial version] 第12章打印与预览[Trial version] 第13章多重文件与多重显示[Trial version] 第14章MFC多线程程序设计[Trial version] 第15章定制一个AWizard[Trial version] 第16章站上众人的肩膀--使用Comonents&am;amActiveXControls[Trial version] 附录A无责任书评[Amber demo]owered By Gisun htt://目录第0章你一定要知道(导读)/1这本书适合谁/1你需要什么技术基础/1你需要什么软硬件环境让我们使用同一种语言本书符号习惯/3磁盘内容与安装范例程序说明第一篇勿在浮砂筑高台- 本书技术前提/3 第1章Win32 程序基本观念/3Win32程序开发流程/4需要什么函数库(.LIB)/4需要什么头文件(.H)/4以消息为基础以事件驱动之/5一个具体而微的Win32 程序/5程序进入点WinMain/10窗口类之注册与窗口之诞生/11 消息循环/12窗口的生命中枢—窗口函数/12 消息映射(Message Ma)雏形/13 对话框的运作/14模块定义文件(.DEF)/14资源描述文件(.RC)/15 Windows 程序的生与死/15闲置时间的处理:OnIdle /16 Console 程序/17Console 程序与DOS 程序的差别/17 Console 程序的编译链接/18JBACKU:Win32 Console 程序设计/19 MFCCON:MFC Console 程序设计/20什么是C Runtime Library 的多线程版本/22 进程与线程(rocess and Thread)/22核心对象/22一个进程的诞生与死亡/23产生子进程/23一个线程的诞生与死亡/24以_beginthreadex取代CreateThread/25线程优先权(riority)/26多线程程序设计实例/27第2章C++ 的重要性质/29类及其成员—谈封装(encasulation)/29基类与派生类—谈继承(Inheritance)/29this 指针/31虚函数与多态(olymorhism)/32类与对象大解剖/40Object slicing 与虚函数/42静态成员(变量与函数)/44C++程序的生与死:兼谈构造函数与析构函数/46四种不同的对象生存方式/47所谓“Unwinding”/48运行时类型信息(RTTI)/48动态生成(Dynamic Creation)/50异常处理(Excetion Handling)/50 Temlate /53Temlate Functions /53Temlate Classes /54Temlates 的编译与链接/56第3章MFC六大关键技术之模拟/57MFC类阶层/57Frame1范例程序/57MFC程序的初始化过程/59Frame2范例程序/61RTTI(运行时类型辨识)/65 CRuntimeClass与类型录/65DECLARE_DYNAMIC / IMLEMENT_DYNAMIC宏/66 Frame3 范例程序/71IsKindOf(类型辨识)/77Frame4 范例程序/77Dynamic Creation(动态生成)/78DECLARE_DYNCREATE / IMLEMENT_DYNCREATE 宏/79 Frame6 范例程序/84ersistence(永续生存)机制/91Serialize(数据读写)/91DECLARE_SERIAL/IMLEMENT_SERIAL 宏/95没有范例程序Message Maing(消息映射)/97Frame7 范例程序/104Command Routing(命令循环)/112Frame8 范例程序/119本章回顾/130第二篇欲善工事先利其器-Visual C++ 5.0 开发工具第4章Visual C++ - 整合性软件开发环境安装与组成四个重要的工具内务府总管:Visual C++ 整合开发环境关于roject关于工具设定Source BrowserOnline Hel除错工具VC++ 除错器Excetion Handling程序代码产生器—AWizard东圈西点完成MFC 程序骨干Scribble Ste0威力强大的资源器Icon 器Cursor器Bitma器ToolBar器VERSIONINFO资源器String Table器Menu 器Accelerator 器Dialog 器Console 程序的项目管理第三篇浅出MFC程序设计第5章总观Alication Framework /130 什么是Alication Framework /130侯捷怎么说/130我怎么说/131别人怎么说/133为什么使用Alication Framework /134 Microsoft Foundation Class(MFC)/136 白头宫女话天宝:Visual C++与MFC/137 纵览MFC /138General urose classes /138Windows AI classes /139Alication framework classes /140High level abstractions /140Afx全局函数/140MFC宏(macros)/141MFC数据类型(data tye)/142第6章MFC程序设计导论——MFC程序的生死因果/144 不二法门:熟记MFC类的阶层架构/144需要什么函数库(.LIB)/146需要什么含入文件(.H)/146简化的MFC程序架构—以Hello MFC为例/148Hello 程序原始代码/148MFC 程序的来龙去脉/152我只借用两个类:CWinA和CFrameWnd /152 CWinA—取代WinMain的地位/152CFrameWnd—取代Wndroc的地位/154引爆器—Alication object /155隐晦不明的WinMain /156AfxWinInit - AFX 内部初始化动作/158CWinA::InitAlication /160CMyWinA::InitInstance /160CFrameWnd::Create 产生主窗口(并注册窗口类)/161 奇怪的窗口类名称Afx:b:14ae:6:3e8f/168 窗口显示与更新/170CWinA::Run - 程序生命的活水源头/170把消息与处理函数串接在一起:Message Ma机制/172来龙去脉总整理/173Callback 函数/174闲置时间(idle time)的处理:OnIdle/176 Dialog 与Control/178通用对话框(Common Controls)/178本章回顾/179第7章简单而完整:MFC 骨干程序/180 不二法门:熟记MFC 类的阶层架构/180 MFC程序的UI新风貌/180Document/View 支撑你的应用程序/181 利用Visual C++工具完成Scribble ste0 /183骨干程序使用哪些MFC类?/183Document Temlate的意义/187Scribble的Document/View 设计/190主窗口的诞生/192工具列和状态列的诞生(Toolbar &am; Status bar)/193 鼠标拖放(Drag and Dro)/195消息映射(Message Ma)/196标准菜单File/Edit/View/Window/Hel/196对话框/199改用CEditView /199第四篇深入MFC程序设计/199第8章Document-View 深入探讨/200为什么需要Document-View(形而上)/200 Document /200View /201Document Frame(View Frame)/202Document Temlate /202CDocTemlate 管理CDocument / CView / CFrameWnd /202 Scribble Ste1 的Document(数据结构设计)/207 MFC Collection Classes 的选用/207Temlate-Based Classes /208Temlate-Based Classes 的使用方法/209CScribbleDoc 的修改/209 SCRIBBLEDOC.H /211 SCRIBBLEDOC.C /212文件:一连串的线条/215 CScribbleDoc 的成员变量/215 CObList /215CScribbleDoc 的成员函数/215 线条与坐标点/217CStroke 的成员变量/217 CArray<Coint, Coint> /217 CStroke 的成员函数/217Scribble Ste1 的View:数据重绘与/218 CScribbleView 的修改/218 SCRIBBLEVIEW.H /219SCRIBBLEVIEW.C /220View 的重绘动作—GetDocument和OnDraw /222 CScribbleView的成员变量/222 CScribbleView的成员函数/223View 与使用者的交谈(鼠标消息处理实例)/223 ClassWizard 的辅佐/224WizardBar 的辅佐/225Serialize:对象的文件读写/225Serialization以外的文件读写动作/226 台面上的Serialize动作/227台面下的Serialize写文件奥秘/231台面下的Serialize读文件奥秘/233 DYNAMIC / DYNCREATE / SERIAL 三宏/240 Serializable 的必要条件/244CObject 类/245IsKindOf/245IsSerializable/245CObject::Serialize/245CArchive类/246oerator<<和oerator>>/246效率考虑/250自定SERIAL宏给抽象类使用/250在CObList中加入CStroke 以外的类/250 Document与View 交流—为Scribble Ste4做准备/254 第9章消息映射与命令循环/255到底要解决什么/255消息分类/256万流归宗Command Target(CCmdTarget)/256三个奇怪的宏一张巨大的/257 DECLARE_MESSAGE_MA 宏/257消息映射的形成:BEGIN_/ON_/END_ 宏/258米诺托斯(Minotauros)与西修斯(Theseus)/261 两万五千里长征—消息的流窜/265直线上溯(一般Windows 消息)/265拐弯上溯(WM_COMMAND 命令消息)/268罗塞达碑石:AfxSig_xx 的秘密/273Scribble Ste2:UI 对象的变化/277改变菜单/277改变工具列/278利用ClassWizard连接命令项识别代码与命令处理函数/280 维护UI对象状态(UDATE_COMMAND_UI)/282本章回顾/285第10章MFC 与对话框/285对话框器/286利用ClassWizard 连接对话框与其专属类/288ENDLG.H /290ENDLG.C /291对话框的消息处理函数/292MFC中各式各样的MA /294对话框数据交换与查核(DDX &am; DDV)/294MFC中各式各样的DDx_函数/297如何唤起对话框/297本章回顾/299第11章View功能之加强与重绘效率之提升/299同时修改多个Views:UdateAllViews 和OnUdate/300 在View中定义一个hint/302把hint传给OnUdate/304利用hint增加重绘效率/305可卷动的窗口:CScrollView /307大窗口中的小窗口:Slitter /313分裂窗口的功能/313分裂窗口的程序概念/314分裂窗口之实现/315本章回顾/317第12章印表与预览/317概观/317打印动作的后台原理/320MFC预设的打印机制/324Scribble打印机制的补强/333打印机的页和文件的页/333配置GDI绘图工具/334尺寸与方向:关于映射模式(坐标系统)/334分页/336表头(Header)与表尾/338动态计算页代码/338打印预览(rint review)/339本章回顾/339第13章多重文件与多重显示/339 MDI 和SDI /340多重显像(Multile Views)/340窗口的动态分裂/342窗口的静态分裂/343 CreateStatic 和CreateView /343窗口的静态三叉分裂/345Grah 范例程序/346静态分裂窗口之观念整理/354同源子窗口/355 CMDIFrameWnd::OnWindowNew/355 Text 范例程序/356非制式作法的缺点/361多重文件/361新的Document类/362新的Document Temlate /363新的UI系统/364新文件的文件读写动作/365第14章MFC多线程程序设计(Multi-threaded rogramming in MFC)/367从操作系统层面看线程/367三个观念:模块、进程、线程/367线程优先权(riority)/368线程排程(Scheduling)/369Thread Context /370从程序设计层面看线程/371Worker Threads 和UI Threads /371错误观念/372正确态度/372MFC多线程程序设计/372探索CwinThread/372产生一个Worker Thread/374产生一个UI Thread /375线程的结束/376线程与同步控制/376 MFC多线程程序实例/378第15章定制一个AWizard /380到底Wizard是什么?/381Custom AWizard 的基本操作/381剖析AWizard Comonents /385Dialog Temlates 和Dialog Classes /385Macros /386Directives /387动手修改To Studio AWizard/387利用资源器修改IDD_CUSTOM1对话窗画面/387 利用ClassWizard 修改CCustom1Dlg类/388改写OnDismiss 虚函数在其中定义macros /389 修改text temlate/389To Studio AWizard执行结果/390更多的信息/390第16章站上众人的肩膀—使用Comonents和ActiveX Controls/391 什么是Comonent Gallery /391使用Comonents /393Slash screen /393System Info for About Dlg /394Tis of the Day /394Comonents实际运用:ComTest 程序/395修改ComTest 程序内容/409使用ActiveX Controls /411ActiveX Control 基础观念:roerties、Methods、Events/411ActiveX Controls 的五大使用步骤/412使用“Grid”ActiveX Control:OcxTest 程序/413[Amber demo]owered By Gisun htt://第0章你一定要知道(导读)这本书适合谁深入浅出MFC是一本介绍MFC(Microsoft Foundation Classes)程序设计技术的书籍。
第十四章控件14.2.8 超级文本显示控件组态王提供一个超级文本显示控件,用于显示RTF格式或TXT格式的文本文件,而且也可在超级文本显示控件中输入文本字符串,然后将其保存成指定的文件,调入RTF、TXT格式的文件和保存文件通过超级文本显示控件函数来完成。
14.2.8.1 如何创建超级文本显示控件在画面开发系统的工具箱中选择“插入控件”按钮,或选择菜单“编辑/插入控件”命令,在弹出的如图14.2所示的“创建控件”对话框中,在种类列表中选择“超级文本显示”,在右侧的内容中选择“显示框”图标,单击对话框上的“创建”按钮,或直接双击“显示框”图标,关闭对话框。
此时鼠标变成小“十”字形,在画面上需要插入控件的地方按下鼠标左键,拖动鼠标,画面上出现一个矩形框,表示创建后控件界面的大小。
松开鼠标左键,控件在画面上显示出来。
如图14.32所示。
控件周围有带箭头的小矩形框,鼠标挪到小矩形框上,鼠标箭头变为方向箭头时,按下鼠标左键并拖动,可以改变控件的大小。
当鼠标在控件上变为双“十”字型时,按下鼠标左键并拖动,可以改变控件的位置。
图14.32 创建后的超级文本显示框控件14.2.8.2 如何定义超级文本显示控件的属性控件创建完成后,需要定义空间的属性。
用鼠标双击控件,弹出超级文本显示框控件属性对话框,如图14.33所示。
图14.33 超级文本显示框控件属性对话框超级文本显示框控件属性:◆控件名称:定义控件的名称,一个显示框控件对应一个控件名称,而且是唯一的,不能重复命名,控件的命名应该符合组态王的命名规则。
如“Richtxt1”。
◆访问权限:定义控件的安全级别——访问权限,范围为1~999。
定义了访问权限后,运行时,只有符合该安全级别的用户登录后,才能操作控件,否则,修改不了控件的值。
如100。
属性定义完成后,单击“确认”按钮关闭对话框。
14.2.8.3 如何使用超级文本显示控件超级文本显示框的作用是显示RTF格式或TXT格式的文本文件的内容,或在显示框中输入文本字符串,将其保存为RTF格式或TXT格式的文本文件。
第十四章 波动14-1 如本题图所示,一平面简谐波沿ox 轴正向传播,波速大小为u ,若P 处质点振动方程为)cos(ϕ+ω=t A y P ,求:(1)O 处质点的振动方程;(2)该波的波动方程;(3)与P 处质点振动状态相同质点的位置。
解:(1)O 处质点振动方程:y 0 = A cos [ ω(t + L / u )+φ] (2)波动方程y 0 = A cos { ω[t - (x - L )/ u +φ} (3)质点位置x = L ± k 2πu / ω (k = 0 , 1, 2, 3……)14-2 一简谐波,振动周期T =1/2s ,波长λ=10m ,振幅A =0.1m ,当t =0时刻,波源振动的位移恰好为正方向的最大值,若坐标原点和波源重合,且波沿ox 轴正方向传播,求:(1)此波的表达式;(2)t 1=T/4时刻,x 1=λ/4处质点的位移;(3)t 2 =T/2时刻,x 1=λ/4处质点的振动速度。
解:(1) y = 0.1 cos ( 4πt - 2πx / 10 )= 0.1 cos 4π(t - x / 20 ) (SI) (2) 当 t 1 = T / 4 = 1 / 8 ( s ) , x 1 = λ/ 4 = 10 / 4 m 处质点的位移y 1 = 0.1cos 4π(T / 4 - λ/ 80 )= 0.1 cos 4π(1 / 8 - 1 / 8 ) = 0.1 m (3) 振速 )20/(4sin 4.0x t tyv --=∂∂=ππ t 2 = T / 2 = 1 / 4 (S) ,在x 1 = λ/ 4 = 10 / 4( m ) 处质点的振速v 2 = -0.4πsin (π-π/ 2 ) = - 1.26 m / s14-3 一简谐波沿x 轴负方向传播,圆频率为ω,波速为u 。
设4Tt =时刻的波形如本题图所示,求该波的表达式。
解:由图可看出,在t=0时,原点处质点位移y 0=-A ,说明原点处质点的振动初相πϕ=0,因而波动方程为])(cos[πω++=uxt A y14-4 本题图表示一平面余弦波在t =0时刻与t =2s 时刻的波形图,求: (1) 坐标原点处介质质点的振动方程;(2) 该波的波方程。
解:由图可知:原点处质点的振动初相20πϕ-=;x习题14-1图习题14-3图波长 m 160=λ,波速 s m u /10220==; 因而圆频率 82πλπω==u,(1)原点处质点的振动方程)28cos(0ππ-=t A y(2) 波方程⎥⎦⎤⎢⎣⎡-+=2)10(8cos ππx t A y14-5已知一平面简谐波的方程为(SI))24(cos x t A y +=π(1) 求该波的波长λ,频率ν 和波速度u 的值;(2) 写出t =2.2s 时刻各波峰位置的坐标表达式,并求出此时离坐标原点最近的那个波峰的位置。
14-6 波源作简谐振动,周期为s 100.12-⨯,以它经平衡位置向正方向运动时为时间起点,若此振动以u =400m/s 的速度沿直线传播。
求:(1)距离波源8.0m 处质点P 的运动方程和初相;(2)距离波源9.0m 和10.0m 处两点的相位差。
解:在确知角频率1s 200/2-==ππωT 、波速1s m 400-⋅=u 和初相)或2/(2/30ππϕ-=的条件下,波动方程]2/3)s m 400/)(s 200cos[(11ππ+⋅-=--x t A y位于 x P = 8.0 m 处,质点P 的运动方程为]2/5)s 200cos[(1P ππ-=-t A y该质点振动的初相2/50πϕ-=P 。
而距波源9.0 m 和 10.0 m 两点的相位差为2//)(2/)(21212ππλπϕ=-=-=∆uT x x x x如果波源初相取2/0πϕ-=,则波动方程为]2/9)(s 200cos[(1ππ-=-t A y14-7 为了保持波源的振动不变,需要消耗4.0W 的功率。
若波源发出的是球面波(设介质不吸收波的能量)。
求距离波源5.0m 和10.0m 处的能流密度。
分析:波的传播伴随着能量的传播。
由于波源在单位时间内提供的能量恒定,且介质不吸收能量,故对于球面波而言,单位时间内通过任意半径的球面的能量(即平均能流)相同,都等于波源消耗的功率P 。
而在同一个球面上各处的能流密度相同,因此,可求出不同位A )习题14-4图置的能流密度 S P I =。
解:由分析可知,半径r 处的能疏密度为24r P I π=当 r 1 = 5.0 m 、r 2 = 10.0 m 时,分别有22211m W 1027.14--⋅⨯==r P I π23222m W 1018.34--⋅⨯==r P I π14-8 一弹性波在媒质中传播的速度u=103m/s ,振幅A=1.0⨯10-4m ,频率ν =103Hz ,媒质的密度为ρ=800kg/m 3。
求:(1)波的平均能流密度;(2)一分钟内垂直通过一面积S=4.0⨯10-4m 2的总能量。
解:(1)由能流密度I 的表达式得2m W 1058.1221522222-⋅⨯===v uA uA I ρπωρ(2)在时间间隔s 60=∆t 内垂直通过面积 S 的能量为J1079.33⨯=∆⋅=∆⋅=t IS t P W14-9 如本题图所示,三个同频率,振动方向相同(垂直纸面)的简谐波,在传播过程中在O 点相遇;若三个简谐波各自单独在S 1、S 2和S 3振动方程分别为y 1=A cos(ωt +π/2),y 2=A cos ωt 和y 3=2A cos(ωt -π/2),且S 2O =4λ,S 1O =S 3O =5λ(λ为波长),求O 点的合振动方程。
(设传播过程中各波振幅不变)解:每一波传播的距离都是波长的整数倍,所以三个波在O 点的振动方程可写成y 1 = A 1 c o s (ωt +π/ 2 ) y 2 = A 2c o s ωty 3 = A 3 c o s (ωt -π/ 2 )其中A 1 = A 2 =A , A 3 = 2A , 在O 点,三个振动叠加,利用振幅矢量图及多边形加法(如图) 可得合振动方程 y =24A t cos(/)ωπ-14-10 本题图中1S 和2S 是波长均为λ的两个相干波的波源,相距3λ/4,1S 的位相比2S 超前2π。
若两波单独传播时,在过1S 和2S 的直线上各点的强度相同,不随距离变化,且两波的强度都是0I ,则在1S 、2S 连线上1S 外侧和外侧2S 各点,合成波的强度分别为多少?解:在1S 的外侧,两波源引起的分振动的相位差S 3S 1S 2习题14-9图Q习题14-10图A 2 A 1 π/4 A 3A =ΣA iyπππλπφφφ223221212-=--=---=∆r r , 合振动振幅02A A =,波的强度04I I =; 在2S 外侧,πππλπφφφ=+-=---=∆23221212r r ,所以I =0 。
14-11在弦线上有一简谐波,其表达式为⎥⎦⎤⎢⎣⎡π-⎪⎭⎫ ⎝⎛+π⨯=-3420100cos 100.221x t y (SI )。
为了在此弦线上形成驻波,并且在x =0处为一波腹,此弦线上还应有一简谐波,求其表达式。
解:设另一波的波动方程为⎥⎦⎤⎢⎣⎡+⎪⎭⎫ ⎝⎛-⨯=-φπ20100cos 100.222x t y则驻波方程为⎪⎪⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎪⎪⎭⎫⎝⎛+-⨯=+=-234100cos 2345cos 100.4221πφπφππt x y y y x =0处为波腹,() 2,1,0234=±=+k k πφπ取k =0处,则 πφ34-=⎥⎦⎤⎢⎣⎡-⎪⎭⎫ ⎝⎛-⨯=-3420100cos 100.222ππx t y14-12 如本题图所示,1S 和2S 为同位相的两相干波源,相距为L ,P 点距1S 为r ;波源1S 在P 点引起的振动振幅为1A ,波源2S 在P 点引起的振动振幅为2A ,两波波长都是λ,求P 点的振幅。
解:两列波传到P 点时的相位差()λπλπλπφrL rr L r r 222212-=--=-=∆,因而P 点振幅()21212221121222122cos 2cos 2⎪⎪⎭⎫ ⎝⎛⎪⎭⎫ ⎝⎛-++=∆++=λπφr L A A A A A A A A A14-13 如本题图所示,S 为点波源,振动方向垂直于纸面,1S 12习题14-12图习题14-13图和2S 是屏AB 上的两个狭缝,1S 2S =a 。
1SS ⊥AB ,并且1SS =b 。
x 轴以2S 为坐标原点,并且垂直于AB 。
在AB 左侧,波长为1λ;在AB 右侧,波长为2λ。
求x 轴上干涉加强点的坐标。
解:在坐标为x 的P 点,两列波引起的分振动的位相差为⎪⎪⎭⎫ ⎝⎛+-+-+=∆2221222λλπφa x x b b a 代入干涉加强的条件() 2,1,022222122==⎪⎪⎭⎫⎝⎛+-+-+k k a x x b b a πλλπ解出干涉加强点的坐标为()[]()[]()02,1,0221222221222≥=--+--+-=x k k b b a k b b a a xλλλλ14-14 设入射波的方程式为⎪⎭⎫⎝⎛+=T t x A y λπ2cos 1,在x =0处发生反射,反射点为一固定端。
设反射时无能量损失,求:(1)反射波的方程式;(2)合成的驻波的方程式;(3)波腹和波节的位置。
解:(1)反射点是固定端,反射时有半波损失,且振幅不变,所以反射波的方程式为⎥⎦⎤⎢⎣⎡+⎪⎭⎫ ⎝⎛-=πλπT t x A y 2cos 2(2)合成的驻波的方程式为⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛+=+=22cos 22cos 221πππλπT t x A y y y(3)波腹位置满足 3,2,122==+n n xππλπ , λ⎪⎭⎫ ⎝⎛-=2121n x 波节位置满 () 2,1,0,21222=+=+n n xππλπ, λn x 21=。
14-15 如本题图所示,一平面简谐波沿x 轴正方向传播,BC 为波密介质的反射面。
波由P 点反射,OP =3λ/4,DP =λ/6。
在t =0时,O 处质点的合振动是经过平衡位置向负方向运动。
求D 点处入射波与反射波的合振动方程。
(设入射波和反射波的振幅皆为A ,频率为ν。
)解:以O 点为坐标原点,设入射波方程式为⎥⎦⎤⎢⎣⎡+⎪⎭⎫⎝⎛-=ϕλνπx t A y 2cos 1在P 点引起的振动方程为习题14-15图⎪⎭⎫⎝⎛+-=⎥⎦⎤⎢⎣⎡+⎪⎭⎫ ⎝⎛-=ϕππνϕλλνπ232cos 432cos 1t A t A y P反射时有半波损失,⎪⎭⎫⎝⎛+-=ϕππν22cos 2t A y P ,反射波方程式为 ⎥⎦⎤⎢⎣⎡+⎪⎭⎫⎝⎛+=⎥⎦⎤⎢⎣⎡+-⎪⎭⎫ ⎝⎛--=ϕλνπϕπλλπνπx t A x t A y 2cos 24322cos 2合成驻波方程式为()ϕπνλπ+⎪⎭⎫ ⎝⎛=+=t x A y y y 2cos 2cos 221由题设条件t =0时x =0处y =0,0<∂∂t y ,所以2πϕ=, ⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛=22cos 2cos 2ππνλπt x A y又(),1271229643λλλλ=-=-=D x ,代入上式,得D 点的振动方程 ()t A t A t A y D πνππνππνπ2sin 322cos 322cos 1272cos 2=⎪⎭⎫ ⎝⎛+-=⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛⨯=14-16 一平面简谐波的频率为500Hz ,在空气中(ρ=1.3kg/m 3)以u =340m/s 的速度传播,到达人耳时,振幅约为A =1.0×10-5m 。