Skip to content

Latest commit

 

History

History

unit1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Unit1:要學好程式,從不要寫程式開始

說明為什麼不要從寫程式開始

Unit1.1:What the funk,都說了先不要

寫程式永遠是最後一個動作
很多初學者沒把程式學好,是因為老把「寫程式」跟「寫程式碼」畫上等號,卻忽略之前可以先做的事情

在想題目的時候分成兩種類型

第一種:用想的就知道解得開,底下又分三種

  1. 雖然解得開但很慢
  2. 解開而且效率不錯
  3. 沒辦法把想法轉換成程式碼

第二種:光想就想不出來怎麼解

我相信很多人其實都不是第二種狀況,而是第一種,尤其是「沒辦法把想法轉換成程式碼」

所以解題的時候可以有三個步驟:

  1. 先大概想一下解法
  2. 把解法寫成 pseudo code(熟練之後可跳過)
  3. 把 pseudo code 翻譯成程式碼

Unit1.2:時間一天一天一天的走,程式碼一行一行一行的跑

寫出一行行的可執行步驟

其實跟寫組合語言有點像,一行真的只做一件事
可以運用 label 以及 jump 指令製造迴圈

但最好還是寫出虛擬碼

範例:印出 1 到 100 的偶數

Unit1.3:如何撰寫 pseudo code?

講一下什麼是 pseudo code 比 1.2 好的地方在於應該會比較好懂

範例同上

Unit1.4:實戰練習:印出 1-100 的奇數

Unit1.5:實戰練習:fizz buzz

Unit1.6:實戰練習:找最小值

Unit1.7:Project1 介紹

Project1 一共包含了三個作業
作業目標是像之前練習的那樣,把執行流程寫下來
要用 pseudo code 表示或者是用 Unit1.3 的可執行步驟都可以

作業題目:

1. 字串反轉

給一個字串 str,請輸出 str 反過來的結果
範例輸入:hello
範例輸出:olleh

PS. 可以用 str[i] 取得第 i 個字,例如說 str="abc",str[0] 就是 'a'

2. 陣列總和

給一個陣列 arr,裡面全都包含了數字(整數),請輸出陣列加總的結果(總和保證不超過 int 範圍)
範例輸入:[1, 2, 3]
範例輸出:6

3. 找最大值

給一個陣列 arr,裡面全都包含了數字(整數),請輸出陣列中的最大值
範例輸入:[1, 2, 3]
範例輸出:3