Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    06-05-2011
    Location
    nghệ an
    Bài viết
    80
    Like
    0
    Thanked 11 Times in 11 Posts

    Buồn quá đi ! programing đâu cả rùi giải thích hộ em chương trình pascal này zới

    em có chương trình sau:

    program Gt_Chen;
    uses crt;
    const
    spt = 10;
    var
    a: array[1..spt] of integer;
    i, j, k, tam: integer;
    begin
    clrscr;
    writeln('SAP XEP MANG BANG GIAI THUAT CHEN');
    writeln('---------------------------------');
    writeln;
    for i:= 1 to spt do
    begin
    write('Phan tu A[',i,']= ');
    readln(a[i]);
    end;
    for i:= 2 to spt do
    if a[i] < a[i - 1] then
    begin
    j:= 1;
    while a[j] < a[i] do
    j:= j + 1;
    tam:= a[i];
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    a[j]:= tam;
    end;
    writeln;
    writeln('Mang sau khi sap xep: ');
    for i:= 1 to spt do
    write(a[i]:6);
    writeln;
    writeln(' Bam phim <Enter> de ket thuc');
    readln;
    end.

    ai có thể giải thích hộ em cái đoạn :
    for i:= 2 to spt do
    if a[i] < a[i - 1] then
    begin
    j:= 1;
    while a[j] < a[i] do
    j:= j + 1;
    tam:= a[i];
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    a[j]:= tam;
    end;
    nó chạy ra sao k
    nhất là đến đoạn
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    là em tịt luôn
    không hiểu nữa
    mong mọi người chỉ bảo để em tiến bộ hơn !
    Quote Quote

  2. Thành viên Like bài viết này:


  3. #2
    Tham gia
    05-08-2010
    Bài viết
    313
    Like
    9
    Thanked 73 Times in 69 Posts
    Bạn nên hiểu thuật toán rồi code chứ ko nên đọc code để hiểu thuật toán như vậy.

  4. Thành viên Like bài viết này:


  5. #3
    Tham gia
    25-06-2011
    Location
    Ninh Bình
    Bài viết
    165
    Like
    4
    Thanked 57 Times in 52 Posts
    Lần sau anh nên cho code vào trong thẻ code+ trước khi code thì mình cần hiểu những gì mình sẽ code! Chứ code xong lại đi hỏi thì code làm gì nữa!

  6. Thành viên Like bài viết này:


  7. #4
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi nguabay91 View Post
    em có chương trình sau:

    program Gt_Chen;
    uses crt;
    const
    spt = 10;
    var
    a: array[1..spt] of integer;
    i, j, k, tam: integer;
    begin
    clrscr;
    writeln('SAP XEP MANG BANG GIAI THUAT CHEN');
    writeln('---------------------------------');
    writeln;
    for i:= 1 to spt do
    begin
    write('Phan tu A[',i,']= ');
    readln(a[i]);
    end;
    for i:= 2 to spt do
    if a[i] < a[i - 1] then
    begin
    j:= 1;
    while a[j] < a[i] do
    j:= j + 1;
    tam:= a[i];
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    a[j]:= tam;
    end;
    writeln;
    writeln('Mang sau khi sap xep: ');
    for i:= 1 to spt do
    write(a[i]:6);
    writeln;
    writeln(' Bam phim <Enter> de ket thuc');
    readln;
    end.

    ai có thể giải thích hộ em cái đoạn :
    for i:= 2 to spt do
    if a[i] < a[i - 1] then
    begin
    j:= 1;
    while a[j] < a[i] do
    j:= j + 1;
    tam:= a[i];
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    a[j]:= tam;
    end;
    nó chạy ra sao k
    nhất là đến đoạn
    for k:= i downto j + 1 do
    a[k]:= a[k - 1];
    là em tịt luôn
    không hiểu nữa
    mong mọi người chỉ bảo để em tiến bộ hơn !
    Mình có 1 phương pháp có thể giúp bạn hiểu hơn về bài làm của bạn cũng như của mọi người:

    Ở cửa sổ làm việc của turbo pascal.
    Bạn mở 1 bài làm nhé.
    Ấn Ctrl+F7 để mở cửa sổ Add Watch,
    Cửa sổ này sẽ giúp bạn tính từng giá trị của các biến trong chương trình thay đổi qua từng câu lênh, điều này sẽ cho bạn biết chỗ sai cảu mình.
    Nói cách khác, Add watch sẽ chạy từng câu lệnh 1 và ghi các giá trị biến (mà bạn cần theo dõi ) thay đổi như thế nào.
    Sau khi bạn mở cửa sổ Add Watch.
    Bạn đánh tên giá trị mà bạn cần theo dõi(theo dõi các giá trị của biến thay đổi sau mỗi câu lệnh).Ấn Enter.
    Nếu bạn muốn thêm 1 giá trị nữa thì ấn phím Insert và tiếp tục nhập.
    Cửa sổ Add Watch khá to, có thể nó sẽ làm cản trở quá trình đánh chương trình của bạn, nên chúng ta sẽ làm nó nhỏ lại bằng cách:

    Ấn Crtl+F5,
    Sau đó ta sẽ dùng phím mũi tên để di chuyển nó.
    Nếu bạn muốn nó nhỏ lại thì giữa Shift và ấn các phím mũi tên tùy theo kích cỡ bạn muốn thay đổi , bây giờ mà mô tả thì khá khó, nhưng khi bạn làm thì sẽ hiểu ngay thôi.
    Khi xong, bạn ấn Enter đề quay lại màn hình làm việc.
    Bạn có thể ấn F6 để ẩn hoặc hiện cửa sổ Add Watch trước hoặc sau cửa sổ làm việc.
    Khi chạy chương trình, bạn đừng ấn Crtl+F9 mà ấn
    F7 để chạy chương trình từng bước 1 và ghi các giá trị vào cửa sổ Add Watch.


    Chú ý:
    Nếu bạn muốn Del giá trị nào tong Add Watch thì kích vào giá trị đó, ấn delete.
    Sau khi bạn tắt cửa sổ Add Watch bằng chuột hoặc bàn phím thì trên màn hình sẽ hiện ra dòng màu xanh ở dòng mà chương trình đang chạy đến.Để làm mất dòng này, bạn ấn Ctrl+F2.

  8. 2 thành viên Like bài viết này:


  9. #5
    Tham gia
    25-06-2011
    Location
    Ninh Bình
    Bài viết
    165
    Like
    4
    Thanked 57 Times in 52 Posts
    Phải hiểu code thì mới debug được chứ, ko thì mở mấy cái đấy cũng ko hiểu đâu

  10. Thành viên Like bài viết này:


  11. #6
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi haplinhavxt View Post
    Phải hiểu code thì mới debug được chứ, ko thì mở mấy cái đấy cũng ko hiểu đâu
    mình nghĩ debug là 1 cách để hiểu code dễ hơn mà, cho chạy = từng số 1 là sẽ hiểu !

  12. #7
    Tham gia
    14-07-2011
    Bài viết
    179
    Like
    3
    Thanked 83 Times in 68 Posts
    Quote Được gửi bởi auauau97 View Post
    mình nghĩ debug là 1 cách để hiểu code dễ hơn mà, cho chạy = từng số 1 là sẽ hiểu !
    Đầu tiên phải có cái đề bài, nếu không thì nhìn code khó deb lắm (thường thì code dễ hơn, chứ nhìn bài người khác code rồi thấy loạn con mắt)

  13. Thành viên Like bài viết này:


  14. #8
    Tham gia
    29-05-2011
    Location
    Hà Nội
    Bài viết
    1,826
    Like
    1,420
    Thanked 47 Times in 42 Posts
    Quote Được gửi bởi Farmer_Boy View Post
    Đầu tiên phải có cái đề bài, nếu không thì nhìn code khó deb lắm (thường thì code dễ hơn, chứ nhìn bài người khác code rồi thấy loạn con mắt)
    chuẩn, không có đề bài thì có code cũng như không có !

  15. #9
    Tham gia
    27-01-2016
    Location
    THCS Phan Đăng Lưu
    Bài viết
    57
    Like
    1
    Thanked 92 Times in 39 Posts
    ờ.đúng đấy các bác

  16. #10
    Tham gia
    01-07-2012
    Bài viết
    122
    Like
    10
    Thanked 27 Times in 26 Posts
    Đọc lại mô tả của Insertion Sort (quyển nào dạy thuật toán thì phải có mấy cái sort này), sau đó để kiểm tra mình hiểu đúng chưa thì hãy chứng minh thuật toán Insertion Sort là đúng.

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •