TQC+ 物件導向程式認證-JAVA.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
Loops.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
Chapter 4 流程控制.
程設一.
第二章 JAVA语言基础.
第三章 控制结构.
程設一.
程式設計實作.
Q1: 追蹤程式: 印出結果? 搶答 while (i<=n) { p=p*i; i=i+2; }
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
控制流程 邏輯判斷 迴圈控制.
物件導向程式設計 (Object-Oriented rogramming)
第二章 C# 基础知识.
常用工具类.
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
第 7 章 陣列 (Array).
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
本單元介紹何謂變數,及說明變數的宣告方式。
JAVA程序设计 第5章 深入理解JAVA语言----补充.
Function.
程式撰寫流程.
Java语言程序设计 第五部分 Java异常处理.
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第八章 函数.
Introduction to the C Programming Language
Chap 3 分支结构 3.1 简单的猜数游戏 3.2 四则运算 3.3 查询自动售货机中商品的价格.
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
電腦解題─流程圖簡介 臺北市立大同高中 蔡志敏老師.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
第五張 方法.
Java程序设计 第2章 基本数据类型及操作.
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
第三章 C# 基础知识.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第二章Java基本程序设计.
第二章 Java基本语法 讲师:复凡.
C语言概述 第一章.
Chapter 2 & Chapter 3.
程式結構&語法.
for 迴圈 while迴圈 do-while迴圈 break 與 continue goto 與 標籤 程式觀摩
Introduction to the C Programming Language
Instructor:Po-Yu Kuo 教師:郭柏佑
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
第二章 Java语法基础.
Introduction to the C Programming Language
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
第二章 Java基本语法 讲师:复凡.
Ch07. 函式.
遞迴 Recursion.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
第二章 Java基本语法 讲师:复凡.
Summary
Presentation transcript:

TQC+ 物件導向程式認證-JAVA

TQC+物件導向程式語言認證 Java 6 第一類-基本認識 第二類-條件判斷式 第三類-迴圈 第四類-遞迴程式設計 第五類-陣列設計能力 第六類-物件導向程式設計與例外處理

第一類-基本認識 AWT與Swing Java簡介 區域變數 基本資料型態 字串 標準輸入輸出 運算式 型別轉換 陳述式 類別定義

第二類-條件判斷式 if …else switch … case

第三類-迴圈 while for do... While

第五類-陣列設計能力 陣列的產生與使用 陣列的傳遞 多維陣列

第六類-物件導向程式設計與例外處理 類別 實例、實例變數、實例方法 繼承 多型與多載 this super 抽象類別 Inner class、Anonymous class 介面 物件陣列 Collection函式庫 try...catch throws

第一類:101-字串列印 題目說明: 設計說明: (1)JD01.java所提供的程式有四處錯誤,請修改之 (2)顯示如執行結果參考畫面 請開啟檔案JPD01.java,依下列題意完成作答。將JPD01.java內的class JPD01修改為class JPA01,檔案另存成JPA01.java,並編譯為JPA01.class。 設計說明: (1)JD01.java所提供的程式有四處錯誤,請修改之 (2)顯示如執行結果參考畫面

第一類:101-字串列印(續) 執行結果參考畫面:

第一類:102-單位換算 程式執行時,畫面顯示【Please input:】,於後方由鍵盤輸入數字後,輸出轉換數值(由公斤轉換成磅數),執行結果顯示如下所示: 單位轉換公式為:1公斤等於2.20462磅。 Please input: 15 15.000000 kg = 33.069300 ponds

第一類:103-計算平均值 程式執行時,畫面顯示【Please input:】,於下方由鍵盤輸入3個整數,各整數中間空格鍵間隔,並分別存入三個整數變數。 計算這三個整數的平均值,平均值請取到小數第二位。 輸出平均值,執行結果顯示如Screen Dump

第一類:103-計算平均值(續) Please input: 3580 26400 13588 Average: 14522.67

第一類:104-距離計算 Math套件(package)內有許多數學上常用的函數。 請使用 Math.pow 及 Math.sqrt 撰寫程式,顯示【輸入第1組的 x 和 y 座標:】,提示使用者首先輸入第一組座標(x1, y1),x 與 y 座標的輸入以一空格鍵分隔,其資料型態皆為正整數。 要求輸入第2組座標(x2, y2)。 兩組座標輸入完畢,輸出兩組座標之間的距離,執行結果顯示如 Screen Dump。

