» 首页 » 电脑_数码 » 编程 » pascal题目:机器人

pascal题目:机器人

机器人在火星上漫步,你作为它的操控者,你所提出的命令,它无论如何也会做到,当然它不会自作主张地到处转。假设机器人一开始时站在(0,0),请问经过一系列的指令后机器人的坐标。指令有四种:N(北),W(西),S(南),E(东)。机器人的坐标范围(-1000<X,Y<1000的整数),命令是一个字符串,长度不超过255。
【输入】:robot.in
一串字符串(表示指令坐标)

【输出】robot.out
目标坐标

【样例】
样例输入
NWSSWWEES
样例输出:
-1 2
问题补充:刚刚的题目是错的。。。对不起!!
机器人在火星上漫步,你作为它的操控者,你所提出的命令,它无论如何也会做到,当然它不会自作主张地到处转。假设机器人一开始时站在(0,0),请问经过一系列的指令后机器人的坐标。指令有四种:N(北),W(西),S(南),E(东)(上北下南左西右东)。每个指令表示移动一个单位坐标。例如:初始坐标为(0,0),输入指令为N,机器人则移动到(0,1)这个位置,再输入指令W,则机器人再移动到(-1,1),如此类推。机器人的坐标范围(-1000<X,Y<1000的整数),命令是一个字符串,长度不超过255。
【输入】:robot.in
一串字符串(表示发出的指令)

【输出】robot.out
目标坐标

【样例】
样例输入
NWSSWWEES
样例输出:
-1 -2


这个程序好像很简单哦,我下面的程序从键盘上输入指令,结果显示在屏幕上。题目要求用文件输入输出部分你自行完善,没问题吧?

{$apptype console}
program exp;
var s:string; x,y,i:integer;
begin
  x:=0;
  y:=0;
  readln(s);
  for i:=1 to length(s) do
  case s[i] of
    'N':y:=y+1;
    'W':x:=x-1;
    'S':y:=y-1;
    'E':x:=x+1;
  end;
  writeln(x,' ',y);
end.

程序在DELPHI下调试通过,运行结果如下:

E:\ygb>dcc32 a.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
a.dpr(16)
17 lines, 0.14 seconds, 11640 bytes code, 1809 bytes data.

E:\ygb>a.exe
NWSSWWEES
-1 -2

这个程序好像很简单哦,我下面的程序从键盘上输入指令,结果显示在屏幕上。题目要求用文件输入输出部分你自行完善,没问题吧?

{$apptype console}
program exp;
var s:string; x,y,i:integer;
begin
  x:=0;
  y:=0;
  readln(s);
  for i:=1 to length(s) do
  case s[i] of
    'N':y:=y+1;
    'W':x:=x-1;
    'S':y:=y-1;
    'E':x:=x+1;
  end;
  writeln(x,' ',y);
end.

程序在DELPHI下调试通过,运行结果如下:

E:\ygb>dcc32 a.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
a.dpr(16)
17 lines, 0.14 seconds, 11640 bytes code, 1809 bytes data.

E:\ygb>a.exe
NWSSWWEES
-1 -2

不太清楚。
直接模拟即可。
{$apptype console}
program exp;
var s:string; x,y,i:integer;
begin
x:=0;
y:=0;
readln(s);
for i:=1 to length(s) do
case s[i] of
'N':y:=y+1;
'W':x:=x-1;
'S':y:=y-1;
'E':x:=x+1;
end;
writeln(x,' ',y);
end.

程序在DELPHI下调试通过,运行结果如下:

E:\ygb>dcc32 a.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
a.dpr(16)
17 lines, 0.14 seconds, 11640 bytes code, 1809 bytes data.

E:\ygb>a.exe
NWSSWWEES
-1 -2=var ch:string;
i:integer;
s:array [(x,y)] of -1000..10000;
begin
readln(ch);
for i:=1 to 255 do
case ch[i] of
'N':s[y]:=s[y]+1;
'S':s[y]:=s[y]-1;
'W':s[x]:=s[x]-1;
'E':s[x]:=s[x]+1;
end;
writeln(s[x],' ',s[y]);
end.
{$apptype console}
program exp;
var s:string; x,y,i:integer;
begin
x:=0;
y:=0;
readln(s);
for i:=1 to length(s) do
case s[i] of
'N':y:=y+1;
'W':x:=x-1;
'S':y:=y-1;
'E':x:=x+1;
end;
writeln(x,' ',y);
end.

程序在DELPHI下调试通过,运行结果如下:

E:\ygb>dcc32 a.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
a.dpr(16)
17 lines, 0.14 seconds, 11640 bytes code, 1809 bytes data.

E:\ygb>a.exe
NWSSWWEES
-1 -2var ch:string;
i:integer;
s:array [(x,y)] of -1000..10000;
begin
readln(ch);
for i:=1 to 255 do
case ch[i] of
'N':s[y]:=s[y]+1;
'S':s[y]:=s[y]-1;
'W':s[x]:=s[x]-1;
'E':s[x]:=s[x]+1;
end;
writeln(s[x],' ',s[y]);
end.
保存一个空白的,然后关掉,把保存的文件用记事本打开,直接复制.格式自己处理.
如果你用的不是Turbo Pascal ,那就把第一行的‘string’改成‘packed array [1.255] of char'。
怎么那么简单……
我们那题比你的难啊
字符串是不限长度
而且行走时是以机器人的角度转
也就是一开始(0,0)向东转了之后
他的方向并不是面对北面
而是面对东面

