"課程:程式設計" 修訂間的差異

出自 陳富國維基館
前往: 導覽搜尋
(因數的判斷(易))
(c++考題清單)
行 281: 行 281:
 
=c++考題清單=
 
=c++考題清單=
 
基本程式語法
 
基本程式語法
決策程式語法
+
 
 
迴圈
 
迴圈
 
呼叫/遞迴
 
呼叫/遞迴
行 292: 行 292:
 
01 02 03 04 05 06
 
01 02 03 04 05 06
 
07 08 09 10 11 12
 
07 08 09 10 11 12
 +
{{Navbox
 +
|name = C++考題
 +
|border = {{{border|{{{1|}}}}}}
 +
|state = {{{state|}}}
 +
|titlestyle = background:#ccf;
 +
|listclass = hlist
 +
|title  = '''SCJP 1.6版考題講解清單'''
 +
|group1 = '''基本程式語言'''
 +
|list1 =
 +
*[[SCJP 1.6版考題 001| 001]]
 +
*[[SCJP 1.6版考題 002|002]]
 +
*[[SCJP 1.6版考題 003|003]]
 +
*[[SCJP 1.6版考題 004|004]]
 +
*[[SCJP 1.6版考題 005|005]]
 +
*[[SCJP 1.6版考題 006|006]]
 +
*[[SCJP 1.6版考題 007|007]]
 +
*[[SCJP 1.6版考題 008|008]]
 +
*[[SCJP 1.6版考題 009|009]]
 +
*[[SCJP 1.6版考題 010|010]]
 +
*[[SCJP 1.6版考題 011|011]]
 +
*[[SCJP 1.6版考題 119|119]]
 +
 +
 +
|group2 = '''決策程式語法'''
 +
|list2 =
 +
*[[SCJP 1.6版考題 012|012]]
 +
*[[SCJP 1.6版考題 013|013]]
 +
*[[SCJP 1.6版考題 014|014]]
 +
*[[SCJP 1.6版考題 015|015]]
 +
*[[SCJP 1.6版考題 016|016]]
 +
*[[SCJP 1.6版考題 017|017]]
 +
*[[SCJP 1.6版考題 018|018]]
 +
*[[SCJP 1.6版考題 019|019]]
 +
*[[SCJP 1.6版考題 020|020]]
 +
*[[SCJP 1.6版考題 021|021]]
 +
*[[SCJP 1.6版考題 022|022]]
 +
*[[SCJP 1.6版考題 023|023]]
 +
*[[SCJP 1.6版考題 024|024]]
 +
*[[SCJP 1.6版考題 025|025]]
 +
*[[SCJP 1.6版考題 026|026]]
 +
<hr>
 +
*[[SCJP 1.6版考題 027|027]]
 +
*[[SCJP 1.6版考題 028|028]]
 +
*[[SCJP 1.6版考題 029|029]]
 +
*[[SCJP 1.6版考題 030|030]]
 +
*[[SCJP 1.6版考題 031|031]]
 +
*[[SCJP 1.6版考題 032|032]]
 +
*[[SCJP 1.6版考題 033|033]]
 +
*[[SCJP 1.6版考題 034|034]]
 +
*[[SCJP 1.6版考題 035|035]]
 +
*[[SCJP 1.6版考題 036|036]]
 +
*[[SCJP 1.6版考題 037|037]]
 +
*[[SCJP 1.6版考題 038|038]]
 +
*[[SCJP 1.6版考題 039|039]]
 +
*[[SCJP 1.6版考題 042|042]]
 +
*[[SCJP 1.6版考題 043|043]]
 +
<hr>
 +
*[[SCJP 1.6版考題 044|044]]
 +
*[[SCJP 1.6版考題 045|045]]
 +
*[[SCJP 1.6版考題 046|046]]
 +
*[[SCJP 1.6版考題 047|047]]
 +
*[[SCJP 1.6版考題 048|048]]
 +
*[[SCJP 1.6版考題 049|049]]
 +
*[[SCJP 1.6版考題 050|050]]
 +
*[[SCJP 1.6版考題 051|051]]
 +
*[[SCJP 1.6版考題 052|052]]
 +
*[[SCJP 1.6版考題 053|053]]
 +
*[[SCJP 1.6版考題 067|067]]
 +
*[[SCJP 1.6版考題 073|073]]
 +
*[[SCJP 1.6版考題 074|074]]
 +
*[[SCJP 1.6版考題 075|075]]
 +
 +
 +
|group3 = '''迴圈/重複敘述'''
 +
|list3 =
 +
*[[SCJP 1.6版考題 040|040]]
 +
*[[SCJP 1.6版考題 041|041]]
 +
*[[SCJP 1.6版考題 054|054]]
 +
*[[SCJP 1.6版考題 055|055]]
 +
*[[SCJP 1.6版考題 056|056]]
 +
*[[SCJP 1.6版考題 057|057]]
 +
*[[SCJP 1.6版考題 058|058]]
 +
*[[SCJP 1.6版考題 059|059]]
 +
*[[SCJP 1.6版考題 060|060]]
 +
*[[SCJP 1.6版考題 061|061]]
 +
*[[SCJP 1.6版考題 062|062]]
 +
*[[SCJP 1.6版考題 063|063]]
 +
*[[SCJP 1.6版考題 064|064]]
 +
*[[SCJP 1.6版考題 065|065]]
 +
*[[SCJP 1.6版考題 066|066]]
 +
<hr>
 +
*[[SCJP 1.6版考題 068|068]]
 +
*[[SCJP 1.6版考題 069|069]]
 +
*[[SCJP 1.6版考題 070|070]]
 +
*[[SCJP 1.6版考題 071|071]]
 +
*[[SCJP 1.6版考題 072|072]]
 +
*[[SCJP 1.6版考題 076|076]]
 +
*[[SCJP 1.6版考題 077|077]]
 +
*[[SCJP 1.6版考題 078|078]]
 +
*[[SCJP 1.6版考題 079|079]]
 +
*[[SCJP 1.6版考題 080|080]]
 +
*[[SCJP 1.6版考題 084|084]]
 +
*[[SCJP 1.6版考題 085|085]]
 +
*[[SCJP 1.6版考題 086|086]]
 +
*[[SCJP 1.6版考題 087|087]]
 +
*[[SCJP 1.6版考題 088|088]]
 +
<hr>
 +
*[[SCJP 1.6版考題 090|090]]
 +
*[[SCJP 1.6版考題 091|091]]
 +
*[[SCJP 1.6版考題 092|092]]
 +
*[[SCJP 1.6版考題 093|093]]
 +
*[[SCJP 1.6版考題 094|094]]
 +
*[[SCJP 1.6版考題 095|095]]
 +
*[[SCJP 1.6版考題 096|096]]
 +
*[[SCJP 1.6版考題 097|097]]
 +
*[[SCJP 1.6版考題 098|098]]
 +
*[[SCJP 1.6版考題 099|099]]
 +
*[[SCJP 1.6版考題 100|100]]
 +
<hr>
 +
*[[SCJP 1.6版考題 101|101]]
 +
*[[SCJP 1.6版考題 102|102]]
 +
*[[SCJP 1.6版考題 103|103]]
 +
*[[SCJP 1.6版考題 104|104]]
 +
*[[SCJP 1.6版考題 105|105]]
 +
*[[SCJP 1.6版考題 106|106]]
 +
*[[SCJP 1.6版考題 107|107]]
 +
*[[SCJP 1.6版考題 108|108]]
 +
*[[SCJP 1.6版考題 109|109]]
 +
*[[SCJP 1.6版考題 110|110]]
 +
*[[SCJP 1.6版考題 111|111]]
 +
*[[SCJP 1.6版考題 112|112]]
 +
*[[SCJP 1.6版考題 113|113]]
 +
*[[SCJP 1.6版考題 114|114]]
 +
*[[SCJP 1.6版考題 115|115]]
 +
<hr>
 +
*[[SCJP 1.6版考題 116|116]]
 +
*[[SCJP 1.6版考題 117|117]]
 +
*[[SCJP 1.6版考題 118|118]]
 +
*[[SCJP 1.6版考題 120|120]]
 +
*[[SCJP 1.6版考題 122|122]]
 +
*[[SCJP 1.6版考題 180|180]]
 +
*[[SCJP 1.6版考題 181|181]]
 +
*[[SCJP 1.6版考題 182|182]]
 +
*[[SCJP 1.6版考題 183|183]]
 +
*[[SCJP 1.6版考題 184|184]]
 +
*[[SCJP 1.6版考題 185|185]]
 +
*[[SCJP 1.6版考題 186|186]]
 +
*[[SCJP 1.6版考題 187|187]]
 +
*[[SCJP 1.6版考題 188|188]]
 +
*[[SCJP 1.6版考題 189|189]]
 +
<hr>
 +
*[[SCJP 1.6版考題 190|190]]
 +
*[[SCJP 1.6版考題 191|191]]
 +
*[[SCJP 1.6版考題 192|192]]
 +
*[[SCJP 1.6版考題 193|193]]
 +
*[[SCJP 1.6版考題 194|194]]
 +
*[[SCJP 1.6版考題 195|195]]
 +
*[[SCJP 1.6版考題 196|196]]
 +
*[[SCJP 1.6版考題 197|197]]
 +
*[[SCJP 1.6版考題 198|198]]
 +
*[[SCJP 1.6版考題 199|199]]
 +
*[[SCJP 1.6版考題 200|200]]
 +
*[[SCJP 1.6版考題 201|201]]
 +
*[[SCJP 1.6版考題 202|202]]
 +
*[[SCJP 1.6版考題 203|203]]
 +
*[[SCJP 1.6版考題 204|204]]
 +
 +
*[[SCJP 1.6版考題 205|205]]
 +
*[[SCJP 1.6版考題 206|206]]
 +
*[[SCJP 1.6版考題 207|207]]
 +
*[[SCJP 1.6版考題 208|208]]
 +
*[[SCJP 1.6版考題 209|209]]
 +
*[[SCJP 1.6版考題 210|210]]
 +
*[[SCJP 1.6版考題 211|211]]
 +
*[[SCJP 1.6版考題 212|212]]
 +
*[[SCJP 1.6版考題 213|213]]
 +
*[[SCJP 1.6版考題 214|214]]
 +
*[[SCJP 1.6版考題 215|215]]
 +
*[[SCJP 1.6版考題 216|216]]
 +
*[[SCJP 1.6版考題 217|217]]
 +
 +
 +
|group4 = '''副程式呼叫與遞迴'''
 +
|list4 =
 +
*[[SCJP 1.6版考題 123|123]]
 +
*[[SCJP 1.6版考題 124|124]]
 +
*[[SCJP 1.6版考題 125|125]]
 +
*[[SCJP 1.6版考題 126|126]]
 +
*[[SCJP 1.6版考題 127|127]]
 +
*[[SCJP 1.6版考題 128|128]]
 +
*[[SCJP 1.6版考題 129|129]]
 +
*[[SCJP 1.6版考題 130|130]]
 +
*[[SCJP 1.6版考題 131|131]]
 +
*[[SCJP 1.6版考題 132|132]]
 +
*[[SCJP 1.6版考題 133|133]]
 +
*[[SCJP 1.6版考題 134|134]]
 +
*[[SCJP 1.6版考題 135|135]]
 +
*[[SCJP 1.6版考題 136|136]]
 +
*[[SCJP 1.6版考題 137|137]]
 +
 +
*[[SCJP 1.6版考題 138|138]]
 +
*[[SCJP 1.6版考題 139|139]]
 +
*[[SCJP 1.6版考題 140|140]]
 +
*[[SCJP 1.6版考題 141|141]]
 +
 +
 +
|group5 = '''物件導向-類別與物件'''
 +
|list5 =
 +
*[[SCJP 1.6版考題 218|218]]
 +
*[[SCJP 1.6版考題 219|219]]
 +
*[[SCJP 1.6版考題 220|220]]
 +
*[[SCJP 1.6版考題 221|221]]
 +
*[[SCJP 1.6版考題 223|223]]
 +
*[[SCJP 1.6版考題 224|224]]
 +
*[[SCJP 1.6版考題 226|226]]
 +
*[[SCJP 1.6版考題 227|227]]
 +
*[[SCJP 1.6版考題 228|228]]
 +
*[[SCJP 1.6版考題 229|229]]
 +
*[[SCJP 1.6版考題 230|230]]
 +
*[[SCJP 1.6版考題 231|231]]
 +
*[[SCJP 1.6版考題 232|232]]
 +
*[[SCJP 1.6版考題 233|233]]
 +
<hr>
 +
*[[SCJP 1.6版考題 234|234]]
 +
*[[SCJP 1.6版考題 235|235]]
 +
*[[SCJP 1.6版考題 236|236]]
 +
*[[SCJP 1.6版考題 237|237]]
 +
*[[SCJP 1.6版考題 238|238]]
 +
*[[SCJP 1.6版考題 239|239]]
 +
*[[SCJP 1.6版考題 240|240]]
 +
*[[SCJP 1.6版考題 243|243]]
 +
*[[SCJP 1.6版考題 244|244]]
 +
 +
 +
|group6 = '''其他'''
 +
|list6 =
 +
*[[SCJP 1.6版考題 142|142]]
 +
*[[SCJP 1.6版考題 143|143]]
 +
*[[SCJP 1.6版考題 144|144]]
 +
*[[SCJP 1.6版考題 145|145]]
 +
*[[SCJP 1.6版考題 146|146]]
 +
*[[SCJP 1.6版考題 147|147]]
 +
*[[SCJP 1.6版考題 148|148]]
 +
*[[SCJP 1.6版考題 149|149]]
 +
*[[SCJP 1.6版考題 150|150]]
 +
*[[SCJP 1.6版考題 151|151]]
 +
*[[SCJP 1.6版考題 152|152]]
 +
*[[SCJP 1.6版考題 153|153]]
 +
*[[SCJP 1.6版考題 154|154]]
 +
*[[SCJP 1.6版考題 155|155]]
 +
*[[SCJP 1.6版考題 156|156]]
 +
<hr>
 +
*[[SCJP 1.6版考題 157|157]]
 +
*[[SCJP 1.6版考題 158|158]]
 +
*[[SCJP 1.6版考題 159|159]]
 +
*[[SCJP 1.6版考題 160|160]]
 +
*[[SCJP 1.6版考題 161|161]]
 +
*[[SCJP 1.6版考題 162|162]]
 +
*[[SCJP 1.6版考題 163|163]]
 +
*[[SCJP 1.6版考題 164|164]]
 +
*[[SCJP 1.6版考題 165|165]]
 +
*[[SCJP 1.6版考題 166|166]]
 +
*[[SCJP 1.6版考題 167|167]]
 +
*[[SCJP 1.6版考題 168|168]]
 +
*[[SCJP 1.6版考題 169|169]]
 +
*[[SCJP 1.6版考題 170|170]]
 +
*[[SCJP 1.6版考題 171|171]]
 +
<hr>
 +
*[[SCJP 1.6版考題 172|172]]
 +
*[[SCJP 1.6版考題 176|176]]
 +
*[[SCJP 1.6版考題 177|177]]
 +
*[[SCJP 1.6版考題 178|178]]
 +
*[[SCJP 1.6版考題 205|205]]
 +
*[[SCJP 1.6版考題 214|214]]
 +
*[[SCJP 1.6版考題 218|218]]
 +
*[[SCJP 1.6版考題 219|219]]
 +
*[[SCJP 1.6版考題 220|220]]
 +
*[[SCJP 1.6版考題 221|221]]
 +
*[[SCJP 1.6版考題 222|222]]
 +
*[[SCJP 1.6版考題 223|223]]
 +
<hr>
 +
*[[SCJP 1.6版考題 224|224]]
 +
*[[SCJP 1.6版考題 234|234]]
 +
*[[SCJP 1.6版考題 235|235]]
 +
*[[SCJP 1.6版考題 236|236]]
 +
*[[SCJP 1.6版考題 237|237]]
 +
 +
}}