第一類:104-距離計算 輸入第1組的x和y座標:1 5 輸入第2組的x和y座標:10 22 介於(1.00,5.00)和(10.00,22.00)之間的距離是19.24。

第一類:105-存錢筒 有一位小朋友從小就開始把1元、5元、10元、50元的零用錢,投進自己的存錢筒裡。請計算出存錢筒中金錢的總額。 程式執行時,首先要求輸入姓名,顯示【請輸入您的姓名:】,顯示如 Screen Dump。 姓名輸入完畢,要求輸入銅板個數,顯示如 Screen Dump。 依序要求輸入1元、5元、10元、50元硬幣的數量,待數入完才可再顯示下一列,顯示如 Screen Dump。 金額輸入完畢,輸出總額,執行結果顯示如 Screen Dump。

第一類:105-存錢筒 請輸入小孩姓名:林小佳 Hi, 林小佳,請輸入你的銅板的個數: 請輸入1元的數量:80 請輸入5元的數量:70 請輸入10元的數量:55 請輸入50元的數量:38 您的錢總共有:2 千 8 百 8 十 0 元

第一類:106-數學函數 有一數學函數 f(x) = 3x3 + 2x - 1。 請撰寫一函數 f 用來傳回 f(x) 的值,並分別計算 f(-3.2)、f(-2.1)、f(0)、與 f(2.1)。 函數 f(x) 值取到小數第四位。 依此數學函數計算,分別輸出此四個計算值,執行畫面顯示如 Screen Dump。

第一類:106-數學函數 f(-3.2) = -105.7040 f(-2.1) = -32.9830 f(0) = -1.0000

第一類:107-運動成績 本題使用其他類別定義的類別方法 假設老師在計算運動成績的分數時,動作佔1分,技巧佔2分團隊表現佔3分。 basketball 的分數計算方式為:動作 (action) + 技巧 (skill) + 團隊表現 (teamgame):baseball 的分數計算方式為:10 + 技巧 (skill) + 團隊表現 (teamgame)。 本題內已提供 basketball 與 baseball 兩個類別及成績的計算方式,它們各有一個 calGrade 方法,請將此方法於 basketball 與 baseball 兩個類別中補上。 程式執行時直接計算成績,並輸出 basketball 及 baseball 的成績,執行結果顯示如 Screen Dump。

第一類:107-運動成績 The basketball grade is 6 The baseball grade is 15

第一類:108-覆載方法 請在同一個類別中,使用覆載 (OverLoad) 撰寫三個同樣名為 add 的方法。 宣告 main 方法,分別提供以下 a、b、c 等參數。 add(2, 3); add(5.2, 4.3); add("I love", "Java!!"); 方法一:傳入兩個整數 (int, int),計算兩整數的和 (int)。程式執行時,列出【Adding two integers: i, j】,請呼叫 main 方法中的 add(2, 3),將參數代入 i, j 內。 方法二:傳入兩個浮點數 (double, double),計算兩個浮點數的和 (double),程式執行時,列出【Adding two double: i, j】,請呼叫 main 方法中的 add(5.2, 4.3),將參數代入 i, j 內。 方法三:傳入兩字串 (String, String),計算合併後的兩個字串 (String),程式執行時,列出【Adding two string: i, j】,請呼叫 main 方法中的 add("I love", " Java!!"),將參數代入 i, j 內。 最後依序顯示此方個方法所計算出的列印值,執行結果顯示如 Screen Dump。

第一類:108-覆載方法 Adding two integers: 2, 3 Adding two doubles: 5.2, 4.3 Adding two strings: I love, Java!! 5 9.500000 I love Java!!

第一類:109-變數範圍 請依照JPD01.java所提供的程式,回傳正確值。 gameRating 函數需呼叫 adder 方法以取得正確的加總值。 adder 方法的計算方式為:skill + action + excitement。 輸出回傳的正確值,執行結果顯示如下頁所示。

第一類:109-變數範圍 The rating of the game is 23

