Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NTU NewsLab Group Meeting 2

Sam Huang
August 31, 2020

NTU NewsLab Group Meeting 2

Sam Huang

August 31, 2020
Tweet

More Decks by Sam Huang

Other Decks in Education

Transcript

  1. Short Coding ??????????????? 寫很短的 Code 要幹嘛 … ? 因為 爽

    啊 !!! 官方答案是 … 我們可以在探討 code 可以縮到多短的情況 下 研究資料結構、演算法、執行環境的特性等 我的答案是 … 原來這世界上神經病這麼多 … 程式的一些 side effect 或者 一些關於語言本身的規則真的要好好注意 ____________________________________ _________________ 短碼魂 !!
  2. 交代一下背景吧 ~ 1. 討論的語言是 C (以下的 code 都有在我電腦上跑過) 2. 時間有限所以不討論演算法的部份

    3. 不打算介紹走火入魔的 code … (本書是在某個叫做 POJ 的環境下測試) PKU Judge Online
  3. 先從簡單的開始 輸入兩個數字請輸出其和 #include <stdio.h> int main(){ int a, b; scanf("%d%d",&a,&b);

    printf("%d",a+b); return 0; } main(a,b){ scanf("%d%d",&a,&b); printf("%d",a+b); } 其實可以不 include main 沒 type 也沒差耶 ~ 這邊可以宣告變數 不 return 也沒人會咬你
  4. 接下來是關於讀取 讀取 12 個數字並算平均 #include <stdio.h> float a, b=0; int

    main(){ for(;scanf("%f",&a)!=EOF){ b+=a; } printf("%f",b/12); return 0; } float a, b; main(){ for(;scanf("%f" ,&a)!=-1;) b+=a; printf(“%f“,b/12); } 初始值會是 0 EOF 就是 -1 所以 … 這樣寫應該也對囉 scanf("%f" ,&a)+1 其實也可以這樣 ~scanf("%f",&a)
  5. bitbitbitbitbit … 猜猜猜猜猜 … ~k -> -~k -> ~-~k ->

    -~k/n -> ~-k/n -> ~k*~-~k -> -(k+1) (k+1) -(k+2) (k+1)/n (k-1)/n (k+1)(k+2)
  6. main() 的變數宣告 這其實是為寫法但也可以過 … int main(a){ a = "sailplane"; printf("%s

    %d\n",a,sizeof(a)); } 結果是 … sailplane 4 但是這種寫法隨時可能會掛點 !
  7. main 的遞迴 來算個最大公因數吧 ! #include <stdio.h> int gcd(int a, int

    b){ if(b==0) return a; else return gcd(b,a%b); } int main(){ int a, b; scanf("%d%d",&a,&b); printf("%d\n",gcd(a,b)); return 0; } c; main(a,b){ c++?:scanf("%d%d",&a,&b); b?main(b,a%b):printf("%d\n",a); }
  8. 給自己的一封信 Dear 賣飛機: 記得備份一下實驗室那台電腦,工作站的也要備 份一下。中華電信那個計畫 meeting 這週要上台,投 影片做完之後記得跟威言討論一下。最近體能有點 糟糕,去游泳去游泳 ~

    有空的話去看個膝蓋,最近他 又不乖了。飯局飯局 !!! 前幾天社團的說要約吃飯別 忘記了。還有還有,有空的話想想網站怎樣改善,醜 死了 ! 另外就是記得跟笙歌討教幾招,剛毅木訥害羞 內向是很吃虧的 ! 要是還有時間的話唸點書,考試一 直炸是在炸辛酸還是炸流行的 ! by 賣飛機(我想應該只有這些吧) 喵的 ! 因為 MEOS 兩週才咪一次 都忘記做進度了啦 !! O_________Q
  9. 大多數的 SA 是 … 特徵 1 : 特徵 2 :

    所以 … 頑強的問題解決者 ! 樂於助人 ! 以國家興亡為己任 !!! 沒救了 請重新 compile 你的生活
  10. 時間管理原則 (cont.) 所以用我們的術語來看看 1.用筆記紀錄時間管理的資訊 資料庫 2.腦力留給重要的事情 節省記憶體 3.開發例行公事並持之以恆 程式碼函式庫的再利用 4.開發習慣與信念

    寫程式前就先預想結果而非 run time 才驗證 5.保持專心 ! 除非有 interrupt 不然別受影響 6.以工作管理的方式管理社交生活 社交生活並不是一個選項而是必做
  11. 例行公事 有些事情想到就該做不要浪費時間考慮 什麼事情適合變成例行公事 ??? 1. 沒有常規的 2. 定期維護 3. 人際關係

    4. 可能會耽擱太久的 5. 經常會忘記的 6. 低優先權的事情(不能總是被忽略) 7. 開發新的技能和持續更新
  12. 循環系統 別信賴你的大腦 所以我們該把事情都紀錄在筆記(ㄅㄨㄣˇ)上 但是請注意 內容應該要有 1. 可攜性 2. 可靠性 3.

    可管理大量內容 1. 行事曆 2. 人生目標清單 3. 每日事項 a. 以重要性排序 b. 以時間排序
  13. 循環系統 (cont.) 但人非聖賢,一個不小心 delay 的話 … 1. 低優先權的移到明天 2. 解決掉今天的大部分

    3. 設法簡化工作 4. 修改預估時間 5. 用請神符 … 找人協助吧 6. 請上司替你安排 7. 延遲約會或討論等接下來的活動 8. 加班加班加班加班加班加班加班加班加班加班
  14. 排除浪費時間的工作 時間就像 xx 擠一擠還是有的 常見的浪費時間的事情有 1. 工作表內的垃圾事項 ex. 20:00 看民視八點檔大戲「娘家」

    2. 電子佈告欄 ex. ptt, ptt2 3. 太多的 RSS ex. 癮科技, mobile 01 4. 聊天系統 ex. msn 5. 順道拜訪式的 social 6. 重複做可以用 tool 取代的事情