2013-12-15 53 views
0

我在構建自己的嵌套選擇語句(ifs)和重複語句(for循環,whiles和do-whiles)時遇到了困難。我可以理解最簡單的重複和選擇語句正在做什麼,儘管處理嵌套語句正在做什麼需要我多一點時間,但仍然可以獲得代碼的總體要點(保持控制變量的計數等)。然而,真正的問題歸結於這些陳述的構建,我不能在我的生活中構建自己的與僞代碼正確對齊的陳述。正確構建嵌套語句的建議

我對編程一般都很陌生,所以我不知道這是一種體驗,還是我真的缺乏一個非常合乎邏輯的思維。當我花了大約一個小時完成書中的一個問題時,我覺得應該花費一小部分時間,這是非常沮喪的。

你們可以給我一些關於如何開發適當的嵌套選擇和重複語句的指針嗎?

+0

您是否嘗試用某種編程語言解決問題?如果你不這樣做,那就做吧!編程是關於編寫程序:-)如果你這樣做,你使用什麼語言和什麼工具? –

+0

這是關於Java?然而,這個問題可能是在這裏討論的話題(可能基於觀點,太模糊等),可能會被關閉。 – Anna

回答

1

首先,你需要明白這一點:

An if statement defines behavior for when **a decision is made**. 

A loop (for, while, do-while) signifies **repetitive (iterative) work being done** (such as counting things). 

一旦你理解了這些,下一步,當遇到一個問題,就是試圖打破這種問題了小的,易於管理的部分:

i.e. decisions, that provide you with the possible code paths down the way, 
and various work you need to do, much of which will end up being repetitive, 
hence the need for one or more loops. 

舉例來說,假設我們有這個簡單的問題:

給定一個正數N,如果N是偶數,在2個步驟從 0(零)到N計數(顯示數字),如果N是奇數,從0計數到N中的 1.

步驟

首先,讓我們分析這個問題。

第1步:N的值。爲此,我們不需要任何決定,只要使用首選的方法得到它(從文件,讀取控制檯等)

第2步:做出決定:是N奇數還是偶數?

步驟3:根據步驟2中做出的決定,做功(計數) - 根據N的奇偶性,我們將以1或2爲步數從0到N進行迭代,並顯示每個步。現在

,我們代碼:

//read N  
int N; 
cin<<N; 

//make decision, get the 'step' value 
int step=0; 
if (N % 2 == 0) step = 2; 
else step = 1; 

//do the work 
for (int i=0; i<=N; i=i+step) 
{ 
    cout >> i >> endl; 
} 

這些原則,在我看來,適用於所有的編程問題,但當然,平時也不是那麼簡單的概念之間進行辨別。

其實,複雜的階段通常是問題的解體。那就是你實際上認爲

編碼只是翻譯你的想法所以電腦可以理解你。