回答的程序如楼上的
我的题目如下
机器人严格按照指令行走,由于是原始装置,因此只能发出以下4种指令:G:向前直走一个单位;L:左转并向前移动一个单位;R:右转并向前移动一个单位;S:停止移动,并关闭机器人。机器人能不区分指令大小写,但对于其他任何指令机器人不作任何处理。
现在机器人打开机器人接受指令,并把它放置(0,0)坐标;默认方向向北(N),问通过接受一系列指令以后,机器人的坐标在哪里?朝向向哪里?(方向东南西北分别用ESWN表示)
【输入格式】
String(长度不限的字符串)
【输出格式】
(x,y),f(机器人的停止坐标,f表示机器人此时所面对的方向,坐标和方向之间有一空格)
【输入输出样例】
输入:
GRLRRLRRS
输出:
(2,0) W
var ch:string;
i:integer;
s:array [(x,y)] of -1000..10000;
begin
readln(ch);
for i:=1 to 255 do
case ch[i] of
'N':s[y]:=s[y]+1;
'S':s[y]:=s[y]-1;
'W':s[x]:=s[x]-1;
'E':s[x]:=s[x]+1;
end;
writeln(s[x],' ',s[y]);
end.
保存一个空白的,然后关掉,把保存的文件用记事本打开,直接复制.格式自己处理.给我最佳.好吗?
如果你用的不是Turbo Pascal ,那就把第一行的‘string’改成‘packed array [1.255] of char'。
看过《三国演义》的人都知道,诸葛亮曾经造木牛流马,用来运输粮食,以解决运力不足的困难。《三国演义》第一百二十回详细记载了诸葛亮造木牛流马之法。这可以说是人造机器牛、马的先例,比起现代意义上的人造机器人早约1700年。

可是,诸葛亮所造的木牛流马,还不是最早的人造机器人(牛、马)。据《列子·汤问篇》记载,早在西周时期,就有个叫偃师的匠人造出机器人献给周穆王。

《汤问篇》记载说:“周穆王西巡狩,越昆仑,〔不〕至山(不字为衍文)。反还,未及中国,道有献工名偃师。穆王荐之,问曰:‘若有何能?’偃师曰:‘臣唯命所试。然臣己有所造,愿王先观之。’穆王曰:‘日以俱来,吾与若俱观之。’越日偃师谒见王。王荐之,曰:‘若与偕来者何人邪?’对曰:‘臣之所造能倡者。’穆王惊视之,趋步俯仰,信人也。”

与匠人偃师俱来的这个能倡者,就是偃师所造的机器人。从外形和运作行为上来看,这个机器人几乎可以以假乱真。不仅如此,这个机器人还能按照人的意志翩翩起舞,动作灵活多变。《汤问篇》记载曰:“巧夫颔其颐,则歌合律;捧其手,则舞应节。千变万化,惟意所适。”因而周穆王“以为宝人也,与盛姬内御并观之”。

更有甚者,偃师所造的这个机器人还有表情,会勾引挑逗女性。《汤问篇》描绘说:“技将终,倡者瞬其目而招王之左右侍妾。”所谓“瞬其目”,就是用眼色勾引人。

这个机器人竟敢勾引挑逗周穆王身边的众美人,穆王大怒,立欲诛偃师。偃师非常恐惧,立即把机器人拆开了给穆王看,原来“皆傅会革、木、胶、白、黑、丹、青之所为”。就是说,原来这个机器人是用皮革、木料、胶漆以及白土、黑炭、丹沙等颜料做成的。周穆王仔细检看这个机器人,肝胆、心肺、脾脏、肠胃等五脏俱全,而筋骨、支节、皮毛、齿发等全是假的,但是一样不少。周穆王让偃师把这些东西重新组装起来,又像当初看到的一样。周穆王对机器人刚才的表演还不敢完全相信,于是去掉机器人的心,则“口不能言”;去掉机器人的肝,则“目不能视”;去掉机器人的肾,则“足不能步”。这时,周穆王才完全相信亲眼所见,感慨道:“人之巧乃可与造化者同功乎!”

推算周穆王在位的年代,是公元前1003年至公元前949年。据有关文献记载,周穆王西征是在穆王14年,返还是在穆王15年,约公元前989年前后,距今已有3000年之久。现代第一台可编程机器人是1954年由美国人乔治·德沃尔制造出来的,这种机器人能按照不同的程序从事不同的工作,具有一定的通用性和灵活性。这就是说,早在3000年前,我国就已经造出了能歌善舞且有眼色表情功能的世界上第一台机器人了。(

 相关问题
·pascal题目:机器人
·什么是动漫知识与动漫语言?
·输入2个字符串,输出较大的一个
·急!!!根据用户的ID调数据库中的内容显示
·判断字符个数及读取字段程序
·PHP中的问题
·求vbs 常用运算符,函数
·雀巢橙味vc
·pb如何获取当前行中某个字段
·哪位高手解释一下这个C程序.
·如何采用PHP输出本周日期及相应的星期,以及上周的日期和...
·如何在用JS自动增加的TR上面增加一个onclick事件
·我想了解一些有关数控编程方面的知识?
·编译几个VC程序
·如何制作选择关机,重启的批处理文件

 《pascal题目:机器人》答案收集时间:2008-06-14 14:27:42



©2007 电脑技术问答录