[問題] 學了七年但我不會寫程式- 看板C_and_CPP
文章推薦指數: 80 %
... 補習,但我看了課程,好像是在講解C++的語言而非程式設計的邏輯我該如何訓練這個邏輯 ... 發信站: 批踢踢實業坊(ptt.cc) ◇ From: 218.171.60.135.
批踢踢實業坊
›
看板C_and_CPP
關於我們
聯絡資訊
返回看板
作者PTTDEMA(DEMA)看板C_and_CPP標題[問題]學了七年但我不會寫程式時間MonAug914:09:192010
各位好,我是資工系畢業的學生,有個狀況困擾我很久,我想該來向各位求助
我從高中開始學電腦,一直到現在大學已經畢業了,但我認為我不會寫程式
求學的時候,如果考筆試,我可以看出程式碼是在做什麼所以可以通過考試
如果是上機考,藉由GOOGLE查一查需要的功能大概的實作方式,也可以做出程式
但如果要我由無到有自己寫出程式,我沒辦法,腦袋一片空白
一開始我以為是我不夠熟,所以不斷看書加上練習實作
幾年過去,版上出現過的書
從入門的C++教學手冊到經典的TheC++ProgrammingLanguage我全都看完了
C++有那些東西,有哪些用法,STL有那些東西有哪些用途
物件導向有那些東西,有哪些用法,這些我都算熟悉,但我卻不會應用
以前老師上課時,問我們A、B、C三個函式是做什麼用的,我可以很輕易地回答出來
但要我用A、B、C三個函式兜出一個他所要的功能,我做不到
我甚至無法了解那些函式跟他要的功能有什麼關係
但如果是老師先做出功能之後,問我為什麼要用這些函式,我又可以回答得出來
我感覺就像是把書看熟考過SCJP但卻寫不出一行JAVA的那種考生
又像是經由左三圈右三圈的口訣考過駕照,但卻無法實際上路的駕駛
我把資料結構的東西拿出來複習,排序的步驟都很熟悉,用紙筆也都算得出來
但要轉成虛擬碼時我卻腦袋一片空白
很多人建議我去補習,但我看了課程,好像是在講解C++的語言而非程式設計的邏輯
我該如何訓練這個邏輯呢,多做題目或是ACM也是我目前嘗試的方法之一
但練了幾個月,卻還是沒有覺得我進步了
甚至於我自己解過的題目再看一次我都不見得還解的出來
我非常的痛苦與迷惘,不知道我該如何做會比較好呢??
--
※發信站:批踢踢實業坊(ptt.cc)
◆From:218.171.60.135
→stupid2:整篇看了兩次~感覺好神奇~我是一個才大一學一年的學生08/0914:13
→stupid2:我覺得我可以寫一些很小的程式,但板上的程式我看懂的不多08/0914:13
→stupid2:一個問題出來,我總是想題目要的是什麼,怎麼達到08/0914:14
推QQ29:你寫過最大的程式是什麼阿@@我也沒寫過ACM資結的程式...08/0914:15
寫過最大應該是專題的嵌入式系統,不過當時有指導教授,基本上都是他說做法我實行
→stupid2:我會什麼,可以怎麼解決,看法跟版大感覺很兩極@@08/0914:15
→QQ29:反正有遇到問題再想辦法解決你是毫無頭緒嗎08/0914:16
我是毫無頭緒,問我STL的東西我知道,問我哪時候用的到那些我卻不知道了
推VictorTom:學校裡總寫過些比較大形的程式作業吧??寫過怎樣的東西08/0914:17
→VictorTom:呢??看起來您是滿手工具而且都了解其用途,就是不曉得08/0914:17
→netsphere:除了看還要實際寫啦從簡單短短的開始08/0914:18
→VictorTom:遇到問題時不知道如何組合手邊現有的工具與發明還沒有的08/0914:18
→VictorTom:工具.每個人的學習曲線與習性不同,適合自己的方式可能08/0914:19
→VictorTom:還是要自己摸索/發明出來.小弟以前會在學習過程中,把08/0914:19
→VictorTom:範例程式東修西改的玩看有什麼變化,以既有的範例玩玩可08/0914:20
→VictorTom:以加/改些什麼,多變出一點自己想要的功能出來.進一步08/0914:20
→VictorTom:的就是有意義沒意義的題目多練習看看,有時候工具練到反08/0914:21
→VictorTom:設性的看到什麼就想到用什麼,個人覺得也算是種進步:)08/0914:21
我就像你說得這樣,腦子裡學到的好像一團亂,不曉得怎麼應用
其實我也滿常修改範例,看看會產生什麼變化,但我會修改卻不會創造
其實單一用途的小功能還是寫得出來,但卻無法組合成大型程式
往往都需要有人告訴我組合方式,我才能寫得出來
→ILike58:太神奇了,你有碰STL竟然組合不出你想要的功能,除非你是08/0914:32
→ILike58:指軟體等級要用幾個function搞定,不過更神的是你竟然啃完08/0914:34
→ILike58:TheC++ProgrammingLanguage..........................08/0914:34
這就是我困擾的地方,我知道STL有什麼東西,但我不會用,我知道他的單一功能為何
但我不知道當我遇到什麼問題需要用到他,應該說遇到問題時我並不會想到他
常常都是自己寫了很爛的function之後才想到這種東西STL裡面就有了
TheC++ProgrammingLanguage是我最後看的一本,在那之前我已經看了10本以上的C++
很多東西都反覆閱讀了好幾遍,所以很多地方其實都學過
推tyc5116:有沒有人覺得他只是謙虛PO文而已[email protected]@08/0914:35
推VictorTom:說不定唷XD不過,有些學習的結果造成會懂不會用的也不08/0914:36
→VictorTom:少見,基礎學科如數學英文,生活技能如開車等也不少見,08/0914:37
→VictorTom:工具總是要常常去使用,才會熟悉什麼時候適合拿哪些組合08/0914:38
→VictorTom:起來用吧....XD08/0914:38
推horngsh:用看的方式學programming永遠不會進步,typeandlearning.08/0914:46
每一本的題目我都有試著做,但做完好像並沒有學起來,只是當下了解而已
→stool100:你需要題目08/0914:47
→ILike58:不過人本來就有學習模仿的能力,C++Primer用心看完,起碼08/0914:49
→ILike58:都會感染他的一些想法作法吧............................08/0914:50
→x000032001:你用背的嗎..................08/0914:54
推softwind:其實雨人就是像你這樣要看你和他人接觸的情形08/0914:58
推silveriii:要看是哪種規模的程式寫不出來吧...可能只是不會拆解08/0914:59
→silveriii:問題而已08/0914:59
→softwind:如果你沒有自閉的現象那就感謝老天給你超強記憶力吧..08/0914:59
我記憶其實很差,會的東西都是反覆看了好幾本書都有提到才會記得,學校也有反覆教
→xatier:while(1){coding();debug();thinking();}08/0915:13
→x000032001:題目寫多應該能培養一點感覺才對..寫難一點的08/0915:17
→x000032001:多想怎麼寫比較好速度(程式跟coding皆然)比較快簡潔08/0915:18
推F23ko:你需要的是「組合工具」的能力.....08/0915:22
推loveme00835:就是因為你覺得它是重複的東西,你才會學不起來,每08/0915:23
→loveme00835:本書都有他切入的角度,還有著重的地方,心想「我讀過08/0915:23
→loveme00835:過了」那麼哪怕是些微的新東西,你也會很容易帶過08/0915:24
其實我很想學好,所以每次看一本新的書我都當自己是新手,不會跳過任何章節
每看完一本書也越了解C++的用法與特性,就算是前一本就做過的題目,在下一本出現
我還是會從頭做一次,但一要我自己創造程式我就寫不出來,就算拋開語言
在不管語言的情況下要我把一個流程轉成虛擬碼,常常還是轉不出來
※編輯:PTTDEMA來自:218.171.60.135(08/0915:31)
→loveme00835:先從口語表達開始,不過要先了解問題本身08/0915:33
→loveme00835:其實你需要揣摩的是作者的思考方式,用法倒是其次08/0915:35
→x000032001:找個老師引導式思考XD08/0915:37
推bill42362:要不要試著練習畫流程圖之類[email protected]@"08/0915:39
推Yshuan:寫題目嗎?http://ace.delos.com/usacogate推薦USACO08/0915:55
→Yshuan:主要是演算法的範疇..第一章都很直觀可以嘗試看看08/0915:56
→Yshuan:題目完成之後會有analsys比較別人的想法跟自己的想法差異08/0915:57
推abc1231qa:你就像打造了一個很大的地基上面卻沒有蓋建築物08/0916:00
→abc1231qa:哪天你找到融會貫通的方法一定會變超級強08/0916:01
→abc1231qa:變成一座非常堅固高聳宏偉的"程式設計"之塔08/0916:01
→abc1231qa:所以加油吧(這樣有沒有很熱血XD)08/0916:02
推newstar2007:你有沒有試過當你練習完一個程式回想他的功能08/0917:13
→newstar2007:然後不看書地把他寫出來08/0917:13
→newstar2007:不要用背的從小程式開始08/0917:13
→tinlans:你只需要一個能把你逼到極限狀態又孤立無緣的逆境。
08/0918:30
推VictorTom:回一下目前edit的最後一段,小弟覺得入門到學習的書可以08/0919:58
→VictorTom:多看幾本沒錯,但不需要後面每本都重新以新手的態度去看08/0919:58
→VictorTom:而是語法熟析之後,開始朝比如說資料結構或演算法之類的08/0919:59
→VictorTom:方向去看.比如STL已經是人家寫好的很多工具,但資結演08/0920:00
→VictorTom:算法裡有些也就是教這些工具的實作,了解某些常用的東西08/0920:01
→VictorTom:或者常遇到的問題,自己練習思考/解決/實作這些東西,會08/0920:01
→VictorTom:比只是單純去看懂/知道有這些東西,來的更有感覺吧:)08/0920:01
→VictorTom:也因為自己真的接觸/了解/思考/解決過那樣的問題,你才08/0920:02
→VictorTom:會更有體會什麼時候來用什麼工具來拼你要的功能.08/0920:03
→VictorTom:比如,字元陣列,靜態陣列,動態陣列,鍊結串列,寫程式08/0920:04
→VictorTom:時遇過一些麻煩的問題,才更能體會,vector/VLA,string08/0920:04
→VictorTom:等等這些東西為什麼好用....XD08/0920:05
→yauhh:看起來,你只是沒記性而已.不要自找煩惱08/0920:05
→tinlans:解決問題的時候不要想著依賴別人,也不要用搜尋引擎。
就單08/0920:40
→tinlans:靠你手邊現有的書,再試試看。
08/0920:40
→tinlans:搜尋引擎會讓初學者容易依賴跟現有問題關聯性最高的答案。
08/0920:41
→tinlans:指導你的人也可能因為不擅長引導你,而造成同樣的依賴。
08/0920:42
→tinlans:我比較好奇,國中時代原po遇到數學難題,會怎麼解決?08/0920:45
推VictorTom:小弟我同樓上t大有同樣的好奇[email protected][email protected]"08/0920:46
→tinlans:馬上找人問?想辦法跟書商騙解答本?想說老師沒教方法所以08/0920:46
→tinlans:大家都不會,直接放棄?還是花一整晚在解那一題?08/0920:47
→yoco315:不要擔心,我學了十幾年,我現在也覺得我不會寫程式08/0920:52
→loveme00835:當然是直接爆肝跟他拚了!ˋˊ08/0920:55
→hilorrk:我從來就沒有覺得自己寫過程式...我一直在學寫程式--08/0921:07
→kikiqqp:書不是只拿來看的主要是拿來查的08/1001:21
推tabascobath:給你一個建議以後寫程式之前在紙上先把虛擬碼寫出來08/1007:27
→tabascobath:語法都會還是寫不出來表示邏輯沒有架構08/1007:28
→tabascobath:因此先寫虛擬碼在紙上面把邏輯順序弄清楚08/1007:29
→tinlans:樓上,他說他寫虛擬碼的時候腦袋一片空白啊。
08/1008:28
→gintan:剛開始工作的時候我也不會寫C自己買了本書來K08/1008:50
→gintan:還有跟著做書裡面的練習題才漸漸有寫CODE的感覺08/1008:50
→gintan:你欠缺的只是多做題目多練習多想多寫CODE會有幫助08/1008:51
延伸文章資訊
- 1程式邏輯訓練PTT - 軟體兄弟
程式邏輯訓練PTT,寫程式啊。 你邏輯觀念不對, 寫出來的程式就bug一堆, 無限廻圈Loop, 死機。 ,我沒有正式受過正統的程式設計訓練, : 請問我下學期利用空檔去修資工 ...
- 2[問卦] 學寫程式有點小挫折要怎麼解決?
程式邏輯訓練ptt - 魯叔年過30最近在學寫語言程式很吃力以前是念文組高中數學又不及格大學指考...發信站:批踢踢實業坊(ptt.cc),來自:61.58.182.3※文章網址:.
- 3[請益] 如何加強邏輯? - soft_job | PTT職涯區
我是一個金融業職場新人在學校有寫過專題的程式也接過一次case 所以畢業後就打算找寫程式的工作不過老實說當初寫的 ... 4F推yashiro:訓練邏輯寫程式就跟學空手道一樣.
- 4程式邏輯訓練ptt在PTT/Dcard完整相關資訊 - 輕鬆健身去
邏輯訓練PTT-2021-04-03 | 你不知道的歷史故事3 天前· 邏輯訓練PTT相關資訊,[問題] 邏輯強的人都怎麼訓練的? ... 擁有如何使用Scratch 進行程式教育的能力,進而達...
- 5[問題] 學了七年但我不會寫程式- 看板C_and_CPP
... 補習,但我看了課程,好像是在講解C++的語言而非程式設計的邏輯我該如何訓練這個邏輯 ... 發信站: 批踢踢實業坊(ptt.cc) ◇ From: 218.171.60.135.