Pandoc 是一個強大的 Haskell 程式庫與命令列工具,用於在多種標記語言格式之間進行文件轉換,例如 Markdown、HTML、LaTeX 和 Word docx 等。它的設計是模組化的,透過「讀取器」(readers)將文本解析為抽象語法樹(AST),再由「寫入器」(writers)將 AST 轉換為目標格式。
2025年7月11日 星期五
2025年7月10日 星期四
robocopy
robocopy
是 Windows 內建的高效能檔案拷貝工具,全名為 Robust File Copy,適用於大量資料搬移與同步用途,特別在處理:
大量小檔案
巨大資料夾
網路傳輸
自動化備份
參數 | 中文說明 | 用途 |
---|---|---|
%SRC% |
資料來源路徑變數 | 例如:D:\MyData |
%DEST% |
資料目的地路徑變數 | 例如:\\192.168.0.2\SharedFolder |
/MIR |
Mirror(鏡像)同步 | 將目的地變成跟來源一模一樣❗會刪除目的地中多餘檔案 |
/Z |
可中斷續傳 | 傳輸中斷(如網路掉線)可恢復接續拷貝 |
/W:1 |
每次失敗後等待 1 秒 | 遇錯重試前的等待秒數 |
/R:3 |
最多重試 3 次 | 檔案讀寫錯誤時最多嘗試幾次 |
/LOG:log.txt |
將日誌寫入 log.txt 檔案 | 可追蹤哪個檔案有成功/失敗 |
2025年6月25日 星期三
python 縮格練習
n =int(input())
s = list(range(n))
f = [int(i) for i in input().split()]
print(s)
print(f)
print()
print('正確')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤1')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤2')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤3')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
10
4 7 2 9 6 0 8 1 5 3
STDIN
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[4, 7, 2, 9, 6, 0, 8, 1, 5, 3]
Output:
正確
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
錯誤1
[0]
[0, 4]
[0, 4, 6]
[0, 4, 6, 8]
[0, 4, 6, 8, 5]
[1]
[1, 7]
[2]
[3]
[3, 9]
錯誤2
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
錯誤3
[3, 9]
2025年6月24日 星期二
小群體-拆解逐步完成版
ss = [0,1,2,3,4,5,6,7,8,9]
f = [4, 7, 2, 9, 6, 0, 8, 1, 5, 3]
# 1:找到第一群'
# g = []
# cur = 0
# while cur not in g:
# g.append(cur)
# cur = f[cur]
# print(g)
# 2:'找到每一群'
# for s in ss:
# g = []
# cur = s
# while cur not in g:
# g.append(cur)
# cur = f[cur]
# print(g)
# 3: '找到每一群,去重覆群'
# v = []
# for s in ss:
# g = []
# cur = s
# if s not in v:
# while cur not in g:
# g.append(cur)
# v.append(cur)
# cur = f[cur]
# print(g)
# 4: '找到每一群,去重覆群,算出共幾群'
v = []
gs = []
for s in ss:
g = []
cur = s
if s not in v:
while cur not in g:
g.append(cur)
v.append(cur)
cur = f[cur]
print(g)
gs.append(g)
print('共',len(gs),'群')
Output:
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
共 4 群
2025年6月20日 星期五
高中一年級新生準備 APCS準備計畫
1. 了解 APCS 的重要性與目標設定
- 升學優勢:APCS 成績已被多所大學(包含臺灣大學、清華大學、陽明交通大學、成功大學等頂尖大學的資工系)納入入學審查與甄選加分依據。參與 APCS 檢測並取得成績,能為學生在大學個人申請中,透過 APCS 組、資安組或特殊選才,大大增加進入理想資訊相關科系(如資工系、資管系)的競爭力與選擇。
- 目標設定:若以大學升學為導向,建議至少考取 APCS 實作三級,這在特殊選才中已有機會申請上國立後段資工系。若能達到實作四級,更有機會透過特殊選才錄取中字輩資工系。考量到大學資訊系課程的嚴謹度(例如,有教授可能當掉70%的學生),提前準備 APCS 有助於銜接大學課程。
2. 基礎程式能力建立(高中一年級上學期)
- 程式語言選擇:Python 是最推薦的入門語言。Python 語法簡潔、易讀性高,且是全球最受歡迎的程式語言,特別在人工智慧和資料科學領域廣泛應用。從 2025 年起,APCS 的「程式識讀」和「程式實作」都新增了 Python 語言選項,這意味著考生若熟悉 Python,便能應付所有模組的測驗。
- 學習內容:
- Python 基礎語法與觀念:學習變數、資料型態、運算子、輸入/輸出、條件判斷(選擇)和迴圈(重複)等程式流程控制。
- 常用容器:掌握列表(list)等資料結構的基本使用。
- 函式:了解函式的定義與呼叫,初步建立模組化概念。
3. 進階程式能力與解題思維(高中一年級下學期至二年級)
- 強化邏輯與問題解決能力:APCS 檢測旨在訓練學生的邏輯思維與問題解決能力。課程應培養學生「從拆解、分析,到解決複雜問題」的能力。
- 擴展程式語言能力:雖然主要學習 Python,但觀念題可能涉及 C/C++。因此,建議花時間學習「讀懂」C 語言,這有助於應對觀念題型。有些培訓課程會提供程式語法轉換的教學。
- 學習進階資料結構與演算法:這是 APCS 的核心考點。
- 基礎資料結構:深入學習佇列(queue)、堆疊(stack)、陣列(array)、字元(character)、字串(string)等。
- 基礎演算法:學習排序(sorting)、搜尋(searching,如二分搜尋 binary search、深度優先搜尋 DFS)等。
- 進階概念:函式、遞迴、樹狀圖(tree,如二元樹)、圖形(graph,如網格)、枚舉(enumeration)、資料遍歷(traversal)等。
- 高階演算法:對於目標高級的學生,還需學習動態規劃(dynamic programming)、分治法(divide and conquer)、貪心法則(greedy method)等。
4. 實戰演練與應試技巧(高中二年級至三年級)
- 考古題練習:充分利用 APCS 歷屆考古題庫進行實作練習,例如 Yui Huang 筆記中提供了從 2016 年到 2025 年的考古題。
- 模擬測驗:透過實作模擬檢定當時的狀況,加強學生記憶與應試能力。
- 題型分析與解題技巧:針對「程式識讀」的程式運行追蹤、填空、測試除錯、效能分析、計算邏輯解析,以及「程式實作」的撰寫完整程式或副程式等題型進行專項訓練,從技巧觀念、例題實作到挑戰題,由簡入難提升解題策略。
- 理解新制實作分級與報名策略:
- 從 2025 年起,「程式實作」改採等級制檢定,分為初級、中級、中高級、高級四個等級。
- 學生需根據自身目標級分,選擇對應的檢測等級報名。例如,若目標為三級分,可報考中高級(100-149 分)或中級(150-300 分)。若報考的測驗等級錯誤,即使獲得滿分也無法得到理想級分,因此務必注意選測等級的重要性。
5. APCS 考試時程規劃
- 考試頻率增加:自 2025 年起,APCS 檢定次數增加至每年 6 次,分別於 1 月、3 月、6 月、7 月、10 月、11 月舉辦,這提供了學生更大的考試彈性,可以根據學習進度安排應試時間。
- 科目報考時間:
- 程式識讀:每次檢測月份皆可報考,並有 C/C++ 或 Python 程式語言的檢測題目供選擇。
- 程式實作:不同等級舉辦月份不同,其中初級與中級舉辦月份較多(5 次),中高級為 3 次,高級為 2 次。
6. 綜合能力與視野提升
- 拓展科技視野:除了程式技術,應積極了解人工智慧、區塊鏈、5G、VR、AR、駭客思維、創新創業等最新的科技趨勢與思維模式。這不僅能開拓視野,也能在大學面試時與教授進行深入交流。
- 培養軟實力:除了學業,也建議高中生多探索不同科系領域,並參與球隊、興趣性社團等,培養運動習慣、社交能力和興趣。這些多元發展對於長遠人生和解決問題的能力都有助益。
2025 新制 APCS 重點整理
APCS(大學程式設計先修檢測)是由教育部指導、臺師大資工系執行的全國性程式設計檢定,主要評量高中職學生在邏輯推理、演算法思維與程式撰寫能力的表現,並成為各大學資訊相關科系參採的重要升學依據。目前已有超過 30 所大學、80 多個科系納入 APCS 成績,包括台大、清大、交大與成大等頂尖學校。
APCS 分為兩部分:程式識讀(筆試)與 程式實作(電腦上機)。2025 年起的新制 APCS有三大關鍵改變:
-
考試次數加倍:由原本每年 3 次(1月、6月、10月)調整為 每年 6 次(新增 3月、7月、11月),提供學生更高的彈性安排,並降低單次壓力。
-
語言選擇與實作分級:
-
程式識讀新增 Python 語言,讓初學者有更親切的選擇。
-
程式實作改採 等級制檢定,分為初級、中級、中高級與高級。考生須依照目標級分選擇相應等級,若報考較低等級,即使拿滿分也無法獲得高級分。
-
-
成績更具辨識力:程式實作除了 1~5 級分外,還會列出原始分數與報考等級,使大學更能掌握學生的實際能力,有利於備審資料與面試表現。
準備建議:
- 建議考生可專注學習 Python,並搭配資料結構(陣列、堆疊、佇列、樹、圖)與演算法(排序、搜尋、遞迴、動態規劃等)系統訓練。
- 配合歷屆題型、模擬練習及錯題整理,有助於提升解題技巧與應試信心。
AI 提問 X 學習 X 應用
https://www.books.com.tw/products/0011022505?sloc=main
AI 提問 X 學習 X 應用:ChatGPT、NotebookLM、Gemini、GitHub Copilot從零到完全實戰
目標設為 APCS 「程式識讀」4級分、「程式實作」3級分
目標設定為 APCS 「程式識讀」4級分及「程式實作」3級分,主要是基於大學入學的實質需求、考試的策略性考量以及學習的可達成性。
以下是詳細的解釋:
-
對應大學校系的錄取門檻
- 根據來源資料,許多大學資訊相關科系在採計 APCS 成績時,觀念題和實作題會設有不同的級分門檻。
- 「程式識讀」4級分(分數範圍 70-89 分)搭配「程式實作」3級分(報考中級檢定並獲得 150-300 分,或報考中高級檢定並獲得 100-149 分),這個組合是許多國立大學資訊相關科系的篩選標準。
- 具體來說,國立中山大學電機工程學系、國立中興大學資訊工程學系、國立彰化師範大學資訊工程學系、國立成功大學工業與資訊管理學系、國立政治大學資訊科學系、國立臺北大學資訊工程學系,以及國立臺灣師範大學資訊工程學系等,都將「程式識讀」4級分和「程式實作」3級分納為其 APCS 組的篩選門檻。這表示達成這個目標,能大幅增加進入這些大學的機會。
-
提升升學競爭力與入學選擇
- 擁有 APCS 成績能「大大增加孩子的競爭力與入學選擇」,讓學生「不用在一般的入學管道裡和他人擠破頭,而是靠 APCS 成績脫穎而出」。
- 透過 APCS 成績申請大學資訊科系,甚至可能讓學測成績最多可差到 8 級分,有助於學生「前進理想大學」。
- 達到「程式實作」三級分,對於一般組的第二階段甄試有「絕對優勢,幾乎是保證錄取」,即便不是透過 APCS 組入學,也能在備審資料和面試中展現程式能力。
- APCS 成績也為學生開啟了更多升學管道,如 APCS 組、資安組或特殊選才。
-
務實且可達成的目標
- 從歷屆成績統計來看,「程式實作」三級分的人數比例約為 20.5%。相較於四級分(2.7%)和五級分(0.8%)的比例,三級分是一個相對較易達成但仍具備競爭力的目標。
- 「APCS實作三級難度不高」。這在系統學習下是可實現的。
- 設定觀念題4級、實作題3級,可以讓學生在學習上更有方向性,避免好高騖遠,同時又能符合多數採計校系的需求,是一個策略性的分數組合。
總結來說,觀念題4級、實作題3級是一個兼具競爭力與可達成性的目標,它直接對應了國內許多資訊相關學系的入學門檻,並能顯著提升學生在大學申請過程中的優勢,尤其對於希望進入國立大學的相關科系而言,是個極具價值的目標。
APCS「程式實作」三級分準備要領
您好!針對 APCS「程式實作」取得三級分的準備要領,以下將根據提供的資料為您詳細說明:
1. 了解「程式實作」三級分的定義與要求
自 114 學年度(2025 年)起,APCS 檢定「程式實作」科目引入了分級選擇。若您的目標是「程式實作」三級分,您可以透過以下兩種方式達成:
- 報考中級檢定,並獲得 150-300 分的成績。
- 報考中高級檢定,並獲得 100-149 分的成績。
這表示您需要對中級或中高級所涵蓋的程式設計能力有紮實的掌握。值得注意的是,如果選擇了不符合自己程度的等級,即使取得高分也可能無法獲得理想的級分,例如報考中級並獲得滿分 300 分,也只能得到三級分。
2. 「程式實作」中級與中高級的檢測範圍
「程式實作」主要檢測考生撰寫完整程式或副程式的能力。針對三級分的目標,您需要掌握中級與中高級所要求的內容:
- 中級檢測範圍:
- 基礎程式設計能力:能使用變數儲存與操作資料,利用選擇控制進行選輯判斷,並透過迴圈控制處理重複性任務。
- 序列型資料結構運用能力:能夠以序列型資料結構(如陣列或列表)來儲存與處理資料,並進行文字處理與流程模擬。
- 具體內容包括:輸入與輸出、算術運算、邏輯運算、位元運算、條件判斷與迴圈、陣列、字元、字串。
- 中高級檢測範圍:
- 基礎資料結構運用能力:能夠利用基礎資料結構與演算思維來解決問題。
- 具體內容包括:函式、遞迴、佇列 (queues)、堆疊 (stacks)。
- 簡單結構的樹狀圖 (tree)(例如:二元樹)以及簡單結構的圖 (graph)(例如:網格)。
- 枚舉 (enumeration)、資料遍歷 (traversal)、搜尋 (search)(例如:二分搜尋 (binary search)、深度優先搜尋 (depth-first search, DFS))。
3. 準備要領
要有效準備「程式實作」三級分,建議採取以下策略:
- 選擇主要學習語言:
- 自 114 學年度(2025 年)起,「程式實作」除了 C/C++,也提供了 Java 和 Python 程式語言供選擇。
- Python 語法簡潔、易讀性高,且更符合學界與程式設計的學習趨勢,尤其在 AI 和資料科學領域受到重視,非常適合初學者。橘子蘋果學苑和愷哥程式都主要以 Python 進行教學。
- 紮實掌握基礎程式語法與邏輯:
- 透徹理解變數、資料型態、運算子、條件判斷(選擇)、迴圈(重複)、函式、遞迴、陣列和字串等核心概念。這是所有程式解題的基礎。
- 學習並應用基礎資料結構:
- 重點學習堆疊 (stack) 和佇列 (queue) 的原理與操作,並練習如何應用它們來解決問題。
- 理解基礎演算法:
- 熟練排序 (sorting) 和搜尋 (searching) 的基本演算法。二分搜尋和深度優先搜尋 (DFS) 是中高級的重要考點。
- Yui Huang 演算法學習筆記也提供了排序和搜尋的相關筆記。
- 大量練習歷屆考古題與模擬試題:
- APCS 歷屆考古題是準備的黃金資源。Yui Huang 演算法學習筆記提供了從 2016 年 3 月到 2025 年 6 月的歷屆考古題,包含題目、題解和命題範圍,並連結至 ZeroJudge 測試平台供練習。
- 練習時,應注重培養問題分析與解題思維,學會如何拆解問題、分析程式邏輯、判斷效能並找出錯誤.
- 善用學習資源與培訓課程:
- Yui Huang 演算法學習筆記:提供了詳細的命題範圍筆記和推薦學習教材,例如吳邦一教授的「PythAPCS123-Python 程式設計從 APCS 實作 1 級到 3 級」。
透過上述準備要領,並善用這些豐富的學習資源,您將能有效提升「程式實作」的能力,並達成三級分的目標。
「程式識讀」四級分準備要領
程式識讀的四級分對應的分數範圍是 70-89 分。