第一類:110-圖形面積 請撰寫三個方法計算下面圖形的面積,然後輸出總面積。 假設圓的半徑 = 5,PI = 3.1415926,請寫出 calCircle 函數計算圓面積。 圓面積計算公式: 半徑平方 * 園周率(PI)。

第一類:110-圖形面積 三角形的底 = 10,高 = 5,請寫出 calTriangle 函數計算三角形面積。 三角形面積計算公式: 底 * 高 / 2。 假設長方形的長 = 5,寬 = 10,請寫出 calRectangle 函數計算方形面積。 長方形面積計算公式: 長 * 寬。 圖形面積 = 圓面積 + 三角形面積 + 長方形面積。 執行結果如下頁所示。

第一類:110-圖形面積 圓形面積為:78.539815 三角形面積為:25.000000 方形面積為:50.000000 此圖形面積為:153.539815

第二類:201-分數篩選 請設計一程式,此程式能判斷輸入分數是否及格,程式執行時,顯示【Please enter score:】要求輸入分數。 如果使用者輸入的分數大於等於60,則輸出【You pass】。 如果使用者的分數小於60,則不做任何處裡。 最後由電腦輸出【End】代表程式結束。 重複執行兩次,執行結果如下頁所示。

第二類:201-分數篩選 Please enter score: 98 You pass End 45

第二類:202-比較大小 請設計一程式,使用者可以輸入兩個整數,並且可以比較兩個整數的大小。 程式執行時,畫面顯示【Input:】,請使用者輸入兩組整數,各組整數分別輸入兩個數字,數字中間以空隔間隔。 重複執行兩次,依輸入的兩個整數比較大小,執行結果如下頁所示。

第二類:202-比較大小 Input: 50 88 88 is larger than 50 33 45 45 is larger than 33

第二類:203-判斷奇偶數 請設計一程式,使用者可輸入一個整數,判斷此整數為奇數或偶數。 程式執行時,畫面顯示【Input an integer:】,請使用者輸入一個整數。 重複執行兩次,執行結果如下頁所示。若為奇數,顯示【The number is odd.】,若為偶數,則顯示【The number is even.】

第二類:203-判斷奇偶數 Input an integer: 7 The number is odd. 28 The number is even.

第二類:204-公倍數計算 請設計一程式,能判斷使用者所輸入的整數,是否能同時被5、9整除。 程式執行時,畫面顯示【Input:】,請使用者輸入一個整數。 計算是否能同時被5、9整除。 若此數字為5與9的公倍數,則印出【Yes】,否則印出【No】。 重複執行兩次,執行結果如下頁所示。

第二類:204-公倍數計算 Input: 90 Yes 70 No

第二類:205-倍數判斷 請設計一程式,能判斷使用者所輸入的整數,是否為2、3、6的倍數。 程式執行時,畫面顯示【Enter an integer:】,請使用者輸入一個整數。 若輸入的整數是2、3、6的倍數,請輸出此整數是2、3、6哪些整數的倍數。 若輸入的整數都不是2、3、6的倍數,請輸出【xx 不是2、3、6的倍數】,將使用者輸入的整數代入 xx 內。 重複執行四次,執行結果如下頁所示。

第二類:205-倍數判斷 Enter an integer: 30 30是2、3、6的倍數 2 2是2的倍數 9 9是3的倍數 77 77不是2、3、6的倍數

第二類:206-及格分數 請撰寫一個能輸入國文、英文、數學三科分數的程式。 程式執行時,如 Screen Dump 畫面,畫面顯示【Input Chinese score:】,請使用者輸入國文分數,再分別依序要求輸入英文,數學的分數。 將此三個分數分別存入變數之中,再判斷是否有任何一科不及格,如果任何一科不及格,則輸出該科不及格,分別顯示【科目 failed.】;如果全部都及格則輸出全部通過,顯示【All Pass.】。 重複執行四次,執行結果如下頁所示。

第二類:206-及格分數 Input Chinese score:80 Input English score:98 Input Math score:55 Math failed. Input Chinese score:10 Input English score:80 Input Math score:70 Chinese failed. Input Chinese score:100 Input English score:100 Input Math score:100 All pass. Input Chinese score:10 Input English score:10 Input Math score:10 Chinese failed. English failed. Math failed.

