世界閱讀日
人人都能學會寫程式:李家同教你用邏輯思考學程式設計

人人都能學會寫程式:李家同教你用邏輯思考學程式設計

  • 定價:480
  • 優惠價:9432
  • 本商品單次購買10本8折384
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 台北、新北、基隆宅配快速到貨(除外地區)
載入中...
  • 分享
 

內容簡介

  寫程式一點都不難!
  寫程式很難嗎?
  看了本書,中文系的學生也能輕鬆上手!
  內含習題解答,教你寫出簡易的
  電腦放榜系統、選修課程系統、存貨管理系統!

  李家同教授:「這本書的特色是強調邏輯思考,很多中文系的學生都能因此而寫500行的程式。」

  李家同教授長期關注台灣教育,了解台灣學生學習問題的癥結,在教學指導上,總是從最基本的概念循序解說,幫助學生釐清觀念,並加強習題演練。

  李教授著有《專門替中國人寫的英文課本》、《專門為中學生寫的數學課本》等系列暢銷叢書,幫助許多學生成功克服了英文及數學的學習障礙。

  美國加州大學柏克萊校區電機博士、曾任清華大學資訊研究所所長的李教授,也看到了學生對於程式設計的學習恐懼及困難之處,特地規劃撰寫了本書,期望透過簡明的步驟解說,讓學習者更容易理解,邏輯思考更清晰,人人都能輕鬆寫出程式。

作者簡介

李家同

  民國28年生,台大電機系學士,美國加州大學柏克萊校區電機博士。歷任清華大學應用數學研究所所長、資訊研究所所長、電機系系主任、工學院院長、教務長,靜宜大學校長,暨南大學校長。現任總統府資政、博幼基金會董事長。

  李教授曾連續五次獲得國科會的傑出研究獎,教育部工科學術獎和侯金堆傑出學術獎,他是美國電機電子學會的榮譽會士,並且曾擔任過十一種國際學術刊物的編輯委員。

  李教授信仰天主教,在大學求學期間,就常去台北監獄及新店軍人監獄替受刑人服務,目前仍為新竹德蘭中心的義工,替孩子們補習數學和英文。李教授熱愛文學,由於他的宗教信仰和他服務弱勢團體的經驗,使他的文章帶有人道主義的色彩,也因為他不說教,他的小說非常有趣,廣受讀者大眾喜愛。

李家同作品

學習書:

  《讀李家同學英文》、
  《專門替中國人寫的英文課本》等英語學習書
  《專門為中學生寫的數學課本》等數學學習書

故事繪本:

  《車票》、《蘋果》、《太陽下山,回頭看》、《山谷裡的丁香花》、《三個孩子的故事》、《來自遠方的孩子》、《我是誰》、《鐘聲又再響起》、《屋頂》等。

文學作品:

  《故事六十八》、《鐘聲又再響起》、《讓高牆倒下吧》、《陌生人》等。

教育專論:

  《李家同談教育:希望有人聽我的話》

 

目錄


