顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-06-11 23:39:30
看板 Soft_Job
作者 aoksc (重出江湖)
標題 Re: 學習疑惑
時間 Sat Jun  9 14:26:41 2018


寫程式其實跟學外語沒啥兩樣

只是一個是跟人溝通一個是跟電腦溝通

我假設你是真的基本的程式語法都沒問題

看別人的code也真的是看得懂

那麼你欠缺的應該是如何在什麼時候該用什麼語法的能力

就像是多數人看原文文件爬英文文章都看得懂阿

但要live talk的話一堆人還不是字擠在嘴巴噴不出來

因為多數人沒有受過全英文環境的訓練

自然你沒辦法做到內化並無意識的使用



寫程式也是一樣

因為每個問題的解法都是不一樣的

就算是一樣的問題十個人來寫可能也會有十種解法

這也顯示寫程式本來就是一種創作行為並沒有固定答案

頂多只是差在效能好不好code好不好讀的差別

跟你講話一樣你會用的字彙跟你過往的經驗有關

我猜你八成沒受過寫題目的訓練

因為我覺得就我看過的人裡面會有這障礙的人基本上都沒經過這段歷練

寫題目的過程中其實你就已經在訓練自己解讀問題

並且把你腦袋中的演算法翻譯成流程

再依照流程把相對應的敘述翻譯成程式碼

所以如果你很熟練這過程

當別人敘述完問題

你也真的理解問題後

可能當下你就已經想完你的程式碼要怎麼寫了

就算沒細到程式碼詳細內容

但大概也知道程式碼的整個架構為何

那些ACM比賽或是其他資訊競賽的選手一定都受過這段訓練

所以當他們看到題目就可以在很短的時間內判斷這問題應該是怎麼解(假設沒陷阱的話)

頂多就是大賽的題目可能會有組合解法而非只有單一解法

所以要解決這問題最好的方法還是多練習解題目

思考的過程中自然能訓練你把演算法流程翻譯成程式碼的步驟

當你題目做的越多自然把流程翻譯成程式碼的速度也會越快

但也不表示你一定要做到很難的

你大概一般常見easy等級的題目全部都能靠自己解的出來其實大概就有這能力了

其實就是基礎語法組合應用能力而已

再上去就是追求寫code樂趣跟速度極限所追求的領域了


※ 引述《guccinan (nan)》之銘言:
: 各位前輩們
: 小弟接觸程式設計有段時間了
: 但我有一個問題
: 就是會讀程式碼
: 也看得懂最終執行結果
: 但是要我憑空寫出來卻寫不出一個所以然
: 請問該如何搶救
: 謝謝各位先進

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.159.254
※ 文章代碼(AID): #1R6tCa9E (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1528525604.A.24E.html
※ 同主題文章:
  06-08 14:14 guccinan. ■ 學習疑惑
oas: 推!!!1F 06/09 15:34
qazedcrfv: 推2F 06/09 18:30
Moot: 推!3F 06/09 18:41
Moot: 通常在想出解法前,都不知道如何下手,想出來後很快就能完
Moot: 成了。

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 93 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