期中考練習
上次更新日期 2018/11/20
考試不是為了要考倒大家,而是希望大家能夠更清楚的知道自己哪裡不夠好,可以持續進步這樣。 不論你未來要走哪個行業,多認識點程式,多瞭解點邏輯,多一些知道判斷式,都會是好事!那就,大家來測驗一下自己的程度囉! 另外,你最好每一堂課的課後練習全部拿出來重新看一遍、寫一遍,底下的題目你才會知道怎麼辦!
- 期中考練習
期中考的練習題
務必記得:
- 期中考雖然是 Open book 的考試,不過,並不會有網際網路可以使用
- 也不能使用 FB 或 line 等通訊軟體。
- 雖然可以使用手機或平板,不過,也只能用於查詢你曾經拍照過的照片或筆記
- 可以攜帶任何書籍、筆記、或其他紙本資料
- 你依舊可以翻閱自己在電腦裡面的程式碼來參考。
開始來練習吧!
- 變數型態 (chapter 3) 以及內建數學函數 (chapter 7) 加上型別轉換 (chapter 4) 的設計:
設計一隻名為 pracetice1_01 的 java 程式,使用第七章講的內建函數來處理底下的任務:- 設計一個變數為『整數型態』 (注意,整數有那幾種宣告方式)
- 使用內建函數的方式,去計算出 321 結果,最終將結果印出來。
C:\Users\dic\java>java practice1_01 計算 3 的 21 次方的整數結果為: 10460353203
上面的結果是由計算式計算出來的,並不是自己手動 keyin 的喔!不要惡搞。 - 在座標軸上,假設兩點均位於第一象限 (兩個點都是正值),那麼如何算出這兩點的連線、每一點與 X 軸垂直劃線,組成的梯形面積會是多少?
設計出一隻名為 practice1_02 的 java 程式來處理上述的功能。
C:\Users\dic>java practice1_02 請輸入第一象限的兩個點,我將會計算這兩個點之間的面積 第一個點 (使用空白隔開 X 與 Y 值,例如 3 5): 3 5 第二個點 (使用空白隔開 X 與 Y 值,例如 7 9): 7 9 梯形的面積為: 28.0
- 讓使用者輸入 (1)性別與 (2)身高,並根據底下的公式來計算標準體重的範圍:
- 男性 (公斤) = [ (身高-80) * 0.7 ] ± 10%
- 女性 (公斤) = [ (身高-70) * 0.6 ] ± 10%
C:\Users\dic\java>java practice1_03 根據男生還是女生,我會根據你的身高算出你的標準體重 你是男生還是女生?男生輸入 1 ,女生輸入 0 : 1 你的身高有多少公分: 177 你填寫的資料是 男生, 身高是: 177.0 標準體重計算如下: 最低體重: 61.10999999999999 公斤 最高體重: 74.69 公斤
- 輸入一個數字,計算能被 3 整除的阿拉伯數字的三次方總和的值。舉例來說,如果輸入為 10 的話,那可以被 3 整除的數
有 3, 6, 9 ,因此,你要算出 33 + 63 + 93 的數值。這需要用到迴圈以及算餘數的處理方式。
請設計一隻名為 practice1_04 的程式來處理。
C:\Users\dic\java>java practice1_04 請輸入一個數值,我將算出該數值內可以被 3 整除的數值,每個值的 3 次方總和 請輸入數值: 10 你輸入的值: 10, 計算的結果為: 972
- 持續擲出三個骰子,一直到有某兩個骰子相同為止。將每次的結果輸出到螢幕上,且最終告知你是幾點 (就是非相同的那個骰子的點數)
寫一隻名為 practice1_05 的程式來完成。
C:\Users\dic\java>java practice1_05 開始電腦自動擲骰子... 第 1 次: 3 6 4 第 2 次: 5 3 2 第 3 次: 1 2 1 擲出的點數: 2
- 假設你需要正常 BMI 值的身高與體重資料,總共需要產生 N 組 (N 由使用者輸入),
我們知道 BMI 值的計算公式為:『 BMI = 體重 (kg) / 身高 (公尺)平方 』,請產生 N 組 BMI 值符合 『 16 ≦ BMI < 20 』的資料,
並將這些資訊列印在螢幕中 (你需要用到迴圈、迴圈控制等項目的支援)。請寫一隻名為 practice1_06 的程式來完成。
如果有格式化輸出,成機會更好。
C:\Users\dic\java>java practice1_06 我將嘗試計算數個算是正常的 BMI 身高與體重 你得注意到,身高應該是要在 150~190 公分之間才算合理啊! 你想要計算幾組?例如 5 組: 10 第 1 組 (身高 x 體重): 158.5 cm, 41.6 kg, BMI = 16.6 第 2 組 (身高 x 體重): 153.1 cm, 44.8 kg, BMI = 19.1 第 3 組 (身高 x 體重): 160.1 cm, 46.5 kg, BMI = 18.1 第 4 組 (身高 x 體重): 166.4 cm, 51.7 kg, BMI = 18.7 第 5 組 (身高 x 體重): 170.8 cm, 49.1 kg, BMI = 16.9 第 6 組 (身高 x 體重): 165.7 cm, 51.3 kg, BMI = 18.7 第 7 組 (身高 x 體重): 172.4 cm, 53.2 kg, BMI = 17.9 第 8 組 (身高 x 體重): 166.8 cm, 50.7 kg, BMI = 18.2 第 9 組 (身高 x 體重): 166.2 cm, 54.8 kg, BMI = 19.8 第 10 組 (身高 x 體重): 173.1 cm, 56.8 kg, BMI = 19.0
- 四邊形的四個內角和是 360 度角,現在因為繪圖的需求,所以我想要隨機產生 N 組隨機的四角形。
假設內角的角度中,a, b, c, d 三個角都必需要介於 1 到 175 之間,但是最後的 d 角度則是 360-a-b-c 所產生。
請印出 N 組的四角形角度資料。寫一隻名為 practice1_07 的程式來完成。
C:\Users\dic\java>java practice1_07 我將嘗試處理 N 個四邊形的隨機運算! 你想要計算幾組?例如 5 組: 7 第 1 組角度: 106 45 98 111 第 2 組角度: 125 18 159 58 第 3 組角度: 108 26 122 104 第 4 組角度: 99 42 68 151 第 5 組角度: 97 67 160 36 第 6 組角度: 23 136 137 64 第 7 組角度: 36 122 171 31
- 一般汽油車的油耗大概介於『 9.0 ~ 25.0 km/liter 』之間,至於一般車輛的油箱容量則大概在 35~70 liter 之間。
一般來說:『汽車可行走距離 = 油箱容量 * 每公升跑幾公里』 這個公式是成立的。請產生 N 組油箱容量、油耗情況的組成,
該組成必需要能夠:
- 讓你的汽車跑到 300 公里的距離。
- 並請隨機產生一個平均時速介於 50~120 km/hr 的時速。
- 最終告知該組合下,汽車要跑多久才能跑完 300 公里的距離。
C:\Users\dic\java>java practice1_08 我將嘗試計算汽車油耗相關資訊 你想要計算幾組?例如 5 組: 5 第 1 組(油耗, 油箱, 時速, 時間): 19.8km/liter, 48.4liter, 69.0km/hr, 4.4hr 第 2 組(油耗, 油箱, 時速, 時間): 15.2km/liter, 68.3liter, 81.1km/hr, 3.7hr 第 3 組(油耗, 油箱, 時速, 時間): 10.2km/liter, 53.0liter, 86.3km/hr, 3.5hr 第 4 組(油耗, 油箱, 時速, 時間): 20.9km/liter, 57.1liter, 113.1km/hr, 2.7hr 第 5 組(油耗, 油箱, 時速, 時間): 19.1km/liter, 44.3liter, 60.3km/hr, 5.0hr
- 讓使用者輸入一個數值,然後開始計算從 1 到這個數值之間的所有阿拉伯數字,
找出可以被 7 整除的數字,將這堆數字個別乘上 3 次方之後,加總,將加總的結果輸出。
撰寫一隻名為 practice1_09 的程式來完成上述的功能。
C:\Users\dic\java>java practice1_01 請輸入一個數值,我將計算該數字內可被 7 整除的 3 次方總和結果: 10 計算結果總和為: 343 C:\Users\dic\java>java practice1_01 請輸入一個數值,我將計算該數字內可被 7 整除的 3 次方總和結果: 100 計算結果總和為: 3781575
- 讓使用者輸入兩個長度一樣的數字 (例如都是 6 位數),假設為 A 與 B,分別計算相同位數的數值,
A 大於 B 的次數有幾次?例如 A 為 987654 與 B 為 979797 這兩個數值中,A 比 B 相同位置的數字大的,共有 1 次 ( 8 > 7 )。
撰寫一隻名為 practice1_10 的程式碼來完成上述的功能。(若有位數防呆功能,予以加分。)
C:\Users\dic\java>java practice1_10 請輸入兩個長度一樣的數值,我將計算這兩個數值同位數的數值大小 第 1 個數值: 35323 第 2 個數值: 123423 你輸入的兩個數字位數並不一致,所以這裡就結束程式了。 C:\Users\dic\java>java practice1_10 請輸入兩個長度一樣的數值,我將計算這兩個數值同位數的數值大小 第 1 個數值: 898989 第 2 個數值: 887766 A 的數字是:898989 B 的數字是:887766 A 比 B 相同位數大的次數共: 5
- 我需要設計一個打怪的遊戲,這個遊戲的定位是個直角座標。現在假設我需要產生 N 組怪物在第一、第三象限,
且座標需要在 -200 到 200 之間。假設主人翁的座標位於 (3, 5) 內,這些怪物距離主人翁的位置不能超過 100,算距離時,
可以使用 Math.sqrt (計算式) 來求得平方根。請將隨機產生的怪物座標印出來。請撰寫一隻名為 practice1_11 的程式碼來完成上面的動作。
C:\Users\dic\java>java practice1_11 我要開始設計打怪程式,我需要你輸入怪物出現的總數量 請輸入數量 ex> 5: 10 第 1 隻怪物的座標 ( 27, 43 ) 第 2 隻怪物的座標 ( 82, 50 ) 第 3 隻怪物的座標 ( 79, 41 ) 第 4 隻怪物的座標 ( 14, 93 ) 第 5 隻怪物的座標 ( 37, 6 ) 第 6 隻怪物的座標 ( -9, -37 ) 第 7 隻怪物的座標 ( 63, 58 ) 第 8 隻怪物的座標 ( 11, 33 ) 第 9 隻怪物的座標 ( -64, -54 ) 第 10 隻怪物的座標 ( 79, 6 )
- 我要設計一個遊戲,這個遊戲的是由一組團隊所產生,團隊內有主人與寵物,每個人物都有體力、魔力與攻擊力三個分數。
主人的體力、魔力與攻擊力數值範圍都在 10~100 之間,寵物的三個數值都在 30~80 之間。但整個團隊 (兩種人物) 的總體力、總魔力與總攻擊力數值均在 100~150 之間。
請產生 N 組這樣的團隊。請撰寫名為 practice1_12 的程式來達成上述的目的。
C:\Users\dic\java>java practice1_12 我要設計一個遊戲,虛擬團隊人物有主人與寵物,準備隨機算出能力值: 請輸入數量 ex> 5: 5 第 1 組的數值: 主人體力, 魔力, 攻擊力: 80, 53, 90 寵物體力, 魔力, 攻擊力: 34, 74, 47 第 2 組的數值: 主人體力, 魔力, 攻擊力: 60, 56, 81 寵物體力, 魔力, 攻擊力: 78, 44, 38 第 3 組的數值: 主人體力, 魔力, 攻擊力: 82, 54, 76 寵物體力, 魔力, 攻擊力: 31, 57, 53 第 4 組的數值: 主人體力, 魔力, 攻擊力: 37, 63, 95 寵物體力, 魔力, 攻擊力: 77, 37, 35 第 5 組的數值: 主人體力, 魔力, 攻擊力: 50, 69, 87 寵物體力, 魔力, 攻擊力: 72, 51, 34