欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      完整的delphi程序設(shè)計(jì)教程課后習(xí)題答案

      時(shí)間:2019-05-13 01:09:16下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《完整的delphi程序設(shè)計(jì)教程課后習(xí)題答案》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《完整的delphi程序設(shè)計(jì)教程課后習(xí)題答案》。

      第一篇:完整的delphi程序設(shè)計(jì)教程課后習(xí)題答案

      1.239頁(yè)1題小時(shí)鐘 procedure TForm1.Timer1Timer(Sender: TObject);var xt,yt:integer;h,m,s,ms:word;begin decodetime(time,h,m,s,ms);xt:=paintbox1.clientwidth div 2;yt:=paintbox1.clientheight div 2;paintbox1.refresh;paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=3;paintbox1.canvas.lineto(xt+round(sin((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2*pi)*100));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=2;paintbox1.canvas.lineto(xt+round(sin(m/60*2*pi)*140), yt-round(cos(m/60*2*pi)*140));paintbox1.canvas.moveto(xt,yt);paintbox1.canvas.pen.width:=1;paintbox1.canvas.lineto(xt+round(sin(s/60*2*pi)*180), yt-round(cos(s/60*2*pi)*180));end;end.2.239頁(yè)3題求兩點(diǎn)間的距離 procedure TForm1.Button1Click(Sender: TObject);begin paintbox1.Refresh;formpaint(sender);end;procedure TForm1.FormPaint(Sender: TObject);var xt,yt:integer;ax,ay,bx,by:integer;begin xt:=paintbox1.ClientWidth div 2;yt:=paintbox1.Clientheight div 2;paintbox1.canvas.MoveTo(xt,0);paintbox1.canvas.lineTo(xt,2*yt);paintbox1.canvas.MoveTo(0,yt);paintbox1.canvas.lineTo(2*xt,yt);ax:=strtoint(edit1.text);ay:=strtoint(edit2.text);bx:=strtoint(edit3.text);by:=strtoint(edit4.text);

      edit5.Text:=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));

      paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);

      paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);end;end.3.226頁(yè)5題輸入學(xué)生成績(jī) var

      Form1: TForm1;type

      studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

      implementation {$R *.dfm} procedure

      TForm1.Button1Click(Sender: TObject);

      var t:studentrecord;

      f,f1:file of studentrecord;p1,p2:boolean;begin

      assignfile(f,'c:my documentsstu.dat');reset(f);

      assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);

      while not eof(f)do begin read(f,t);

      p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);

      p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;

      closefile(f);closefile(f1);end;

      procedure

      TForm1.FormCreate(Sender: TObject);

      var t:studentrecord;f:file of studentrecord;xingbie:string;begin

      assignfile(f,'c:my documentsstu.dat');reset(f);

      while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else

      xingbie:='女';

      listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+

      ' '+inttostr(t.yy)+' '+inttostr(t.dz));end;

      closefile(f);end;

      procedure

      TForm1.Button2Click(Sender: TObject);begin close;end;end.4.226頁(yè)8題保存獲得獎(jiǎng)學(xué)金者 var

      Form1: TForm1;type

      studentrecord=record xh,xm:string[6];xb:boolean;yy,sx,dz:integer;end;

      implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);var t:studentrecord;f,f1:file of studentrecord;p1,p2:boolean;begin assignfile(f,'c:my documentsstu.dat');reset(f);assignfile(f1,'c:my documentsstu1.dat');rewrite(f1);while not eof(f)do begin read(f,t);p1:=(t.sx>=85)and(t.yy>=85)and(t.dz>=85);p2:=t.sx+t.yy+t.dz>=270;if p1 or p2 then write(f1,t);end;closefile(f);closefile(f1);end;procedure TForm1.FormCreate(Sender: TObject);var t:studentrecord;f:file of studentrecord;xingbie:string;begin assignfile(f,'c:my documentsstu1.dat');reset(f);while not eof(f)do begin read(f,t);if t.xb then xingbie:='男' else xingbie:='女';listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+ ' '+inttostr(t.yy)+' '+inttostr(t.dz));end;closefile(f);end;procedure TForm1.Button2Click(Sender: TObject);begin close;end;end.5.166頁(yè)22題素?cái)?shù) procedure

      TForm1.Button1Click(Sender: TObject);type

      sushuset=set of byte;var

      sushu:sushuset;i,j,n,m,k:longword;s,s0:string;begin

      n:=strtoint(edit1.text);m:=strtoint(edit2.text);if n mod 2=0 then n:=n+1;k:=m-n;

      if k>255 then

      showmessage('范圍太大,請(qǐng)重新輸入?yún)^(qū)間端點(diǎn)!')else begin

      sushu:=[0..k];for i:=2 to n-1 do for j:=n to m do

      if j mod i =0 then sushu:=sushu-[j-n];for i:=n to m div 2 do for j:= i+1 to m do

      if j mod i =0 then sushu:=sushu-[j-n];s:='';s0:='';

      for i:=n to m do if i-n in sushu then begin

      if length(s0+' '+inttostr(i))>60 then begin

      s:=s+s0+chr(13);s0:='' end;

      s0:=s0+' '+inttostr(i);end;s:=s+s0;label1.caption:=s;

      groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;end;

      procedure

      TForm1.FormCreate(Sender: TObject);begin

      groupbox1.Top:=(panel1.Top-groupbox1.height)div 2;end;

      procedure

      TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var j:set of char;begin

      j:=['0'..'9',#8];

      if not(key in j)then key:=#0;end;end.6.148頁(yè)12題整除的數(shù) implementation {$R *.dfm}

      function d7(x:integer):boolean;begin

      if x mod 7=0 then d7:=true else d7:=false;end;

      function d17(x:integer):boolean;begin

      if x mod 17=0 then d17:=true else d17:=false;end;

      procedure

      TForm1.FormActivate(Sender: TObject);var

      n:integer;begin

      for n:=1000 to 4000 do if d7(n)and d17(n)then memo1.Lines.Add(inttostr(n));end;end.7.148頁(yè)17題求斐波那契數(shù)列問題 implementation {$R *.dfm} function fib(n:integer):int64;begin case n of 1,2:fib:=1;else fib:=fib(n-1)+fib(n-2);end;end;procedure TForm1.Button1Click(Sender: TObject);var k:integer;begin memo1.lines.clear;for k:=1 to strtoint(edit1.text)do memo1.lines.add(format('%2d %3d',[k,fib(k)]));end;end.8.120頁(yè)10題,判斷是否是閏年 procedure TForm1.Button1Click(Sender: TObject);var y,m:integer;begin y:=strtoint(edit1.text);m:=strtoint(edit2.text);label3.Caption:='';if((y mod 4 = 0)and(y mod 100 <> 0))or(y mod 400=0)then label3.Caption:=edit1.text+'年是閏年,' else label3.Caption:=edit1.text+'年不是閏年,';case m of 3,4,5:Label3.Caption:=Label3.Caption+edit2.Text+'月份是春天,';6,7,8:Label3.Caption:=Label3.Caption+edit2.Text+'月份是夏天,';9,10,11:Label3.Caption:=Label3.Caption+edit2.Text+'月份是秋天,';else Label3.Caption:=Label3.Caption+edit2.Text+'月份是冬天,';end;

      case m of

      1,3,5,7,8,10,12:Label3.Caption:=Label3.Caption+'共有31天,';

      4,6,9,11:Label3.Caption:=Label3.Caption+'共有30天,';else

      if((y mod 4 = 0)and(y mod 100 <> 0)or(y mod 400=0))then Label3.Caption:=Label3.Caption+'共有29天,' else

      Label3.Caption:=Label3.Caption+'共有28天,';end;end;end.9.120頁(yè)11題求和的 procedure

      TForm1.Button1Click(Sender: TObject);var

      n,k,j:integer;s:int64;begin

      n:=strtoint(edit1.text);j:=0;s:=0;

      for k:=1 to n do begin j:=j+k;s:=s+j;end;

      panel2.Caption:=format('s = %d',[s]);edit1.setfocus;end;

      procedure

      TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var b:boolean;begin

      b:=(key<>#8)and(key<#48)or(key>#57);

      if b then key:=#0;end;end.10.120頁(yè)12題男人,女人,小孩各有多少人 procedure

      TForm1.Button1Click(Sender: TObject);var

      x,y,z:integer;p:string;begin

      memo1.clear;for x:=0 to 16 do for y:=0 to 24 do begin

      z:=30-x-y;

      if 3*x+2*y+z/1=50 then begin

      p:=format('%3d %3d %3d',[x,y,z]);

      memo1.lines.add(p);end;end;end;end.11.98頁(yè)2題求長(zhǎng)方體的表面積 procedure

      TForm1.Button1Click(Sender: TObject);var

      s,l,k,h:double;begin

      l:=strtofloat(edit1.text);k:=strtofloat(edit2.text);h:=strtofloat(edit3.text);s:=2*l*k+2*k*h+2*l*h;label1.Caption:=floattostr(s);end;end.12.98頁(yè)5題計(jì)算圓的面積和周長(zhǎng) procedure

      TForm1.Edit1KeyPress(Sender: TObject;var Key: Char);var r:real;b:boolean;begin b:=(key<>#8)and(key<>'.')and(key<>#13)and(key<#48)or(key>#57);if b then key:=#0;if key =#13 then begin if edit1.text='' then edit1.text:='0';r:=strtofloat(edit1.text);if radiobutton1.Checked then label1.Caption:=format('圓的面積為: %f',[pi*r*r]);if radiobutton2.Checked then label1.Caption:=format('圓的周長(zhǎng)為: %f',[2*pi*r]);if radiobutton3.Checked then label1.Caption:=format('圓的面積為: %f'+chr(13)+ '周長(zhǎng)為: %f',[pi*r*r,2*pi*r]);edit1.SelectAll;end;end;procedure TForm1.RadioButton1Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton2Click(Sender: TObject);var sender0:tobject;key:char;begin sender0:=edit1;key:=#13;form1.edit1keypress(sender0,key);end;procedure TForm1.RadioButton3Click(Sender: TObject);var sender0:tobject;key:char;begin

      sender0:=edit1;key:=#13;

      form1.edit1keypress(sender0,key);end;end.13.98頁(yè)6題統(tǒng)計(jì)奇數(shù)和偶數(shù)的個(gè)數(shù)

      procedure

      TForm1.Button1Click(Sender: TObject);var

      k,j,n:word;begin k:=0;

      n:=combobox1.items.count;for j:=1to n do

      if strtoint(combobox1.items[j-1])mod 2 = 0 then k:=k+1;

      label1.caption:=format('共有: '+#13+'%d個(gè)偶數(shù),'+#13+'%d個(gè)奇數(shù)。',[k,n-k]);end;

      procedure

      TForm1.Button2Click(Sender: TObject);begin

      combobox1.items.clear;end;

      procedure

      TForm1.ComboBox1KeyPress(Sender: TObject;var Key: Char);begin if(key =#13)and(combobox1.text<>'')then

      //按鍵后接收輸入的選項(xiàng) begin

      combobox1.items.insert(0,combobox1.text);

      //按鍵后移去選項(xiàng)

      combobox1.selstart:=0;combobox1.text:='';end;

      if key = #27 then

      if combobox1.itemindex<>-1 then

      combobox1.items.Delete(combobox1.itemindex);end;end.14.98頁(yè)8題設(shè)置倒計(jì)時(shí)的時(shí)間,并進(jìn)行倒計(jì)時(shí) procedure

      TForm1.Timer1Timer(Sender: TObject);var

      m,n,s,h:integer;begin

      timer1.Tag:=timer1.Tag-1;m:=timer1.Tag;if m<0 then begin

      timer1.enabled:=false;

      showmessage('預(yù)定的時(shí)間到了!');edit1.Text:='0';end else begin s:=m;

      n:=s div 60;s:=s mod 60;h:=n div 60;n:=n mod 60;

      maskedit1.text:=format('%d:%d:%d',[h,n,s]);

      if n <> strtoint(edit1.text)then edit1.Text:=inttostr(n);end;end;

      procedure

      TForm1.Button1Click(Sender: TObject);begin

      timer1.enabled:=True;

      timer1.Tag:=strtoint(edit1.Text)*60;end;end.

      第二篇:C語(yǔ)言程序設(shè)計(jì)教程課后習(xí)題答案

      C語(yǔ)言程序設(shè)計(jì)教程課后習(xí)題答案

      第一章 C語(yǔ)言程序設(shè)計(jì)概述 -習(xí)題答案 算法的描述有哪些基本方法?

      1、自然語(yǔ)言

      2、專用工具C語(yǔ)言程序的基本結(jié)構(gòu)是怎樣的?舉一個(gè)例子說明。

      1、C語(yǔ)言程序由函數(shù)構(gòu)成;

      2、“/*”與“*/”之間的內(nèi)容構(gòu)成C語(yǔ)言程序的注釋部分;

      3、用預(yù)處理命令#include、#define可以包含有關(guān)文件或預(yù)定義信息;

      4、大小寫字母在C語(yǔ)言中是有區(qū)別的;

      5、除main()函數(shù)和標(biāo)準(zhǔn)庫(kù)函數(shù)外,用戶也可以自己編寫函數(shù),應(yīng)用程序一般由多個(gè)函數(shù)組成,這些函數(shù)指定實(shí)際所需要做的工作。C語(yǔ)言有什么特點(diǎn)?

      1、具有結(jié)構(gòu)語(yǔ)言的特點(diǎn),程序之間很容易實(shí)現(xiàn)段的共享;

      2、主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨(dú)立的任務(wù),獨(dú)立地編譯代碼,以實(shí)現(xiàn)程序的模塊化;

      3、運(yùn)算符豐富,包含的范圍很廣;

      4、數(shù)據(jù)類型豐富;

      5、允許直接訪問物理地址,即可直接對(duì)硬件進(jìn)行損傷,實(shí)現(xiàn)匯編語(yǔ)言的大部分功能;

      6、限制不太嚴(yán)格,程序設(shè)計(jì)自由度大,這樣使C語(yǔ)言能夠減少對(duì)程序員的束縛;

      7、生成的目標(biāo)代碼質(zhì)量,程序執(zhí)行效率高,同時(shí)C語(yǔ)言編寫的程序的可移植性好?!镏赋龊戏ㄅc不合法的標(biāo)識(shí)符命名。

      AB12--√ leed_3--a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×說明下列Turbo C熱鍵的功能。

      F2:源文件存盤 F10:調(diào)用主菜單 F4:程序運(yùn)行到光標(biāo)所在行(用于調(diào)試程序)Ctrl+F9:編譯并鏈接成可執(zhí)行文件 Alt+F5:將窗口切換到 DOS 下,查看程序運(yùn)行結(jié)果。說明下列Turbo C方式下輸入并運(yùn)行下列程序,記錄下運(yùn)行結(jié)果。

      ①main()

      {printf(“********************n”);printf(“ welcome you n”);printf(“ very good n);printf(”********************n“);} ②main()

      { int a,b,c,t;printf(”please input three numbers;“);scanf(”%d,%d,%d“,&a,&b,&c);/*教材S是錯(cuò)誤的*/ t=max(max(a,b),c);printf(”max number is:%dn“,t);} int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);} 答

      運(yùn)行結(jié)果:

      ******************** welcome you very good ******************** 運(yùn)行結(jié)果:

      please input three numbers;3,1,4 /*左側(cè)下劃線內(nèi)容為鍵盤輸入*/ max number is:4 7 一個(gè)C程序是由若干個(gè)函數(shù)構(gòu)成的,其中有且只能有一個(gè)___函數(shù)。

      main()8 在Turbo C環(huán)境下進(jìn)行程序調(diào)試時(shí),可以使用Run下拉菜單的___命令或按___鍵轉(zhuǎn)到用戶屏幕查看程序運(yùn)行結(jié)果。

      1、User screen

      2、Alt+F5 9 ★C語(yǔ)言對(duì)標(biāo)識(shí)符與關(guān)鍵字有些什么規(guī)定?

      1、標(biāo)識(shí)符用來表示函數(shù)、類型及變量的名稱,它是由字母、下劃線和數(shù)字組成,但必須用字母或下劃線開頭。

      2、關(guān)鍵字是一種語(yǔ)言中規(guī)定具有特定含義的標(biāo)識(shí)符,其不能作為變量或函數(shù)名來使用,用戶只能根據(jù)系統(tǒng)的規(guī)定使用它們。C源程序輸入后是如何進(jìn)行保存的?

      是以C為擴(kuò)展名保存的純文本文件。

      第二章 C語(yǔ)言程序的基本數(shù)據(jù)類型與表達(dá)式 -習(xí)題答案 ★指出下列常數(shù)中哪些是符合C語(yǔ)法規(guī)定的。

      ''--× '101'--× ”“--× e3--× 019--√ 0x1e--√ ”abn“--√ 1.e5--×(2+3)e(4-2)--× 5.2e2.5--×請(qǐng)找出下列程序中的錯(cuò)誤,改正后寫出程序運(yùn)行結(jié)果。

      ①void main(){int x,y=z=5,aver;x=7 AVER=(x+y+z)/3 printf(”AVER=%dn“,aver);} ②void main()

      { char c1='a';c2='b';c3='c';int a=3.5,b='A' printf(”a=%db='“endn”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);} 答

      main(){int x,y=5,z=5,aver;x=7;aver=(x+y+z)/3;printf(“AVER=%dn”,aver);}

      運(yùn)行結(jié)果:AVER=5 ②main()

      { char c1='a', c2='b', c3='c';int a=3,b='A';printf(“a=%d,b='%c'”end“n”,a,b);printf(“a%cb%cbc%ctabcn”,c1,c2,c3);}

      運(yùn)行結(jié)果:a=3,b='A'“end”

      aabcc abc 3 寫出下列賦值的結(jié)果,表格中寫了數(shù)值的是要將它賦給其他類型的變量,將所有的空格填上賦值后的數(shù)據(jù)(實(shí)數(shù)保留到小數(shù)點(diǎn)后兩位)。int 99

      -1 char 'h'

      unsigned int

      float

      55.78

      long int

      答 int 99 104 66 55 68-1 char 'c' 'h' 'B' '7' 'D'

      unsigned int 99 104 66 55 68 65535

      float 99.00 104.00 66.00 55.78 68.00-1.00

      long int 99 104 66 55 68-1

      ★寫出程序運(yùn)行結(jié)果。

      ①void main(){int i,j;i=8,j=10;printf(“%d,%d,%d,%dn”,i,j,++i,j++);} ②main()

      { int a=1,b=2,c=30;;printf(“%d,%d,%d,%dn”,a=b=c,a=b==c,a==(b=c),a==(b==c));} 注意:a=b=c,a=b==c之間應(yīng)為逗號(hào),教材有誤 答

      運(yùn)行結(jié)果: 9,11,9,10 運(yùn)行結(jié)果: 30,1,0,0

      ③void main()

      {int a=10,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf(“%d,%d,%d,%dn”,a,b,c,d);}

      運(yùn)行結(jié)果: 11,19,30,1

      ★寫出下面表達(dá)式的值(設(shè)a=10,b=4,c=5,d=1,x=2.5,y=3.5)。⑴a%=(b%=3)

      ⑵n++,a+=a-=a*=a ⑶(float)(a+c)/2+(int)x%(int)y ⑷a*=b+c ⑸++a-c+b++ ⑹++a-c+++b ⑺a

      ⑼a+b,18+(b=4)*3,(a/b,a%b)

      ⑽x+a%3*(int)(x+y)%2/4+sizeof(int)⑾a

      ⑴0 ⑵0 ⑶9.500000 ⑷90 ⑸10 ⑹10 ⑺'A' ⑻2 ⑼4.5 ⑽1 ⑾0 ⑿20 ⒀0 下列每組表達(dá)式中,被執(zhí)行后結(jié)果完全等價(jià)的是哪些(設(shè)a、b、m是已被賦值的整型變量)?

      ①m=(a=4,4*5)與m=a=4,4*5 ②(float)(a/b)與(float)a/b ③(int)a+b與(int)(a+b)④m%=2+a*3與m=m%2+a*3 ⑤m=1+(a=2)+(b=3)與a=2,b=3,m=1+a+b 答

      ①前面是賦值表達(dá)式,而后面的是一個(gè)逗號(hào)表達(dá)式,所以一定不同;

      ②前面的表達(dá)式中a/b結(jié)果為一整數(shù),結(jié)果已經(jīng)取整,精度可能受到影響,之后強(qiáng)制float后才為浮點(diǎn)型,后面的是先將a轉(zhuǎn)換為float后再與b相除,其值保證了精度,所以不同。

      ③因?yàn)閍、b均為整數(shù),其前后兩個(gè)表達(dá)式的計(jì)算結(jié)果是一致的。

      ④前一表達(dá)式是一算術(shù)表達(dá)式,而后者為一賦值表達(dá)式,此為一點(diǎn)不同;另外,前一表達(dá)式的m只被賦過一次值,后一表達(dá)式中的m曾兩次被賦值,第一次賦值時(shí)與第一表達(dá)式中的值一致,第二次賦值后即不再相同。⑤前后表達(dá)式的計(jì)算結(jié)果應(yīng)該是一致的:a=2, b=3, m=6 7 條件表達(dá)式x>0?x:-x的功能是什么?

      如果x的值是一正數(shù),則表達(dá)式的值為x值;如果x的值是一非正數(shù),則表達(dá)式的值為-x。其實(shí)該表達(dá)式的值即為x的絕對(duì)值,C語(yǔ)言中提供了一個(gè)函數(shù)fabs(x)即可完成此功能,該函數(shù)包含在math.h頭文件中。用一個(gè)條件表達(dá)式描述從a、b、c中找出最大都賦給max.答

      max=a>(b>c?b:c)?a:(b>c?b:c);9 ★若x為int型變量,則執(zhí)行以下語(yǔ)句后x的值為()。x=6;x+=x-=x*x;A.36 B.-60 C.60 D.-24 答 B.10 ★若有以下類型說明語(yǔ)句: char w;int x;float y;double z;則表達(dá)式w*x+z-y的結(jié)果為()類型。A.float B.char C.int D.double 答 D.第三章 順序結(jié)構(gòu)程序設(shè)計(jì) -習(xí)題答案 變量k為float類型,調(diào)用函數(shù)scanf(“%d”,&k),不能使變量k得到正確數(shù)值的原因是___。

      格式修飾符與變量類型不一致。因?yàn)?d輸入的數(shù)據(jù)類型應(yīng)該為十進(jìn)制整數(shù),而&k為占用4個(gè)字節(jié)的float類型變量的地址?!颽=1234,b=12,c=34,則執(zhí)行“printf(“|%3d%3d%-3d|n”,a,b,c);”后的輸出是___。

      |1234 1234 |

      分析如下:

      ①%3d為右對(duì)齊輸出變量,且指定輸出變量的值寬度為3個(gè)字符位,如果變量實(shí)際位數(shù)小于3,則左端補(bǔ)空格,如果變量實(shí)際位數(shù)大于3,則按實(shí)際長(zhǎng)度輸出,不受限制。

      ②%-3d為左對(duì)齊輸出變量,在輸出變量時(shí),如是變量實(shí)際位數(shù)小于3,則在右端補(bǔ)空格,否則按實(shí)際輸出?!镌O(shè)有“int a=255,b=8;”,則“printf(“%x,%on”,a,b);”輸出是___。答 ff,10 ①如果“printf(“%X,%on”,a,b);”則輸出為FF,10。說明在輸出十六進(jìn)制字母時(shí),其大小寫受格式修飾符的限制,如果是“%x”則輸出小寫,如果是“%X”則輸出大寫。

      ②如果希望在輸出十六進(jìn)制時(shí)輸出前導(dǎo)符0x或0X,則以上輸出語(yǔ)句應(yīng)改“printf(“%#x,%on”,a,b);”為或“printf(“%#X,%on”,a,b);”。本條解釋不必須掌握?!镆韵鲁绦蜉敵龅慕Y(jié)果是___。main(){ int a1=1,a2=0,a3=2;printf(“%d,%d,%dn”,a1,a1+a2+a3,a3-a1);} 答 1,3,1 5 printf函數(shù)中用到格式符%5s,其中5表示輸出字符占用5列。如果字符串長(zhǎng)度大于5,則按___輸出;如果字符串長(zhǎng)度小于5,則按___輸出。

      ①實(shí)際 ②左端補(bǔ)空格 6 ★已定義變量如下: int a1,a2;char c1,c2;若要求輸入a1、a2、c1和c2的值,正確的輸入函數(shù)調(diào)用語(yǔ)句是___。

      scanf(“%d,%d,%c,%c”,&a1,&a2,&c1,&c2);7 輸入兩個(gè)整型變量a、b的值,輸出下列算式以及運(yùn)算結(jié)果___。a+b、a-b、a*b、a/b、(float)a/b、a%b 每個(gè)算式占一行。如a=10,b=5,a+b輸出為:10+5=15 答

      設(shè)int a=10,b=5;以下為輸出語(yǔ)句及結(jié)果: ①printf(“%d+%d=%dn”,a,b,a+b);10+5=15 ②printf(“%d-%d=%dn”,a,b,a-b);10-5=5 ③printf(“%d*%d=%dn”,a,b,a*b);10*5=50 ④printf(“%d/%d=%dn”,a,b,a/b);10/5=2 ⑤printf(“%(float)d/%d=%fn”,a,b,(float)a/b);(float)10/5=2.000000 ⑥printf(“%d%%%d=%dn”,a,b,a%b);10%5=0 8 ★輸入一個(gè)非負(fù)數(shù),計(jì)算以這個(gè)數(shù)為半徑的圓周長(zhǎng)和面積。答

      #define PI 3.1415926 main(){ float r,l,area;printf(“Input a positive:”);scanf(“%f”,&r);l=2*PI*r;area=PI*r*r;printf(“l(fā)=%ftarea=%fn”,l,area);} 9 輸入任意一個(gè)3位數(shù),將其各位數(shù)字反序輸出(例如輸入123,輸出321)。

      main(){ int x,y;printf(“Input a number(100-999):”);scanf(“%d”,&x);y=100*(x%10)+10*(x/10%10)+x/100;/*注意分析此處算法*/

      第三篇:C#應(yīng)用程序設(shè)計(jì)教程 第二版+課后習(xí)題答案

      第一章

      1.判斷題

      (1)×(2)√(3)√(4)×(5)×

      (6)√ 2.選擇題

      (1)C(2)B(3)B(4)C(5)D

      (6)C 3.編程題

      using System;using System.Collections.Generic;using System.Linq;using System.Text;

      namespace ConsoleApplication1 { class Program { static void Main(string[] args){ Console.WriteLine(“Hello C#”);} } }

      第二章

      1.判斷下列符號(hào)哪些是合法的C#變量名稱

      北京 abc _xyz x_y 2.根據(jù)要求寫出C#表達(dá)式(1)N%3==0 & N%5==0(2)(char)new Random().Next(67,74)(3)Math.Pow(x,3)*y/(x+y)(4)Math.Sqrt(b*b-4*a*c)3.判斷題

      (1)×(2)√(3)√(4)√(5)√

      (6)×(7)√(8)√(9)√(10)×(11)√(12)× 4.選擇題

      (1)B(2)C(3)B(4)B

      (5)C

      (6)B(7)D(8)B(9)C(10)A 5.分析并寫出下列程序運(yùn)行結(jié)果(1)a=21,b=9,c=16

      y=4(2)b=41(3)s=6(4)a[0]=28

      a[1]=15

      a[2]=39

      a[3]=48

      a[4]=39 6.程序填空

      (1)① 3 ② a[i] ③ a[i] ④ a[5-i] ⑤ a[5-i](2)① i % 5 == 0 | i % 7 == 0 ② s+ i 7.編程題(1)static void Main(string[] args){ int s,i,j;for(i = 2;i < 1000;i++){ s = 0;for(j = 1;j < i;j++){ if(i % j == 0)s += j;} if(i == s)Console.WriteLine(“{0}”,i);} }(2)static void Main(string[] args){ int[,] a = {{2,5,18,4 },{3,4,9,2},{4,1,16,8},{5,2,14,6}};int i,j,k,max,maxj;for(i = 0;i < 4;i++){ max = a[i,0];maxj = 0;for(j = 1;j < 4;j++){ if(max < a[i,j]){max = a[i,j];maxj = j;} } for(k = 0;k < 4;k++){ if(a[k, maxj] < max)break;} if(k == 4)Console.WriteLine(“鞍點(diǎn):第{0}行,第{1}列”,i+1,maxj+1);} }(3)

      static void Main(string[] args){ int a = 20, b = 16,i=20;do { if(i % a == 0 & i % b == 0)break;i++;} while(true);Console.WriteLine(“最小公倍數(shù):{0}”,i);i = 16;do { if(a % i == 0 & b % i == 0)break;i--;} while(true);Console.WriteLine(“最大公約數(shù):{0}”,i);}(4)

      static void Main(string[] args){ int i, j,k;float s = 1.0f;for(i = 2;i < 11;i++){ k=1;for(j = 2;j <= i;j++)k += j;s += 1.0f / k;} Console.WriteLine(“s={0}”,s);}(5)

      static void Main(string[] args){ String s = “a,b2>4[AG6p(”;int i, n1=0,n2=0,n3=0,n4=0;for(i=0;i=65 & s[i]<=90)n1++;if(s[i]>=97 & s[i]<=122)n2++;if(s[i]>=48 & s[i]<=57)n3++;} n4=s.Length-n1-n2-n3;Console.WriteLine(“大寫字母?jìng)€(gè)數(shù):{0};小寫字母?jìng)€(gè)數(shù):{1};數(shù)字個(gè)數(shù):{2};其余字符個(gè)數(shù):{3}”,n1,n2,n3,n4);}(6)

      static void Main(string[] args){ int i,s = 1;for(i = 0;i < 5;i++){ s = 2 *(s + 1);} Console.WriteLine(“小猴子第一天摘了{(lán)0}個(gè)桃子”,s);}

      說明:由最后一天往前推算。后一天吃了前一天桃子數(shù)量的一半多1個(gè),剩余桃子數(shù)量是前一天桃子數(shù)量的一半減1,則,前一天的桃子數(shù)量是后一天的桃子數(shù)量加1的2倍。

      第三章

      1.判斷題

      (1)√(2)×(3)√

      (4)√(5)√(6)×(7)√(8)×(9)×

      (10)√

      (11)√(12)√(13)√(14)×(15)√(16)√(17)×(18)√(19)√(20)×(21)×(22)√(23)√(24)√(25)×(26)×(27)× 2.選擇題

      (1)C(2)B(3)C(4)D

      (5)C

      (6)B(7)D(8)C(9)A(10)A(11)B(12)A(13)D(14)B

      (15)C

      3.分析下列程序的運(yùn)行結(jié)果(1)s=32,s1=32,s2=34

      x=11,y=21(2)x1=3,x2=4

      y1=1,y2=4 4.編程題(1)

      class Student { public string studentid;public string studentname;private string birthplace;private DateTime birthdate;public Student(string id, string name){ studentid = id;studentname = name;} public string StudentId { get { return studentid;} set { studentid = value;} } public string StudentName { get { return studentname;} set { studentname = value;} } public string BirthPlace { get { return birthplace;} set { birthplace = value;} } public DateTime BirthDate { get { return birthdate;} set { birthdate = value;} } public int Age { get { return DateTime.Now.Year1, p1.yp1.x)*(p2.xp1.y)*(p2.yv2;if(radioButton3.Checked ==true)v = v1 * v2;if(radioButton4.Checked ==true){ if(v2!= 0)v = v1 / v2;} textBox3.Text = v.ToString();} 3.利用4.6節(jié)知識(shí),參考圖4-29設(shè)計(jì)具有菜單、工具欄和狀態(tài)欄的Windows窗口應(yīng)用程序。

      第五章

      1.判斷題

      (1)√(2)×(3)√(4)√(5)×

      (6)√(7)×

      2.選擇題

      (1)A(2)無(wú)答案,應(yīng)該是TextReader(3)A(4)C

      (5)A(6)C 3.編程題

      創(chuàng)建Windows窗口用于程序,在窗口上放置一個(gè)Button控件,名稱為button1,編寫其Click事件處理方法:

      private void button1_Click(object sender, EventArgs e){ int i, j;int[,] a=new int[3,3];int[,] b = new int[3, 3];int[,] c = new int[3, 3];string s1;string[] ss;FileStream fs = new FileStream(@“d:data1.txt”,FileMode.Open);StreamReader sr=new StreamReader(fs,Encoding.Default);StreamWriter sw;BinaryWriter bw;for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ a[i, j] = int.Parse(ss[j]);} } for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ b[i, j] = int.Parse(ss[j]);} } sr.Close();fs.Close();for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)c[i, j] = a[i, j] + b[i, j];SaveFileDialog sfd = new SaveFileDialog();sfd.Filter = “文本文件(*.txt)|*.txt”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);sw = new StreamWriter(fs,Encoding.Default);for(i = 0;i < 3;i++){ for(j = 0;j < 3;j++){ sw.Write(c[i, j]);sw.Write(“ ”);} sw.Write(“n”);} sw.Close();fs.Close();} sfd.Filter = “二進(jìn)制文件(*.bin)|*.bin”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);bw = new BinaryWriter(fs);for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)bw.Write(c[i, j]);bw.Close();fs.Close();} } 說明:data1.txt文件中共9行整數(shù),每行3個(gè)整數(shù),每個(gè)數(shù)據(jù)之間以一個(gè)空格隔開。

      第六章

      1.判斷題

      (1)√(2)×(3)×(4)×(5)√

      (6)√(7)√(8)×(9)×(10)√

      2.選擇題

      (1)C(2)D(3)C(4)A

      (5)B(6)C(7)B(8)D 3.編程題

      創(chuàng)建Windows窗口應(yīng)用程序,在窗口上放置一個(gè)toolStrip控件,并在其中添加兩個(gè)組合框,名稱分別為toolStripComboBox1和toolStripComboBox2,給toolStripComboBox1添加選項(xiàng):短劃線、點(diǎn)劃線、雙點(diǎn)劃線、虛線、實(shí)線,給toolStripComboBox2添加選項(xiàng):1、2、3、4。給窗口添加如下私有字段:

      private Graphics g1;private DashStyle dashstyle=DashStyle.Solid;private float penwidth=1;private Pen pen1;private bool beDraw = false;private Point p1, p2;編寫comboBox1和comboBox2的SelectedIndexChanged事件處理方法:

      private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)comboBox1.SelectedIndex;}

      private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth =float.Parse(comboBox2.Text);} 編寫Form3的Load、MouseDown、MouseMove和MouseUp以及工具欄上兩個(gè)組合框的SelectedIndexChanged事件處理方法:

      private void Form3_Load(object sender, EventArgs e){ toolStripComboBox1.SelectedIndex = toolStripComboBox1.Items.Count-1;toolStripComboBox2.SelectedIndex = 0;} private void Form3_MouseDown(object sender, MouseEventArgs e){ pen1 = new Pen(Color.Red, penwidth);pen1.DashStyle = dashstyle;beDraw = true;p1 = e.Location;g1 = this.CreateGraphics();} private void Form3_MouseMove(object sender, MouseEventArgs e){ if(beDraw == true){ p2 = e.Location;g1.DrawLine(pen1, p1, p2);p1 = p2;} } private void Form3_MouseUp(object sender, MouseEventArgs e){ beDraw = false;} private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)toolStripComboBox1.SelectedIndex;} private void toolStripComboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth = float.Parse(toolStripComboBox2.Text);}

      第七章

      1.判斷題

      (1)√(2)×(3)×(4)×(5)√

      (6)×(7)√(8)×(9)√(10)×(11)√(12)×(13)√(14)√(15)√(16)√

      2.選擇題

      (1)A(2)D(3)C(4)A

      (5)D(6)B(7)C(8)D(9)B(10)C(11)C 12)C 13)A 14)B 15)D 16)D 3.編程題

      (1)創(chuàng)建Windows窗口應(yīng)用程序,在窗口上放置兩個(gè)Button控件,名稱分別為button1和button2,再放置一個(gè)ComboBox控件和DataGridView控件,名稱分別為comboBox1和dataGridView1。

      編寫button1的Click事件處理方法:

      private void button1_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString =@“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();com.CommandType = CommandType.Text;com.CommandText = “select * from Score where score>80”;com.Connection = con;OleDbDataReader dr = com.ExecuteReader();comboBox1.Items.Clear();while(dr.Read()== true){ if(dr.IsDBNull(dr.GetOrdinal(“StudentID”))== false)

      comboBox1.Items.Add(dr[“StudentID”]);} } 說明:為了使用ADO.NET的OLEDB訪問方式,需要添加下列引用:

      using System.Data.OleDb;(2)界面與(1)相同。

      編寫button2的Click事件處理方法:

      private void button2_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString = @“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();OleDbDataAdapter da = new OleDbDataAdapter(“select Class as 班級(jí),avg(Score)as平均成績(jī) from Score group by Class”, con);DataSet ds = new DataSet();da.Fill(ds, “平均成績(jī)表”);dataGridView1.DataSource =ds.Tables[“平均成績(jī)表”];}(3)參考7.7節(jié)的學(xué)生信息管理程序,編寫通訊錄管理程序,細(xì)節(jié)略。

      第四篇:量子力學(xué)教程課后習(xí)題答案

      量子力學(xué)習(xí)題及解答

      第一章

      量子理論基礎(chǔ)

      1.1

      由黑體輻射公式導(dǎo)出維恩位移定律:能量密度極大值所對(duì)應(yīng)的波長(zhǎng)與溫度T成反比,即

      T=b(常量);

      并近似計(jì)算b的數(shù)值,準(zhǔn)確到二位有效數(shù)字。

      根據(jù)普朗克的黑體輻射公式,(1)

      以及,(2),(3)

      這里的的物理意義是黑體內(nèi)波長(zhǎng)介于λ與λ+dλ之間的輻射能量密度。

      本題關(guān)注的是λ取何值時(shí),取得極大值,因此,就得要求

      對(duì)λ的一階導(dǎo)數(shù)為零,由此可求得相應(yīng)的λ的值,記作。但要注意的是,還需要驗(yàn)證對(duì)λ的二階導(dǎo)數(shù)在處的取值是否小于零,如果小于零,那么前面求得的就是要求的,具體如下:

      如果令x=,則上述方程為

      這是一個(gè)超越方程。首先,易知此方程有解:x=0,但經(jīng)過驗(yàn)證,此解是平庸的;另外的一個(gè)解可以通過逐步近似法或者數(shù)值計(jì)算法獲得:x=4.97,經(jīng)過驗(yàn)證,此解正是所要求的,這樣則有

      把x以及三個(gè)物理常量代入到上式便知

      這便是維恩位移定律。據(jù)此,我們知識(shí)物體溫度升高的話,輻射的能量分布的峰值向較短波長(zhǎng)方面移動(dòng),這樣便會(huì)根據(jù)熱物體(如遙遠(yuǎn)星體)的發(fā)光顏色來判定溫度的高低。

      1.2

      在0K附近,鈉的價(jià)電子能量約為3eV,求其德布羅意波長(zhǎng)。

      根據(jù)德布羅意波粒二象性的關(guān)系,可知

      E=h,如果所考慮的粒子是非相對(duì)論性的電子(),那么

      如果我們考察的是相對(duì)性的光子,那么

      E=pc

      注意到本題所考慮的鈉的價(jià)電子的動(dòng)能僅為3eV,遠(yuǎn)遠(yuǎn)小于電子的質(zhì)量與光速平方的乘積,即,因此利用非相對(duì)論性的電子的能量——?jiǎng)恿筷P(guān)系式,這樣,便有

      在這里,利用了

      以及

      最后,對(duì)

      作一點(diǎn)討論,從上式可以看出,當(dāng)粒子的質(zhì)量越大時(shí),這個(gè)粒子的波長(zhǎng)就越短,因而這個(gè)粒子的波動(dòng)性較弱,而粒子性較強(qiáng);同樣的,當(dāng)粒子的動(dòng)能越大時(shí),這個(gè)粒子的波長(zhǎng)就越短,因而這個(gè)粒子的波動(dòng)性較弱,而粒子性較強(qiáng),由于宏觀世界的物體質(zhì)量普遍很大,因而波動(dòng)性極弱,顯現(xiàn)出來的都是粒子性,這種波粒二象性,從某種子意義來說,只有在微觀世界才能顯現(xiàn)。

      1.3

      氦原子的動(dòng)能是(k為玻耳茲曼常數(shù)),求T=1K時(shí),氦原子的德布羅意波長(zhǎng)。

      根據(jù),知本題的氦原子的動(dòng)能為

      顯然遠(yuǎn)遠(yuǎn)小于這樣,便有

      這里,利用了

      最后,再對(duì)德布羅意波長(zhǎng)與溫度的關(guān)系作一點(diǎn)討論,由某種粒子構(gòu)成的溫度為T的體系,其中粒子的平均動(dòng)能的數(shù)量級(jí)為kT,這樣,其相慶的德布羅意波長(zhǎng)就為

      據(jù)此可知,當(dāng)體系的溫度越低,相應(yīng)的德布羅意波長(zhǎng)就越長(zhǎng),這時(shí)這種粒子的波動(dòng)性就越明顯,特別是當(dāng)波長(zhǎng)長(zhǎng)到比粒子間的平均距離還長(zhǎng)時(shí),粒子間的相干性就尤為明顯,因此這時(shí)就能用經(jīng)典的描述粒子統(tǒng)計(jì)分布的玻耳茲曼分布,而必須用量子的描述粒子的統(tǒng)計(jì)分布——玻色分布或費(fèi)米公布。

      1.4

      利用玻爾——索末菲的量子化條件,求:

      (1)一維諧振子的能量;

      (2)在均勻磁場(chǎng)中作圓周運(yùn)動(dòng)的電子軌道的可能半徑。

      已知外磁場(chǎng)H=10T,玻爾磁子,試計(jì)算運(yùn)能的量子化間隔△E,并與T=4K及T=100K的熱運(yùn)動(dòng)能量相比較。

      玻爾——索末菲的量子化條件為

      其中q是微觀粒子的一個(gè)廣義坐標(biāo),p是與之相對(duì)應(yīng)的廣義動(dòng)量,回路積分是沿運(yùn)動(dòng)軌道積一圈,n是正整數(shù)。

      (1)設(shè)一維諧振子的勁度常數(shù)為k,諧振子質(zhì)量為μ,于是有

      這樣,便有

      這里的正負(fù)號(hào)分別表示諧振子沿著正方向運(yùn)動(dòng)和沿著負(fù)方向運(yùn)動(dòng),一正一負(fù)正好表示一個(gè)來回,運(yùn)動(dòng)了一圈。此外,根據(jù)

      可解出

      這表示諧振子的正負(fù)方向的最大位移。這樣,根據(jù)玻爾——索末菲的量子化條件,有

      為了積分上述方程的左邊,作以下變量代換;

      這樣,便有

      這時(shí),令上式左邊的積分為A,此外再構(gòu)造一個(gè)積分

      這樣,便有

      (1)

      這里

      =2θ,這樣,就有

      (2)

      根據(jù)式(1)和(2),便有

      這樣,便有

      其中

      最后,對(duì)此解作一點(diǎn)討論。首先,注意到諧振子的能量被量子化了;其次,這量子化的能量是等間隔分布的。

      (2)當(dāng)電子在均勻磁場(chǎng)中作圓周運(yùn)動(dòng)時(shí),有

      這時(shí),玻爾——索末菲的量子化條件就為

      又因?yàn)閯?dòng)能耐,所以,有

      其中,是玻爾磁子,這樣,發(fā)現(xiàn)量子化的能量也是等間隔的,而且

      具體到本題,有

      根據(jù)動(dòng)能與溫度的關(guān)系式

      以及

      可知,當(dāng)溫度T=4K時(shí),當(dāng)溫度T=100K時(shí),顯然,兩種情況下的熱運(yùn)動(dòng)所對(duì)應(yīng)的能量要大于前面的量子化的能量的間隔。

      1.5

      兩個(gè)光子在一定條件下可以轉(zhuǎn)化為正負(fù)電子對(duì),如果兩光子的能量相等,問要實(shí)現(xiàn)實(shí)種轉(zhuǎn)化,光子的波長(zhǎng)最大是多少?

      關(guān)于兩個(gè)光子轉(zhuǎn)化為正負(fù)電子對(duì)的動(dòng)力學(xué)過程,如兩個(gè)光子以怎樣的概率轉(zhuǎn)化為正負(fù)電子對(duì)的問題,嚴(yán)格來說,需要用到相對(duì)性量子場(chǎng)論的知識(shí)去計(jì)算,修正當(dāng)涉及到這個(gè)過程的運(yùn)動(dòng)學(xué)方面,如能量守恒,動(dòng)量守恒等,我們不需要用那么高深的知識(shí)去計(jì)算,具休到本題,兩個(gè)光子能量相等,因此當(dāng)對(duì)心碰撞時(shí),轉(zhuǎn)化為正風(fēng)電子對(duì)反需的能量最小,因而所對(duì)應(yīng)的波長(zhǎng)也就最長(zhǎng),而且,有

      此外,還有

      于是,有

      盡管這是光子轉(zhuǎn)化為電子的最大波長(zhǎng),但從數(shù)值上看,也是相當(dāng)小的,我們知道,電子是自然界中最輕的有質(zhì)量的粒子,如果是光子轉(zhuǎn)化為像正反質(zhì)子對(duì)之類的更大質(zhì)量的粒子,那么所對(duì)應(yīng)的光子的最大波長(zhǎng)將會(huì)更小,這從某種意義上告訴我們,當(dāng)涉及到粒子的衰變,產(chǎn)生,轉(zhuǎn)化等問題,一般所需的能量是很大的。能量越大,粒子間的轉(zhuǎn)化等現(xiàn)象就越豐富,這樣,也許就能發(fā)現(xiàn)新粒子,這便是世界上在造越來越高能的加速器的原因:期待發(fā)現(xiàn)新現(xiàn)象,新粒子,新物理。

      第二章波

      函數(shù)和薛定諤方程

      2.1證明在定態(tài)中,幾率流與時(shí)間無(wú)關(guān)。

      證:對(duì)于定態(tài),可令

      可見無(wú)關(guān)。

      2.2

      由下列定態(tài)波函數(shù)計(jì)算幾率流密度:

      從所得結(jié)果說明表示向外傳播的球面波,表示向內(nèi)(即向原點(diǎn))

      傳播的球面波。

      解:

      在球坐標(biāo)中

      同向。表示向外傳播的球面波。

      可見,反向。表示向內(nèi)(即向原點(diǎn))

      傳播的球面波。

      補(bǔ)充:設(shè),粒子的位置幾率分布如何?這個(gè)波函數(shù)能否歸一化?

      ∴波函數(shù)不能按方式歸一化。

      其相對(duì)位置幾率分布函數(shù)為

      表示粒子在空間各處出現(xiàn)的幾率相同。

      2.3

      一粒子在一維勢(shì)場(chǎng)

      中運(yùn)動(dòng),求粒子的能級(jí)和對(duì)應(yīng)的波函數(shù)。

      解:無(wú)關(guān),是定態(tài)問題。其定態(tài)S—方程

      在各區(qū)域的具體形式為

      Ⅰ:①

      Ⅱ:②

      Ⅲ:③

      由于(1)、(3)方程中,由于,要等式成立,必須

      即粒子不能運(yùn)動(dòng)到勢(shì)阱以外的地方去。

      方程(2)可變?yōu)?/p>

      令,得

      其解為

      根據(jù)波函數(shù)的標(biāo)準(zhǔn)條件確定系數(shù)A,B,由連續(xù)性條件,得

      由歸一化條件

      可見E是量子化的。

      對(duì)應(yīng)于的歸一化的定態(tài)波函數(shù)為

      #

      2.4.證明(2.6-14)式中的歸一化常數(shù)是

      證:

      (2.6-14)

      由歸一化,得

      ∴歸一化常數(shù)

      #

      2.5

      求一維諧振子處在激發(fā)態(tài)時(shí)幾率最大的位置。

      解:

      令,得

      由的表達(dá)式可知,時(shí)。顯然不是最大幾率的位置。

      可見是所求幾率最大的位置。

      #

      2.6

      在一維勢(shì)場(chǎng)中運(yùn)動(dòng)的粒子,勢(shì)能對(duì)原點(diǎn)對(duì)稱:,證明粒子的定態(tài)波函數(shù)具有確定的宇稱。

      證:在一維勢(shì)場(chǎng)中運(yùn)動(dòng)的粒子的定態(tài)S-方程為

      將式中的代換,得

      利用,得

      比較①、③式可知,都是描寫在同一勢(shì)場(chǎng)作用下的粒子狀態(tài)的波函數(shù)。由于它們描寫的是同一個(gè)狀態(tài),因此之間只能相差一個(gè)常數(shù)。方程①、③可相互進(jìn)行空間反演

      而得其對(duì)方,由①經(jīng)反演,可得③,④

      由③再經(jīng)反演,可得①,反演步驟與上完全相同,即是完全等價(jià)的。

      ④乘

      ⑤,得

      可見,當(dāng)時(shí),具有偶宇稱,當(dāng)時(shí),具有奇宇稱,當(dāng)勢(shì)場(chǎng)滿足時(shí),粒子的定態(tài)波函數(shù)具有確定的宇稱。#

      2.7

      一粒子在一維勢(shì)阱中

      運(yùn)動(dòng),求束縛態(tài)()的能級(jí)所滿足的方程。

      解法一:粒子所滿足的S-方程為

      按勢(shì)能的形式分區(qū)域的具體形式為

      Ⅰ:

      Ⅱ:

      Ⅲ:

      整理后,得

      Ⅰ:

      Ⅱ:.⑤

      Ⅲ:

      Ⅰ:

      Ⅱ:.⑧

      Ⅲ:

      各方程的解為

      由波函數(shù)的有限性,有

      因此

      由波函數(shù)的連續(xù)性,有

      整理(10)、(11)、(12)、(13)式,并合并成方程組,得

      解此方程即可得出B、C、D、F,進(jìn)而得出波函數(shù)的具體形式,要方程組有非零解,必須

      為所求束縛態(tài)能級(jí)所滿足的方程。#

      解法二:接(13)式

      #

      解法三:

      (11)-(13)

      (10)+(12)

      (11)+(13)

      (12)-(10)

      (b)

      k

      a

      ctgk

      k)

      ()

      ()

      ()

      (1

      =

      T

      +

      合并:

      利用

      #

      解法四:(最簡(jiǎn)方法-平移坐標(biāo)軸法)

      Ⅰ:

      (χ≤0)

      Ⅱ:

      (0<χ<2)

      Ⅲ:

      (χ≥2)

      束縛態(tài)<<

      因此

      由波函數(shù)的連續(xù)性,有

      (7)代入(6)

      利用(4)、(5),得

      #

      2.8分子間的范德瓦耳斯力所產(chǎn)生的勢(shì)能可以近似表示為

      求束縛態(tài)的能級(jí)所滿足的方程。

      解:勢(shì)能曲線如圖示,分成四個(gè)區(qū)域求解。

      定態(tài)S-方程為

      對(duì)各區(qū)域的具體形式為

      Ⅰ:

      Ⅱ:

      Ⅲ:

      Ⅳ:

      對(duì)于區(qū)域Ⅰ,粒子不可能到達(dá)此區(qū)域,故

      .①

      對(duì)于束縛態(tài)來說,有

      各方程的解分別為

      由波函數(shù)的有限性,得

      由波函數(shù)及其一階導(dǎo)數(shù)的連續(xù),得

      由⑦、⑧,得

      (11)

      ⑨、⑩得

      (12)

      令,則①式變?yōu)?/p>

      聯(lián)立(12)、(13)得,要此方程組有非零解,必須

      把代入即得

      此即為所要求的束縛態(tài)能級(jí)所滿足的方程。

      #

      附:從方程⑩之后也可以直接用行列式求解。見附頁(yè)。

      此即為所求方程。

      #

      補(bǔ)充練習(xí)題一

      1、設(shè),求A

      =?

      解:由歸一化條件,有

      利用

      #

      2、求基態(tài)微觀線性諧振子在經(jīng)典界限外被發(fā)現(xiàn)的幾率。

      解:基態(tài)能量為

      設(shè)基態(tài)的經(jīng)典界限的位置為,則有

      在界限外發(fā)現(xiàn)振子的幾率為)

      (2

      0

      0

      0

      x

      a

      x

      a

      x

      e

      dx

      e

      dx

      e

      a

      a

      a

      p

      a

      y

      p

      a

      p

      a

      w

      =

      +

      =

      ò

      ò

      式中為正態(tài)分布函數(shù)

      當(dāng)。查表得

      ∴在經(jīng)典極限外發(fā)現(xiàn)振子的幾率為0.16。

      #

      3、試證明是線性諧振子的波函數(shù),并求此波函數(shù)對(duì)應(yīng)的能量。

      證:線性諧振子的S-方程為

      把代入上式,有

      把代入①式左邊,得

      當(dāng)時(shí),左邊

      =

      右邊。

      n

      =

      3,是線性諧振子的波函數(shù),其對(duì)應(yīng)的能量為。

      第三章

      量子力學(xué)中的力學(xué)量

      3.1

      一維諧振子處在基態(tài),求:

      (1)勢(shì)能的平均值;

      (2)動(dòng)能的平均值;

      (3)動(dòng)量的幾率分布函數(shù)。

      解:(1)

      (2)

      (3)

      動(dòng)量幾率分布函數(shù)為

      #

      3.2.氫原子處在基態(tài),求:

      (1)r的平均值;

      (2)勢(shì)能的平均值;

      (3)最可幾半徑;

      (4)動(dòng)能的平均值;

      (5)動(dòng)量的幾率分布函數(shù)。

      解:(1)

      (3)電子出現(xiàn)在r+dr球殼內(nèi)出現(xiàn)的幾率為

      當(dāng)為幾率最小位置

      是最可幾半徑。

      (4)

      (5)

      動(dòng)量幾率分布函數(shù)

      #

      3.3

      證明氫原子中電子運(yùn)動(dòng)所產(chǎn)生的電流密度在球極坐標(biāo)中的分量是

      證:電子的電流密度為

      在球極坐標(biāo)中為

      中的和部分是實(shí)數(shù)。

      可見,#

      3.4

      由上題可知,氫原子中的電流可以看作是由許多圓周電流組成的。

      (1)求一圓周電流的磁矩。

      (2)證明氫原子磁矩為

      原子磁矩與角動(dòng)量之比為

      這個(gè)比值稱為回轉(zhuǎn)磁比率。

      解:(1)

      一圓周電流的磁矩為

      (為圓周電流,為圓周所圍面積)

      (2)氫原子的磁矩為

      在單位制中

      原子磁矩與角動(dòng)量之比為

      #

      3.5

      一剛性轉(zhuǎn)子轉(zhuǎn)動(dòng)慣量為I,它的能量的經(jīng)典表示式是,L為角動(dòng)量,求與此對(duì)應(yīng)的量子體系在下列情況下的定態(tài)能量及波函數(shù):

      (1)

      轉(zhuǎn)子繞一固定軸轉(zhuǎn)動(dòng):

      (2)

      轉(zhuǎn)子繞一固定點(diǎn)轉(zhuǎn)動(dòng):

      解:(1)設(shè)該固定軸沿Z軸方向,則有

      哈米頓算符

      其本征方程為

      (無(wú)關(guān),屬定態(tài)問題)

      令,則

      取其解為

      (可正可負(fù)可為零)

      由波函數(shù)的單值性,應(yīng)有

      ∴m=

      0,±1,±2,…

      轉(zhuǎn)子的定態(tài)能量為

      (m=

      0,±1,±2,…)

      可見能量只能取一系列分立值,構(gòu)成分立譜。

      定態(tài)波函數(shù)為

      A為歸一化常數(shù),由歸一化條件

      轉(zhuǎn)子的歸一化波函數(shù)為

      綜上所述,除m=0外,能級(jí)是二重簡(jiǎn)并的。

      (2)取固定點(diǎn)為坐標(biāo)原點(diǎn),則轉(zhuǎn)子的哈米頓算符為

      無(wú)關(guān),屬定態(tài)問題,其本征方程為

      (式中設(shè)為的本征函數(shù),為其本征值)

      令,則有

      此即為角動(dòng)量的本征方程,其本征值為

      其波函數(shù)為球諧函數(shù)

      轉(zhuǎn)子的定態(tài)能量為

      可見,能量是分立的,且是重簡(jiǎn)并的。

      #

      3.6

      設(shè)t=0時(shí),粒子的狀態(tài)為

      求此時(shí)粒子的平均動(dòng)量和平均動(dòng)能。

      解:

      可見,動(dòng)量的可能值為

      動(dòng)能的可能值為

      對(duì)應(yīng)的幾率應(yīng)為

      上述的A為歸一化常數(shù),可由歸一化條件,得

      動(dòng)量的平均值為

      #

      3.7

      一維運(yùn)動(dòng)粒子的狀態(tài)是

      其中,求:

      (1)粒子動(dòng)量的幾率分布函數(shù);

      (2)粒子的平均動(dòng)量。

      解:(1)先求歸一化常數(shù),由

      動(dòng)量幾率分布函數(shù)為

      (2)

      #

      3.8.在一維無(wú)限深勢(shì)阱中運(yùn)動(dòng)的粒子,勢(shì)阱的寬度為,如果粒子的狀態(tài)由波函數(shù)

      描寫,A為歸一化常數(shù),求粒子的幾率分布和能量的平均值。

      解:由波函數(shù)的形式可知一維無(wú)限深勢(shì)阱的分布如圖示。粒子能量的本征函數(shù)和本征值為

      動(dòng)量的幾率分布函數(shù)為

      先把歸一化,由歸一化條件,∴

      3.9.設(shè)氫原子處于狀態(tài)

      求氫原子能量、角動(dòng)量平方及角動(dòng)量Z分量的可能值,這些可能值出現(xiàn)的幾率和這些力學(xué)量的平均值。

      解:在此能量中,氫原子能量有確定值

      角動(dòng)量平方有確定值為

      角動(dòng)量Z分量的可能值為

      其相應(yīng)的幾率分別為,其平均值為

      3.10一粒子在硬壁球形空腔中運(yùn)動(dòng),勢(shì)能為

      求粒子的能級(jí)和定態(tài)函數(shù)。

      解:據(jù)題意,在的區(qū)域,所以粒子不可能運(yùn)動(dòng)到這一區(qū)域,即在這區(qū)域粒子的波函數(shù)

      ()

      由于在的區(qū)域內(nèi)。只求角動(dòng)量為零的情況,即,這時(shí)在各個(gè)方向發(fā)現(xiàn)粒子的幾率是相同的。即粒子的幾率分布與角度無(wú)關(guān),是各向同性的,因此,粒子的波函數(shù)只與有關(guān),而與無(wú)關(guān)。設(shè)為,則粒子的能量的本征方程為

      令,得

      其通解為

      波函數(shù)的有限性條件知,有限,則

      A

      =

      0

      由波函數(shù)的連續(xù)性條件,有

      其中B為歸一化,由歸一化條件得

      歸一化的波函數(shù)

      #

      3.11.求第3.6題中粒子位置和動(dòng)量的測(cè)不準(zhǔn)關(guān)系

      解:

      3.12

      粒子處于狀態(tài)

      式中為常量。當(dāng)粒子的動(dòng)量平均值,并計(jì)算測(cè)不準(zhǔn)關(guān)系

      解:①先把歸一化,由歸一化條件,得

      /

      是歸一化的②

      動(dòng)量平均值為

      (奇被積函數(shù))

      #

      3.13利用測(cè)不準(zhǔn)關(guān)系估計(jì)氫原子的基態(tài)能量。

      解:設(shè)氫原子基態(tài)的最概然半徑為R,則原子半徑的不確定范圍可近似取為

      由測(cè)不準(zhǔn)關(guān)系

      對(duì)于氫原子,基態(tài)波函數(shù)為偶宇稱,而動(dòng)量算符為奇宇稱,所以

      又有

      所以

      可近似取

      能量平均值為

      作為數(shù)量級(jí)估算可近似取

      則有

      基態(tài)能量應(yīng)取的極小值,由

      代入,得到基態(tài)能量為

      補(bǔ)充練習(xí)題二

      1.試以基態(tài)氫原子為例證明:的本征函數(shù),而是的本征函數(shù)。

      可見,可見,是的本征函數(shù)。

      2.證明:的氫原子中的電子,在的方向上被發(fā)現(xiàn)的幾率最大。

      解:

      ∴的電子,其

      當(dāng)時(shí)

      為最大值。即在方向發(fā)現(xiàn)電子的幾率最大。

      在其它方向發(fā)現(xiàn)電子的幾率密度均在~之間。

      3.試證明:處于1s,2p和3d態(tài)的氫原子的電子在離原子核的距離分別為的球殼內(nèi)被發(fā)現(xiàn)的幾率最大(為第一玻爾軌道半徑)。

      證:①對(duì)1s態(tài),令

      易見,當(dāng)不是最大值。

      為最大值,所以處于1s態(tài)的電子在處被發(fā)現(xiàn)的幾率最大。

      ②對(duì)2p態(tài)的電子

      易見,當(dāng)為最小值。

      為幾率最大位置,即在的球殼內(nèi)發(fā)現(xiàn)球態(tài)的電子的幾率最大。

      ③對(duì)于3d態(tài)的電子

      易見,當(dāng)為幾率最小位置。

      為幾率最大位置,即在的球殼內(nèi)發(fā)現(xiàn)球態(tài)的電子的幾率最大。

      4.當(dāng)無(wú)磁場(chǎng)時(shí),在金屬中的電子的勢(shì)能可近似視為

      其中,求電子在均勻場(chǎng)外電場(chǎng)作用下穿過金屬表面的透射系數(shù)。

      解:設(shè)電場(chǎng)強(qiáng)度為,方向沿χ軸負(fù)向,則總勢(shì)能為,勢(shì)能曲線如圖所示。則透射系數(shù)為

      式中為電子能量。,由下式確定

      令,則有

      ∴透射系數(shù)

      5.指出下列算符哪個(gè)是線性的,說明其理由。

      ①;

      ②;

      解:①是線性算符

      ②不是線性算符

      ③是線性算符

      6.指出下列算符哪個(gè)是厄米算符,說明其理由。

      7、下列函數(shù)哪些是算符的本征函數(shù),其本征值是什么?

      ①,②,③,④,⑤

      解:①

      不是的本征函數(shù)。

      不是的本征函數(shù),其對(duì)應(yīng)的本征值為1。

      可見,是的本征函數(shù),其對(duì)應(yīng)的本征值為-1。

      是的本征函數(shù),其對(duì)應(yīng)的本征值為-1。

      是的本征函數(shù),其對(duì)應(yīng)的本征值為-1。

      8、試求算符的本征函數(shù)。

      解:的本征方程為

      (的本征值)

      9、如果把坐標(biāo)原點(diǎn)取在一維無(wú)限深勢(shì)阱的中心,求阱中粒子的波函數(shù)和能級(jí)的表達(dá)式。

      解:

      方程(分區(qū)域):

      Ⅰ:

      Ⅲ:

      Ⅱ:

      標(biāo)準(zhǔn)條件:

      取,即

      粒子的波函數(shù)為

      粒子的能級(jí)為

      由歸一化條件,得

      粒子的歸一化波函數(shù)為

      10、證明:處于1s、2p和3d態(tài)的氫原子中的電子,當(dāng)它處于距原子核的距離分別為的球殼處的幾率最(為第一玻爾軌道半徑)。

      證:

      令,則得

      ∴為幾率最小處。

      ∴為幾率最大處。

      令,則得

      為最大幾率位置。

      當(dāng)

      時(shí),∴為幾率最小位置。

      令,得

      同理可知

      為幾率最小處。

      為幾率最大處。

      11、求一維諧振子處在第一激發(fā)態(tài)時(shí)幾率最大的位置。

      解:

      令,得,∴

      為幾率最小處。,∴

      為幾率最大處。

      6.設(shè)氫原子處在的態(tài)(為第一玻爾軌道半徑),求

      ①的平均值;

      ②勢(shì)能的平均值。

      解:①

      12、粒子在勢(shì)能為的場(chǎng)中運(yùn)動(dòng)。證明對(duì)于能量的狀態(tài),其能量由下式?jīng)Q定:

      (其中)

      證:方程

      Ⅰ:

      Ⅱ:

      Ⅲ:

      則得

      Ⅰ:

      Ⅱ:

      Ⅲ:

      其通解為

      利用標(biāo)準(zhǔn)條件,由有限性知

      由連續(xù)性知

      由①、②,得

      由③、④,得

      把⑤、⑥代入,得

      整理,得

      由,得

      ###

      13、設(shè)波函數(shù),求

      解:

      14、說明:如果算符和都是厄米的,那么

      (+)也是厄米的證:

      +也是厄米的。

      15、問下列算符是否是厄米算符:

      解:①

      因?yàn)?/p>

      不是厄米算符。

      是厄米算符。

      ##

      16、如果算符滿足關(guān)系式,求證

      證:

      17、求

      解:

      =

      018、解:

      =

      0

      第四章

      態(tài)和力學(xué)量的表象

      4.1.求在動(dòng)量表象中角動(dòng)量的矩陣元和的矩陣元。

      解:

      #

      4.2

      求能量表象中,一維無(wú)限深勢(shì)阱的坐標(biāo)與動(dòng)量的矩陣元。

      解:基矢:

      能量:

      對(duì)角元:

      當(dāng)時(shí),#

      4.3

      求在動(dòng)量表象中線性諧振子的能量本征函數(shù)。

      解:定態(tài)薛定諤方程為

      兩邊乘以,得

      跟課本P.39(2.7-4)式比較可知,線性諧振子的能量本征值和本征函數(shù)為

      式中為歸一化因子,即

      #

      4.4.求線性諧振子哈密頓量在動(dòng)量表象中的矩陣元。

      解:

      #

      4.5

      設(shè)已知在的共同表象中,算符的矩陣分別為

      求它們的本征值和歸一化的本征函數(shù)。最后將矩陣對(duì)角化。

      解:的久期方程為

      ∴的本征值為的本征方程

      其中設(shè)為的本征函數(shù)共同表象中的矩陣

      當(dāng)時(shí),有

      由歸一化條件

      對(duì)應(yīng)于的本征值0。

      當(dāng)時(shí),有

      由歸一化條件

      ∴歸一化的對(duì)應(yīng)于的本征值

      當(dāng)時(shí),有

      由歸一化條件

      ∴歸一化的對(duì)應(yīng)于的本征值

      由以上結(jié)果可知,從的共同表象變到表象的變換矩陣為

      ∴對(duì)角化的矩陣為

      按照與上同樣的方法可得的本征值為的歸一化的本征函數(shù)為

      從的共同表象變到表象的變換矩陣為

      利用S可使對(duì)角化

      #

      4.6求連續(xù)性方程的矩陣表示

      解:連續(xù)性方程為

      寫成矩陣形式為

      第五章

      微擾理論

      5.1

      如果類氫原子的核不是點(diǎn)電荷,而是半徑為、電荷均勻分布的小球,計(jì)算這種效應(yīng)對(duì)類氫原子基態(tài)能量的一級(jí)修正。

      解:這種分布只對(duì)的區(qū)域有影響,對(duì)的區(qū)域無(wú)影響。據(jù)題意知

      其中是不考慮這種效應(yīng)的勢(shì)能分布,即

      為考慮這種效應(yīng)后的勢(shì)能分布,在區(qū)域,在區(qū)域,可由下式得出,由于很小,所以,可視為一種微擾,由它引起的一級(jí)修正為(基態(tài))

      ∴,故。

      #

      5.2

      轉(zhuǎn)動(dòng)慣量為I、電偶極矩為的空間轉(zhuǎn)子處在均勻電場(chǎng)在中,如果電場(chǎng)較小,用微擾法求轉(zhuǎn)子基態(tài)能量的二級(jí)修正。

      解:取的正方向?yàn)閆軸正方向建立坐標(biāo)系,則轉(zhuǎn)子的哈米頓算符為

      取,則

      由于電場(chǎng)較小,又把視為微擾,用微擾法求得此問題。的本征值為

      本征函數(shù)為的基態(tài)能量為,為非簡(jiǎn)并情況。根據(jù)定態(tài)非簡(jiǎn)并微擾論可知

      #

      5.3

      設(shè)一體系未受微擾作用時(shí)有兩個(gè)能級(jí):,現(xiàn)在受到微擾的作用,微擾矩陣元為;都是實(shí)數(shù)。用微擾公式求能量至二級(jí)修正值。

      解:由微擾公式得

      能量的二級(jí)修正值為

      #

      5.4設(shè)在時(shí),氫原子處于基態(tài),以后受到單色光的照射而電離。設(shè)單色光的電場(chǎng)可以近似地表示為,及均為零;電離電子的波函數(shù)近似地以平面波表示。求這單色光的最小頻率和在時(shí)刻躍遷到電離態(tài)的幾率。

      解:①當(dāng)電離后的電子動(dòng)能為零時(shí),這時(shí)對(duì)應(yīng)的單色光的頻率最小,其值為

      ②時(shí),氫原子處于基態(tài),其波函數(shù)為

      在時(shí)刻,微擾

      其中

      在時(shí)刻躍遷到電離態(tài)的幾率為

      對(duì)于吸收躍遷情況,上式起主要作用的第二項(xiàng),故不考慮第一項(xiàng),O

      θ

      α

      x

      y

      z()

      其中

      取電子電離后的動(dòng)量方向?yàn)閆方向,取、所在平面為面,則有

      #

      5.5基態(tài)氫原子處于平行板電場(chǎng)中,若電場(chǎng)是均勻的且隨時(shí)間按指數(shù)下降,即

      求經(jīng)過長(zhǎng)時(shí)間后氫原子處在2p態(tài)的幾率。

      解:對(duì)于2p態(tài),可取三值,其相應(yīng)的狀態(tài)為

      氫原子處在2p態(tài)的幾率也就是從躍遷到的幾率之和。

      (取方向?yàn)閆軸方向)

      =

      0

      =

      0

      由上述結(jié)果可知,∴

      當(dāng)時(shí),其中

      #

      5.6計(jì)算氫原子由第一激發(fā)態(tài)到基態(tài)的自發(fā)發(fā)射幾率。

      解:

      由選擇定則,知是禁戒的故只需計(jì)算的幾率

      2p有三個(gè)狀態(tài),即

      (1)先計(jì)算z的矩陣元

      (2)計(jì)算x的矩陣元

      (3)計(jì)算的矩陣元

      (4)計(jì)算

      #

      5.7

      計(jì)算氫原子由2p態(tài)躍遷到1s態(tài)時(shí)所發(fā)出的光譜線強(qiáng)度。

      解:

      若,則

      #

      5.8求線性諧振子偶極躍遷的選擇定則

      解:

      時(shí),即選擇定則為

      #

      補(bǔ)充練習(xí)三

      1、一維無(wú)限深勢(shì)阱中的粒子受到微擾

      作用,試求基態(tài)能級(jí)的一級(jí)修正。

      解:基態(tài)波函數(shù)(零級(jí)近似)為

      ∴能量一級(jí)修正為

      2、具有電荷為的離子,在其平衡位置附近作一維簡(jiǎn)諧振動(dòng),在光的照射下發(fā)生躍遷。設(shè)入射光的能量為。其波長(zhǎng)較長(zhǎng),求:

      原來處于基態(tài)的離子,單位時(shí)間內(nèi)躍遷到第一激發(fā)態(tài)的幾率。

      ②討論躍遷的選擇定則。

      (提示:利用積分關(guān)系

      答:①

      ②僅當(dāng),所以諧振子的偶極躍遷的選擇定則是)

      解:①

      (對(duì)于一維線性諧振子~)

      其中

      一維線性諧振子的波函數(shù)為

      躍遷幾率,當(dāng)時(shí)的躍遷為禁戒躍遷。

      可見,所討論的選擇定則為。

      #

      3、電荷e的諧振子,在時(shí)處于基態(tài),時(shí)處于弱電場(chǎng)之中(為常數(shù)),試求諧振子處于第一激發(fā)態(tài)的幾率。

      解:取電場(chǎng)方向?yàn)檩S正方向,則有

      當(dāng)經(jīng)過很長(zhǎng)時(shí)間以后,即當(dāng)時(shí)。

      實(shí)際上在以后即可用上述結(jié)果。

      #

      第七章

      自旋與全同粒子

      7.1.證明:

      證:由對(duì)易關(guān)系

      反對(duì)易關(guān)系,得

      上式兩邊乘,得

      7.2

      求在自旋態(tài)中,和的測(cè)不準(zhǔn)關(guān)系:

      解:在表象中、、的矩陣表示分別為

      在態(tài)中

      討論:由、的對(duì)易關(guān)系

      [,]

      要求

      在態(tài)中,∴

      可見①式符合上式的要求。

      7.3.求的本征值和所屬的本征函數(shù)。

      解:的久期方程為

      ∴的本征值為。

      設(shè)對(duì)應(yīng)于本征值的本征函數(shù)為

      由本征方程,得

      由歸一化條件,得

      對(duì)應(yīng)于本征值的本征函數(shù)為

      設(shè)對(duì)應(yīng)于本征值的本征函數(shù)為

      由本征方程

      由歸一化條件,得

      對(duì)應(yīng)于本征值的本征函數(shù)為

      同理可求得的本征值為。其相應(yīng)的本征函數(shù)分別為

      7.4

      求自旋角動(dòng)量方向的投影

      本征值和所屬的本征函數(shù)。

      在這些本征態(tài)中,測(cè)量有哪些可能值?這些可能值各以多大的幾率出現(xiàn)?的平均值是多少?

      解:在表象,的矩陣元為

      其相應(yīng)的久期方程為

      所以的本征值為。

      設(shè)對(duì)應(yīng)于的本征函數(shù)的矩陣表示為,則

      由歸一化條件,得

      可見,的可能值為

      相應(yīng)的幾率為

      同理可求得

      對(duì)應(yīng)于的本征函數(shù)為

      在此態(tài)中,的可能值為

      相應(yīng)的幾率為

      7.5設(shè)氫的狀態(tài)是

      ①求軌道角動(dòng)量z分量和自旋角動(dòng)量z分量的平均值;

      ②求總磁矩的z分量的平均值(用玻爾磁矩子表示)。

      解:ψ可改寫成從ψ的表達(dá)式中可看出的可能值為

      0

      相應(yīng)的幾率為的可能值為

      相應(yīng)的幾率為

      7.6

      一體系由三個(gè)全同的玻色子組成,玻色子之間無(wú)相互作用。玻色子只有兩個(gè)可能的單粒子態(tài)。問體系可能的狀態(tài)有幾個(gè)?它們的波函數(shù)怎樣用單粒子波函數(shù)構(gòu)成?

      解:體系可能的狀態(tài)有4個(gè)。設(shè)兩個(gè)單粒子態(tài)為,則體系可能的狀態(tài)為

      7.7

      證明和組成的正交歸一系。

      解:

      =0

      同理可證其它的正交歸一關(guān)系。

      7.8

      設(shè)兩電子在彈性輳力場(chǎng)中運(yùn)動(dòng),每個(gè)電子的勢(shì)能是。如果電子之間的庫(kù)侖能和相比可以忽略,求當(dāng)一個(gè)電子處在基態(tài),另一電子處于沿x方向運(yùn)動(dòng)的第一激發(fā)態(tài)時(shí),兩電子組成體系的波函數(shù)。

      解:電子波函數(shù)的空間部分滿足定態(tài)S-方程

      考慮到,令

      其中,對(duì)于基態(tài),對(duì)于沿χ方向的第一激發(fā)態(tài),兩電子的空間波函數(shù)能夠組成一個(gè)對(duì)稱波函數(shù)和一個(gè)反對(duì)稱波函數(shù),其形式為

      而兩電子的自旋波函數(shù)可組成三個(gè)對(duì)稱態(tài)和一個(gè)反對(duì)稱態(tài),即

      綜合兩方面,兩電子組成體系的波函數(shù)應(yīng)是反對(duì)稱波函數(shù),即

      獨(dú)態(tài):

      三重態(tài):

      主要參考書:

      [1]

      周世勛,《量子力學(xué)教程》,高教出版社,1979

      [2]

      張宏寶編

      量子力學(xué)教程學(xué)習(xí)輔導(dǎo)書,高等教育出版社2004.2

      第五篇:C語(yǔ)言程序設(shè)計(jì)教程 課后習(xí)題參考答案

      《C語(yǔ)言程序設(shè)計(jì)教程》

      課后習(xí)題參考答案

      習(xí)題1 1.(1)編譯、鏈接

      .exe(2)函數(shù)

      主函數(shù)(或main函數(shù))(3)編輯

      編譯

      鏈接 2.(1)-(5):DDBBC(6)-(10):ABBBC 3.(1)答:C語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活;C語(yǔ)言是高級(jí)語(yǔ)言,同時(shí)具備了低級(jí)語(yǔ)言的特征;C語(yǔ)言是結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,具有結(jié)構(gòu)化的程序控制語(yǔ)句;C語(yǔ)言有各種各樣的數(shù)據(jù)類型;C語(yǔ)言可移植性好;生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。

      (2)編輯、編譯、鏈接、執(zhí)行

      (3)一個(gè)C程序由一或多個(gè)函數(shù)組成,一函數(shù)若干條語(yǔ)句構(gòu)成,每條語(yǔ)句的末尾必須以分號(hào)結(jié)束。

      (4)標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等 4.從鍵盤輸入一個(gè)雙精度小數(shù),打印出它的余弦值。#include #include main(){ double x;scanf(“%lf”, &x);printf(“%lfn”, cos(x));}

      第2章 1.(1)BDE、ACFG(2)D(3)C(4)C

      2.(1)錯(cuò)(2)錯(cuò)(3)錯(cuò)(4)對(duì)(5)錯(cuò) 3.(1)a=3,b=-27(2)a=11,b=6,c=6(3)3(4)1 0 1 0 1 1 0(5)-9 9 8(6)1)20 2)8 3)70 4)0 5)0 6)0 4.(1)

      #include main(){ double r, h ,v;r = 2.5;h = 3.5;v = 3.14*r*r*h;printf(“v=%lfn”, v);}(2)#include main(){ char ch;ch = getchar();printf(“%cn”, ch + 32);}(3)#include main(){ printf(“

      *n”);printf(“

      ***n”);printf(“ *****n”);printf(“*******n”);}(4)#include main(){ double x;scanf(“%lf”, &x);printf(“%d , %lfn”,(int)x, x –(int)x);}(5)#include main(){ double a=3, b=5;double result =(-2 * a +(4*a – b)/(2*a + b))/((a32);}

      第4章 1.(1)-(5):CAACA 2.(1)BBB(2)AAABBBCCC(3)end(4)d=20(5)s=2,t=3(6)first

      third(7)y=0 y=5 y=10 y=5 3.(1)y=?A? && ch<=?Z?

      ch>=?a?&&ch<=?z?

      ch = ch-32(3)x>2&&x<=10

      x>-1&&x<=2(4)t=x;x=y;y=t;4.(1)#include main(){ int x, y , z, t;scanf(“%d%d%d”, &x, &y, &z);

      if(x>y){ t=x;x=y;y=t;} if(x > z){ t = x;x = z;z= t;} if(y > z){ t = y;y= z;z = t;} printf(“%d %d %dn”, x, y ,z);}(2)#include main(){ int score;scanf(“%d”, &score);

      if(score < 0 || score > 100)

      printf(“成績(jī)不合理n”);

      else if(score>=90)

      printf(“優(yōu)秀n”);

      else if(score>=80)

      printf(“良好n”);

      else if(score >= 70)

      printf(“中等n”);

      else if(score >= 60)

      printf(“及格n”);

      else

      printf(“不及格n”);}(3)#include main(){ int n;int g,s,b,q;//各位上的數(shù)值

      scanf(“%d”, &n);

      g = n%10;//個(gè)位

      s = n/10%10;//十位

      b = n/100%10;//百位

      q = n/1000%10;//千位

      if(n < 10)//一位數(shù)

      {

      printf(“%dn”, 1);//位數(shù)

      printf(“%dn”, g);//各位上的數(shù)值

      } else if(n < 100)//兩位數(shù)

      {

      printf(“%dn”, 2);//位數(shù)

      printf(“%d %dn”, g,s);} else if(n < 1000)//三位數(shù)

      {

      printf(“%dn”, 3);//位數(shù)

      printf(“%d %d %dn”, g, s, b);

      } else if(n < 10000)//四位數(shù)

      {

      printf(“%dn”, 4);//位數(shù)

      printf(“%d %d %d %dn”, g, s, b, q);

      } }(4)#include main(){ int n;scanf(“%d”, &n);

      if(n % 3==0 && n%5==0 && n%7==0)

      printf(“能同時(shí)被3、5、7整除n”);

      else if(n%3==0 && n%5==0)

      printf(“能被3和5整除n”);

      else if(n%3==0 && n%7==0)

      printf(“能被3和7整除n”);

      else if(n%5==0 && n%7==0)

      printf(“能被5和7整除n”);

      else if(n%3==0 || n%5==0 || n%7==0){

      if(n%3==0)

      printf(“能被3整除n”);

      else if(n%5==0)

      printf(“能被5整除n”);

      else

      printf(“能被7整除n”);

      } else

      printf(“不能被3、5、7中任一個(gè)數(shù)整除n”);}(5)#include main(){ int

      carType;//車型。1代表夏利;2代表富康;3代表桑塔納

      double xiali = 2.1;//每公里價(jià)格 double fukang = 2.4;double sangtana = 2.7;double distance;//距離

      double totalMoney;//總的收費(fèi)

      printf(“請(qǐng)輸入您乘坐的車型:1代表夏利;2代表富康;3代表桑塔納:”);scanf(“%d”, &carType);printf(“請(qǐng)輸入您乘車的總路程:”);scanf(“%lf”, &distance);if(carType == 1)//夏利

      {

      if(distance < 3)

      totalMoney = 7.0;

      else

      totalMoney = 7 + xiali *(distance – 3);} else if(carType == 2)//富康

      {

      if(distance < 3)

      totalMoney = 8.0;

      else

      totalMoney = 8 + fukang *(distance – 3);} else if(carType == 3)//富康

      {

      if(distance < 3)

      totalMoney = 9.0;

      else

      totalMoney = 9 + sangtana *(distance – 3);}

      printf(“(四舍五入)您的車費(fèi)為:%.0lfn”, totalMoney);}(6)#include main(){ double a, b, c;scanf(“%lf%lf%lf”, &a, &b, &c);

      if(a+b>c && b+c>a && c+a>b){

      if(a==b && b==c)

      printf(“等邊三角形n”);

      else if(a==b || b== c || c==a)

      printf(“等腰三角形n”);

      else

      printf(“一般三角形n”);

      } else

      printf(“不能構(gòu)成三角形n”);}

      第5章

      1.(1)C(2)C(3)K=36(4)C(5)B 2.(1)3次

      (2)x>=1 && x<=10 || x>=200&&x<210(3)e == 0(4)6次(5)10 3.(1)20,10(2)16,0(3)7BAB4BAB1BC(4)ABABABC(5)****** ****** ******

      ****** 4.(1)a!= b

      (2)n / 10(3)scanf(“%d”, &a);

      5.(3)行

      int fac = 1, sum = 0;6.(1)#include main(){ char ch;int alpha=0, space=0, digit=0, other=0;while((ch=getchar())!= ?n?)

      {

      if(ch>=?A?&&ch<=?Z? || ch>=?a?&&ch<=?z?)

      alpha++;

      else if(ch>=?0? && ch<=?9?)

      digit++;

      else if(? ? == ch)

      space++;

      else

      other++;} printf(“%d %d %d %dn”, alpha, digit, space, other);}(2)#include main(){ int m20, m10;for(m20=1;m20<5;m20++){

      for(m10 = 1;m10<10;m10++)

      if(20*m20+10*m10 == 100)

      printf(“%d, %dn”, m20, m10);} }(3)#include main(){ int x, y, z;for(x=0;x<10;x++)

      for(y=0;y<10;y++)

      for(z=0;z<10;z++)

      if(x*100+y*10+z + y*100+z*10+z == 532)

      printf(“%d %d %dn”, x, y, z);}(4)#include main(){ int row, spaceCount,starCount;int n;scanf(“%d”, &n);

      for(row = 1;row <= n;++row){

      for(spaceCount = 1;spaceCount <= n1;++starCount)

      printf(“*”);//打印出某行上的所有星號(hào)

      printf(“n”);//換行

      } //打印下半部分

      for(row=1;row

      for(spaceCount = 1;spaceCount <= row;++ spaceCount)

      printf(“ ”);//打印出某行上星號(hào)前的空格

      for(starCount = 1;starCount <= 2*(n-row)byear;if(nmonth

      age--;else if(nmonth == bmonth && nday>bday)

      age--;return age;}

      (4)

      #include int sum(int n);main(){ int n,s;scanf(“%d”, &n);s = sum(n);printf(“s=%dn”, s);}

      int sum(int n){ int s=0;while(n){

      s += n % 10;

      n /= 10;} return s;}

      (5)

      #include double sumfac(int n);main(){ int n;scanf(“%d”, &n);printf(“%.0lfn”, sumfac(n));} double sumfac(int n){ double f=1.0, s = 0.0;

      int i;for(i=1;i<=n;i++){

      f *= i;

      s += f;} return f;}

      (6)

      #include int gcd(int m , int n);main(){ int m, n;scanf(“%d%d”, &m, &n);printf(“%dn”, gcd(m ,n));} int gcd(int m, int n){ int t,r;if(m < n){ t = m;m= n;n = t;}

      r = m % n;while(r){

      m = n;

      n = r;

      r = m % n;} return n;}

      (7)

      #include int gcd(int m , int n);int lcm(int m, int n);main(){ int m, n;scanf(“%d%d”, &m, &n);printf(“%dn”, lcm(m ,n));} int gcd(int m, int n){ int t,r;if(m < n){ t = m;m= n;n = t;}

      r = m % n;while(r){

      m = n;

      n = r;

      r = m % n;} return n;}

      int lcm(int m, int n){ return m*n/gcd(m,n);}

      (8)

      #include double mypower(double x, int y);main(){ double x;

      int y;scanf(“%lf%d”, &x, &y);printf(“%lfn”, mypower(x,y));} double mypower(double x, int y){ int i;double f=1.0;for(i=1;i<=y;i++)

      f *= x;return f;}

      第7章 1.(1)6(2)5(3)不能

      (4)int a[3][2]={{1,2}, {3,4}, {5,6} };(5)6 9(6)abc G 2.(1)

      #include

      void reverse(int a[ ], int n);

      int main()

      {

      int array[10]={0};

      int i;

      printf(“請(qǐng)輸入10個(gè)整數(shù):”);

      for(i=0;i<10;i++)

      scanf(“%d”, &array[i]);

      reverse(array, 10);//調(diào)用函數(shù)逆序存儲(chǔ)數(shù)組中的數(shù)據(jù)

      printf(“逆序后的元素為:n”);

      for(i=0;i<10;i++)

      printf(“%5d”, array[i]);

      printf(“n”);

      return 0;

      }

      void reverse(int a[ ], int n)

      {

      int i;

      int tmp;

      for(i=0;i

      {

      tmp = a[i];a[i] = a[n-i-1];

      }

      }

      (2)

      #include #include void reverseStr(char str[ ]);main(){ char s[100];gets(s);reverseStr(s);puts(s);}

      void reverseStr(char str[ ]){ int i,j;char t;i=0;j=strlen(str)-1;while(i < j){

      t = str[i];

      a[n-i-1] = tmp;

      str[i] = str[j];

      str[j] = t;

      i++;

      j--;} }

      (3)

      #include int copyTo(int s1[], int n, int s2[ ]);main(){ int s1[10], s2[10];int i,count;for(i=0;i<10;i++)

      scanf(“%d”, &s1[i]);count = copyTo(s1, 10, s2);for(i=0;i

      printf(“%d ”, s2[i]);printf(“n”);}

      int copyTo(int s1[], int n, int s2[ ]){ int i, j=0;for(i=0;i

      if(s1[i] % 2)

      s2[j++] = s1[i];} return j;}

      (4)

      #include void copyToStr(char str1[ ], char str2[ ]);main(){ char s1[100], s2[100];gets(s1);copyToStr(s1, s2);puts(s2);} void copyToStr(char str1[ ], char str2[ ]){ int i=0,j=0;while(str1[i]!= '