Menu nhanh

Thư mục

Chuyên môn Thành Viên

Cập nhật: 11h 25/8/2012 (113)
Tôi muốn gia nhập vào đây

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Thành viên trực tuyến

    1 khách và 0 thành viên

    Truy cập từ các nước

    free counters

    Sắp xếp dữ liệu

    Menu chức năng 1

    Gốc > Thảo luận > Bồi dưỡng HSG Tin học > Bài tập tin 11 > Chương 4 mảng, xâu >

    B4-?? Rô bốt

    Vì phải đi đủ 4 hướng nên ta cho rô bốt đến điểm cách x1, y1 một đơn vị

    Nếu x1>0 và y1>0 thì x1 :=x1+1 ; y1 :=y1+1, bài toán đơn giản như thế này

    var x1,y1,x,y:integer;

        s:string;

    begin

    write('Nhap toa do Robot:');

    readln(x1,y1);

    inc(x1);

    inc(y1);

    while (x<x1)or(y<y1) do

          begin

          if x<x1 then begin inc(x);s:=s+'N';end;

          if y<y1 then begin inc(y);s:=s+'E';end;

          end;

    s:=s+'SW';

    writeln(s);

    readln;

    end.

    Nhưng điểm đến có thể ở 4 vị trí khác nhau

    X1>0 và y1>0 Hoặc X1>0 và y1<0 hoặc X1<0 và y1>0 hoặc X1<0 và y1<0

     

     

     

    Đây là chương trình tổng hợp ứng với 4 vị trí:

    var x1,y1,x,y:integer;

        s:string;

    begin

    write('Nhap toa do Robot:');

    readln(x1,y1);

    If x1<0 then dec(x1) else inc(x1);

    If y1<0 then dec(y1) else inc(y1);

    while (x<>x1)or(y<>y1) do

          begin

          if x<x1 then begin inc(x);s:=s+'N';end;

          if y<y1 then begin inc(y);s:=s+'E';end;

          if x>x1 then begin dec(x);s:=s+'S';end;

          if y>y1 then begin dec(y);s:=s+'W';end;

          end;

    if (x1>0)and(y1>0)then s:=s+'SW';

    if (x1>0)and(y1<0)then s:=s+'SE';

    if (x1<0)and(y1>0)then s:=s+'NW';

    if (x1<0)and(y1<0)then s:=s+'NE';

    writeln(s);

    readln;

    end.


    Nhắn tin cho tác giả
    Trần Minh Thọ @ 07:42 12/09/2013
    Số lượt xem: 993
    Số lượt thích: 0 người
    Avatar

    Nếu có cách giải hay hơn! xin hãy thảo luận để cùng học hỏi nhé!

     
    Gửi ý kiến