| 网站首页 | 学校介绍 | 德育工作 | 家长学校 | 教学教研 | 信息技术 | 书香飘逸 | 资源下载 | 靓图欣赏 | 雁过留声 | 语文 | 
最新公告:     已所不欲,勿施于人,已之所欲,施之于人!  [adminit  2007年4月19日]            生命如流水,只有在他的急流与奔向前去的时候,才美丽,才有意义。 ——张闻天  [旗峰中学  2006年7月8日]            不要让忧愁压在你的心头,也不要让犹豫缠住你的脚步,满天的阴霾终会被风吹散,而晴朗的天空就是你无比辉煌的前程。只有在遭受痛苦经历时,仍然能笑,仍然能乐观的生活的人,才称得起是真正坚强的人。生活是一面镜子,你对它笑,他就对你笑;你对它哭,他也对你哭。  [旗峰中学  2006年7月8日]            勤学如春起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所亏。  [旗峰中学  2005年11月3日]            志不强者智不达,言不信者行不果。  [旗峰中学  2005年11月3日]        
您现在的位置: 旗峰中学校园网 >> 信息技术 >> 信息奥赛 >> Pascal >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
第三届NOC“主题网页设计
第三届NOC“主题网页设计
全国青少年网络文明公约
第十一届青少年信息学联
2005年南海区青少年信息
第二届选拔赛试题
天津市青少年信息学(计算
进制互化问题
八皇后问题程序及注解
基础训练题
更多内容
逻辑判断问题           ★★★
逻辑判断问题在Pascal中的解决方法
作者:未知 文章来源:本站原创 点击数: 更新时间:2004-11-24 18:45:09

【问题】甲乙丙丁戊五个人在运动会上分获百米、二百米、跳高、跳远和铅球冠军,有

        四个人猜测比赛结果:

          A说:乙获铅球冠军,丁获跳高冠军。

          B说:甲获百米冠军,戊获跳远冠军。

          C说:丙获跳远冠军,丁获二百米冠军。

          D说:乙获跳高冠军,戊获铅球冠军。

        其中每个人都只说对一句,说错一句。求五人各获哪项冠军。

【算法】用1,2,3,4,5分别代表百米、二百米、跳高、跳远和铅球5个项目,用a,b,c,d,e

        分别代表五人。如b=3 表示乙获跳高冠军。用多重循环穷举出来。

【答案】甲       

               

 

【参考程序】

       var 
             a,b,c,d,e:byte;
      
begin
           
for a:=1 to 5 do
               
for b:=1 to 5 do
                    if a<>b then 
                       
for c:=1 to 5 do
                           if  (a<>c) and (b<>c then 
                               
for d:=1 to 5 do 
                                      if (a<>d) and (b<>d) and (c<>d) then
                     begin
                                                e:=15-a-b-c-d;
                                                if  (ord(b=5)+ord(d=3)=1) and
                                                    (ord(a=1)+ord(e=4)=1) and
                                                    (ord(c=4)+ord(d=2)=1) and
                                                    (ord(b=3)+ord(e=5)=1)            then
                                                       writeln('a:',a,'b:',b,'c:',c,'d:',d,'e:',e);
                                          end;
     end.

【问题】5家工厂的产品在一次评比中分获1,2,3,4,5,在公布结果前,已知E

厂产品肯定不是第二、三名,五厂代表猜测评比结果,

A厂的代表说:E厂一定能获得第一名。

B厂的代表说:我厂的产品可能获第二名。

C厂的代表说:A厂的产品质量最次。

D厂的代表说:C厂的产品不是最好的。

E厂的代表说:D厂的产品会获得第一名。

公布结果后,证明只有产品获第一名和第二名的两个厂的代表猜对了。

求5个厂产品各获第几名。 【答案】 A B C D E

5 2 1 3 4

【参考程序】

var a,b,c,d,e:byte;

begin

for a:=1 to 5 do

for b:=1 to 5 do

for c:=1 to 5 do

for d:=1 to 5 do begin

e:=15-a-b-c-d;

if (e<>2) and (e<>3) and (a*b*c*d*e=120) then

if(ord(e=1)+ord(b=2)+ord(a=5)+

ord(c<>1)+ ord(d=1)=2) and

(ord((e=1) and ((a=1) or (a=2)))+

ord((b=2) and ((b=1) or (b=2)))+

ord((a=5) and ((c=1) or (c=2)))+

ord((c<>1) and ((d=1) or (d=2)))+

ord((d=1) and ((e=1) or (e=2)))

=2) then

writeln('a:',a,' b:',b,' c:',c,' d:',d,' e:',e);

end;

end.

【问题】有A、B、C、D四名偷窃嫌疑犯,其中一人是小偷,审问中,A说:“我

不是小偷”,B说:“C是小偷”,C说:“小偷肯定是D”,D说:“C

在冤枉人”,有三人说真话,一人说假话,问到底谁是小偷?

【参考程序】

var thief:char;

begin

for thief:='A' to 'D' do

if ord(thief<>'A')+ord(thief='C')+ord(thief='D')+

ord(thief<>'D')=3 then writeln('The Thief is : ',thief);

end.

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |