JavaScript 教學 - 運算子 (Operators) - 下
介紹JavaScript中的運算子 (Operators) 的用法,包含邏輯運算子 (Logical Operator)、字串運算子 (String Operator) 和特殊運算子 (Special Operator)。 邏輯運算子邏輯運算子 (Logical Operator) 在程式語言中一般用來做布林代數使用,進行複數的條件判斷,例如: 1n >= 0 && n <= 100 包含以下運算子 範例 說明 a && b 邏輯 AND,a 為 true 且 b 為 true,則回傳 true a || b 邏輯 OR,a 為 true 或 b 為 true,則回傳 true !a 邏輯NOT,a 為 false,則回傳 true 然而 JavaScript 和其它語言在 && 和 || 邏輯運算子的行為上有些不同之處。 邏輯 AND(&&)JavaScript 中的 && 回傳的結果並不一定是布林值,實際上他會依據以下規則回傳運算結果: 如果運算式轉為布林值為 f ...
JavaScript 教學 - 運算子 (Operators) - 上
介紹 JavaScript 中的運算子 (Operators) 的用法,包含種類、優先順序、算術運算子 (Arithmetic Operator)、指派運算子 (Assignment Operator)、位元運算子 (Bitwise Operator) 和比較運算子 (Comparison Operator)。 簡介運算式運算式 (Expression) 或稱表達式,能夠讓直譯器理解並執行的程式片段都可以稱作運算式, 例如任何的實字或變數名稱,以下為一些運算式: 1234123i123 + ix = 123 + i 以下不是運算式: 12123 +x = 123 + 種類運算式中可透過提供一些數值給運算子 (Operator,或運算符) 進行運算,進而得到一個運算結果,可以想成類似函式的回傳。另外被運算的數值稱為運算元 (Operand)。 依據運算元的個數,運算子可以分為三種: 一元運算子,只有一個運算元,例如:!, ++ 等。 二元運算子,包含兩個運算元,大部分都屬於這類。 三元運算子,包含三個運算元,只有 ? : 運算子屬於此類。 而依據性質,可以分為: 算術運算子 ( ...
如何在 Mac 移除 pkg 程式
有時候會在 Mac 上安裝一些 pkg 類型的程式,不像 app 類型的程式可以在 Launchpad 中管理刪除,或者直接將 app 檔案刪除即可,要移除 pkg 套件相對麻煩許多,必須將它安裝的檔案逐一移除。 你可以嘗試以下的步驟將相關檔案移除: 開啟終端機 (Terminal),輸入: 1pkgutil --pkgs | grep 套件可能的名稱 如果不確定名稱的話,可以全部列出尋找: 1pkgutil --pkgs 找到一個完整的套件名稱之後,查詢套件完整訊息,輸入: 1pkgutil --pkg-info 完整的套件名稱 例如: 123456pkgutil --pkg-info org.virtualbox.pkg.virtualboxpackage-id: org.virtualbox.pkg.virtualboxversion: 4.2.10volume: /location: Applications/install-time: 1363958181 接著切換到 volume 和 location 所指向的位置: 1cd /Applications/ 先將身份 ...
智力測驗 - 秤重問題解法心得
說明在看過這麼多的秤重問題之後,可以看到秤重問題變化很多,是否有一個固定的方式可以解決各種不同的類題? 這一篇文章將說明利用一些數學或其他的方法來補助我們解決相關的類題。 首先你會發現我的解法都是利用了兩個基本的方法來進行: 編號法,將每個測量物都給定編號,甚至分組。 窮舉法,進行比較,並將所有可能列出。 當題目較簡單的時候,可以利用簡單的文字說明就可以講出正確答案,但是問題一旦變得複雜,可能性變化很大,就沒辦法三言兩語說得清楚,這時候利用上面兩個方法,就可以講得很完整,思路也比較清楚,相對的可能需要寫得很冗長。 即便是利用上面的方法進行推論,也可能不知道到底要如何進行比較才是正確的,這時候可以用數學的方法來協助推論,我們知道每次的比較最多會得到三個結果,這意味著每一個回合最多能給出三種可能,例如下面的例子: 三顆球,一顆較輕。 將球編號1, 2, 3進行比較, 1 = 2,則 3 輕。 1 > 2,則 2 輕。 1 < 2,則 1 輕。 利用編號和窮舉可以寫出上面的結果,這個題目只有三個可能性,所以我們能在一個回合得到答案;並且要注意的是,利用編號和窮舉 ...
智力測驗 - 秤重問題 (五)
問題9 個金幣當中有 2 個假幣,7 個真金幣每個重 500 克,其中一個假幣輕了 100 克 ,即 400 克,另外一個假幣重了 100 克,即 600 克,1 個沒有刻度的天秤秤四次找出 2 個假幣,而且要分出哪個重了,哪個輕了。 解法將球編號並分堆如下:A = [1, 2, 3, 4]B = [5, 6, 7, 8]C = [9] 如果 A = B,則 A 或 B 有問題。(有問題的在同一邊) 如果 [1, 2] = [3, 5],則 [1, 2] 或 [6, 7 ,8] 有問題。(1, 2, 3 沒問題 => 4 沒問題) 如果 6 = 7,則 [1, 2] 有問題。 1 > 2,則 1 重和 2 輕。 1 < 2,則 1 輕和 2 重。 如果 6 > 7,則 [6 重, 7 輕] 或 [6 重, 8 輕] 或 [7 輕, 8 重]。 1 = 8,則 6 重和 7 輕。 1 > 8,則 6 重和 8 輕。 1 < 8,則 7 輕和 8 重。 如果 6 & ...
智力測驗 - 秤重問題 (四)
問題8 個金幣當中有 2 個假幣,6 個真金幣每個重 500 克,其中一個假幣輕了 100 克 ,即 400 克,另外一個假幣重了 100 克,即 600 克,1 個沒有刻度的天秤秤四次找出 2 個假幣,而且要分出哪個重了,哪個輕了。 解法將球編號並分堆如下:A = [1, 2, 3, 4]B = [5, 6, 7, 8] 如果 A = B,則 A 或 B 有問題。(有問題的在同一邊) 如果 [1, 2] = [3, 5],則 [1, 2] 或 [6, 7 ,8] 有問題。(1, 2, 3 沒問題 =>4 沒問題) 如果 6 = 7,則 [1, 2] 有問題。 1 > 2,則 1 重和 2 輕。 1 < 2,則 1 輕和 2 重。 如果 6 > 7,則 [6 重, 7 輕] 或 [6 重, 8 輕] 或 [7 輕, 8 重]。 1 = 8,則 6 重和 7 輕。 1 > 8,則 6 重和 8 輕。 1 < 8,則 7 輕和 8 重。 如果 6 < 7,則 [6 輕, ...
智力測驗 - 秤重問題 (三)
題目有十二個乒乓球特徵相同,其中只有一個重量異常 (不知道是較重或較輕),現在要求用一部沒有砝碼的天平秤三次,將那個重量異常的球找出來。 解答將球編號並分堆如下:A = [1, 2, 3, 4]B = [5, 6, 7, 8]C = [9, 10, 11]D = [12] 如果 A = B,則 C 或 12 有問題。 如果 [1, 2, 3] = C,則 12 有問題。 如果 1 > 12,則 12 較輕。 如果 1 < 12,則 12 較重。 如果 [1, 2, 3] > C,則 C 有問題且較輕。 如果 9 = 10,則 11 較輕。 如果 9 > 10,則 10 較輕。 如果 9 < 10,則 9 較輕。 如果 [1, 2, 3] < C,則 C 有問題且較重。 如果 9 = 10,則 11 較重。 如果 9 > 10,則 9 較重。 如果 9 < 10,則 10 較重。 如果 A > B,則 A 或 B 有問題,且 A 較重或 ...
智力測驗 - 秤重問題 (二)
題目籃子裡面有 10 顆球,其中一顆有問題,請你利用天平,秤重三次之後把那顆球找出來,並說明他是比較重或輕? 解答將球編號並分堆如下:A = [1, 2, 3]B = [4, 5, 6]C = [7, 8, 9]D = [10] 如果 A = B,則 C 或 10 有問題。 如果 A = C,則 10 有問題。 如果 1 > 10,則 10 較輕。 如果 1 < 10,則 10 較重。 如果 A > C,則 C 有問題且較輕。 如果 7 = 8,則 9 較輕。 如果 7 > 8,則 8 較輕。 如果 7 < 8,則 7 較輕。 如果 A < C,則 C 有問題且較重。 如果 7 = 8,則 9 較重。 如果 7 > 8,則 7 較重。 如果 7 < 8,則 8 較重。 如果 A > B,則 A 或 B 有問題,且 A 較重或 B 較輕。 如果 A = C,則 B 有問題且較輕。 如果 4 = 5,則 6 較輕。 如果 ...
智力測驗 - 秤重問題 (一)
題目有8顆球,其中 7 個重量一樣,只有 1 個較輕,用一個天平,試以最少測量次數來找出有問題的那一個球。 提示最少為兩次可找出。 解答將球編號並分堆如下:A = [1, 2, 3]B = [4, 5, 6]C = [7, 8] 如果 A = B,則 C 有問題。 如果 7 > 8,則 8 有問題。 如果 7 < 8,則 7 有問題。 如果 A > B,則 B 有問題。 如果 4 = 5,則 6 有問題。 如果 4 > 5,則 5 有問題。 如果 4 < 5,則 4 有問題。 如果 A < B,則 A 有問題。 如果 1 = 2,則 3 有問題。 如果 1 > 2,則 2 有問題。 如果 1 < 2,則 1 有問題。 題目修改為有一個較重也可以用重樣方式找出,這類型的題目可以透過編號的方式有助於求解。 延伸閱讀下一篇 智力測驗 - 秤重問題 (二)
智力測驗 - 猜生日
題目小明和小強都是張老師的學生,張老師的生日是 M 月 N 日,2 人都知道張老師的生日是下列 10 組中的一天。 張老師把 M 值告訴了小明,把 N 值告訴了小強,張老師問他們知道他的生日是哪一天嗎? 3 月 4 日,3 月 5 日,3 月 8 日6 月 4 日,6 月 7 日9 月 1 日,9 月 5 日12 月 1 日,12 月 2 日,12 月 8 日 小明說:如果我不知道的話,小強肯定也不知道。 小強說:本來我也不知道,但是現在我知道了。 小明說:哦,那我也知道了。 請根據以上對話推斷答案。 解答首先我們知道兩個基本的推論方式, 在可能的日期當中,若有日期的月是只出現一次時,小明可以在只知道 M 的情況下知道答案。 在可能的日期當中,若有日期的日是只出現一次時,小強可以在只知道 N 的情況下知道答案。(例如 N = 7 時,只有 6 月 7 日的可能) 接著我們可以開始進行推論: 依據小明的說法,他篤定小強不知道,這個意思是該月份 M 不會落在可以用推論 B 得到答案的月份,也就是該月不含日只出現一次的日期 (6 月 7 日和 12 月 2 日),所以可以刪除 ...