第二類:207-三角形邊長判斷 請寫一個判斷三角形的程式:當三個邊長能夠構成三角形時,再判斷該三角形為鈍角、銳角或是直角三角形,否則請顯示【不可以構成三角形】。 構成三角形存在條件:任兩邊相加大於第三邊,且皆不可為 0 。 直角三角形:其中有兩個邊的平方和等於第三邊的平方 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方 銳角三角形:任兩邊的平方和大於第三邊的平方 程式執行時,畫面顯示【請輸入三個整數:】要求輸入三邊的邊長。 重複執行四次,執行結果如下頁所示。

第二類:207-三角形邊長判斷 請輸入三個整數:3 4 5 直角三角形 請輸入三個整數:3 4 6 鈍角三角形 請輸入三個整數:4 4 3 銳角三角形 請輸入三個整數:2 4 7 不可以構成三角形

第二類:208-分級限制 請寫出一個可以輸入學生分數,並判斷分數等級的程式。 當分數 >= 90分,等級為A,【Your grade is A】。 當分數介於90分到80分之間,例如 90分 > 分數 >= 80分,等級為B,顯示【Your grade is B】。 當分數介於80分到70分之間,例如 80分 > 分數 >= 70分,等級為C,顯示【Your grade is C】。 當分數介於70分到60分之間,例如 70分 > 分數 >= 60分,等級為D,顯示【Your grade is D】。 當分數小於60以下,例如 60分 > 分數,等級為F,顯示【Your grade is F】。 程式執行時,畫面顯示【Input:】,請使用者輸入一個整數。 重複執行五次,執行結果如下頁所示。

第二類:208-分級限制 Input: 92 Your grade is A 80 Your grade is B 79 Your grade is C Input: 60 Your grade is D 59 Your grade is F

第二類:209-象限座標 請撰寫程式,輸入 x、y 座標值,判斷該點位於何象限或是在哪個座標軸上。 程式執行時,畫面顯示【請輸入 x 座標:】要求輸入 x 座標。 ※舉例:若輸入的座標值為(3.0,-2.5),輸出【座標值+在第四象限】; 若輸入的座標值為(4.5,0.0),則輸出【座標值+在 x 軸上】。 重複執行四次,執行結果如下頁所示。

第二類:209-象限座標 請輸入x座標:4.5 請輸入y座標:0.0 (4.50,0.00)在x軸上 請輸入x座標:0 請輸入y座標:3.2 (0.00,3.20)在y軸上 請輸入x座標:-5.5 請輸入y座標:-3.8 (-5.50,-3.80)在第三象限 請輸入x座標:-4.3 請輸入y座標:7.2 (-4.30,7.20)在第二象限

第二類:210-鍵盤字元判斷 請使用switch完成編輯區中的test()的程式。 程式執行時,畫面顯示【Input a character:】,請使用者輸入一個英文字母。 若輸入 a 或 b ,顯示【You entered a or b】。 若輸入 x ,顯示【You entered x】;若輸入 y,顯示【You entered y】。 若皆非上述所列英文字母,則顯示【You entered something else.】。

第二類:210-鍵盤字元判斷 Input a character: a You entered a or b b x You entered x Input a character: y You entered y c You entered something else.

第三類:301-整數連加 請使用 for loop 寫一個程式,輸入一個正整數 N,計算 1 + 2 + 3 ... + N 的結果。 程式執行時,顯示【Input:】要求輸入一正整數,輸入完畢,於下方計算1 + ... + N的總和。 執行結果如下頁所示。

第三類:301-整數連加 Input: 88 1 + ... + 88 = 3916

第三類:302-巢狀迴圈 一個外迴圈包住一個或多個內迴圈的巢狀迴圈,每次執行外迴圈時,都會進入內迴圈,重複執行。 「假設」外迴圈重複了3次,而內迴圈重複了9次,則內迴圈內的敘述就會執行 3 * 9 次。 那麼要如何修改程式碼,會使該程式的執行結果為27? 答案顯示如下頁。

第三類:302-巢狀迴圈 count = 27

第三類:303-完美數 一個數如果恰好等於它的因數(不含數字本身)之和,這個數就稱為「完美數」。 例如 6 = 1 + 2 + 3,因 1、2與3都是6的因數,因而6是完美數。 試設計一程式,找出1000以內的所有完美數。 答案顯示如下頁。

第三類:303-完美數 1~1000中的完美數有: 6 28 496

第三類:304-餐點費用 有五位朋友到知名美式餐廳聚餐慶生,此餐廳採點餐的計算方式。 程式執行時的結果參考下面的Screen Dump視窗,畫面顯示【Please enter meal dollars or enter -1 to stop:】,請使用者輸入第一道餐點費用,再分別依序要求輸入其他道餐點的費用。 若要停止執行程式計算,需輸入-1後停止程式計算,-1不列入餐點計算費用內。請輸出餐點數量、所有餐點的總費用及平均負擔費用,平均值取自小數第二位。 答案顯示如下頁。

第三類:304-餐點費用 Please enter meal dollars or enter -1 to stop: 180 Please enter meal dollars or enter -1 to stop: 120 Please enter meal dollars or enter -1 to stop: 99 Please enter meal dollars or enter -1 to stop: 399 Please enter meal dollars or enter -1 to stop: 150 Please enter meal dollars or enter -1 to stop: -1 餐點總費用:948 5 道餐點平均費用為: 189.60

第三類:305-迴圈階乘計算 請設計一程式計算 n 的階乘。 n 為使用者任意輸入的整數值,n值範圍介於1到10之間。 程式執行時,畫面顯示【Please enter one value:】,首先判斷 n 值是否介於1到10之間,若檢核通過,則輸出階乘計算後之數值;若沒有介於1至10之間,則顯示【Error, the value is out of range.】。 重複執行三次,答案顯示如下頁。

第三類:305-迴圈階乘計算 Please enter one value: 0 Error, the value is out of range. Please enter one value: 12 Please enter one value: 6 6!: 720

第三類:306-迴圈次方計算 請設計一個程式持續輸入兩個數 m, n,m 與 n 中間以空格鍵分隔,並以一個類別方法及 while loop 計算 m 的 n 次方,直到輸入m=999為止。 答案顯示如下頁。

第三類:306-迴圈次方計算 Input: 2 2 4 100 7 276447232 999 10

第三類:307-迴圈最大公因數 請設計一個程式持續輸入兩個數 m, n,m 與 n 中間以斷行分隔,並以一個類別方法及 while loop 計算 m 與 n 最大公因數,直到輸入m=999為止。 持續輸入兩個數 m、n,顯示如下頁所示,輸出此兩數的最大公因數。

第三類:307-迴圈最大公因數 Input: 8 12 4 13 19 1 Input: 7 49 999

第三類:308-電腦週邊費用總計 David到某商場為公司購買一系列的電腦周邊設備,請以do-while計算此次購買的總費用,使「電腦費用周邊費用總計」程式正常執行。 do-while 的最大特點為:其內的 statement 至少會被執行一次。do-while 的語法如下: do { statement; ... } while (exp) 請以 do-while 計算電腦周邊消費的總和。當使用者輸入-1,即停止執行並輸出結果。 答案顯示如下頁。

第三類:308-電腦週邊費用總計 請輸入消費金額,或輸入-1結束:20000 請輸入消費金額,或輸入-1結束:399 請輸入消費金額,或輸入-1結束:199 請輸入消費金額,或輸入-1結束:4000 請輸入消費金額,或輸入-1結束:2000 請輸入消費金額,或輸入-1結束:-1 電腦周邊總消費:26598

第三類:309-迴圈倍數判斷-1 如下為 continue 之範例寫法。 class Ex02 { public static void main(String argv[]) throws IOException { for (int i = 0; i < 4; i++) { if (i == 2) { continue; } System.out.println("i = " + i); } } } Output: i = 0 i = 1 i = 3

第三類:309-迴圈倍數判斷-2 請使用 continue 設計一個程式,能夠計算1到「使用者輸入的數」之中,哪些數是3的倍數或是5的倍數,而不是7的倍數。 將這些數相加後,答案顯示如下頁。 65

第三類:309-迴圈倍數判斷 9 Answer: 23