於 2013年3月18日 (一) 03:25 的修訂

目錄

課程大綱

電腦被廣泛地應用在各行各業,從科學、商業、個人、學習等都可看到各式各樣的程式(在行動裝置上程式被稱作App),學習程式撰寫在於學習程式語言工具如何被用來解決各領域的問題,本章列出所有的問題,分析問題,並且告知可用何種程式語言元素來解決,透過連結來存取解決問題所需程式元素的說明,建立起該程式元素的應用技巧與知識。

課程簡介

使學生熟悉結構化之程式語言並學習設計C++程式之過程以建立C++程式設計之能力。

教學目標

  1. 熟悉結構化之程式語言
  2. 學習設計程式之過程
  3. 建立程式設計之能力
  4. 培養學生操作電腦之能力
  5. 利於學生獲得相關證照之取得
  6. 增加學生對程式設計之興趣
  7. 激發學生利用程式設計之能力輔助日後相關課程之學習

指定書目

快速掌握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整除。 程式範例解答

  1. 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為"不是質數"。 程式範例解答

  1. 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 遞迴解 ‧ 請看下面程式範例解答,追蹤一次。(請參考用遞迴做到迴圈效果的說明。) 程式範例解答

  1. include <cstdlib>
  2. include <iostream>
  3. 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"); }

