西方國家對於程式語言教育比亞洲國家來得更早,目的是訓練邏輯力。
STEAM 課程規畫更是席捲全球的教育理念,包括了科學(Science)、技術(Technology)、工程(Engineering)、藝術(Arts),及數學(Mathematics)五大領域。
《專門為中學生寫的程式語言設計:強化邏輯思考力》專門為中學生寫的程式設計學習書,提供中學生想要認識程式語言設計的一部入門書。
用清楚的解說、適當的題目,引導學生培養邏輯思考能力。
※ 李校長對於國中生學程式設計的看法
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
《專門為中學生寫的程式語言設計:強化邏輯思考力》採用的是 Python 語言,容易上手學習。目的是教會大家程式語言,可是更重要的任務是要使學生有邏輯思考的能力。只要能把程式語言設計的基礎打好,建立程式運作的邏輯觀念,對於日後要學習資料結構或演算法都相當有幫助,或是之後需要學習其它程式語言,也相當容易。
本書特色
透過淺顯易懂的解說,輕鬆理解程式語言!
細分各大主題來介紹觀念,一步一步建構思考能力!
解說及練習題詳盡,以實戰練習確實理解!
清楚的流程圖,幫助學習及吸收!
在這個新世代,電腦科學、程式語言設計是必備的基礎能力,跟其他學科同等重要。蘋果創辦人史提夫‧賈伯斯(Steve Jobs)更說:「每個人都該學電腦程式,因為它可以教你如何思考。」因此孩子們一定要學習了解程式語言。
作者
李家同、劉國有、謝一功、侯冠維、陳庭偉
作者:李家同
現為國立清華大學鈺寶科技榮譽講座教授。
國立臺灣大學電機工程學系學士,美國加州大學柏克萊校區電機及計算機博士。
曾任靜宜大學校長、暨南大學校長、清華大學代理校長,以及總統府無給職資政等。
研究領域為符號邏輯、演算法設計分析、生物計算、生物資訊等。
曾獲得許多獎項的肯定,包括科技部連續五屆傑出研究獎、教育部工科部學術獎、侯金堆傑出榮譽獎等,同時也是美國電機電子學會榮譽會員。
序言
第○章 Python 語言的編輯器以及使用方法
第一章 簡單的程式
例題 1.1 整數加法
例題 1.2 計算
例題 1.3 計算
例題 1.4 浮點數字
例題 1.5 Input裡面是空的
例題 1.6 Input裡面是空的
例題 1.7 二次方
例題 1.8 次方
例題 1.9 小於 1 的次方
例題 1.10 計算 log(x)
例題 1.11 計算平方根
例題 1.12 計算 sin(x)
第二章 有 if 指令的程式
例題 2.1 兩個數字中選大的那一個
例題 2.2 求 或
例題 2.3 將負數轉成正數
例題 2.4 輸出學生成績對應的級別
例題 2.5 根據購買價格決定折扣
第三章 有 for 迴圈指令的程式
例題 3.1 五個整數的總和
例題 3.2 N個數的和
例題 3.3 求最大值
例題 3.4 求最大奇數值
例題 3.5 求 N 階層
例題 3.6 輸出九九乘法表
第四章 有 while 迴圈指令的程式
例題 4.1 讀入一連串的數字,但事先不知道數字的數目
例題 4.2 最大公約數
例題 4.3 算 N 個數的和
第五章 陣列
例題 5.1 利用一維陣列求 10 個數字的計算平均值
例題 5.2 利用一維陣列求10個數字的最大值
例題 5.3 搜尋問題
例題 5.4 兩個二維矩陣相加之結果
例題 5.5 兩個矩陣相乘之結果
第六章 副程式
例題 6.1 兩個一維陣列相加
例題 6.2 求陣列中最大之數
例題 6.3 Array +1
例題 6.4 小於 N 的所有質數
例題 6.5 求出各科平均分數及總平均分數
例題 6.6 判斷日期先後順序
例題 6.7 輸出*三角形
例題 6.8 密文解碼
第七章 讀取檔案
例題 7.1 讀檔並印出資料的程式
例題 7.2 讀取檔案求平均值
例題 7.3 相加兩個檔案內的值
第八章 配置
例題 8.1 在磁碟內建立一個配置,並輸入並儲存班級學生各科成績
例題 8.2 求班級各科成績平均
例題 8.3 新增一位學生資料
例題 8.4 修改一位學生資料
例題 8.5 查詢一位學生資料
例題 8.6 刪除學生資料
例題 8.7借還書
第九章 遞迴程式
例題 9.1 求 1+2+3+…+N 的和
例題 9.2 求陣列 A 中所有數值的和
例題 9.3 計算 N!
例題 9.4 求費式費數列 F(n)
第十章 排序
例題 10.1 氣泡排序法 (Bubble Sort)
例題 10.2 插入排序法 (Insertion Sort)
例題 10.3 快速排序法 (Quick Sort)
例題 10.4 合併排序法 (Merge Sort)
第十一章 資料結構
例題 11.1 堆疊 (Stack)
例題 11.2 佇列 (Queue)
例題 11.3 二元搜尋樹 (Binary Search Tree)
第十二章 借還書
序言
教育部在推行一個政策,在國、高中要讓學生學會寫程式。學寫程式總要有一本教科書,因此我們寫了這一本專門為中學生寫的程式語言設計教科書。要會寫程式,首先要有邏輯思考的能力,可是,選擇程式語言也是重要的,有些程式語言對專家來說,是非常好的,如 C 語言,遺憾的是,這種語言相當難學,所以我們選擇了 Python 語言。
Python 語言的優點,是比較容易學習,當然,它也有一些指令是很抽象、不好懂的,我們盡量地避免那些指令。
要會寫程式,絕對不能只懂得程式語言,我們必須學會設計流程圖,很多老師不強調流程圖,其結果往往是學生怎麼樣都學不會寫程式,這是很可惜的事。反過來說,如果會設計流程圖,要將流程圖轉換成程式是非常容易的事。
我在此介紹一個網站,這個網站上有很多很多的電腦程式,雖然這些電腦程式是用 C 語言寫的,每一個程式都有一個流程圖,所以,大家不妨利用這個網站來練習如何設計流程圖。
https://www.cci.pu.edu.tw/assets/uploads/practice/pucci_pgSample.pdf
雖然這本書是啟蒙的書,但是對中學生來講,也不一定要學會所有的章節。我認為高中的學生,至少應該學到第六章。有些學生實在對寫程式有困難,至少要學習到第四章。
Python 語言其實並不能用來寫非常大的程式,所以同學們如果要成為專業的軟體工程師,仍然要學習其他的程式語言。可是大家總不要忘記,在寫程式以前,一定要先設計流程圖,沒有學會設計流程圖的同學,絕不可能會寫程式的。
老師們一定要知道,你們的任務當然要教會學生程式語言,可是,更重要的任務是要使學生有邏輯思考的能力,而所謂邏輯思考,就是要能設計流程圖,到了大學,教授們強調演算法,其實演算法也是流程圖。