第三類:310-迴圈正偶數相加 程式執行時,畫面顯示【請輸入n的值(n>0,且為偶數):】,請使用者輸入一個正偶數。 試利用 do-while,計算 2 + 4 + 6 + ... + n 的總和,其中 n 為一由鍵盤輸入的正偶數,若輸入的不是正偶數,則程式會要求使用者再次輸入,直到輸入的數是正偶數為止。 答案顯示如下頁所示。

第三類:310-迴圈正偶數相加 請輸入 n 的值 (n > 0,且為偶數): 3 請輸入 n 的值 (n > 0,且為偶數): -2 請輸入 n 的值 (n > 0,且為偶數): 10 2+4+...+10=30

第四類:401-遞迴階乘計算 請寫一個程式輸入一個數n,使用遞迴計算n的階乘,直到n輸入的數值是999為止。 程式執行時,顯示【Input n (0 <= n <= 16):】要求輸入數值。 顯示結果如下頁。

第四類:401-遞迴階乘計算 Input n (0 <= n <= 16):6 6 的階乘 = 720 10 的階乘 = 3628800 Input n (0 <= n <= 16):999

第四類:402-尾端遞迴階乘計算 尾端遞迴程式的特性是以另外傳入的參數來累計遞迴的答案。 請寫一個程式持續輸入一個數 n,請個別使用尾端遞迴及迴圈,計算 n 的階乘,直到 n輸入的數值是 999為止。 程式執行時,顯示【Input n (0 <= n <= 16):】要求輸入數值。 顯示結果如下頁。

第四類:402-尾端遞迴階乘計算 Input n (0 <= n <= 16):6 6 的階乘(尾端遞迴) = 720 6 的階乘(迴圈) = 720 Input n (0 <= n <= 16):8 8 的階乘(尾端遞迴) = 40320 8 的階乘(迴圈) = 40320 Input n (0 <= n <= 16):999

第四類:403-尾端遞迴次方計算 請寫一個程式持續輸入兩個數 m、n,使用尾端遞迴及迴圈計算 m 的 n 次方,直到 m 輸入的數值是 999 為止。 程式執行時,顯示【Input m:】要求輸入 m;輸入完畢,於下行顯示【Input n:】要求輸入 n。 顯示結果如下頁。

第四類:403-尾端遞迴次方計算 Input m:3 Input n:6 Ans(尾端遞迴): 729 Ans(迴圈): 729

第四類:404-遞迴最大公因數 請設計一個程式,持續輸入兩個數 m、n,使用遞迴計算 m 與 n 的最大公因數,直到 m 輸入的數值是 999 為止。 程式執行時,顯示【Input m: 】要求輸入 m;輸入完畢,於下行顯示 【Input n: 】要求輸入 n。 計算最大公因數,顯示結果如下頁。

第四類:404-遞迴最大公因數 Input m: 7 Input n: 49 最大公因數為: 7 Input m: 64 最大公因數為: 64 Input m: 15 Input n: 10 最大公因數為: 5 Input m: 999

第四類:405-遞迴函數 請利用下面的公式,撰寫遞迴函數 sum2: a. sum2(1) = 2 b. sum2(n) = sum2(n - 1) + 2 * n 程式執行時,顯示【Input n:】要求輸入 n (n>=1),並將 n 值代入函數中。 顯示結果如下頁。

第四類:405-遞迴函數 Input the number n: 50 Ans: 2550

第四類:406-遞迴字串計算 請使用遞迴撰寫一個類別方法,可計算一個字串內有幾個 A,大小寫有所區別。 程式執行時,顯示【Input a string: 】要求輸入字串。 連續執行兩次,結果參考如下頁,顯示【輸入的字串 has X As】。 將計算此字串內有幾個 A,代入 X 中。

第四類:406-遞迴字串計算 Input a string: COMPUTER SKILLS FOUNDATION COMPUTER SKILLS FOUNDATION has 1 As Input a string: java 6 java 6 has 0 As

第四類:407-尾端遞迴計算總和 請使用尾端遞迴及迴圈撰寫一個類別方法,此方法能夠計算一個數字字串內所有數字的和。 程式執行時,顯示【Input a string of numbers: 】要求輸入數字字串。 連續執行兩次,結果參考如下頁,列出以「尾端遞迴」及「迴圈」 計算後之數字總和。

