
| 本书是一本优秀的计算机程序设计教材,面向程序设计的初学者,独立于具体的编程语言,深入浅出地介绍了各种编程概念、风格和思想。 |
| 第1章 计算机和编程逻辑概述 1 1.1 理解计算机的组件和操作 1 1.2 理解程序设计过程 4 1.2.1 理解问题 5 1.2.2 设计逻辑 5 1.2.3 编写程序代码 6 1.2.4 把程序转换成机器语言 6 1.2.5 测试程序 7 1.2.6 将程序投入生产 8 1.3 理解数据的层次结构 8 1.4 使用流程表符号和伪代码语句 10 1.5 使用和命名变量 13 1.6 使用标记值终止程序 15 1.7 使用连接符 16 1.8 把值赋给变量 17 1.9 理解数据类型 18 1.10 理解编程技术的发展 19 1.11 复习题 20 1.12 练习题 22 第2章 理解结构 26 .2.1 理解非结构化的意大利面条式代码的功能 26 2.2 3种基本的结构 27 2.3 使用预读取 33 2.4 理解结构化 37 2.5 识别结构 39 2.6 两种特殊的结构——case和do until 42 2.6.1 case结构 42 2.6.2 do until循环 44 2.7 复习题 46 2.8 练习题 48 第3章 模块、层次图和文档 52 3.1 模块、子例程、过程、函数或者方法 52 3.1.1 模块化提供抽象 52 3.1.2 模块化允许多个程序员解决同一问题 53 3.1.3 模块化允许重用自己的工作成果 53 3.1.4 模块化使结构易于识别 54 3.2 把程序模块化 55 3.3 模块调用其他模块 58 3.4 声明变量 59 3.5 创建层次图 61 3.6 理解文档 63 3.7 输出文档 63 3.8 输入文档 69 3.9 完成文档 73 3.10 复习题 74 3.11 练习题 76 第4章 编写和设计完整的程序 82 4.1 理解贯穿程序的主线逻辑流 82 4.2 内务管理任务 85 4.2.1 声明变量 85 4.2.2 打开文件 89 4.2.3 一次性任务——输出标题 90 4.2.4 读取第一条输入记录 90 4.3 编写主循环 92 4.4 执行工作结束任务 96 4.5 需要设计良好编程的原因 98 4.6 把程序组件存储在独立的文件中 98 4.7 选择变量和模块名 100 4.8 设计清晰的模块语句 101 4.8.1 避免混乱的行中断 101 4.8.2 使用临时变量表达较长的语句 102 4.8.3 在适当情况下使用常量 102 4.9 保持良好的编程习惯 103 4.10 复习题 103 4.11 练习题 105 第5章 选择结构 108 5.1 评估布尔表达式以做比较 108 5.2 使用逻辑比较运算符 110 5.3 了解and逻辑 113 5.3.1 编写嵌套式and选择结构以提高效率 116 5.3.2 在and选择结构中结合判断 118 5.3.3 避免and选择中的常见错误 120 5.4 了解or逻辑 121 5.4.1 避免or选择中的常见错误 122 5.4.2 编写or判断语句以提高效率 125 5.4.3 在or选择结构中结合判断 126 5.4.4 在范围内使用选择 127 5.4.5 使用范围检查的常见错误 129 5.5 了解结合and和or选择时的优先级 131 5.6 了解case结构 133 5.7 使用决策表 134 5.8 复习题 140 5.9 练习题 143 第6章 循环 149 6.1 了解循环的优点 149 6.2 以循环控制变量的方式使用while循环 150 6.3 使用计数器控制循环 151 6.4 具有变量标记值的循环 155 6.5 通过减值进行循环 156 6.6 避免常见的循环错误 157 6.6.1 忽视初始化循环控制变量 157 6.6.2 忽视改变循环控制变量 158 6.6.3 对循环控制变量使用错误的比较 158 6.6.4 在循环内部包含属于循环外部的语句 159 6.6.5 初始化不要求初始化的变量 160 6.7 使用for循环 160 6.8 使用do until循环 162 6.9 识别由所有循环共享的特性 165 6.10 嵌套循环 166 6.11 使用循环累积总数 169 6.12 复习题 171 6.13 练习题 174 第7章 控制改变 178 7.1 了解控制改变逻辑 178 7.2 执行单级控制改变以启动新页 179 7.3 在控制改变模块的标题内使用控制数据 184 7.4 在控制改变模块的页脚内使用控制数据 185 7.5 以总计执行控制改变 188 7.6 执行多级控制改变 192 7.7 执行分页符 197 7.8 复习题 201 7.9 练习题 204 第8章 数组 208 8.1 了解数组 208 8.2 数组如何占用计算机内存 209 8.3 操作数组以取代嵌套式判断 209 8.4 声明和初始化数组 217 8.5 运行时数组和编译时数组 219 8.6 从文件中载入数组 221 8.7 在数组中搜索精确的匹配 223 8.8 使用并行数组 225 8.9 保持在数组边界内 227 8.10 使用早期退出提高搜索效率 229 8.11 在数组中搜索范围匹配 229 8.12 复习题 232 8.13 练习题 235 第9章 高级数组操作 240 9.1 了解排序记录的必要性 240 9.2 如何交换两个值 241 9.3 使用冒泡排序 242 9.3.1 通过使用数组大小变量精化冒泡排序 247 9.3.2 排序变量大小列表 249 9.3.3 通过减少不必要的比较精化冒泡排序 252 9.3.4 通过排除不必要的比较而精化冒泡排序 252 9.4 使用插入排序 255 9.5 使用选择排序 257 9.6 使用索引文件 258 9.7 使用链接列表 260 9.8 使用多维数组 261 9.9 复习题 265 9.10 练习题 267 第10章 使用菜单并验证输入的有效性 270 10.1 使用交互式程序 270 10.2 使用单级菜单 271 10.3 把模块编码成黑箱 274 10.4 改进菜单程序 279 10.5 使用case结构来管理菜单 282 10.6 使用多层菜单 285 10.7 验证输入的有效性 291 10.8 了解数据有效性的类型 292 10.8.1 验证数据类型的有效性 293 10.8.2 验证数据的范围 293 10.8.3 验证数据的合理性和一致性 293 10.8.4 验证数据的存在 294 10.9 复习题 294 10.10 练习题 296 第11章 合并、匹配和更新顺序文件 300 11.1 了解顺序文件和对顺序文件的需要 300 11.2 为合并程序创建主线和housekeeping()逻辑 301 11.3 为合并程序创建mainloop()和finishup()模块 303 11.4 修改合并程序中的housekeeping()模块以检查eof 307 11.5 主文件和事务文件处理 308 11.6 将文件与主文件记录中的更新字段匹配 309 11.7 允许单一主文件记录拥有多项事务 314 11.8 更新顺序文件中的记录 314 11.9 复习题 324 11.10 练习题 326 第12章 高级模块化技术 331 12.1 理解本地变量、全局变量和封装 331 12.2 把单一值传递给模块 336 12.3 把多个值传递给模块 340 12.4 从模块返回值 342 12.5 使用预先编写的内置模块 344 12.6 使用ipo图 346 12.7 封装的优点 347 12.8 减少耦合性和增加内聚性 348 12.8.1 减少耦合性 348 12.8.2 增加内聚性 350 12.9 复习题 352 12.10 练习题 354 第13章 面向对象编程 357 13.1 面向对象编程概述 357 13.2 定义类 358 13.3 实例化并使用对象 361 13.4 理解继承性 362 13.5 理解多态性 365 13.6 理解构造函数方法和析构函数方法 367 13.7 使用预定义的类创建gui对象 369 13.8 面向对象编程的优点 370 13.9 复习题 371 13.10 练习题 373 第14章 使用图形用户界面的事件驱动编程 375 14.1 了解事件驱动编程 375 14.2 用户启动动作和gui组件 376 14.3 设计图形用户界面(gui) 378 14.3.1 界面应该是自然的、可预测的 378 14.3.2 屏幕的设计应该是吸引人的、易于使用掌握的 378 14.3.3 最好制定自己的应用程序 379 14.3.4 程序应该是容错的 379 14.3.5 gui是惟一的结束途径 379 14.4 改进gui组件的属性 379 14.5 开发事件驱动应用程序的步骤 380 14.5.1 了解问题 381 14.5.2 创建情节串联图标 381 14.5.3 定义对象库中的对象 381 14.5.4 定义用户屏幕之间的连接 382 14.5.5 计划逻辑 383 14.6 面向对象的错误处理:抛出异常 383 14.7 复习题 387 14.8 练习题 389 第15章 使用uml系统建模 391 15.1 了解系统建模的需求 391 15.2 什么是uml 392 15.3 使用用例图 393 15.4 使用类图和对象图 397 15.5 使用序列图和协作图 400 15.6 使用状态图 402 15.7 使用活动图 402 15.8 使用组件图和配置图 403 15.9 选择合适的uml图 405 15.10 复习题 405 15.11 练习题 407 第16章 使用关系数据库 408 16.1 了解关系数据库的基础 408 16.2 创建数据库和表说明 410 16.2.1 标识主键 411 16.2.2 了解数据库结构表示法 413 16.2.3 在表中添加、删除和修改记录 413 16.2.4 对表中的记录排序 413 16.2.5 创建查询 414 16.3 了解表之间的关系 415 16.3.1 了解一对多关系 416 16.3.2 了解多对多关系 417 16.3.3 了解一对一关系 420 16.4 识别拙劣的表设计 420 16.5 了解异常、范式和规范化过程 422 16.5.1 第一范式 422 16.5.2 第二范式 424 16.5.3 第三范式 426 16.6 数据库的性能问题和安全问题 428 16.6.1 提供数据完整性 428 16.6.2 恢复丢失数据 429 16.6.3 避免并发更新问题 429 16.6.4 提供验证和许可 429 16.6.5 提供加密 430 16.7 复习题 430 16.8 练习题 432 第17章 java和java编程环境简介 436 17.1 java编程语言 436 17.2 java程序的3种类型 437 17.3 面向对象术语简介 437 17.4 下载j2se(标准版java 2平台)1.4.2 437 17.5 java程序的结构 438 17.6 java开发过程 439 17.6.1 编写java源代码 440 17.6.2 编译java程序 440 17.6.3 执行java程序 441 17.6.4 练习1:了解java实用程序 441 17.6.5 实验1:编译并执行java程序 441 第18章 变量、运算符及使用顺序语句编写程序 443 18.1 变量 443 18.1.1 变量名 443 18.1.2 java数据类型 444 18.1.3 练习1:使用java变量、数据类型和关键字 444 18.2 声明和初始化变量 445 18.2.1 练习2:声明和初始化java变量 445 18.2.2 实验1:声明和初始化java变量 446 18.3 算法运算符和赋值运算符 446 18.3.1 算法运算符 446 18.3.2 赋值运算符和赋值语句 447 18.3.3 优先级和组合规则 448 18.3.4 练习3:理解运算符优先级和组合规则 448 18.3.5 实验2:使用算法运算符和赋值运算符 449 18.4 java注释 450 18.5 顺序语句 450 18.5.1 练习4:理解顺序语句 452 18.5.2 实验3:在java程序中使用顺序语句 453 第19章 编写判断程序 455 19.1 布尔运算符 455 19.1.1 关系运算符 455 19.1.2 逻辑运算符 456 19.2 比较字符串 457 19.3 选择语句 458 19.3.1 if语句 459 19.3.2 练习1:理解if语句 460 19.3.3 实验1:使用if语句 461 19.3.4 if else语句 461 19.3.5 练习2:理解if else语句 462 19.3.6 实验2:使用if else语句 463 19.3.7 嵌套式if语句 463 19.3.8 练习3:理解嵌套式if语句 464 19.3.9 实验3:使用嵌套式if语句 465 19.4 使用选择语句完成多重比较 466 19.4.1 使用and逻辑 466 19.4.2 使用or逻辑 467 19.4.3 练习4:在选择语句中完成多重比较 467 19.4.4 实验4:在选择语句中完成多重比较 468 第20章 编写使用循环的程序 470 20.1 递增运算符(++)和递减运算符(--) 470 练习1:使用递增和递减运算符 471 20.2 在java中编写while循环 472 20.2.1 练习2:使用while循环 473 20.2.2 使用计数器控制循环 473 20.2.3 练习3:使用计数器控制的while循环 474 20.2.4 实验1:使用计数器控制的while循环 475 20.2.5 使用标记值控制循环 475 20.2.6 练习4:使用标记值控制while循环 476 20.2.7 实验2:使用标记值控制while循环 476 20.2.8 使用事件控制循环 477 20.2.9 练习5:使用事件控制while循环 478 20.2.10 实验3:使用事件控制while循环 479 20.3 在java中编写for循环 479 20.3.1 练习6:使用for语句 480 20.3.2 实验4:使用for循环 481 20.4 在java中编写do while循环 481 20.4.1 练习7:使用do while循环 482 20.4.2 实验5:使用do while循环 482 20.5 嵌套循环 483 20.5.1 练习8:嵌套循环 484 20.5.2 实验6:嵌套循环 484 20.6 在循环中累加总数 485 20.6.1 练习9:在循环中累加总数 486 20.6.2 实验7:在循环中累加总数 487 第21章 编写控制改变程序,从输入文件中读取数据 488 21.1 输入文件 488 21.1.1 导入软件包和类 488 21.1.2 打开文件 489 21.1.3 从输入文件中读取数据 489 21.1.4 使用循环和eof读取数据 490 21.1.5 练习1:打开文件和执行文件输入 490 21.1.6 实验1:使用输入文件 491 21.2 在单级控制改变程序中累加总数 491 21.2.1 练习2:在单级控制改变程序中累加总数 495 21.2.2 实验2:在单级控制改变程序中累加总数 495 第22章 在java程序中使用数组 497 22.1 数组基础 497 22.1.1 声明数组 497 22.1.2 初始化数组 498 22.1.3 访问数组元素 499 22.1.4 停留在数组边界中 499 22.1.5 练习1:使用数组基础 500 22.1.6 实验1:使用数组 500 22.2 搜索数组以寻找精确匹配 500 22.2.1 练习2:搜索数组以寻找精确匹配 501 22.2.2 实验2:搜索数组以寻找精确匹配 502 22.3 并行数组 503 22.3.1 练习3:使用并行数组 504 22.3.2 实验3:使用并行数组 504 第23章 排序数据和高级数组操作 506 23.1 为什么需要排序数据 506 23.2 交换数据值 506 23.2.1 练习1:交换值 507 23.2.2 实验1:交换值 507 23.3 使用冒泡排序 508 23.3.1 housekeeping()模块 508 23.3.2 sortscores()模块和switchvalues()模块 510 23.3.3 finishup()模块 512 23.3.4 练习2:使用冒泡排序 512 23.3.5 实验2:使用冒泡排序 513 23.4 多维数组 513 23.4.1 练习3:使用多维数组 515 23.4.2 实验3:使用多维数组 515 第24章 使用菜单并执行数据的有效性验证 517 24.1 switch语句 517 24.1.1 练习1:使用switch语句 518 24.1.2 实验1:使用switch语句 519 24.2 在java中编写菜单驱动程序 520 24.2.1 startup()模块 520 24.2.2 looping()模块 521 24.2.3 cleanup()模块 524 24.2.4 练习2:使用菜单驱动程序 524 24.2.5 实验2:菜单驱动程序 525 24.3 验证输入的有效性 525 24.3.1 测试精确匹配 525 24.3.2 验证数据类型 526 24.3.3 验证数据范围 528 24.3.4 验证数据的合理性和一致性 529 24.3.5 验证数据存在 529 24.3.6 练习3:验证用户输入 530 24.3.7 实验3:验证用户输入 530 第25章 vb .net入门 532 25.1 visual studio .net ide 532 25.2 研究vb .net解决方案的组件 534 25.2.1 解决方案文件夹 534 25.2.2 designer窗口 534 25.2.3 代码窗口 536 25.3 设计时和运行时操作模式 536 25.4 启动和终止解决方案 536 25.5 复习题 537 第26章 修改解决方案 538 26.1 复制文件夹 538 26.2 测试解决方案 538 26.3 打开code窗口 539 26.4 检查代码 540 26.4.1 内部文档 540 26.4.2 变量声明 540 26.4.3 过程头和过程脚 540 26.5 修改代码 540 26.5.1 修改题头 541 26.5.2 理解代码 541 26.5.3 更正逻辑错误 541 26.6 修改数据类型 542 26.7 获得硬拷贝 542 26.8 复习题 543 26.9 练习题 543 第27章 读取记录 544 27.1 使用记事本检查文本文件 544 27.2 读取顺序文件 545 27.2.1 了解plus100解决方案 545 27.2.2 修改plus100解决方案 546 27.2.3 form_load事件处理程序 547 27.3 输入整条记录 548 27.4 了解twonames解决方案 549 27.5 复习题 550 第28章 读取文件 552 28.1 数据处理范例 552 28.2 研究inventory文件 552 28.3 研究inventory reader的代码 553 28.3.1 eof功能的实现 554 28.3.2 完成过程 554 28.4 设置属性值 555 28.5 创建自己的过程 556 28.6 复习题 557 28.7 练习题 557 第29章 解决方案的模块化 559 29.1 过程的两个类型 559 29.2 编写模块化解决方案 560 29.2.1 用等号组合算术运算符 561 29.2.2 从报告输出内容 562 29.3 函数 562 29.4 报表生成程序的过程 563 29.5 复习题 564 29.6 练习题 565 第30章 选择结构程序设计 567 30.1 编写双向选择代码 567 30.2 编写单向选择代码 568 30.3 编写and运算符 569 30.4 编写or运算符 570 30.5 使用case结构 570 30.6 嵌套式选择 572 30.7 练习题 573 第31章 循环结构程序设计 575 31.1 循环 575 31.2 while循环 575 31.3 while循环代码 576 31.4 编写过程代码 577 31.5 计数器的运行 577 31.6 do until循环 577 31.7 for循环 578 31.8 label maker程序 579 31.8.1 开始解决方案 579 31.8.2 外层循环 579 31.8.3 内层循环 580 31.9 复习题 581 31.10 练习题 581 第32章 数组 583 32.1 累加总数 583 32.2 使用累加器 584 32.3 瓶罐回收报告 585 32.4 case选择代码块 586 32.5 使用数组 587 32.6 复习题 588 32.7 练习题 589 第33章 合并顺序文件 590 33.1 读取和写入顺序文件 590 33.1.1 比较vb. net文件和notepad文件 590 33.1.2 读取文件 591 33.1.3 将信息写入文件 592 33.2 合并客户文件 593 33.2.1 了解合并 593 33.2.2 编写合并代码 593 33.3 保存合并后的文件 695 33.4 复习题 696 33.5 练习题 697 |
商品评论(0条)