• 請在 lilina.csie.ncnu.edu.tw 的個人目錄下先建立 up4 的子目錄. (注意大小寫). 在此目錄內置入這次作業所需檔案
    若你在自己電腦上寫作業, 請在上傳後測試一遍, 程式可否執行與是否正確 由 lilina 決定.
  • 作業所需檔案為:
    • Makefile (請參關 make 之相關文件)
    • README
    • 其它 .....
  • 作業說明:
    與第三個作業類似, 但輸入的參數不只一個, 若
        $ ./a.out "101" "11" 
        
    表示建立的 tree 要包含 "101" 及 "11" 這二個 internal path.
    要求:
    • 從 argv 建立 binary tree, 同時每一組 parent 與 child 間建立一組 pipe
    • 每一個 process 印出一行 messages, 其內容與上一個作業相同. 但順序為 pre-order.
    • 每個 process 印出的 order 與 bfs traversing 的順序一致.
  • 注意事項:
    • 寫程式時, 請先建完 tree 後, 再來 traverse, 不要邊建 tree, 邊 traverse, 也就是說, 程式要有三個 phase.
    • 若你上一個作業寫不出來, 這個作業可以參考別人的上一個作業的版本. ( 注意, 不是這一次的作業), 但引用時請注明.
    • 上課時我有說過若 root 有所有人的 information, 那所有的 traverse 都 可以在 root 完成, 這當然可以作到, 但不符合此次作業的精神.
      因此這次作業的要求是該 process 的 message 是由該 process 印出, 而 不是由他人印出.
  • 關於 Makefile 的要求:
    最少要有二個 target:
    default target: 產生所有的執行檔.
    clean: 清除所有的執行檔, *.o 及空檔等, 將目錄回復到只有 source 的狀態.
  • 關於 README 的要求:
    說明你的執行檔名字, 如何執行, 如何測試等.
  • Due day, 2004/04/14 00:05am