我被要求把帕斯卡教導給一個孩子。儘管我沒有看到帕斯卡爾,但我現在知道了足夠的教訓。帕斯卡爾給孩子教的簡單問題
我寫你們看看是否有人能指出我指出,包括簡單的算法,像一些基本的練習:排序此陣,求其平均值,等等
它可以在任何語言,我只需要找一些練習,這樣他就可以鍛鍊。
我被要求把帕斯卡教導給一個孩子。儘管我沒有看到帕斯卡爾,但我現在知道了足夠的教訓。帕斯卡爾給孩子教的簡單問題
我寫你們看看是否有人能指出我指出,包括簡單的算法,像一些基本的練習:排序此陣,求其平均值,等等
它可以在任何語言,我只需要找一些練習,這樣他就可以鍛鍊。
這裏是自由的15 Exercises for Learning a new Programming Language列表,擴展了在許多語言中使用的基本技術,可以給他新的lanaguage的感覺他的學習
我打算在(主要是)來解決這一語言 - 不可知論的時尚。在教他打印報表和流量控制(if
報表,for
循環等)之後,我的建議是從簡單的ASCII藝術模式開始,這些模式可由for
循環等產生。
例如,如何打印一棵樹的一半,像這樣?
*
**
***
****
*****
******
好了,現在你會如何打印全樹,這樣的嗎?
*
***
*****
*******
*********
***********
現在嘗試繪製一艘火箭飛船。 ;)
這些對於大多數孩子來說都很棒,因爲它們是視覺化的,結果很誘人,並且練習會傳遞循環的重要性並消除冗餘。
對於sorting algorithms請參閱鏈接。這是一篇維基百科文章 - 有關排序算法的一般性信息,但在下面有單獨的每種類型的鏈接,以及僞碼(和一些語言)中的算法。
至於「求其平均值」去,當你有「N」的元素:
SUM=0.
DO i=1,n
SUM=SUM+element(i)
ENDDO
AVRG=SUM/n
而且,學習的目的和思考Project Euler是非常好的。
另外,不要來看看這個問題: Where can you find fun/educational programming challenges?我不想複製粘貼的一切,但它有一堆與東西鏈接,正是你要找的內容(節目exercices) 。而這個:Algorithm Questions Website,What are your programming exercises?。你可能會發現你認爲他會在那裏感興趣的東西。
經典之一:
讓程序選擇一個隨機數,遊戲的目的是通過消除來找到數字。如果用戶猜測數字越低,程序就會說它太低,如果它的值越高說明太高。
「AI」(這是預定義的移動)和文本圖形的井字遊戲是一個不錯的項目。
爲它增添些趣味。一個好的入手:
紙岩石剪刀遊戲
用戶輸入P,R或S
程序迴應說,你贏了,輸了,或領帶
更多先進的功能:跟蹤紀錄,奪取%,輸/贏連勝
如果你知道C/C類語言是基本相同:
其餘的幾乎相同。語法有點不同,但沒有太大的不同。
你需要知道他們正在使用哪個Pascal,以及他們教他們什麼,以確保你不會浪費你的/他/她的時間。
在雙向鏈表上進行基本操作也是一個經典。
我從中學到的早期練習包括繪製Mandelbrot set(電腦現在快得多,因此您不必馬上擔心優化問題)並實施像Game of Life這樣的元胞自動機。
當然,如果這是針對學校課程的練習,那麼像這樣的練習只會對測試可能測試類似的知識/技能領域有幫助。
這孩子幾歲了?根據他的年齡,某些類型的練習可能更合適。 – hbw 2009-05-30 21:42:40
他是17.在他高中畢業的路上 – Sergio 2009-05-30 21:48:57
我提出了ldigas的答案。排序算法是我最喜歡的主題,因爲它們揭示了算法思維和語言的技術細節。我認爲排序對於晚高中來說是合適的水平。 – 2009-05-30 23:24:58