问题 问答题

有一根细长而均匀的金属管线样品,横截面如图1所示.此金属材料重约1~2N,长约为30cm,电阻约为10Ω.已知这种金属材料的电阻率为ρ,密度为ρ0.因管内中空部分截面积形状不规则,无法直接测量.请设计一个实验方案,测量中空部分的截面积S0.现有如下材料可选:

A.毫米刻度尺

B.螺旋测微器

C.电流表(600mA,1.0Ω)

D.电流表(3A,0.1Ω)

E.电压表(3V,6kΩ)

F.滑动变阻器(50Ω,2A)

G.蓄电池(6V,0.05Ω)

H.开关一个,导线若干

(1)除待测金属管线外,还应选用的材料有______(只填代号字母)

(2)在图2中把所选一起连成实际测量电路.

(3)实验中要测量的物理量有______计算金属管线内部空间截面积S0的表达式为S0=______.

答案

(1)本实验需要用伏安法测量电阻,根据欧姆定律,有R=

U
I
;同时要结合电阻定律公式R=ρ
L
S
,求解截面积;故要用电压表测量电压,电流表测量电流,刻度尺测量长度,螺旋测微器测量直径,当然,要组合成电路,还需要电源、电键、导线以及滑动变阻器;由于电阻通电电流大会升温,影响电阻率,故要小电流,故电流表选择较小量程,电压表也选择较小量程.

故答案为:ABCEFGH;

(2)由于要求尽可能测出多组有关数值,故滑动变阻器要采用分压式接法,金属丝电阻较小,因此电流表采用外接法,由此可得出实物图如下所示:

(3)根据欧姆定律,有:R=

U
I

根据电阻定律公式有:R=ρ

L
S

由此解得:S=

ρIL
U

因此要用螺旋测微器测横截面边长a,用毫米刻度尺金属管线长度L,电压表示数U,电流表示数I,

因此金属管线内部空间截面积S0的表达式为:S0=a2-

ρIl
U

故答案为:横截面边长a、管线长度l、电压表示数U、电流表示数I,a2-

ρIl
U

问答题

[说明]

对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Book)放到书架(BookShelf)上并依次输出书名。这样就要涉及到遍历整个书架的过程。使用迭代器Iterator实现。图6-1显示了各个类间的关系。以下是JAVA语言实现,能够正确编译通过。

[图6-1]

[Java代码]

//Iterator. java文件

public interface Iterator

public abstract boolean hasNext();

public abstract Object next();

//Aggregate. java文件

public interface Aggregate

public abstract Iterator iterator();

//Book. java

public class Book

//省略具体方法和属性

//BookshelfIterator. java文件

public class Bookshelf工terator (1) Iterator

private BookShelf bookShelf;

private int index;

public BookshelfIterator(BookShelf bookShelf)

this. bookShelf = bookShelf;

this. index = 0;

public boolean hasNext()//判断是否还有下一个元素

if(index < bookShelf. getLength())

return true;

else

return false;

public Object next()f//取得下一个元素

Book book = bookShelf. getBookAt(index);

index++;

return book;

//BookShelf. java

import java. util. Vector;

public class BookShelf

private Vector books;

public BookShelf(int initialsize)

this. books = new Vector(initialsize);

public Book getBookAt(int index)

return(Book)books.get(index);

public int getLength()

return books.size();

public Iterator iterator()

return new BookShelfIterator( (2) );

//Main. java文件

public class Main

public static void main(String args)

BookShelf bookShelf = new BookShelf(4);

//将书籍上架,省略代码

Iterator it = bookShelf. (3) ;

while( (4) )//遍历书架,输出书名

Book book = (Book)it. (5) ;

System.out.printin(" "+book.getName());

(4)处填()。

单项选择题