第一章 最簡單的程式
第二章 有if指令的程式
第三章 有for迴圈指令的程式
第四章 有while迴圈指令的程式
第五章 陣列
第六章 副程式
第七章 檔案的應用
第八章 遞迴程式
第九章 排序
第十章 C語言Structure的功能
第十一章 字串處理的指令
第十二章 簡易電腦放榜系統
第十三章 簡易的選修課程系統
第十四章 存貨管理系統
第十五章 如何設計大程式
01-11練習題解答
 

  寫程式一點也不難

  我唸博士班的時候,系上規定學生都要會寫程式,我當時不會,也不可能在一週內學會,只好央求那位助教網開一面;助教是個好人,就讓我混過去了。但是我寫博士論文,必須寫程式,我已是博士生,當然不能去選任何寫程式的課,好在我要用的程式語言是LISP,教科書裡有好多例子,我就無師自通了。

  以後,我通過資格考了,系上要我授課,而我教的是組合語言的程式(Assembly Language Programming),我教以前,聽都沒有聽過「組合語言」。修課的全是大學三年級的學生,他們是「天下程式一大抄」,常常是好多份作業一模一樣,我問他們是怎麼一回事,他們說“We worktogether”。理由也一大堆,最常用的理由是要打工。我一直以為寫程式沒有什麼了不起,人人都可以學會的。有一次,我看到一位學生在寫程式,他對天花板發呆一陣子,然後寫一段,又再陷入沉思,我當時還以為他在寫小說。我問他程式的流程圖畫出來沒有,他根本不知流程圖為何物,當然也從不畫流程圖。這有點像造橋的工程師沒有設計圖的觀念,一切都在腦子裡。

 我慢慢地發現了一件怪事:好多學生不會寫程式,而且我國有大批的同學沒有流程圖的觀念,老師也不太強調流程圖,他們花很多時間在教程式語言,如:C 語言。這些語言極為複雜,學生學得昏頭轉向,覺得寫程式好難,就是學不會。

  其實,寫程式一點也不難,我們總需要告訴親友如何到你家來的,以我家為例,我住新竹,台北如有人要來找我,我會給他以下的指令:

  (1)到台北轉運站,搭乘任何一家走高速公路的客運到新竹。
  (2)在交通大學站下車。
  (3)向前走,碰到第A個紅綠燈,就向左轉,上B街。
  (4)看到左邊第C個加油站,向右轉,上D街。
  (5)我家在D街E號F樓G號。

  以上的全部指令,就是一個流程圖。

  我們都有看食譜的習慣,每一個食譜都是一個流程圖。最簡單的食譜是做水果茶的食譜:
  (1)將你想吃的水果,如:柚子和柳丁,壓成汁。
  (2)加入蜂蜜和檸檬汁。
  (3)加熱至沸騰。
  (4)加入紅茶包,攪動後即是水果茶。

  如果你感冒了,醫生會開一些藥給你,然後叫你每天吃一服,一旦退燒兩天之久,即可停止服藥,如果五天以後,仍然發燒,就應回診。這些話,可以用以下的流程圖來表示:

  寫程式,最重要的是要先有流程圖,一旦流程圖畫出來了,程式馬上也會跟著出來,理由非常簡單,我們只要學會一些程式語言的規則,就會將一個流程圖轉換成一個程式。可是反過來說,如果一個人在寫程式以前,根本畫不出來流程圖,那就休想寫程式了。

  我認為我們老師教寫程式,應該集中心力教會學生如何設計流程圖,而不該浪費太多的時間在教程式語言,因為流程圖的設計才是寫程式最重要的一個工作。我們之所以有很多學生不太會寫程式,絕不是因為他的程式語言沒有學會,而是他的邏輯思考根本不行,使得他設計不出流程圖。我們寫程式的人如果不會邏輯思考,那就一切免談。

  我的這一本書就強調邏輯思考的重要性,也用大量的例子來教學生如何設計流程圖,我在很多大學利用這本書教非資訊系的學生,我可以非常驕傲地說,很多文學院和管理學院的學生都輕鬆地學會了寫程式。就以本書的第十三章為例,那一個簡易的選修課程系統就是文學院學生寫的。

希望大家知道,寫程式並不難,關鍵全在如何設計流程圖,對於沒有寫過程式的人來說,設計流程圖並不簡單,所以我在這一本書裡面用很多的例子來教大家如何先設計流程圖,再寫程式。這本書一共有十五章。

  在此強調我們用的程式語言是C語言,所使用的編譯器是Dev-C++4.9.9.2。讀者如果用錯了編譯器版本可能會出問題。

  我在此謝謝很多我的學生和朋友,他們幫了很大的忙,尤其是靜宜大學的蔡英德教授和中興大學的林金賢教授。我曾用這本書教了叫做周照庭的同學,他並不是資工系的學生,但他已會做書中的全部習題,現在應該算是一位會寫程式的人了。

 

詳細資料

  • ISBN:9789570837759
  • 叢書系列:閱讀.學習
  • 規格:平裝 / 648頁 / 17 x 23 x 3.24 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣
 

內容連載

第十二章 簡易電腦放榜系統

參加招生考試是許多人共同的經驗。由於學校眾多且名額有限,每位考生依據自己的喜好列出欲就讀學校的順位,然後由招生單位根據這些考生的志願一同決定各校的錄取名單。早期類似的放榜作業都由人工花費許多時間完成,現在的放榜作業大都交由電腦代勞,迅速又確實。基本上,這樣的電腦放榜系統要輸入學生的基本資料,例如學號、姓名、各科成績、學校志願代碼等,及學校的資料,例如學校代碼、校名、錄取名額、錄取條件等,而系統的輸出便是各校的錄取名單。