第四類:407-尾端遞迴計算總和 Input a string of numbers: 1234 尾端遞迴:10 迴圈:10 尾端遞迴:18 迴圈:18

第四類:408-遞迴字串反向 護使用遞迴設計一個類別方法,此方法能夠將字串反向。 程式執行時,顯示【Input a string: 】要求輸入字串。 連續執行兩次,結果參考如下頁,將字串反向印出。

第四類:408-遞迴字串反向 Input a string: computer retupmoc Input a string: skills slliks

第四類:409-遞迴字串移除 請使用遞迴撰寫一個類別方法,此方法能夠將一個字串內的某個字元移除。 程式執行時,顯示【Input a string: 】要求輸入字串。 輸入完畢,顯示【Input a character: 】要求輸入「欲移除」的字元。 連續執行兩次,結果參考如下頁,將字元從字串中移除。

第四類:409-遞迴字串移除 Input a string: java se6 Input a character: a jv se6 Input a string: computer Input a character: p comuter

第四類:410-遞迴字串替換 請使用遞迴撰寫一個類別方法,此方法能夠將一個字串內的某個字元換成另一個字元。例如輸入字串【windows】,將字串中 w 值替換成 g 值,輸出字串為【gindogs】。 程式執行時,顯示【Input a string: 】要求輸入字串,接續顯示【Input a character: 】要求輸入「被替換」的字元,最後顯示【Input another character: 】要求輸入替換字元。 請利用 replace()函數進行字串替換,顯示結果參考如下頁。

第四類:410-遞迴字串替換 Input a string: windows Input a character: w Input another character: g gindogs

第五類:501-陣列計算 請撰寫一程式,由鍵盤輸入 10 個整數,並存放到一陣列。 程式執行時,顯示如下頁 的參考畫面,顯示【請 輸入10個整數:】,並顯示 【第1個整數:】,要求輸入第1個整數 。 依序要求輸入第1個至第10個整數,顯示執行結果如下頁。 判斷輸入10個整數後,計算陣列中大於 60有幾個,這些大於60 的數值總合及平均值,顯示如下頁。

第五類:501-陣列計算 請輸入10個整數: 第1個整數:88 第2個整數:59 第3個整數:66 第4個整數:46 第5個整數:92 第6個整數:74 第7個整數:52 第8個整數:58 第9個整數:69 第10個整數:81 陣列中大於60的有6個 總合為470 平均值為78.33333333333333

第五類:502-浮點數計算 請撰寫一程式,由鍵盤輸入學生的人數,根據所輸入的學生人數,動態產生一個符合大小的浮點數陣列。 將所輸入的每位學生成績存放到陣列裡(不限制輸入的小數點位數)。 程式執行時,顯示【請輸入學生人數:】,要求輸入學生人數。 接續要求輸入第1個至第n個學生的成績,n是剛才所輸入的學生人數。 計算出人數、總分及平均值(不限制小數點位數),顯示執行結果如下頁畫面。

第五類:502-浮點數計算 請輸入學生人數:5 第1個學生的成績:81.24 第2個學生的成績:56.14 第3個學生的成績:92.84 第4個學生的成績:42.96 第5個學生的成績:64.37 人數:5 總分:337.55 平均:67.509995

第五類:503-矩陣之和 試撰寫一個函數,此函數可用來計算矩陣 A 與 B 的和,使「矩陣之和」程式正常執行。 int A[][] = {{1, 2, 3}, {4, 5, 6}}; int B[][] = {{7, 8, 9}, {10, 11, 12}}; 計算矩陣 A 與 B 的和,並把相加後的結果放在矩陣 C 裡。 顯示執行結果如下頁。

第五類:503-矩陣之和 陣列A的內容為(2x3): 01 02 03 04 05 06 陣列B的內容為(2x3): 07 08 09 10 11 12 陣列A+B=C,陣列C的內容為(3x3): 08 10 12 14 16 18

