问题 选择题

有一排7只发光的二极管,每只二极管点亮时可发出红光或绿光,若每次恰有3只二极管点亮,且相邻的两只不能同时点亮,根据三只点亮的不同位置,或不同颜色来表示不同的信息,则这排二极管能表示的信息种数共有(  )钟.

A.10

B.48

C.60

D.80

答案

用插空法,由于亮的灯不能相邻,所以先排暗的,则4个暗的周围有5个空,把亮的灯放入空中,有

C35
=10种方法

一灯有红绿两种情况,三灯就有23=8种情况,所以这排二极管能表示的信息种数共有8×10=80种

故选D.

问答题

下面程序是一个计时器,从1000秒开始倒计时,直到为0结束。在界面上有两个按钮,一个可以暂停计时,另一个可以继续已经暂停的计时。请更正题中带下划线的部分。 注意:不改动程序的结构,不得增行或删行 import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Example3_4 extends Applet { public Color color = Color.red; private int num= 1000; public Counter theCounter; private Button stop; private Button start; public void init() { stop = new Button("暂停"); start = new Button ("继续"); theCounter = new Counter(this); stop.addActionListener(new Lst() implements ActionListener{ public void actionPerformed(ActionEvent e) { theCounter.sus(); } }); start.addActionListener(new SuspenListener()); add(start); add(stop); theCounter.start(); } public void paint(Graphics g) { g.setCotor(color); g.drawString(String.valueOf(num),50,50); } public void setInt(int i) { num=i; } class SuspenListener implements ActionListener { public void actionPerformed(ActionEvent e) { theCounter.conti (); } } } public class Counter extends Thread { Example3_4 example; boolean isHold; Counter (Example3_4 ex) { this.example = ex; isHold = false; } public void sus() { isHold = true; } public synchronized void conti() { isHold = false; notify(); } public void run() { for (int i = 1000; i>0; i--) { if (i%2 == 1) example.color = Color.red; else example.color = Color.blue; example.setInt(i); example.repaint(); try { sleep(1000); synchronized { while(isHold) wait ( ); } } catch (InterruptedException ie) {} } } } <HTML> <HEAD> <TITLE>Example3_4</TITLE> </HEAD> <BODY> <applet code="Example3_4.class" width=300 height=400> </applet> </BODY> </HTML>

填空题