"課程:程式設計" 修訂間的差異
(→c++考題清單) |
(→c++考題清單) |
||
行 279: | 行 279: | ||
=繼承與覆寫== | =繼承與覆寫== | ||
=程式觀念考題破解中心= | =程式觀念考題破解中心= | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Navbox | {{Navbox | ||
|name = C++考題 | |name = C++考題 | ||
行 332: | 行 319: | ||
*[[SCJP 1.6版考題 025|025]] | *[[SCJP 1.6版考題 025|025]] | ||
*[[SCJP 1.6版考題 026|026]] | *[[SCJP 1.6版考題 026|026]] | ||
− | |||
*[[SCJP 1.6版考題 027|027]] | *[[SCJP 1.6版考題 027|027]] | ||
*[[SCJP 1.6版考題 028|028]] | *[[SCJP 1.6版考題 028|028]] | ||
行 398: | 行 384: | ||
*[[SCJP 1.6版考題 087|087]] | *[[SCJP 1.6版考題 087|087]] | ||
*[[SCJP 1.6版考題 088|088]] | *[[SCJP 1.6版考題 088|088]] | ||
− | |||
*[[SCJP 1.6版考題 090|090]] | *[[SCJP 1.6版考題 090|090]] | ||
*[[SCJP 1.6版考題 091|091]] | *[[SCJP 1.6版考題 091|091]] | ||
行 410: | 行 395: | ||
*[[SCJP 1.6版考題 099|099]] | *[[SCJP 1.6版考題 099|099]] | ||
*[[SCJP 1.6版考題 100|100]] | *[[SCJP 1.6版考題 100|100]] | ||
− | |||
*[[SCJP 1.6版考題 101|101]] | *[[SCJP 1.6版考題 101|101]] | ||
*[[SCJP 1.6版考題 102|102]] | *[[SCJP 1.6版考題 102|102]] | ||
行 426: | 行 410: | ||
*[[SCJP 1.6版考題 114|114]] | *[[SCJP 1.6版考題 114|114]] | ||
*[[SCJP 1.6版考題 115|115]] | *[[SCJP 1.6版考題 115|115]] | ||
− | |||
*[[SCJP 1.6版考題 116|116]] | *[[SCJP 1.6版考題 116|116]] | ||
*[[SCJP 1.6版考題 117|117]] | *[[SCJP 1.6版考題 117|117]] | ||
行 442: | 行 425: | ||
*[[SCJP 1.6版考題 188|188]] | *[[SCJP 1.6版考題 188|188]] | ||
*[[SCJP 1.6版考題 189|189]] | *[[SCJP 1.6版考題 189|189]] | ||
− | |||
*[[SCJP 1.6版考題 190|190]] | *[[SCJP 1.6版考題 190|190]] | ||
*[[SCJP 1.6版考題 191|191]] | *[[SCJP 1.6版考題 191|191]] | ||
行 458: | 行 440: | ||
*[[SCJP 1.6版考題 203|203]] | *[[SCJP 1.6版考題 203|203]] | ||
*[[SCJP 1.6版考題 204|204]] | *[[SCJP 1.6版考題 204|204]] | ||
− | |||
*[[SCJP 1.6版考題 205|205]] | *[[SCJP 1.6版考題 205|205]] | ||
*[[SCJP 1.6版考題 206|206]] | *[[SCJP 1.6版考題 206|206]] | ||
行 543: | 行 524: | ||
*[[SCJP 1.6版考題 155|155]] | *[[SCJP 1.6版考題 155|155]] | ||
*[[SCJP 1.6版考題 156|156]] | *[[SCJP 1.6版考題 156|156]] | ||
− | |||
*[[SCJP 1.6版考題 157|157]] | *[[SCJP 1.6版考題 157|157]] | ||
*[[SCJP 1.6版考題 158|158]] | *[[SCJP 1.6版考題 158|158]] | ||
行 559: | 行 539: | ||
*[[SCJP 1.6版考題 170|170]] | *[[SCJP 1.6版考題 170|170]] | ||
*[[SCJP 1.6版考題 171|171]] | *[[SCJP 1.6版考題 171|171]] | ||
− | |||
*[[SCJP 1.6版考題 172|172]] | *[[SCJP 1.6版考題 172|172]] | ||
*[[SCJP 1.6版考題 176|176]] | *[[SCJP 1.6版考題 176|176]] | ||
行 572: | 行 551: | ||
*[[SCJP 1.6版考題 222|222]] | *[[SCJP 1.6版考題 222|222]] | ||
*[[SCJP 1.6版考題 223|223]] | *[[SCJP 1.6版考題 223|223]] | ||
− | |||
*[[SCJP 1.6版考題 224|224]] | *[[SCJP 1.6版考題 224|224]] | ||
*[[SCJP 1.6版考題 234|234]] | *[[SCJP 1.6版考題 234|234]] |
於 2013年3月18日 (一) 03:26 的修訂
- 成績冊 日資一乙
- 課程投影片
- 原課程網址(參考)
- 程式設計課程臉書社團
目錄
課程大綱
電腦被廣泛地應用在各行各業,從科學、商業、個人、學習等都可看到各式各樣的程式(在行動裝置上程式被稱作App),學習程式撰寫在於學習程式語言工具如何被用來解決各領域的問題,本章列出所有的問題,分析問題,並且告知可用何種程式語言元素來解決,透過連結來存取解決問題所需程式元素的說明,建立起該程式元素的應用技巧與知識。
課程簡介
使學生熟悉結構化之程式語言並學習設計C++程式之過程以建立C++程式設計之能力。
教學目標
- 熟悉結構化之程式語言
- 學習設計程式之過程
- 建立程式設計之能力
- 培養學生操作電腦之能力
- 利於學生獲得相關證照之取得
- 增加學生對程式設計之興趣
- 激發學生利用程式設計之能力輔助日後相關課程之學習
指定書目
快速掌握C++程式設計, 文淵閣工作室編著, 文魁行銷股份有限公司, ISBN-13:978-986-620-612-2 。
參考書目/資料
程式設計電腦輔助學習教材(上網學習)
教學進度
第 1 週 (02/19-02/24) 學期進度說明、評分方式,前學期課程回顧
第 2 週 (02/25-03/03) 變數型態及範圍
第 3 週 (03/04-03/10) 指標變數與傳址呼叫
第 4 週 (03/11-03/17) 遞迴
第 5 週 (03/18-03/24) 結構與同位-1
第 6 週 (03/25-03/31) 結構與同位-2
第 7 週 (04/01-04/07) 檔案輸入與輸出-1
第 8 週 (04/08-04/14) 檔案輸入與輸出-2
第 9 週 (04/15-04/21) 期中考試(筆試與上機考試)
第10週 (04/22-04/28) 檔案輸入與輸出-3
第11週 (04/29-05/05) 檔案輸入與輸出-4
第12週 (05/06-05/12) 應用程式設計-成績檔輸入、統計、報表、成績檔輸出
第13週 (05/13-05/19) 應用程式設計-成績檔輸入、統計、報表、成績檔輸出
第14週 (05/20-05/26) 物件導向程式設計基礎-類別與物件
第15週 (05/27-06/02) 物件導向程式設計基礎-類別與物件
第16週 (06/03-06/09) 物件導向程式設計基礎-繼承
第17週 (06/10-06/16) 物件導向程式設計基礎-多重繼承
第18週 (06/17-06/23) 期末考試(包括筆試與上機考試)
評分方法
- 平常成績 30% (到課率、作業、小考等)
- 期中考 30%
- 期末考 40%
程式問題解決中心 (Problem Solving Center)
基本與數學問題
因數的判斷(易)
問題:求一數f是否為某數N的因數,也就是說,f是否能整除N。 做法:整除的判斷即檢查N被f除後,餘數是否為0。在C/C++中,求餘數的運算子為%。 程式範例解答 #include <iostream> using namespace std; void main(){ float f, N; cout<<"請輸入N(被除數)與f(除數)" cin>>f >> n; if(N%f == 0){ cout<< cout << f << "可整除" << N << endl; } system("pause"); }
閏年的判斷(易)
問題:公元年哪時候二月會閏月? 做法:判斷y是否被400整除,可以被4整除不被100整除。 程式範例解答
- include <iostream>
using namespace std; void main(){ int year; cout<<"請輸入年份" cin>>year; if(year%=400==0)||(year%4==0&&year%100!=0){ cout<< "西元" << year << "年是閏年" << endl; } else{ cout<< "西元" << year << "年是閏年" << endl; } system("pause"); }
質數的判斷(中)
問題:一數N若為質數,N的因數僅有1與本身數N,也就是說若2~(N-1)中有N之因數(可整除N),那麼N即不是質數。 做法: 1.使用一個布林變數isPrime,初值為true(此布林變數表示N是否為質數,程式一開始先認定N為質數) (迴圈開始) 2.使用一迴圈敘述,使用迭代變數i,下限值為2,上限值為N-1,若i可整除N,設定isPrime為false,跳出迴圈 (迴圈結束) 3.判斷isPrime為true輸出N為"質數",否則,輸出輸出N為"不是質數"。 程式範例解答
- include <iostream>
using namespace std; void main(){ int N = 11; int i = 2; bool isPrime = true; while (i <= N-1 && isPrime){ if (N % i == 0) { isPrime = false; break; } i++; } if (isPrime){ cout << "是質數"; } else { cout << "不是質數"; } system("pause"); }
質因數(中+)
問題:印出一數N的質因數 做法: 判斷2~(N-1)是否為N的因數,並且是否為質數 (i迴圈開始) 1.使用一迴圈敘述,使用迭代變數i,下限值為2,上限值為N-1,i若能整除N,則 (j迴圈開始) 1.1 使用一個布林變數isPrime,初值為true(此布林變數表示N是否為質數,程式一開始先認定N為質數) 1.2 使用一迴圈敘述,使用迭代變數j,下限值為2,上限值為i-1,若j可整除i,設定isPrime為false,跳出j迴圈 (j迴圈結束) 1.3 若isPrime為tru則輸出j (i迴圈結束) 2.結束 程式範例解答 #include <iostream> using namespace std; void main(void){ int n; cout<<"請輸入"; cin>>n; for(int i=2;i<= n-1;i++ ){ if(n%i==0){ bool Isprime=true; for(int j=2;j<=i-1&& Isprime;j++){ if(i%j==0){ Isprime=false; break; } } if (Isprime){ cout<<i<<endl; } } } system("pause"); }
求一數的次方(易/中)
問題:n的p次方 = 將n自乘p次。 迴圈解步驟: 1. 宣告一浮點數 powerOfn = 1 2. 使用一個迴圈跑p次,powerOfn = powerOfn*n; (若p為負數,取其絕對值,也就是將p乘-1,可用stdlib裏的abs函式) 3. 若p是負數,則powerOfn = 1/powerOfn; 4. 印出powerOfn 遞迴解 ‧ 請看下面程式範例解答,追蹤一次。(請參考用遞迴做到迴圈效果的說明。) 程式範例解答
- include <cstdlib>
- include <iostream>
- include <stdlib.h> //為了使用abs取絕對值函式
using namespace std; float base_power(float b,int p) {
if(p==0) return 1; else if (p>0) return base_power(b,p-1)*b; else return base_power(b,p+1)/b;
} float bp(float b, int p) { float r=1.0; for (int i = 1; i <= abs(p); i++) r *= b; if (p < 0) r = 1/r; return r; } void main(int argc, char *argv[]) { int base,power,result; cout<<"請輸入base值"; cin>>base; cout<<"請輸入power值"; cin>>power; cout << base_power(base, power); system("PAUSE"); }
完全數(中)
公因數(中)
公倍數(中)
費式級數(中)
九九乘法表(中)
魔方陣(中++)
巴斯卡三角形(中++)
河內塔(難)
字串操作
長度計算
尋找字元
字串串接
取子字串
字串反轉
==字元出現次數統計
資料分級
考試分數
溫度
風速
資料排序
氣泡排序法
插入排序法
資料統計
成績總分
成績報表
銷售/生產統計
銷售/生產報表
商業應用
找零程式
各式時刻表
月曆
檢查碼的計算與驗證-身份證為例
成績報表
程式設計概念
電腦與程式
程式語言
程式執行環境
程式整合開發工具
程式基礎
輸出入敘述
變數與資料型態
程式敘述與運算子
選擇與判斷敘述
重覆敘述
格式化輸出敘述
陣列
字元與字串
函式與公用函式(一)
程式進階
函式-遞迴呼叫與公用函式(二)
指標與位址
指標與字串
指標與二維陣列
結構
物件導向程式設計基礎
物件與類別
方法多載
繼承與覆寫=
程式觀念考題破解中心
|