為了簡化程式設計的複雜度且滿足問題描述的要求,我們做了以下的限制與基本假設:

1. 輸入的資料
A. 學生資料檔(最多100筆學生資料)。學生資料檔已依據學生總分排序好。

包含下列欄位:

․學號
․姓名
․總分
․第一志願的學校代碼(若為0表示放棄此志願)
․第二志願的學校代碼(若為0表示放棄此志願)
․第三志願的學校代碼(若為0表示放棄此志願)

例:含有10筆學生資料的學生資料檔(student.dat)

1004 蔡一林 90 1 2 3
1001 研程序 85 1 3 2
1010 劉的華 80 1 2 3
1005 新曉期 78 1 3 2
1008 章柏之 75 2 3 0
1006 周瑜名 70 2 0 0
1009 普學量 69 3 1 2
1002 謝婷風 64 2 1 3
1007 照唯 58 2 3 1
1003 吳大唯 56 3 2 1

A. 學校錄取名額檔(最多20筆學校資料)。包含下列欄位:

․學校代碼
․校名
․名額

例:含有3筆學校資料的學校錄取名額檔(school.dat)

1 台北高中 4
2 台中高中 3
3 高雄高中 3

1. 輸出的資料
錄取各個學校的學生榜單。

2. 基本假設與說明
每人可填三個志願,各校只以總分高低作為錄取與否的標準。

這樣的系統除了用於招生事務外,還可應用於因資源容量有限而需要分配的問題上。例如教師實習分發,訓練活動安排,旅遊梯次分配。

會員評鑑

2.5
3人評分
|
3則書評
|
立即評分
user-img
1.0
|
2019/11/22
這本書我是在圖書館借閱的,還好沒有一時衝動買下來,我是對程式毫無概念的中文系學生,書籍介紹說看了此書連中文系學生也會寫程式,我覺得根本不可能,因為此書對一些基本概念沒有詳細介紹,一下子就進入如何設計程式的單元,根本完全看不懂,整本書對初學者而言是難以理解的,不推薦沒有基礎的人購買此書。
展開
user-img
5.0
|
2012/03/24
我不推薦這本書, 有一次很好奇在書局, 把這本書好好的看下去, 很不幸地, 大概翻了幾章就看不下去了, 本身是教程式設計的講師, 想知道李家同先生, 在這個領域有甚麼特殊的見解, 而且竟然中文系的學生可以因為他的書而會寫程式, 佩服佩服, 可是當我看下去之後, 開始有種\"莫名其妙\"的感覺, 原以為, 書中可以出現一些令人期待的想法, 可是看來看去還是一般程式設計介紹的東西, 只是有李家同這三個字加持, 還挺失望的, 如果想學程式設計, 我的建議是, 還是得從基礎開始, 電腦的基礎, 變數, 邏輯, 開始, 坊間有不少還不錯的無論是Java, ASP.NET, C#, VB, 現在中文書在這塊領域已經比以前進步很多了, 二十年前還真的只有原文書可看, 只能說, 這本書真的讓我有點失望, 李家同先生, 請再加油!
展開
user-img
1.0
|
2012/01/01
因為之前得到受益於李家同教授的書,所以沒詳細確認就買了下來。回來閱\讀之後馬上就後悔了,原因有三:
1) 書中程序碼的內容,看不出有沒有空格,說真的真的很困擾;
2) 不太會用Dev-Cpp 4.9.9.2這個編譯器,因為我就真的是個想學程式的初學者,編譯器中的專案、編譯、重新編譯等名詞對我造成了一些困擾;
3) 最後也是最重要的,照抄書中程式碼keyin到編譯器中,竟然會無法編譯...而且就出現在第六頁用實數的z=x+y的範例,搞得我頭很大,用整數就OK,用實數就無法執行。
錯誤說明如下,真的很莫名其妙~~
`printf\’ undeclared (first use this function)
只能說下次要詳細確認才是 *^^*
展開

最近瀏覽商品

 

相關活動

  • 從「格」的概念出發|
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 時報全書系
  • 華文創作展
  • 東立GoodBuy祭