问题 填空题

人类生活离不开金属。

(1)铁是生活中常用的金属。下图是某“取暖片”外包装的图片。该“取暖片”中发热剂主要成分有铁粉、活性炭、氯化钠、水等,其发热是利用铁生锈时会放热 。

①发热剂需接触到空气才会发热,原因是铁要与                  等物质共同作用才会生锈。

②推测发热剂成分中氯化钠的作用是                     

(2)应用金属活动性顺序能帮助我们进一步学习金属性质。

已知下列各组物质间均能发生置换反应。                                                                 

A.Fe 和CuSO4溶液     B.Mg和MnSO4溶液   C.Mn和FeSO4溶液

①写出Fe 和CuSO4溶液反应的化学方程式                             

②Mn、Fe、Mg 、Cu四种金属的活动性由强到弱的顺序                            

答案

(1)①水、氧气 ②加速铁粉生锈,更快地放出热量                               

(2) ①Fe+ CuSO4=== Fe SO4+ Cu    ②Mg  Mn  Fe  Cu

(1)①发热剂需接触到空气才会发热,原因是铁要与水、氧气等物质共同作用才会生锈.故答案为:水、氧气.

②发热剂成分中氯化钠的作用是加速铁粉生锈,更快地放出热量.故答案为:加速铁粉生锈,更快地放出热量.

(2)①铁和硫酸铜反应的化学方程式为:Fe+CuSO4═FeSO4+Cu.

②在金属活动性顺序中,排在前面的金属能够把排在后面的金属从它的盐溶液中置换出来,由下列各组物质间均能发生置换反应可知,Mn、Fe、Mg、Cu四种金属的活动性由强到弱的顺序为:Mg、Mn、Fe、Cu.

故答案为:Mg、Mn、Fe、Cu.

问答题

下面是一个Applet程序,其功能是输入3个双精度浮点数:a,b,c,构成一个一元二次方程,a*x*x+b*x+c=0,其判别式 d=b*b-4*a*c,若d为负数则输出“没有实根”,否则打印出2个实根。要求,有3个输入框,输入a,b,c,一个按钮,点击实现求根过程,一个不可编辑的文本区,用作输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:


import java.io.*;
import java.awt.*;
import java.awt.event.*;
import.java.applet.Applet;
/*
<applet code="ex21_3.class" width=800 height=400>
</applet>
*/
public class ex21_3 extends Applet implements ActionListener
Panel pane=new Panel();
Label 11 = new Label("a:");
TextField tf1 = new TextField(5);
Label 12 = new Label("b:");
TextField tf2 = new TextField(5);
Label 13 = new Label("c:");
TextField tf3 = new TextField(5);
Button btn = new Button("OK");
Label 14=new Label("答案:");
TextField tf4=new TextField(20);
ex21_3 obj21_3;
public void init()
pane.setLayout(new FlowLayout(FlowLayout.LEFT, 10,5));
pane.add(11);
pane.add(tf1);
pane.add(12);
pane.add(tf2);
add("North",pane);
Panel p2=new Panel();
p2.setLayout(new FlowLayout(FlowLayout.LEFT,10,5));
p2.add(13);
p2.add(tf3);
p2.add(btn);
btn.addActionListener(this);
add("Center",p2);
Panel p3=new Panel();
p3.setLayout(new FlowLayout(FlowLayout.LEFT,10,5));
p3.add(14);
tf4.setEditable(false);
p3.add(tf4);
add("South",p3);
obj21_3=new ex21_3();

public void doReal(double a1,double a2,double a3,TextField tf)
double d,x1,x2;
d=a1*a1-4.0*a2*a3;
if(d>=0.0)
x1=(-a2+Math.sqrt(d))/(2.0*a1);
x2=(-a2+Math.sqrt(d))/(2.0*a1);
tf.setText("2个实根: x1="+x1+"\nx2="+x2);

else
tf.setText("没有实根! ");


public void actionPerformed(ActionEvent ae)
double a,b,c;
try
a=new Double(tf1.getText()).doubleValue();
b=new Double(tf2.getText()).doubleValue();
c=new Double(tf3.getText()).doubleValue();
obj21_3.doReal(a,b,c,14);
catch(NumberFormatException nfe)
tf4.setText("wrong number!");



ex21_3.htm1
<HTML>
<HEAD>
<TITLE>ex21_3</TITLE>
</HEAD>
<BODY>
<applet code="ex21_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>

问答题