第五類:504-費氏數 費氏數(Fibonacci sequence)可使用於建築設計,費氏數列為0、1、1、2、3、5、8、13、21、34、55、...,第一個數為0,第二個數為1,其它的數為前面兩個數的和。 請用陣列方式寫出費氏數0、1、1、2、3、5、8、13、21、34 的程式。 請事先宣告一個大小為10個整數陣列,將最前面二個陣列指定費氏數的初始值,並利用初始值來計算其餘的費氏數。 以分行方式,顯示此費氏數的前10個數值如下頁。

第五類:504-費氏數 1 2 3 5 8 13 21 34

第五類:505-反轉陣列 程式內有一陣列{“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”}。 請用陣列方式寫出反轉陣列的程式,顯示{“J”, “I”, “H”, “G”, “F”, “E”, “D”, “C”, “B”, “A”}。 執行結果如下頁。

第五類:505-反轉陣列 反轉陣列資料之前: A B C D E F G H I J 反轉陣列資料之後: J I H G F E D C B A

第五類:506-三維陣列元素之和 設陣列 A 的維度為 4×2×3,試在程式碼裡宣告此一陣列,並在宣告同時設定初值,然後計算陣列 A 內所有元素的總和(SUM)。 int A[4][2][3]={{{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}}, {{13,14,15},{16,17,18}}, {{19,20,21},{22,23,24}}}; 執行結果如下頁所顯示。

第五類:506-三維陣列元素之和 sum = 300

第五類:507-停車費用計算 請用陣列方式寫出停車費用計算的程式。 假設停車時段分為: a. 2小時以內(含2小時),每小時以30元計算。 b. 2小時以上不足4小時,每小時以50元計算。 c. 4小時以上不足6小時,每小時以80元計算。 d. 6小時以上,每小時以100元計算。 請輸入停車時數並計算出停車費用,分別計算2小時、3小時、5小時及8小時的應繳費用,顯示結果如下頁 。

第五類:507-停車費用計算 停車時數:2小時 應繳費用:60元整 -------------------- 停車時數:3小時 應繳費用:110元整 停車時數:5小時 應繳費用:240元整 停車時數:8小時 應繳費用:520元整

第五類:508-泡泡排序法 請使用泡泡排序法(Bubble Sort)撰寫程式。 程式內有一資料陣列{2, 4, 3, 5, 7, 6, 9, 1}。 請輸出泡泡排序法的比對過程。 執行結果如下頁所顯示。

第五類:508-泡泡排序法 2 3 4 5 6 7 1 2 3 4 5 6 1 7 2 3 4 5 1 6 7 2 3 4 1 5 6 7 2 3 1 4 5 6 7 2 1 3 4 5 6 7 1 2 3 4 5 6 7

第五類:509-選擇排序法 請使用選擇排序法(Selection Sort)撰寫程式。 程式內有一資料陣列{1, 3, 2, 5, 4, 6}。 請輸出選擇排序法的比對過程。 執行結果如下頁所顯示。

第五類:509-選擇排序法 1 3 2 5 4 6 1 2 3 5 4 6 1 2 3 4 5 6

第五類:510-二分搜尋法 程式內有已排序資料{5, 9, 13, 15, 17, 19, 25, 30, 45},請使用二分搜尋法尋找輸入的資料。 程式連續執行兩次,於程式執行時,如下頁所示,顯示【請輸入要找尋的資料:】要求輸入欲尋找的資料n。 若沒有搜尋到相符的數值,顯示【n不在陣列中】,將欲尋找的資料代入n,如下頁所示。 尋找時,列出尋找區間及此區間的中間值,搜尋幾次就列出幾項,最後產出【經過 y 次的尋找】, y代入搜尋次數;若有搜尋到相符的數值,值位在陣列中的第幾個位置,如下頁所示。

第五類:510-二分搜尋法 請輸入要找尋的資料:2 尋找區間:0(5)..8(45),中間:4(17) 尋找區間:0(5)..3(15),中間:1(9) 尋找區間:0(5)..0(5),中間:0(5) 經過 3 次的尋找 2不在陣列中 請輸入要找尋的資料:30 尋找區間:5(19)..8(45),中間:6(25) 尋找區間:7(30)..8(45),中間:7(30) 您要找的資料在陣列中的第7個位置