《計算機導論與JavaScript編程(第3版)》是2011年清華大學出版社出版的圖書。
基本介紹
- 書名:《計算機導論與JavaScript編程(第3版)》
- 作者:(美)里德
- 譯者:周靖,朱玉芳
- 出版社:清華大學出版社
- 出版時間:2011年
- 定價:49 元
- 裝幀:平裝
- ISBN:9787302268147
內容簡介,目錄,
內容簡介
這是一本獨具特色的計算機入門教材。傳統的書籍要么側重於廣度(概述所有計算概念),要么側重於深度(程式設計以及解決問題)。本書共18章,同時兼顧了廣度和深度。廣度章節包括了對初學者非常重要的計算概念以及問題,主題涉及計算機術語、網際網路和全球資訊網、算法和軟體以及技術對社會的影響。深度章節則穿插於這些主題之間,藉助於動手練習來介紹基礎的程式設計概念和技巧。通過使用HTML和JavaScript語言,讀者可在設計並實現互動式網頁的同時,發展解決問題的技巧。
本書適用於“計算機科學導論”課程,同時也適合打算涉足計算機行業的人員自學,為以後的程式設計、網站開發和技術支持生涯奠定良好的基礎。
目錄
第1章計算機基礎 1
1.1 什麼是計算機 2
1.2 硬體 3
1.2.1 中央處理器(CPU) 4
1.2.2存儲器 6
1.2.3輸入/輸出設備(I/O) 8
1.3軟體 9
1.4網際網路和全球資訊網 12
1.4.1Web瀏覽器和伺服器 14
1.4.2Web地址 14
1.4.3訪問本地網頁 15
1.5展望未來 15
本章小結 16
複習題 17
參考文獻 18
第2章HTML和網頁 19
2.1HTML基礎知識 20
2.1.1HTML標記 20
2.1.2HTML元素 21
2.2文檔格式化 22
2.2.1文本間距 22
2.2.2標題和對齊 23
2.2.3字型格式化 25
2.3超文本和多媒體 26
2.3.1超連結 26
2.3.2圖像 27
2.4列表 29
2.5表格 32
2.5.1表格框線 33
2.5.2表格對齊 33
2.6使網頁可以公開訪問 35
2.7展望未來 35
本章小結 36
補充材料和練習 37
HTML標準 37
瀏覽器設定 38
背景色和圖像 38
圖像連結和視頻 39
層疊樣式表 40
第3章網際網路和全球資訊網 41
3.1網際網路的歷史 42
3.1.1阿帕網(ARPAnet) 42
3.1.2發展和私有化 43
3.2網際網路的工作原理 45
3.2.1分散式網路 46
3.2.2包交換技術 46
3.2.3網際網路協定:TCP/IP 47
3.2.4域名 48
3.3全球資訊網的歷史 49
3.3.1超文本和全球資訊網 50
3.3.2全球資訊網的大規模採納 50
3.3.3全球資訊網的發展 52
3.4全球資訊網的工作原理 52
3.4.1HTML 52
3.4.2全球資訊網協定:HTTP 53
3.4.3快取技術 53
3.5展望未來 54
本章小結 54
複習題 55
章後注 57
參考文獻 57
第4章JavaScript和動態網頁 59
4.1動態網頁 59
4.1.1HTML事件處理器 60
4.1.2onclick事件處理器 63
4.2和按鈕互動 63
4.3網頁中的動態文本 66
4.3.1警告視窗 66
4.3.2innerHTML屬性 67
4.3.3示例:名人名言頁 70
4.4展望未來 71
本章小結 72
補充材料和練習 73
更改圖片框線 73
相對大小 73
更改元素顏色 74
嵌套引號 75
第5章JavaScript和用戶互動 77
5.1使用文本框進行輸入/輸出 77
5.1.1文本框元素 78
5.1.2套用信函網頁 79
5.2JavaScript變數 81
5.2.1用變數實現值的重用 82
5.2.2示例:故事填空 83
5.3.3供臨時值使用的變數 84
5.3會計算的網頁 85
5.3.1JavaScript數字和表達式 86
5.3.2數字的表示 87
5.3.3文本框和parseFloat 88
5.3.4成績計算 90
5.4編程錯誤和調試 91
5.5展望未來 92
本章小結 92
補充材料和練習 93
用表格對齊元素 93
鞏固表達式和賦值 94
深入混合表達式 95
用於輸出的文本框 95
第6章計算機的歷史 97
6.1第0代:機械計算機(1642—1945) 98
6.1.1可程式設備 99
6.1.2電磁式繼電器 101
6.2第1代:電子管(1945-1954) 102
6.2.1計算機和第二次世界大戰 103
6.2.2馮·諾依曼體系結構 104
6.3 第2代:電晶體(1954—1963) 105
6.4第3代:積體電路(1963—1973) 106
6.4.1 大規模積體電路 108
6.4.2商用計算 109
6.5第4代:VLSL(1973—1985) 109
6.5.1個人計算機革命 110
6.5.2面向對象編程 111
6.6第5代:並行處理和網路
(1985—????) 111
6.7展望未來 112
本章小結 113
複習題 114
章後注 115
參考文獻 116
第7章函式和隨機性 117
7.1預定義JavaScript函式 117
7.1.1數學函式 118
7.1.2乘冪 120
7.1.3生成隨機數 121
7.2簡單的用戶自定義函式 123
7.3網頁中的隨機性 126
7.3.1示例:模擬擲骰子 126
7.3.2示例:隨機幻燈片放映 127
7.3.3示例:隨機橫幅廣告 128
7.4展望未來 129
本章小結 130
補充材料和練習 131
用函式修改網頁 131
關於數學函式的更多研究 131
ONLOAD和ONUNLOAD屬性 132
第8章算法和程式語言 133
8.1算法 134
8.2設計和分析算法 135
8.2.1替代算法 136
8.2.2算法分析 137
8.2.3大O表示法 138
8.3算法實例:搜尋列表 139
8.3.1順序搜尋 139
8.3.2二分搜尋 140
8.3.3算法分析 141
8.4算法實例:近似平方根 141
8.5算法和編程 143
8.5.1機器語言 143
8.5.2 高級語言 144
8.5.3程式翻譯 145
8.5.4解釋器和和編譯器 147
8.6展望未來 148
本章小結 148
複習題 149
參考文獻 150
第9章抽象和庫 153
9.1函式的結構 154
9.2帶有輸入的函式 156
9.3返回值的函式 159
9.4random.js庫 162
9.5展望未來 164
本章小結 165
補充材料和練習 166
更多用戶自定義函式 166
鞏固random.js 167
time.js庫 168
第11章作為一門學科的計算機科學 171
10.1計算機“科學” 172
10.2計算機科學的主題 173
10.2.1硬體 174
10.2.2軟體 174
10.2.3理論 175
10.3計算機科學的分支 176
10.3.1算法和數據結構 177
10.3.2計算機的體系結構 178
10.3.3作業系統和網路 180
10.3.4軟體工程 182
10.3.5人工智慧和機器人技術 183
10.3.6生物信息學 184
10.4計算機科學道德標準 185
展望未來 187
本章小結 187
複習題 188
章後注 189
參考文獻 190
第11章條件執行 191
11.1if語句 191
11.2嵌套if語句 195
11.3示例:擲骰子 197
11.3.1計數器 197
11.3.2布爾表達式 200
11.4示例:老虎機 201
11.5展望未來 204
本章小結 204
補充材料和練習 205
關於嵌套if語句的更多練習 205
極端天氣 207
示例:設計ESP測試 208
示例:設計圓點賽跑 209
第12章數據的表示 211
12.1模擬與數字 212
12.2二進制數 213
12.3表示整數 214
12.4表示實數 216
12.5表示字元和字元串 217
12.6表示其他類型的數據 219
12.6.1聲音 219
12.6.2圖像 221
12.6.3電影 223
12.7計算機怎樣區別不同的數據類型 224
12.8展望未來 225
本章小結 226
複習題 227
參考文獻 228
第13章條件重複 229
13.1while循環 229
13.1.1避免冗餘 231
13.1.2示例:彩票組合 233
13.2計數器驅動的循環 235
13.3變數和重複 238
13.4示例:生成hailstone序列 240
13.5展望未來 242
本章小結 242
補充材料和練習 243
循環的更多練習 243
更多擲骰子的例子 244
for循環 246
第14章深入計算機——馮·諾依曼體系結構 249
14.1CPU子單元和數據通道 249
14.1.1CPU子單元 250
14.1.2CPU數據通道指令周期 250
14.1.3數據通道模擬器 251
14.2CPU和主存儲器 253
14.2.1與主存儲器來回傳輸數據 253
14.2.2模擬了存儲器的數據通道 254
14.3存儲程式的計算機 256
14.3.1機器語言 257
14.3.2控制器 258
14.3.3存儲程式的計算機模擬器 259
14.3.4輸入/輸出設備的作用 263
14.4機器語言和彙編語言 264
14.5展望未來 265
本章小結 266
複習題 267
參考文獻 268
第15章JavaScript字元串 269
15.1字元串對象 269
15.2通用的字元串操作方法 272
15.3查找字元串 274
15.4字元串操作和循環 276
15.5示例:置換密碼 278
15.5.1編碼訊息 279
15.5.2解碼訊息 282
15.6展望未來 282
本章小結 283
補充材料和練習 283
關於字元串的更多練習 283
示例:置換電話號碼 284
羅馬數字 285
示例:旋轉密碼 285
Math對象和文檔對象 286
第16章深入計算機——電晶體和積體電路 289
16.1電和開關 290
16.1.1電學基礎 290
16.1.2開關 290
16.1.3電晶體 291
16.1.4電晶體開關 292
16.2從電晶體到門電路 293
16.3從門電路到複雜電路 295
16.4從電路到微型晶片 299
16.4.1積體電路 299
16.4.2積體電路的製造 299
16.4.3微型晶片的封裝 301
16.5展望未來 302
本章小結 302
複習題 304
參考文獻 305
第17章JavaScript數組 307
17.1數組對象 308
17.1.1訪問數組元素 308
17.1.2為一個數組內的元素賦值 309
17.2從字元串到數組 311
17.2.1字元串的split方法 311
17.2.2示例:生成首字母縮略詞 312
17.3數字數組 314
17.3.1示例:維護擲骰子統計數據(方法1) 317
17.3.2示例:維護擲骰子統計數據(方法2) 318
17.4ASCII動畫 320
17.5展望未來 322
本章小結 323
補充材料和練習 323
關於數組的更多練習 323
查找數組 324
平行和嵌套數組 327
第18章計算機和社會 331
18.1技術的正面影響 331
18.1.1日常事務中的計算機和程式 332
18.1.2Internet和Web作為信息源 334
18.1.3網際網路和Web作為傳播媒介 336
18.1.4Internet和Web用於商業 337
18.2技術的潛在危險 338
18.2.1對複雜系統的依賴 338
18.2.2信息過量 339
18.2.3隱私與安全 340
18.2.4數字鴻溝 342
18.3展望未來 343
本章小結 343
複習題 344
章後注 345
參考文獻 346
附錄A瀏覽器基礎 347
附錄B常用文本編輯器 355
附錄CHTML參考 361
附錄DJavaScript參考 364
附錄Erandom.js函式館 370
附錄Ftime.js函式館 371
附錄Garrays.js函式館 373