อัลกอริทึมการแปลง postfix เป็น infix

โดยปกติเวลาเราอ่านเขียนสัญลักษณ์ทางคณิตศาสตร์

เรามักจะใช้  operator เชื่อมระหว่าง operand สองตัว ดังนี้

operand1  operator  operand2

เช่น

1 + 2

เราเรียกรูปแบบการเขียนสัญลักษณ์แบบนี้ว่า infix notation  (ให้operator อยู่ด้านใน )

ยังมีรูปแบบการเขียนสัญลักษณ์ทางคณิตศาสตร์อีกแบบที่เรียกว่า postfix notation (ให้ operator แสดงด้านหลัง) โดยเราสามารถเขียน 1+2 เป็น postfix ได้ ดังนี้

12+

ถ้ามี operand เพียง 2 ตัวกับ operator เพียงหนึ่ง ก็คงเปรียบเสมือน ชายกับหญิง ที่ต่างรักเดียวใจเดียว จะเขียนแบบ infix หรือ postfix ก็คงเข้าใจไม่ยาก แต่ชีวิตจริงมันยิ่งกว่านิยาย การเขียนสมการคณิตศาสตร์ มันซับซ้อน มีตัวละครหลายตัว มีตัวอิจฉาบ้าง ผู้ช่วยพระเอกนางเอกบ้าง ตัวตลก พ่อผู้ร้าย .. เยอะแยะเต็มไปหมด ลองดูสัญลักษณ์  postfix ดังต่อไปนี้ ท่านผู้อ่านคิดว่า มันมาจากสัญลักษณ์ infix ว่าอย่างไร

AB*C/HE*+D-
อ่านเพิ่ม

สอนเขียน shellscript ตอนที่ 5 การรับอินพุตจากผู้ใช้

บทความนี้อยู่ในกลุ่มของบทความสอนเขียน shell script ซึ่ง shell script ที่จะสอนนั้นจะใช้ bash เป็น intepreter หรือตัวแปลภาษาครับ

การรับอินพุตจากผู้ใช้ใน  bash script มีด้วยกัน 2 รูปแบบดังนี้

  1. การรับอินพุตผ่าน พรอมต์ของผู้ใช้
  2. การรับอินพุตผ่าน อากิวเมนต์ ของไฟล์

การรับอินพุตจากพรอมต์ของผู้ใช้

คำสั่งของ bash ที่ใช้สร้างพรอมต์เพื่อรับอินพุตจากผู้ใช้คือคำสั่ง read  ลองดูตัวอย่างที่ผมรันใน shell prompt ตัวนี้ดูก่อนที่จะอธิบายในรายละเอียดครับ

จากรูปข้างต้น คำสั่ง

read  a

คือการรอรับค่าจากผู้ใช้ ซึ่งเมื่อเรารันคำสั่งนี้หน้าจอจะปรากฏพรอมต์(prompt) เพื่อรอรับอินพุตดังรูป

อ่านเพิ่ม

ตัวอย่างการเขียน ระบบธนาคารอย่างง่ายด้วย bash script

โค๊ดตัวอย่างการเขียนระบบธนาคารอย่างง่ายครับ ตัวนี้ใช้เป็นตัวอย่างการใช้งานประโยค select โดยดึงเมนูออกมาจาก array และใช้ประโยค case แทน if-else ครับ

ผลรันครับ