วันพุธที่ 30 กันยายน พ.ศ. 2552

DTS 07 - 05/08/2552

การคำนวณนิพจน์ทางคณิตศาสตร์

การแปลงนิพจน์ Infix ให้เป็น Postfix ผู้เขียนโปรแกรมสั่งให้เครื่องคำนวณต้องเขียนนิพจน์ที่ต้องการไปในตัวโปรแกรม ซึ่งนิพจน์เหล่านี้เรียกว่า นิพจน์ Infix คือนิพจน์ที่มีโอเปอร์เรเตอร์ (Operator) อยู่ระหว่างโอเปอร์แรนด์ (Operand) ทั้งสอง เช่น A+B เครื่องหมาย + เป็นโอเปอร์เรเตอร์ระหว่างโอเปอร์แรนด์ A และ B ซึ่งเห็นว่าเป็นนิพจน์ที่มนุษย์คุ้นเคย ข้อเสียของนิพจน์ infix ทีททำให้คอมไพเลอร์ยุ่งยาก คือลำดับความสำคัญของโอเปอร์เรเตอร์ (Precedence) ที่ต่างกัน เช่นเครื่องหมายยกกำลัง (ใช้ ^ ในการเขียนโปรแกรม) มีความสำคัญมากกว่าเครื่องหมายคูณ และหาร และเครื่องหมายคูณและหารมีความสำคัญมากกว่าเครื่องหมายบวกและลบOperator คือเครื่องหมายกระทำ + - * / ^Operand คือตัวแปรต่าง ๆ A,B,C,D,E เช่น A+B*C,(A*B)-Cลำดับความสำคัญ Operatorเครื่องหมายคูณกับหาร *,/เครื่องหมายบวกกับลบ +,-เครื่องหมายวงเล็บ () กระทำก่อนเช่น A+(B*C)เครื่องหมายระดับเดียวกันไม่มีวงเล็บให้ทำจากซ้ายไปขวา เช่น A+B+Cเมื่อการประมวลนิพจน์ infix เป็นไปด้วยความยากที่การคำนวณไม่เป็นไปตามลำดับของเครื่องหมายโอเปอร์เรเตอร์ที่มีก่อนหลัง คอมไพเลอร์จึงแปลงนิพจน์ infix ให้เป็น postfix เสียก่อน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น