跑马灯(100分)

  • 主题发起人 主题发起人 zhangyue198312
  • 开始时间 开始时间
Z

zhangyue198312

Unregistered / Unconfirmed
GUEST, unregistred user!
三盏灯,第一盏先亮,后第二盏,再第三盏,一直循环。
 
不断循环以下两句:
n := n + 1;
n := n mod 3;

 
type
Tpmd = (pmdOne, pmdTwo, pmdThree);//如果还有可以再增加
Tpmds = set of Tpmd;
...
var
pmd: Tpmds = [pmdOne]; //定义变量
...
//循环,一般是弄个定时器让它不停地跑
begin
if pmd = [pmdOne] then
begin
pmd := [pmdTwo];
{做其它事情}
end;
if pmd = [pmdTwo] then
begin
pmd := [pmdThree];
{做其它事情}
end;
if pmd = [pmdThree] then
begin
pmd := [pmdOne];
{做其它事情}
end;
end;
 
inc(n);
if n>3 then n:=1;

 
n := 1;
for i := 1 to 3 do
begin
inc(n);
if n=3 then i := 1;
end;
 
用DELPHI 的 DCC32.EXE 编译、运行试试。

program lamp;
{$APPTYPE CONSOLE}
type
tlamp = array[1..3] of string;

var
vlamp : tlamp;
j : integer;

begin
vlamp[1] := '红灯';
vlamp[2] := '黄灯';
vlamp[3] := '绿灯';
j := 0;
while vlamp[1] <> '悲剧,停不下来了' do
begin
j := j mod 3;
j := j+1;
write(vlamp[j]+'->');
end;
end.
 
用循环语句啊,这不是很简单吗?
 
多人接受答案了。
 
后退
顶部