完全數(中)

公因數(中)

公倍數(中)

費式級數(中)

九九乘法表(中)

魔方陣(中++)

巴斯卡三角形(中++)

河內塔(難)

字串操作

長度計算

尋找字元

字串串接

取子字串

字串反轉

==字元出現次數統計

資料分級

考試分數

溫度

風速

資料排序

氣泡排序法

插入排序法

資料統計

成績總分

成績報表

銷售/生產統計

銷售/生產報表

商業應用

找零程式

各式時刻表

月曆

檢查碼的計算與驗證-身份證為例

成績報表

程式設計概念

電腦與程式

程式語言

程式執行環境

程式整合開發工具

程式基礎

輸出入敘述

變數與資料型態

程式敘述與運算子

選擇與判斷敘述

重覆敘述

格式化輸出敘述

陣列

字元與字串

函式與公用函式(一)

程式進階

函式-遞迴呼叫與公用函式(二)

指標與位址

指標與字串

指標與二維陣列

結構

物件導向程式設計基礎

物件與類別

方法多載

繼承與覆寫=

程式觀念考題破解中心

c++考題清單

基本程式語法

迴圈 呼叫/遞迴 01 02 03 04 05 06 07 08 09 10 11 12 01 02 03 04 05 06 07 08 09 10 11 12 01 02 03 04 05 06 07 08 09 10 11 12 01 02 03 04 05 06 07 08 09 10 11 12