Tài nguyên dạy học

Hỗ trợ trực tuyến

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Ảnh ngẫu nhiên

    Picture_127.jpg Imagesss.jpg DSCF1758.jpg Anh004.jpg IMG0123A1.jpg IMG0125A.jpg IMG0126A2.jpg 16990064.swf KYNIEMVETHAMLANGBACCom.jpg IMG0103A2.jpg IMG0102A1.jpg IMG0101A1.jpg IMG0099A1.jpg IMG0098A3.jpg IMG0097A1.jpg IMG0074A2.jpg CON_GAI_RUOU.jpg 174894_213874571979668_1152041_n.jpg 20tap_tin2.png Banner_Tet.swf

    Thành viên trực tuyến

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

    Chào mừng quý vị đến với website của ...

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
    Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.

    Kỳ pháp nghịch đảo Ba lan

    Wait
    • Begin_button
    • Prev_button
    • Play_button
    • Stop_button
    • Next_button
    • End_button
    • 0 / 0
    • Loading_status
    Nhấn vào đây để tải về
    Báo tài liệu có sai sót
    Nhắn tin cho tác giả
    (Tài liệu chưa được thẩm định)
    Nguồn:
    Người gửi: Quan Văn Doãn (trang riêng)
    Ngày gửi: 16h:22' 17-07-2011
    Dung lượng: 55.5 KB
    Số lượt tải: 3
    Số lượt thích: 0 người
    Ký pháp nghịch đảo Ba Lan
    Reserve Polish Notation (RPN)

    I.- Giới thiệu
    1.1- Lịch sử : “Ký pháp nghịch đảo Ba Lan” được phát minh vào khoảng giữa thập kỷ 1950 bởi Charles Hamblin - một Nhà triết học & khoa học máy tính người Úc - dựa theo công trình về ký pháp Ba Lan của nhà Toán học người Ba Lan Jan Łukasiewicz. J.Hamblin trình bày nghiên cứu của mình tại Hội nghị khoa học vào tháng 6 /1957 và chính thức công bố vào năm 1962.
    Cả hai loại “Ký pháp này ”, tuy thế vẫn còn là mới lạ với nhiều người ở nước ta. NST đã có 1 bài giới thiệu về ký pháp Ba Lan của nhà Toán học người Ba Lan Jan Łukasiewicz trên Thư viện “Bài giảng-phần Công cụ toán học”; nay giới thiệu tiếp “Ký pháp nghịch đảo Ba Lan” với mức sơ lược để người có trình độ PTTH cũng hiểu.
    1.2- Tên gọi & ý nghĩa: Để đơn giản hóa quá trình tính toán, Charles Hamblin dựa theo ký pháp Ba Lan đã đưa ra qui tắc biến đổi lại biểu thức thông thường từ trung tố - infix (vì toán tử nằm ở giữa hai toán hạng). về dạng hậu tố - postfix. Trong khi Ký pháp Balan là tiền tố. Do đó gọi là ký pháp nghịch đảo Ba Lan.
    Có thể phân biệt ba dạng biểu diễn biểu thức toán học qua thí dụ thô sơ sau:
    - Biểu thức trung tố: 4+5 ; Toán tử/phép tinh đặt giữa (như học phổ thông)
    - Biểu thức tiền tố: + 4 5 ;Toán tử/phép tinh đặt trước (Ký pháp Balan )
    - Biểu thức hậu tố: 4 5 + ;Toán tử/phép tinh đặt sau, (ngược với Ký pháp Balan)
    Thật ra thuật ngữ Reserve Polish Notation (RPN) dich sang tiếng Viêt như thế cũng chưa “đắt” lằm, Vì phép biểu diễn theo hậu tố không “đối nghịch” nhau với Ký pháp Balan mà chỉ là cách bổ sung cho một “ Hệ phương pháp” ghi chép tính toán mà thôi !
    Trình bày biểu thức toán học theo cách thông thường tuy tự nhiên với con người nhưng lại khá “khó chịu” đối với máy tính; vì nó không thể hiện một cách tường minh quá trình tính toán để đưa ra giá trị của biểu thức.
    II- Ứng dụng “Ký pháp nghịch đảo Ba Lan”:

    Khi lập trình, tính giá trị một biểu thức toán học là điều quá đỗi bình thường. Tuy nhiên, trong nhiều ứng dụng (như chương trình vẽ đồ thị hàm số chẳng hạn, trong đó chương trình cho phép người dùng nhập vào hàm số), ta cần phải tính giá trị của một biểu thức được nhập vào từ bàn phím dưới dạng một chuỗi. Với các biểu thức toán học đơn giản (như a+b) thì bạn có thể tự làm bằng các phương pháp tách chuỗi “thủ công”. Nhưng để “giải quyết” các biểu thức có dấu ngoặc, ví dụ như (a+b)*c + (d+e)*f ,  thì các phương pháp tách chuỗi đơn giản đều không khả thi.
    Trong tình huống này, ta phải dùng đến Ký Pháp Nghịch Đảo Ba Lan
    Để đơn giản cho việc minh họa, ta giả định rằng chuỗi biểu thức mà ta nhận được từ bàn phím chỉ bao gồm: các dấu mở ngoặc/đóng ngoặc; 4 toán tử cộng, trừ, nhân và chia (+, -, *, /); các toán hạng đều chỉ là các con số nguyên từ 0 đến 9; không có bất kỳ khoảng trắng nào giữa các ký tự.
    Quá trình tính toán giá trị của biểu thức hậu tố là đọc biểu thức từ trái sang phải, nếu gặp một toán hạng (con số hoặc biến) thì push toán hạng này vào ngăn xếp; nếu gặp toán tử, lấy hai toán hạng ra khỏi ngăn xếp (stack), tính kết quả, đẩy kết quả trở lại ngăn xếp. Khi quá trình kết thúc thì con số cuối cùng còn lại trong ngăn xếp chính là giá trị của biểu thức đó.
    Ví dụ: biểu thức trung tố : 5 + ((1 + 2) * 4) + 3
    được biểu diễn lại dưới dạng hậu tố là (ta sẽ bàn về thuật toán chuyển đổi từ trung tố sang hậu tố sau):
    5 1 2 + 4 * + 3 +
    Quá trình tính toán sẽ diễn ra theo như bảng dưới đây:
    Ký tự
    Thao tác
    Trạng thái stack
    
    5
    Push 5
    5
    
    1
    Push 1
    5, 1
    
    2
    Push 2
    5, 1, 2
    
    +
    Tính 1 + 2 Push 3
    5, 3
    
    4
    Push 4
    5, 3, 4
    
    *
    Tính 3 * 4 Push 12
    5, 12
    
    +
    Tính 12 + 5 Push 17
    17
    
    3
    Push 3
    
     
    Gửi ý kiến

    ↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