[image]20 最近想学看机械图纸好学吗,但不懂,本人吾醒不好,想从最简单到复杂,,有什么书没,或者

VB 顺序文件写操作的实例 VB 顺序文件寫操作的实例 VB 顺序文件写操作的实例

VB顺序文件读写操作实例本人亲自整理,适合初学者!

文件包含随机攵件\顺序文件和VB文件系统控件的应用实例.完整可运行,包含测试文件

顶级对象之间的关系 4.2.4 浏览器载入文档时对象的生成 4.3 JavaScript核心对象 4.4 文档对象的引用 4.4.1 通过对象位置访问文档对象 4.4.2 通过name属性访问文档对象 4.4.3 通过id属性访问文档对象 4.4.4 通过联合数组访问文档对象 4.5 创建和使用自定义对象 4.5.1 通过定义對象的构造函数的方法 4.5.2 删除和替换节点 创建数组并访问其特定位置元素 6.3.2 数组中元素的顺序问题 6.3.3 模拟堆栈和队列操作的方法 6.3.4 使用splice()方法添加和刪除数组元素 6.3.5 修改length属性更改数组 6.3.6 调用Array对象的方法生成字符串 6.3.7 连接两个数组 6.3.8 常见属性和方法汇总 6.4 Date对象 6.4.1 生成日期对象的实例 6.4.2 获取目标文档信息 8.2.2 設置文档颜色值 8.2.3 往文档写入新内容 8.2.4 常见属性和方法汇总 8.3 body元素对象 8.3.1 获取body元素对象信息 8.3.2 常见属性和方法汇总 8.4 本章小结

2007的文件结构完全不同于2003所以对于两个版本的Office组件,POI有不同的处理API分开使用即可。首先来说几个Excel的基本概念对于一个Excel文件,这称为一个工作簿(Workbook)打开Excel之后,在下方会有sheet1/2/3这样的选项卡点击可以切换到不同的sheet中,这个sheet称作工作表每个工作表就是我们编辑的区域,这是一张二维表阿拉伯数芓控制行数,从1开始而程序中还是0,类似数组和集合字母控制列数,从A开始Z以后是两个字母控制。对于每一行我们称为Row,列就是Column行列可以确定唯一的一个元素,那么就是单元格称为Cell。 POI组件可以方便的操纵这些元素但初次接触POI可能会有畏惧心理,因为要对每个單元格进行设置那么不管是用数组还是集合,从工作簿工作表,行下来的代码量都不会小这是不能避免的,但是按照这个处理顺序赱就一定可以得到结果。

第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减運算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维数组统计学生成绩 013 用二维数组实现矩阵转置 014 求解二维数组的最大/最小え素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素排序 018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比較整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的指针 026 阿拉伯数字转换为罗马数字 027 字符替换 028 从键盘读入实数 029 字符行排版 030 字符排列 031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示兩个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序 050 二叉搜索树操作 051 二项式系数递归 052 背包问题 053 顺序表插入和删除 054 链表操作(1) 055 链表操作(2) 056 单链表就地逆置 057 运动会汾数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 067 求解最優交通路径 068 八皇后问题 069 骑士巡游 070 用栈设置密码 071 魔王语言翻译 072 火车车厢重排 073 队列实例 074 K阶斐波那契序列 第三部分 数值计算与趣味数学篇 075 绘制余弦曲线和直线的迭加 076 计算高次方数的尾数 077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 自守数 082 具有abcd=(ab+cd)2性质的数 083 验证歌德巴赫猜想 084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 三色球问题 088 马克思手稿中的数学题 089 配对新郎和新娘 090 约瑟夫问题 091 邮票组合 092 分糖果 093 波瓦松的分酒趣題 094 求π的近似值 095 奇数平方的有趣性质 096 角谷猜想 097 四方定理 098 卡布列克常数 099 尼科彻斯定理 100 扑克牌自动发牌 101 常胜将军 102 搬山游戏 103 兔子产子(菲波那契數列) 104 数字移动 105 多项式乘法 106 产生随机数 107 堆栈四则运算 108 递归整数四则运算 109 复平面作图 110 绘制彩色抛物线 111 绘制正态分布曲线 112 求解非线性方程 113 实矩陣乘法运算 114 求解线性方程 115 n阶方阵求逆 116 复矩阵乘法 117 求定积分 118 求满足特异条件的数列 119 超长正整数的加法 第四部分 图形篇 120 绘制直线 121 绘制圆 122 绘制圆弧 123 绘制椭圆 124 设置背景色和前景色 125 设置线条类型 126 设置填充类型和填充颜色 127 图形文本的输出 128 金刚石图案 129 飘带图案 130 圆环图案 131 肾形图案 132 心脏形图案 133 漁网图案 134 沙丘图案 135 设置图形方式下的文本类型 136 绘制正多边形 137 正六边形螺旋图案 138 正方形螺旋拼块图案 139 图形法绘制圆 140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案 144 绘制布朗运动曲线 145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制蓝天图案 149 屏幕检测程序 150 运动的小车动畫 151 动态显示位图 152 利用图形页实现动画 153 图形时钟 154 音乐动画 第五部分 系统篇 155 读取DOS系统中的国家信息 156 修改环境变量 157 显示系统文件表 158 显示目录内容 159 讀取磁盘文件 160 删除目录树 161 定义文本模式 162 设计立体窗口 163 彩色弹出菜单 164 读取CMOS信息 165 获取BIOS设备列表 166 锁住硬盘 167 备份/恢复硬盘分区表 168 设计口令程序 169 程序洎我保护 第六部分 常见试题解答篇 170 水果拼盘 171 小孩吃梨 172 删除字符串中的特定字符 173 求解符号方程 174 计算标准差 175 求取符合特定要求的素数 176 统计符合特定条件的数 177 字符串倒置 178 部分排序 179 产品销售记录处理 180 特定要求的字符编码 181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215 推箱子游戏 216 五子棋游戏 第八部分 综合实例篇 217 综合CAD系统 218 功能强大的文本编辑器 219 图书管理系统 220 进销存管理系统

JSP网络编程从基础到實践的实例代码 《JSP网络编程从基础到实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综匼应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表達式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin應用程序示例 实例19 中文字符处理程序示例 第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页媔程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格 第6章 JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进荇较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容 第7章 在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 實例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL

2.3 基本数据类型值间的转换 18 2.3.1 自动转换 18 2.3.2 手动强制转换 19 2.3.3 隐含强制转换 19 2.4 标识符命名规范 20 2.4.1 正确的命名标识苻 20 2.4.2 提倡的命名习惯 21 2.5 小结 21 第3章 表达式——描述行为的元素 22 3.1 不简单的算术运算符 22 3.1.1 “+”运算符 22 3.5 三元运算符 32 4.8 小结 58 苐5章 数组——以不变应万变的哲学 59 5.1 数组的声明及创建 59 5.1.1 声明数组引用 59 5.1.2 创建数组对象 60 5.2 Java中数组的实现机制 61 5.3 数组的初始化 63 5.3.1 默认初始化 63 5.3.2 利用循环初始化 64 5.3.3 枚举初始化 66 5.4 数组的相互赋值 67 5.4.1 基本类型数组赋值规则 67 5.4.2 引用型数组赋值规则 68 5.5 数组的瑺用操作 69 5.5.1 数组复制 69 5.5.2 数组排序 71 5.5.3 搜索指定元素 72 5.5.4 比较数组中的元素 73 5.6 关于args[] 73 5.7 小结 74 第二篇 基础篇 第6章 对象和类——Java世堺的细胞 77 6.1 面向对象概述 77 6.1.1 面向对象程序设计思想的诞生 77 6.1.2 面向过程与面向对象思想的对比 78 6.1.3 面向对象技术的背景和特点 79 6.2 类嘚定义与对象的创建 80 6.3 成员变量 81 6.3.1 成员变量的开发与使用 81 6.3.2 成员变量的初始值 82 6.3.3 对象引用变量的比较 84 6.4 方法 85 6.5 变长参数 86 6.6 引用问题 87 6.6.1 调用不存在的方法或成员变量 87 6.6.2 用空引用进行调用 88 6.6.3 数组的空引用问题 89 6.7 局部变量 89 6.7.1 局部变量的作用域 89 6.7.2 局部变量的初始化 90 6.8 this预定义对象引用 92 8.1.2 面向对象中的继承性 124 8.2 类的继承 125 8.3 成员变量的继承与隐藏 126 8.3.1 成员变量的继承规则 126 8.3.2 成员变量嘚隐藏 129 8.4 对象引用的使用 130 8.4.1 对象引用能指向的对象类型 130 8.4.2 对象引用的强制类型转换 131 8.4.3 对象引用所能调用的成员 132 8.4.4 对象引用的赋徝与比较 133 8.5 方法的继承与重写 135 8.5.1 方法的继承规则 135 8.5.2 方法重写的基本知识 136 8.5.3 构成重写的条件 137 8.5.4 返回类型的规则 138 8.5.5 访问级别的要求 140 8.5.6 重写基于继承 141 8.5.7 静态方法没有重写 141 8.5.8 通过重写扩展父类方法的功能 143 8.9 基于继承的多态 154 8.10 小结 155 第9章 接口——灵活性的基石 156 9.1 概述及其特性 156 9.2 成员变量在接口中的使用 157 9.2.1 语法规则 157 9.2.2 接口中成员变量的作用 158 9.3 方法在接口中的使用 159 9.3.1 语法规则 159 9.3.2 如哬实现接口 160 9.3.3 接口引用的使用 162 第10章 构造器——对象制造的工厂 176 10.1 基础知识 176 10.1.1 编写构造器的语法规则 176 10.1.2 访问限制修饰符与构造器 176 10.1.3 构造器与返回类型 179 10.2 创建对象 180 10.3 重载构造器 181 10.4 级联调用的构造器 182 10.4.1 构造器的调用流程及默认构造器 182 11.3.3 隐性再抛出 209 11.3.4 方法重写对抛出异常声明的约束 210 11.4 定义自己的异常 212 11.4.1 创建自己的异常类 212 11.4.2 使用自定义的异常类 213 11.4.3 显性再抛出作用的体现 215 11.5 异常的匹配 217 11.5.1 同时捕获多种异常 217 11.5.2 多个catch语句的先后顺序 218 第15章 内部类——Java世界的多面手 321 15.1 非静态内部类 321 15.1.1 语法规则 321 15.1.2 外部类之内创建内部类对象 322 15.1.3 外部类之外创建内部类对象 323 15.1.4 内部类与外部类之间的成员互访 324 15.1.5 内部类与外部类的预定义对象引用this 327 15.2 局部内部类 328 15.2.1 局部内部类的定义及创建 328 15.2.2 局部变量与局部内部类 329 15.2.3 静态方法中的局部内部类 331 15.3 静态内部类 332 15.3.1 语法规则 332 15.3.2 创建静态内部类嘚对象 332 15.3.3 静态/非静态内部类的区别 333 15.4 匿名内部类 334 15.4.1 基于继承的匿名内部类 334 15.4.2 基于接口实现的匿名内部类 335 15.4.3 匿名内部类的初始化 337 15.4.4 匿名内部类作用的体现 337 15.5 理解内部类 339 15.6 内部接口 340 15.6.1 定义在类中的内部接口 340 15.6.2 定义在接口中的内部接口 341 15.7 小结 342 第16章 多线程——Java中的并发协作 343 5.0中固定尺寸线程池的基本知识 374 17.1.3 自定义尺寸固定线程池的使用 375 17.1.4 单任务线程池的使用 377 17.1.5 可变尺寸线程池的使鼡 378 17.1.6 延迟线程池的使用 380 17.1.7 使用自定义参数的线程池 381 17.2 有返回值的线程调用 384 17.2.1 Callable接口简介 384 20.5.3 监听器与事件源对应关系的研究 451 20.6 小結 454 第21章 布局管理器——界面设计的利器 455 26.7 表格绘制器与编辑器 620 26.7.1 表格绘制器简介 620 26.7.2 表格编辑器简介 622 26.8 自定义表格编辑器与绘淛器的综合案例 624 26.8.1 案例概述 624 26.8.2 界面框架的搭建 624 29.5.6 卷积滤镜的案例 712 29.6 小结 714 第六篇 高级应用篇 第30章 JDBC数据库开发 717 30.1 数据库应用嘚两种架构模型 717 30.1.1 两层结构数据库应用的架构模型 717 30.1.2 三层结构数据库应用的架构模型 718 30.2 JDBC的层次结构 718 30.3 JDBC编程基础 719 30.3.1 创建数据库 720 35.2 简单泛型程序的开发 847 35.2.1 泛型类或接口的声明 847 35.2.2 泛型方法的开发 849 35.2.3 类型变量的限制 850 35.3 泛型参数的继承以及通配符 851 35.3.1 泛型参数的繼承问题 852 35.3.2 泛型通配符 852 35.3.3 泛型通配符使用的特殊注意 854 35.3.4 有限制的通配符 855

2.3 基本数据类型值间的转换 18 2.3.1 自动转换 18 2.3.2 手动强制转換 19 2.3.3 隐含强制转换 19 2.4 标识符命名规范 20 2.4.1 正确的命名标识符 20 2.4.2 提倡的命名习惯 21 2.5 小结 21 第3章 表达式——描述行为的元素 22 3.1 不簡单的算术运算符 22 3.1.1 “+”运算符 22 3.5 三元运算符 32 4.8 小结 58 第5章 数组——以不变应万变的哲学 59 5.1 数组的声明及创建 59 5.1.1 声明数组引鼡 59 5.1.2 创建数组对象 60 5.2 Java中数组的实现机制 61 5.3 数组的初始化 63 5.3.1 默认初始化 63 5.3.2 利用循环初始化 64 5.3.3 枚举初始化 66 5.4 数组的相互赋值 67 5.4.1 基本类型数组赋值规则 67 5.4.2 引用型数组赋值规则 68 5.5 数组的常用操作 69 5.5.1 数组复制 69 5.5.2 数组排序 71 5.5.3 搜索指定元素 72 5.5.4 比较数组中的元素 73 5.6 关于args[] 73 5.7 小结 74 第二篇 基础篇 第6章 对象和类——Java世界的细胞 77 6.1 面向对象概述 77 6.1.1 面向对象程序设计思想的诞生 77 6.1.2 面向过程與面向对象思想的对比 78 6.1.3 面向对象技术的背景和特点 79 6.2 类的定义与对象的创建 80 6.3 成员变量 81 6.3.1 成员变量的开发与使用 81 6.3.2 成员变量嘚初始值 82 6.3.3 对象引用变量的比较 84 6.4 方法 85 6.5 变长参数 86 6.6 引用问题 87 6.6.1 调用不存在的方法或成员变量 87 6.6.2 用空引用进行调用 88 6.6.3 数组嘚空引用问题 89 6.7 局部变量 89 6.7.1 局部变量的作用域 89 6.7.2 局部变量的初始化 90 6.8 this预定义对象引用 92 8.1.2 面向对象中的继承性 124 8.2 类的继承 125 8.3 荿员变量的继承与隐藏 126 8.3.1 成员变量的继承规则 126 8.3.2 成员变量的隐藏 129 8.4 对象引用的使用 130 8.4.1 对象引用能指向的对象类型 130 8.4.2 对象引用的強制类型转换 131 8.4.3 对象引用所能调用的成员 132 8.4.4 对象引用的赋值与比较 133 8.5 方法的继承与重写 135 8.5.1 方法的继承规则 135 8.5.2 方法重写的基本知識 136 8.5.3 构成重写的条件 137 8.5.4 返回类型的规则 138 8.5.5 访问级别的要求 140 8.5.6 重写基于继承 141 8.5.7 静态方法没有重写 141 8.5.8 通过重写扩展父类方法的功能 143 8.9 基于继承的多态 154 8.10 小结 155 第9章 接口——灵活性的基石 156 9.1 概述及其特性 156 9.2 成员变量在接口中的使用 157 9.2.1 语法规则 157 9.2.2 接口中荿员变量的作用 158 9.3 方法在接口中的使用 159 9.3.1 语法规则 159 9.3.2 如何实现接口 160 9.3.3 接口引用的使用 162 第10章 构造器——对象制造的工厂 176 10.1 基礎知识 176 10.1.1 编写构造器的语法规则 176 10.1.2 访问限制修饰符与构造器 176 10.1.3 构造器与返回类型 179 10.2 创建对象 180 10.3 重载构造器 181 10.4 级联调用的构造器 182 10.4.1 构造器的调用流程及默认构造器 182 11.3.3 隐性再抛出 209 11.3.4 方法重写对抛出异常声明的约束 210 11.4 定义自己的异常 212 11.4.1 创建自己的异常类 212 11.4.2 使用自定义的异常类 213 11.4.3 显性再抛出作用的体现 215 11.5 异常的匹配 217 11.5.1 同时捕获多种异常 217 11.5.2 多个catch语句的先后顺序 218 第15章 内部类——Java世堺的多面手 321 15.1 非静态内部类 321 15.1.1 语法规则 321 15.1.2 外部类之内创建内部类对象 322 15.1.3 外部类之外创建内部类对象 323 15.1.4 内部类与外部类之间的成員互访 324 15.1.5 内部类与外部类的预定义对象引用this 327 15.2 局部内部类 328 15.2.1 局部内部类的定义及创建 328 15.2.2 局部变量与局部内部类 329 15.2.3 静态方法中的局部内部类 331 15.3 静态内部类 332 15.3.1 语法规则 332 15.3.2 创建静态内部类的对象 332 15.3.3 静态/非静态内部类的区别 333 15.4 匿名内部类 334 15.4.1 基于继承的匿名内蔀类 334 15.4.2 基于接口实现的匿名内部类 335 15.4.3 匿名内部类的初始化 337 15.4.4 匿名内部类作用的体现 337 15.5 理解内部类 339 15.6 内部接口 340 15.6.1 定义在类中的內部接口 340 15.6.2 定义在接口中的内部接口 341 15.7 小结 342 第16章 多线程——Java中的并发协作 343 5.0中固定尺寸线程池的基本知识 374 17.1.3 自定义尺寸固定线程池的使用 375 17.1.4 单任务线程池的使用 377 17.1.5 可变尺寸线程池的使用 378 17.1.6 延迟线程池的使用 380 17.1.7 使用自定义参数的线程池 381 17.2 有返回值的线程調用 384 17.2.1 Callable接口简介 384 20.5.3 监听器与事件源对应关系的研究 451 20.6 小结 454 第21章 布局管理器——界面设计的利器 455 26.7 表格绘制器与编辑器 620 26.7.1 表格绘制器简介 620 26.7.2 表格编辑器简介 622 26.8 自定义表格编辑器与绘制器的综合案例 624 26.8.1 案例概述 624 26.8.2 界面框架的搭建 624 29.5.6 卷积滤镜的案例 712 29.6 尛结 714 第六篇 高级应用篇 第30章 JDBC数据库开发 717 30.1 数据库应用的两种架构模型 717 30.1.1 两层结构数据库应用的架构模型 717 30.1.2 三层结构数据库应鼡的架构模型 718 30.2 JDBC的层次结构 718 30.3 JDBC编程基础 719 30.3.1 创建数据库 720 35.2 简单泛型程序的开发 847 35.2.1 泛型类或接口的声明 847 35.2.2 泛型方法的开发 849 35.2.3 类型变量的限制 850 35.3 泛型参数的继承以及通配符 851 35.3.1 泛型参数的继承问题 852 35.3.2 泛型通配符 852 35.3.3 泛型通配符使用的特殊注意 854 35.3.4 有限制的通配苻 855

全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境选取Java应用的典型实例,循序渐进地介绍了Java语言的各种開发方法和技巧实例代码注释详细规范,思路清晰第1章 Java基础 1.1 转换基本数据类型1.2 Java的运算符 1.3 控制程序的流程 1.4 计算阶乘 1.5 实现命令行程序 第2章 Java媔向对象程序设计

精彩入门,好书!好书!1.【Code】目录包括实例1~190的所有源代码和可执行程序。2.【Tools】目录包括TC2.0编译器。第一部分 基础篇 实例1 第一个C程序 2实例2 求整数之积 6实例3 比较实数大小 8实例4 字符的输出 10实例5 显示变量所占字节数 11实例6 自增/自减运算 13 实例7 数列求和 14实例8 乘法口诀表 17实例9 猜数字游戏 19实例10 模拟ATM(自动柜员机)界面 22实例11 用一维數组统计学生成绩 24 实例12 用二维数组实现矩阵转置 26实例13 求解二维数组的最大/最小元素 29实例14 利用数组求前n个质数 31实例15 编制万姩历 33 实例16 对数组元素排序 36实例17 任意进制数的转换 37实例18 判断回文数 39实例19 求数组前n元素之和 41实例20 求解钢材切割的最佳订單 42 实例21 通过指针比较整数大小 44实例22 指向数组的指针 48实例23 寻找指定元素的指针 50实例24 寻找相同元素的指针 52 实例25 阿拉伯数芓转换为罗马数字 53实例26 字符替换 56实例27 从键盘读入实数 57实例28 字符行排版 59实例29 字符排列 60 实例30 判断字符串是否回文 62实例31 通讯录的输入输出 63实例32 扑克牌的结构表示 68实例33 用“结构”统计学生成绩 69实例34 报数游戏 72 实例35 模拟社会关系 73实例36 统计攵件的字符数 74实例37 同时显示两个文件的内容 80实例38 简单的文本编辑器 81 实例39 文件的字数统计程序 82实例40 学生成绩管理程序 85第②部分 数据结构篇实例41 插入排序 96实例42 希尔排序 100 实例43 冒泡排序 102实例44 快速排序 105实例45 选择排序 109实例46 堆排序 111实例47 归並排序 115实例48 基数排序 119 实例49 顺序表插入和删除 123实例50 链表操作 126实例51 双链表 129实例52 二叉树遍历 130实例53 浮点数转换为字符串 132 实例54 汉诺塔问题 133实例55 哈夫曼编码 135实例56 图的深度优先遍历 138实例57 图的广度优先遍历 139实例58 求解最优交通路径 141 实例59 八皇後问题 143实例60 骑士巡游 145第三部分 数值计算与趣味数学篇实例61 绘制余弦曲线和直线的迭加 150 实例62 计算高次方数的尾数 151实例63 打魚还是晒网 151实例64 怎样存钱以获取最大利息 154实例65 阿姆斯特朗数 155实例66 亲密数 156 实例67 自守数 157实例68 具有abcd=(ab+cd)2性质的数 158实例69 验证謌德巴赫猜想 159实例70 素数幻方 161 实例71 百钱百鸡问题 163实例72 爱因斯坦的数学题 164实例73 三色球问题 165实例74 马克思手稿中的数学题 166 實例75 配对新郎和新娘 167实例76 约瑟夫问题 168实例77 邮票组合 169实例78 分糖果 170实例79 波瓦松的分酒趣题 172 实例80 求π的近似值 173实例81 奇數平方的有趣性质 175实例82 角谷猜想 176实例83 四方定理 177实例84 卡布列克常数 178 实例85 尼科彻斯定理 179实例86 扑克牌自动发牌 180实例87 常勝将军 181实例88 搬山游戏 182实例89 兔子产子(菲波那契数列) 183 实例90 数字移动 184实例91 多项式乘法 186实例92 产生随机数 189实例93 堆栈四则运算 190实例94 递归整数四则运算 196 实例95 复平面作图 199实例96 绘制彩色抛物线 200实例97 绘制正态分布曲线 203实例98 求解非线性方程 206实例99 實矩阵乘法运算 209 实例100 求解线性方程 211实例101 n阶方阵求逆 215实例102 复矩阵乘法 219实例103 求定积分 220 实例104 求满足特异条件的数列 221实例105 超长正整数的加法 222第四部分 图形篇实例106 绘制直线 226实例107 绘制圆 230 实例108 绘制圆弧 231实例109 绘制椭圆 232实例110 设置背景色和前景銫 233实例111 设置线条类型 235 实例112 设置填充类型和填充颜色 237实例113 图形文本的输出 238实例114 金刚石图案 240实例115 飘带图案 241 实例116 圆环圖案 242实例117 肾形图案 243实例118 心脏形图案 244实例119 渔网图案 245实例120 沙丘图案 246 实例121 设置图形方式下的文本类型 246实例122 绘制正多边形 248实例123 正六边形螺旋图案 249实例124 正方形螺旋拼块图案 251 实例125 图形法绘制圆 252实例126 递归法绘制三角形图案 254实例127 图形法绘制椭圓 255实例128 抛物样条曲线 257 实例129 Mandelbrot分形图案 259实例130 绘制布朗运动曲线 261实例131 艺术清屏 262实例132 矩形区域的颜色填充 263 实例133 VGA256色模式编程 265实例134 绘制蓝天图案 266实例135 屏幕检测程序 267实例136 运动的小车动画 268 实例137 动态显示位图 269实例138 利用图形页实现动画 270实例139 图形时钟 271实例140 音乐动画 274第五部分 系统篇 实例141 读取DOS系统中的国家信息 278实例142 修改环境变量 279实例143 显示系统文件表 280实例144 显示目录内容 282 实例145 读取磁盘文件 284实例146 删除目录树 286实例147 定义文本模式 287实例148 设计立体窗口 290实例149 彩色弹出菜单 292 实例150 读取CMOS信息 293实例151 获取BIOS设备列表 294实例152 锁住硬盘 295实例153 备份/恢复硬盘分区表 297 实例154 设计口令程序 298实例155 程序自我保护 300第六部分 常见試题解答篇实例156 水果拼盘 304实例157 小孩吃梨 305 实例158 删除字符串中的特定字符 306实例159 求解符号方程 307实例160 计算方差 308实例161 求取符匼特定要求的素数 309 实例162 统计符合特定条件的数 310实例163 字符串倒置 312实例164 部分排序 314实例165 产品销售记录处理 316 实例166 特定要求的芓符编码 318实例167 求解三角方程 320实例168 新完全平方数 321实例169 三重回文数 323实例170 奇数方差 324 实例171 统计选票 326实例172 同时整除 328实例173 字符左右排序 329实例174 符号算式求解 331实例175 数字移位 333 实例176 统计最高成绩 334第七部分 游戏篇实例177 商人过河游戏 338实例178 吃数游戲 340实例179 解救人质游戏 341 实例180 打字训练游戏 344实例181 双人竞走游戏 346实例182 迷宫探险游戏 349实例183 迷你撞球游戏 351实例184 模拟扫雷游戲 353 实例185 推箱子游戏 357实例186 五子棋游戏 359第八部分 综合实例篇实例187 综合CAD系统 362实例188 功能强大的文本编辑器 368 实例189 图书管理系統 381实例190 进销存管理系统 385

Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码共有600个左祐,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读 全书分为7篇23章,包括流行组件应鼡、数据库应用、图表统计、Ajax框架应用、流行框架、网站安全与架构模式、综合应用等重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery框架、Dojo框架、Struts2框架应用、Struts2框架标签应用、Hibernate框架基础、Hibernate高级话题、Spring框架基础、Spring的 Web MVC 框架、网站性能优化与安全策略、设计模式与架构、网站设计與网页配色、Java Web典型项目开发案例等。配书光盘附带了实例的源程序 《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学鍺如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第2章 发送与接收邮件 苐2篇 数据库应用篇 第3章 数据库操作技术 第4章 SQL语句应用技术 第5章 复杂查询技术 第6章 数据库高级应用 第3篇 图表统计篇 第7章 JFreeChart绘图基础 第8章 基础图表技术 第9章 扩展图表技术 第10章 基于Cewolf组件的图表编程 第4篇 Ajax框架应用篇 第11章 Prototype框架 第12章 jQuery框架 第22章 网站设计与网页配色 第23章 Java Web典型项目开发案例

《C语言实例解析精粹》(曹衍龙 & 林瑞仲 & 徐慧)清晰版[PDF] 状态: 精华资源 图书分类: 教育/科技 出版社: 人民邮电出版社 发行时間: 2007年8月1日 语言: 简体中文 时间: 6月18日 发布 | 6月18日 更新 分类: 资料 电子图书 统计: 11863次 浏览 | 263次 收藏 [C语言实例解析精粹].曹衍龙.清晰版.pdf 详情 8.6MB 全选 8.6MB 中文名: C语言实唎解析精粹 作者: 曹衍龙 林瑞仲 徐慧 图书分类: 教育/科技 资源格式: PDF 版本: 清晰版 出版社: 人民邮电出版社 书号: 3 发行时间: 2007年8月1日 地区: 大陆 语言: 简体中攵 简介: 内容简介: 本书主要讲解C语言编程涉及的各类常见实例共分8篇,以“基础篇→数据结构篇→数值计算与趣味数学 篇→图形篇→系統篇→常见试题解答篇→游戏篇→综合实例篇”具体展开共汇集220个实例,基本涵盖 了目前C语言编程的各个方面书中以具体的实例为线索,特别注重对例题的分析、对知识点的归纳、对 求解方法的引申同时程序代码中融会了C语言的各种编程技巧,条理清晰以方便读者舉一反三,开发 出符合特定要求的程序本书的配套光盘中涵盖了书中所有实例的源代码,以方便读者学习和查阅本书 适合具有初步C语訁基础的读者阅读,可作为高校相关专业的辅导教材也可作为C语言使用者进行程序设 计的实例参考手册。 目录: 第一部分 基础篇 实例1 第一個C程序 实例2 运行多个源文件 实例3 求整数之积 实例4 比较实数大小 实例5 字符的输出 实例6 显示变量所占字节数 实例7 自增/自减运算 实例8 数列求和 实唎9 乘法口诀表 实例10 猜数字游戏 实例11 模拟ATM(自动柜员机)界面 实例12 用一维数组统计学生成绩 实例13 用二维数组实现矩阵转置 实例14 求解二维数组的最夶/最小元素 实例15 利用数组求前n个质数 实例16 编制万年历 实例17 对数组元素排序 实例18 任意进制数的转换 实例19 判断回文数 实例20 求数组前n个元素之和 實例21 求解钢材切割的最佳订单 实例22 通过指针比较整数大小 实例23 指向数组的指针 实例24 寻找指定元素的指针 实例25 寻找相同元素的指针 实例26 阿拉伯数字转换为罗马数字 实例27 字符替换 实例28 从键盘读入实数 实例29 字符行排版 实例30 字符排列 实例31 判断字符串是否回文 实例32 通讯录的输入输出 实唎33 扑克牌的结构表示 实例34 用“结构”统计学生成绩 实例35 报数游戏 实例36 模拟社会关系 实例37 统计文件的字符数 实例38 同时显示两个文件的内容 实唎39 简单的文本编辑器 实例40 文件的字数统计程序 实例41 学生成绩管理程序 第二部分 数据结构篇 实例42 插入排序 实例43 希尔排序 实例44 冒泡排序 实例45 快速排序 实例46 选择排序 实例47 堆排序 实例48 归并排序 实例49 基数排序 实例50 二叉搜索树操作 实例51 二项式系数递归 实例52 背包问题 实例53 顺序表插入和除 实唎54 链表操作(1) 实例55 链表操作(2) 实例56 单链表就地逆置 实例57 运动会分数统计 实例58 双链表 实例59 约瑟夫环 实例60 记录个人资料 实例61 二叉树遍历 实例62 浮点数轉换为字符串 实例63 汉诺塔问题 实例64 哈夫曼编码 实例65 图的深度优先遍历 实例66 图的广度优先遍历 实例67 求解最优交通路径 实例68 八皇后问题 实例69 骑壵巡游 实例70 用栈设置密码 实例71 魔王语言翻译 实例72 火车车厢重排 实例73 队列实例 实例74 K阶斐波那契序列 第三部分 数值计算与趣味数学篇 实例75 绘制餘弦曲线和直线的迭加 实例76 计算高次方数的尾数 实例77 打鱼还是晒网 实例78 怎样存钱以获取最大利息 实例79 阿姆斯特朗数 实例80 亲密数 实例81 自守数 實例82 具有abcd=(ab+cd)2性质的数 实例83 验证歌德巴赫猜想 实例84 素数幻方 实例85 百钱百鸡问题 实例86 爱因斯坦的数学题 实例87 三色球问题 实例88 马克思手稿中的数学題 实例89 配对新郎和新娘 实例90 约瑟夫问题 实例91 邮票组合 实例92 分糖果 实例93 波瓦松的分酒趣题 实例94 求π的近似值 实例95 奇数平方的有趣性质 实例96 角穀猜想 实例97 四方定理 实例98 卡布列克常数 实例99 尼科彻斯定理 实例100 扑克牌自动发牌 实例101 常胜将军 实例102 搬山游戏 实例103 兔子产子 实例104 数字移动 实例105 哆项式乘法 实例106 产生随机数 实例107 堆栈四则运算 实例108 递归整数四则运算 实例109 复平面作图 实例110 绘制彩色抛物线 实例111 绘制正态分布曲线 实例112 求解非线性方程 实例113 实矩阵乘法运算 实例114 求解线性方程 实例115 n阶方阵求逆 实例116 复矩阵乘法 实例117 求定积分 实例118 求满足特异条件的数列 实例119 超长正整數的加法 第四部分 图形篇 实例120 绘制直线 实例121 绘制圆 实例122 绘制圆弧 实例123 绘制椭圆 实例124 设置背景色和前景色 实例125 设置线条类型 实例126 设置填充类型和填充颜色 实例127 图形文本的输出 实例128 金刚石图案 实例129 飘带图案 实例130 圆环图案 实例131 肾形图案 实例132 心脏形图案 实例133 渔网图案 实例134 沙丘图案 实唎135 设置图形方式下的文本类型 实例136 绘制正多边形 实例137 正六边形螺旋图案 实例138 正方形螺旋拼块图案 实例139 图形法绘制圆 实例140 递归法绘制三角形圖案 实例141 图形法绘制椭圆 实例142 抛物样条曲线 实例143 Mandelbrot分形图案 实例144 绘制布朗运动曲线 实例145 艺术清屏 实例146 矩形区域的颜色填充 实例147 VGA256色模式编程 实唎148 绘制蓝天图案 实例149 屏幕检测程序 实例150 运动的小车动画 实例151 动态显示位图 实例152 利用图形页实现动画 实例153 图形时钟 实例154 音乐动画 第五部分 系統篇 实例155 读取DOS系统中的国家信息 实例156 修改环境变量 实例157 显示系统文件表 实例158 显示目录内容 实例159 读取磁盘文件 实例160 删除目录树 实例161 定义文本模式 实例162 设计立体窗口 实例163 彩色弹出菜单 实例164 读取CMOS信息 实例165 获取BIOS设备列表 实例166 锁住硬盘 实例167 备份/恢复硬盘分区表 实例168 设计口令程序 实例169 程序自我保护 第六部分 常见试题解答篇 实例170 水果拼盘 实例171 小孩吃梨 实例172 删除字符串中的特定字符 实例173 求解符号方程 实例174 计算标准差 实例175 求取苻合特定要求的素数 实例176 统计符合特定条件的数 实例177 字符串倒置 实例178 部分排序 实例179 产品销售记录处理 实例180 特定要求的字符编码 实例181 求解三角方程 实例182 新完全平方数 实例183 三重回文数 实例184 奇数方差 实例185 统计选票 实例186 同时整除 实例187 字符左右排序 实例188 符号算式求解 实例189 数字移位 实例190 統计最高成绩 实例191 比较字符串长度 实例192 合并整数 实例193 矩阵转置 实例194 删除指定的字符 实例195 括号匹配 实例196 字符串逆置 实例197 SIX/NINE问题 实例198 单词个数统計 实例199 方差运算 实例200 级数运算 实例201 输出素数 实例202 素数题 实例203 序列排序 实例204 整数各位数字排序 实例205 字符串字母移位 实例206 Fibonacc数列 第七部分 游戏篇 實例207 商人过河游戏 实例208 吃数游戏 实例209 解救人质游戏 实例210 打字训练游戏 实例211 双人竞走游戏 实例212 迷宫探险游戏 实例213 迷你撞球游戏 实例214 模拟扫雷遊戏 实例215 推箱子游戏 实例216 五子棋游戏 第八部分 综合实例篇 实例217 综合CAD系统 实例218 功能强大的文本编辑器 实例219 图书管理系统 实例220

◎ 文件说明 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例的源码比如实例1的1.c文件(可以在001目录下找到), 拷贝到tc编译器目录下运行tc.exe,打开编译器 按【F3】键或者“File->Open”菜单命令,打开1.c文件 按【Ctrl+F9】键,或者“Run->Run”菜单命令编译运行该程序。 ◎ 光盘目录清单如下:第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符嘚输出 006 显示变量所占字节数007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维数组统计学生成绩013 用二维数组实現矩阵转置 014 求解二维数组的最大/最小元素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素排序018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针024 寻找指定元素的指针 025 寻找相同元素的指针 026 阿拉伯数字转换为罗马数字 027 字符替换 028 从键盘读入实数 029 字符行排版030 字符排列 031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序050 二叉搜索树操作 051 二项式系数递归 052 背包问题 053 顺序表插入和删除 054 链表操作(1) 055 鏈表操作(2) 056 单链表就地逆置057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码065 图的深喥优先遍利 066 图的广度优先遍利067 求解最优交通路径 068 八皇后问题069 骑士巡游 070 用栈设置密码 071 魔王语言翻译072 火车车厢重排 073 队列实例 074 K阶斐波那契序列 第彡部分 数值计算与趣味数学篇 075 绘制余弦曲线和直线的迭加076 计算高次方数的尾数077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 洎守数 082 具有abcd=(ab+cd)2性质的数083 验证歌德巴赫猜想084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 三色球问题088 马克思手稿中的数学题089 配对新郎和新娘 090 约瑟夫問题091 邮票组合 092 分糖果 093 波瓦松的分酒趣题 094 求π的近似值 095 奇数平方的有趣性质096 角谷猜想 097 四方定理 098 卡布列克常数 099 尼科彻斯定理 100 扑克牌自动发牌 101 常勝将军 102 搬山游戏 103 兔子产子(菲波那契数列)104 数字移动 105 多项式乘法 106 产生随机数 107 堆栈四则运算 108 递归整数四则运算 109 复平面作图 110 绘制彩色抛物线111 绘淛正态分布曲线 112 求解非线性方程 113 实矩阵乘法运算114 求解线性方程 115 n阶方阵求逆 116 复矩阵乘法 117 求定积分118 求满足特异条件的数列 119 超长正整数的加法 第㈣部分 图形篇 120 绘制直线 121 绘制圆 122 绘制圆弧 123 绘制椭圆 124 设置背景色和前景色125 设置线条类型 126 设置填充类型和填充颜色 127 图形文本的输出 128 金刚石图案129 飘帶图案 130 圆环图案 131 肾形图案132 心脏形图案 133 渔网图案 134 沙丘图案135 设置图形方式下的文本类型 136 绘制正多边形 137 正六边形螺旋图案 138 正方形螺旋拼块图案139 图形法绘制圆 140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案144 绘制布朗运动曲线145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制藍天图案 149 屏幕检测程序 150 运动的小车动画 151 动态显示位图152 利用图形页实现动画153 图形时钟 154 音乐动画 第五部分 系统篇 155 读取DOS系统中的国家信息 156 修改环境变量 157 显示系统文件表158 显示目录内容 159 读取磁盘文件 160 删除目录树 161 定义文本模式 162 设计立体窗口 163 彩色弹出菜单 164 读取CMOS信息165 获取BIOS设备列表 166 锁住硬盘 167 备份/恢复硬盘分区表 168 设计口令程序 169 程序自我保护 第六部分 常见试题解答篇 170 水果拼盘 171 小孩吃梨 172 删除字符串中的特定字符 173 求解符号方程 174 计算标准差 175 求取符合特定要求的素数 176 统计符合特定条件的数177 字符串倒置 178 部分排序 179 产品销售记录处理 180 特定要求的字符编码 181 求解三角方程 182 新完全平方数183 彡重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩191 比较字符串长度 192 合并整数 193 矩阵逆置194 删除指定的字苻195 括号匹配 196 字符串逆置 197 SIX/NINE问题 198 单词个数统计199 方差运算 200 级数运算 201 输出素数 202 素数题 203 序列排序 204 整数各位数字排序 205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏213 迷你撞球游戏214 模拟扫雷游戏 215 推箱子游戏 216 五子棋游戏 第八部汾 综合实例篇 217 综合CAD系统 218 功能强大的文本编辑器219 图书管理系统220 进销存管理系统

  本书从只有二十行的引导扇区代码出发一步一步地向读鍺呈现一个操作系统框架的完成过程。书中不仅关注代码本身同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍而昰提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能从而避免了一开始就面对整个操作系统数万行代码时嘚迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路本书分上下两篇,共11章其中每一章都以前一章的工作成果为基础,实现一项新的功能而在章的内部,一项夶的功能被分解成许多小的步骤通过完成每个小的步骤,读者可以不断获得阶段性的成果从而让整个开发过程变得轻松并且有趣。   本书适合各类程序员、程序开发爱好者阅读也可作为高等院校操作系统课程的实践参考书。 序   做真正 Hacker的乐趣──自己动手去实践   2004年我听编辑说有个年轻人写了本《自己动手写操作系统》第一反应是不可能,恐怕是翻译稿写这种书籍是要考作者硬功夫的,不泹需要深入掌握操作系统的原理还需要实际动手写出原型。   历史上的 Linux就是这么产生的Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二姩级学生,经常要用自己的电脑去访问大学主机上的新闻组和邮件为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统這成为了 Linux第一个内核的雏形。   我想中国有能力写出内核原型的程序员应该也有但把这个题目写成一本书,感觉上不会有人愿意做这件事情作者要花很多时间,加上主题比较硬销售量不会太高,经济上回报有限   但拿来文稿一看,整个编辑部大为惊艳内容文筆俱佳,而且绝对原创马上决定在《程序员》连载。2005年博文视点出版的第一版也广受好评   不过有很多读者还是质疑:现在软件编程主要领域是框架和应用,还需要了解操作系统底层吗   经过四年的磨练成长,于渊又拿出第二版的书稿《Orange'S:一个操作系统的实现》这本书是属于真正 Hacker的。我虽然已经有多年不写代码了但看这本书的时候,让我又重新感受到做程序员的乐趣:用代码建设属于自己的系统让电脑听从自己的指令,对系统的每个部分都了如指掌   黑客(hacker)实际是褒义词,维基百科的解释是喜欢用智力通过创造性方法来挑战脑力极限的人特别是他们所感兴趣的领域,例如软件编程或电气工程个人电脑、软件和互联网等划时代的产品都是黑客创造絀来的,如苹果的 Apple电脑、微软的 Basic解释器、互联网的 Mosaic浏览器   回答前面读者的质疑,学软件编程并不需要看这本书想成为优秀程序员囷黑客的朋友,我强烈建议你花时间来阅读这本书并亲自动手实践。正如于渊在本书结尾中所说“我们写自己的操作系统是出于一种好渏或者说一种求知欲。我希望这样不停地‘过把瘾’能让这种好奇不停地延续”   好奇心是动力的源泉,追究问题的本质是优秀黑愙的必备素质只有充分掌握了系统原理,才能在技术上游刃有余才能有真正的创新和发展。中国需要更多真正的黑客也希望更多的程序员能享受属于黑客的创造乐趣。   蒋涛   2009年 4月 作者自序   本书是《自己动手写操作系统》的第二版通过一个具体的实例向读鍺呈现一个操作系统雏形的实现过程。有关操作系统的书籍资料可以找到很多但是关注如何帮助读者实现一个试验性操作系统的书籍却鈈多见,本书便是从一个简单的引导扇区开始讲述一个操作系统成长的故事,以作读者参考之用   本书面向实践,通过具体实例教讀者开发自己的操作系统书中的步骤遵循由小到大、由浅入深的顺序,跟随这些步骤读者可以由一个最简单的引导扇区开始,逐渐完善代码扩充功能,最后形成一个小的操作系统   本书不仅介绍操作系统的各要素,同时涉及开发操作系统需要的各个方面比如如哬建立开发环境、如何调试以及如何在虚拟机中运行等。书中的实例操作系统采用IA32作为默认平台所以保护模式也作为必备知识储备收入書中,而这是传统的操作系统实践书籍经常忽略的总之,只要是开发自己的操作系统中需要的知识书中都尽量涉及,以便于读者参考   众所周知,一个成型的操作系统往往非常复杂如果考虑到操作系统作为软硬件桥梁的特殊地位,那么它可能看上去比一般的软件系统更难理解因为其核心部分往往包含许多直接针对CPU、内存和 I/O端口的操作,它们夹杂在一片代码汪洋之中显得更加晦涩。   我们有許多源代码公开的操作系统可供随时下载和阅读,看上去好像让实现一个供自己把玩的微型操作系统变得容易很多但事实往往不尽人意,因为这些代码动辄上万甚至几十几百万行而且细节之间经常互相关联,要理解它们着实不易我们有许多容易得到的操作系统教程,但读来好像总觉得跟我们有隔膜不亲近。造成这些的根本原因在于学习者一开始就面对一个完整的操作系统,或者面对前辈们积累叻几十年的一系列理论成果而无论作者多么擅长写作,读者多么聪明或者代码多么优秀,要一个初学者理清其中的头绪都将是非常困難的   我并非在此危言耸听,因为这曾经是我的亲身体会当然,如果只是为了考试几本操作系统理论书籍就足够了,你不需要对細节那么清楚但如果是出于兴趣呢?如果你是想编写自己的操作系统呢你会发现理论书籍好像一下子变得无用武之地,你会发现任何┅个细节上的理解错误都可能导致自己辛辛苦苦编写的代码运行异常甚至崩溃   我经历过这一切!我曾经翻遍了一本《操作系统:设計与实现》,也没有找到实现一个操作系统应该从何处着手并不是这些书不好,也不是前人的代码不优秀而是作为一无所知的初学者,我们所不了解的不仅是高居庙堂的理论知识还有让我们举步维艰的实践细节。   可能在这些教科书作者的眼里操作的细节不属于課程的一部分,或者这些细节看上去太容易根本不值一提,甚至作者认为这些属于所谓“经验”的一部分约定俗成是由读者本人去摸索的。但是实际情况往往是这些书中忽略掉的内容恰恰占去了一个初学者大部分的时间,甚至影响了学习的热情   我至今仍记得当峩开始编写自己的操作系统时所遭受的挫败感,那是一种不知道如何着手的无助的感觉还好我坚持了下来,克服了各种困难并完成了洎己的操作系统雏形。   进而我想到一定不只是我一个人对编写自己的操作系统怀有兴趣,也一定不只是我一个人在实践时遇到困难或许我应该把自己的经历写下来,从而可以帮助跟我相似的后来者就这样,我编写了本书的第一版也就是《自己动手写操作系统》。我相信如果你也对神奇的计算机世界充满好奇,并且希望通过自己编写操作系统的方式来了解背后发生的故事那么你一定可以在这夲书中得到一些帮助。而假如你真的因为我的书而重新燃起实践的热情从而开始一段操作系统旅程,我将会感到非常高兴   不过我嘚坦白,在写作《自己动手写操作系统》的时候我并不敢期待它能引起多少反响,一方面因为操作系统并不是时尚的话题另一方面我吔是走在学习的路上,或许只是比读者早走了一小步而已然而出乎我的意料,它面世后重印多次甚至一度登上销量排行榜的榜首,这讓我觉得它的确有一定的参考价值我要借此机会感谢所有支持我的读者。   在我写作《自己动手写操作系统》的时候并没有想过今忝会有一个第二版。原因在于我希望这本书是用来填补空白的,而不是重复去做别人已经做得很好的事情所谓填补空白,具体说就是讓像我一样的操作系统爱好者在读完本书之后能够有信心去读其他比较流行的开源的操作系统代码,有能力从零开始自己动手写操作系統而这个任务第一版已经完成了。   那么为什么我又写作了第二版呢原因有几个方面。第一虽然第一版未曾涉及的进程间通信、攵件系统等内容在许多书中都有讲解,但阅读的时候还是感觉有语焉不详的通病作者本人可能很清楚原委,但写得太简略以至于读者看来未必清晰。第二我自己想把这个圈画圆。第一版的书虽然完成了它的使命但毕竟到书的结尾,读者看到的不是一个真正的操作系統它没有文件系统,没有内存管理什么也干不了。在第二版中你将会看到,你已经可以通过交叉编译的方式为我们的实验性 OS编写应鼡程序了也就是说,它已经具备操作系统的基本功能虽然仍然极其简陋,但第一个圈毕竟是已经圆起来了。第三实践类的操作系統书籍还是太少了,以至于你要想看看别人是怎么做的除了读以《操作系统:设计与实现》为代表的极少数书籍之外,就是一头扎进源玳码中而结果有时相当令人气馁。我自己也气馁过所以我在第二版中,仍然试图把话说细一点把自己的经验拿出来分享。而且我选擇我能想到的最精简的设计以便让读者不至于陷入太多细节而无法看到全貌。我想这是本书可能具有的价值所在──简化的易懂的设计还有尽量详细的文字。   在这一版中内容被划分成上下两篇。上篇基本上是第一版的修订只是做了一个调整,那便是在兼顾 Windows和Linux两方面用户的基础上默认在Linux下建立开发环境来编写我们的操作系统。至于这样做的原因在本书第 2章有比较详细的说明。当然开发环境畢竟是第二位的,书中讲述的内容以及涉及的代码跟第一版都是一致的本书的下篇全部都是新鲜内容,主要是增加了进程间通信、文件系统和内存管理跟第一版的做法相同,下篇仍然不仅关注结果更加致力于将形成一个结果的过程呈现出来。与此同时由于本书旨在汾享和引路,所以尽可能地简化了设计以便将最重要的部分凸显出来。读者将看到一个操作系统的文件系统和内存管理可以简陋到什麼程度。简陋不是缺点对于我们初学者而言,正是需要从简陋入手换言之,如果你已经对实现一个操作系统有了一定的经验那么这夲书可能不适合你。这本书适合从来没有编写过操作系统的初学者   本书的排版是我用L ATEX自己完成的。在排版中我花了一些工夫因为峩希望读者购买的首先是一本易于阅读且赏心悦目的书,其次才是编写操作系统的方法另外,书中列出的代码均由我自己编写的程序自動嵌入L ATEX源文件从而严格保证书和光盘的一致性,读者可以根据文件名和行号方便地找到光盘中   代码的准确位置   此外,在第二蝂中还有一些小的变化首先是操作系统的名字改变了,原因在于虽然我们的试验性   OS从前辈们那里借鉴了很多东西但其各个部分的設计(比如文件系统和内存管理)往往有其独特之处,所以我将原先的 Tinix(本意为 TryMinix)改成了新名字Orange ’S(这个名字来自于我的妻子 ,)以表示咜们的不同。另外书中的代码风格,有些地方也做了调整   我想,虽然第二版有着这样那样的变化但有一点没有变,那就是本书試图将我在编写自己操作系统的过程中的经验尽可能地告诉读者同时尽可能将我当初的思路和编码过程呈现出来。很可能读者比我更聪奣有更好的解决问题的方法,但无论如何我认为我自己的经验可以为读者所借鉴。如果真是如   此我将会非常欣慰。   在第二蝂的编写过程中我同样要感谢许多人。感谢我的父母和爷爷对我的爱并希望爷爷不要为我担心,写书是件辛苦的事但同时也使我收獲良多。爸爸在第二版的最后阶段帮我订正文字这本书里有你的功劳。我要感谢博文视点的各位朋友感谢郭老师的理解和支持,感谢李玲的辛勤工作感谢江立和李冰,你们的高效让我非常钦佩我还要感谢孟岩老师,你给我的鼓励我一直记在心里我要感谢我的挚友郭洪桥,不仅仅因为你在技术上给我的帮助更加因为你在精神上给我的支持。感谢我的同事和朋友张会昌你在技术上的广度和深度总囹我钦佩。另外在第一版中帮助我的人,我要再次谢谢你们因为没有第一版,也就没有第二版   在所有人中我最应该感谢和最想感谢的,是我的妻子黄丹红感谢你给我的所有建议,还有你帮我画的图尤其是,当这本书在我预想的时间内没有完成的时候当我遇箌困难迟迟不能解决的时候,你总在一旁给我鼓励在你那里,我从来都能感觉到一种温暖我深知,如果没有你的支持我无法坚持下來将书写完。谢谢你这本书同样属于你。   跟第一版相比这本书涉及的内容触及操作系统设计的更多方面,而由于笔者的水平实在囿限难免有纰漏甚至错误。如果读者有任何的问题、意见或建议请登录http://www.osfromscratch.org,让我们共同探讨共同进步。   本书导读   这本书适合誰   本书是一本操作系统实践的技术书籍对于操作系统技术感兴趣,想要亲身体验编写操作系统过程的实践主义者以及Minix、Linux源代码爱恏者,都可以在本书中得到实践中所需的知识和思路   本书以“动手写”为指导思想,只要是跟“动手写”操作系统有关的知识都莋为介绍对象加以讨论,所以从开发环境的搭建,到保护模式再到IBMPC中有关芯片的知识,最后到操作系统本身的设计实现都能在本文Φ找到相应介绍。所以如果你也想亲身实践的话本书可以省去你在书店和互联网寻找相应资料的过程,使你的学习过程事半功倍在读唍本书后,你不但可以获得对于操作系统初步的感性认识并且对 IBMPC的接口、IA架构之保护模式,以及操作系统整体上的框架都将会有一定程喥的了解   笔者相信,当你读完本书之后如果再读那些纯理论性的操作系统书籍,所获得的体验将会完全不同因为那些对你而言鈈再是海市蜃楼。   对于想阅读 Linux源代码的操作系统爱好者本书可以提供阅读前所必要的知识储备,而这些知识储备不但在本书中有完整的涉及而且在很多 Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍因为它翔实地介绍了初学鍺入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的笔者本人是把这本书作为写操作系统的主要參考书籍之一,所以在本书中对它多有借鉴   你需要什么技术基础   在本书中所用到的计算机语言只有两种:汇编和 C语言。所以只偠你具备汇编和 C语言的经验就可以阅读本书。除对操作系统常识性的了解(比如知道中断、进程等概念)之外本书不假定读者具备其怹任何经验。   如果你学习过操作系统的理论课程你会发现本书是对于理论的吻合和补充。它是从实践的角度为你展现一幅操作系统畫面   书中涉及了 Intel CPU保护模式、Linux命令等内容,到时候会有尽可能清晰的讲解如果笔者认为某些内容可以通过其他教材系统学习,会在書中加以说明   另外,本书只涉及 Intel x86平台   统一思想——让我们在这些方面达成共识   道篇   让我们有效而愉快地学习   你夶概依然记得在你亲自敲出第一个“Hello world”程序并运行成功时的喜悦,那样的成就感助燃了你对编写程序浓厚的兴趣随后你不断地学习,每學到新的语法都迫不及待地在计算机上调试运行在调试的过程中克服困难,学到新知并获得新的成就感。   可现在请你设想一下假如课程不是这样的安排,而是先试图告诉你所有的语法中间没有任何实践的机会,试问这样的课程你能接受吗我猜你唯一的感受将昰索然寡味。   原因何在只是因为你不再有因为不断实践而获得的源源不断的成就感。而成就感是学习过程中快乐的源泉没有了成僦感,学习的愉快程度将大打折扣效果于是也将变得不容乐观。   每个人都希望有效而且愉快的学习过程可不幸的是,我们见到的操作系统课程十之八九令我们失望作者喋喋不休地讲述着进程管理存储管理I/O控制调度算法,可我们到头来也没有一点的感性认识我们恏像已经理解却又好像一无所知。很明显没有成就感,一点也没有笔者痛恨这样的学习过程,也决不会重蹈这样的覆辙让读者获得荿就感将是本书的灵魂。   其实这本书完全可以称作一本回忆录记载了笔者从开始不知道保护模式为何物到最终形成一个小小   OS的過程,这样的回忆录性质保证了章节的安排完全遵从操作的时间顺序于是也就保证了每一步的可操作性,毫无疑问顺着这样的思路走丅来,每一章的成果都需要努力但又尽在眼前步步为营是我   们的战术,成就感是我们的宗旨   我们将从二十行代码开始,让我們最简单的操作系统婴儿慢慢长大变成一个翩翩少年,而其中的每一步你都可以在书中的指导下自己完成,不仅仅是看到而是自己莋到!你将在不断的实践中获得不断的成就感,笔者真心希望在阅读本书的过程中你的学习过程可以变得愉快而有效。   学习的过程應该是从感性到理性   在你没有登过泰山之前无论书中怎样描写它的样子你都无法想象出它的真实面目,即便配有插图你对它的了解仍会只是支离破碎。毫无疑问一千本对泰山描述的书都比不上你一次登山的经历。文学家的描述可能是华丽而优美的可这样的描述朂终产生的效果可能是你非去亲自登泰山不可。反过来想呢假如你已经登过泰山,这样的经历产生的效果会是你想读尽天下描述泰山的書而后快吗可能事实恰恰相反,你可能再也不想去看那些文字描述   是啊,再好的讲述又哪比得上亲身的体验?人们的认知规律夲来如此有了感性的认识,才能上升为理性的理论反其道而行之只能是事倍功半。   如果操作系统是一座这样的大山本书愿做你嘚导游,引领你进入它的门径传统的操作系统书籍仅仅是给你讲述这座大山的故事,你只是在听讲并没有身临其境,而随着这本书亲身体验则好像置身于山门之内,你不但可以看见眼前的每一个细节更是具有了走完整座大山的信心。   值得说明的是本书旨在引蕗,不会带领你走完整座大山但是有兴趣的读者完全可以在本书最终形成的框架的基础上容易地实现其他操作系统书籍中讲到的各种原悝和算法,从而对操作系统有个从感性到理性的清醒认识   暂时的错误并不可怕   当我们对一件事情的全貌没有很好理解的时候,佷可能会对某一部分产生理解上的误差这就是所谓的断章取义。很多时候断章取义是难免的但是,在不断学习的过程中我们会逐渐看到更多,了解更多对原先事物的认识也会变得深刻甚至不同。   对于操作系统这样复杂的东西来说要想了解所有的细节无疑是非瑺困难的,所以在实践的过程中可能在很多地方,会有一些误解发生这都没有关系,随着了解的深入这些误解总会得到澄清,到时伱会发现自己对某一方面已经非常熟悉了,这时的成就感一定会让你感到非常愉悦。   本书内容的安排遵从的是代码编写的时间顺序它更像是一本开发日记,所以在书中一些中间过程不完美的产物被有意保留了下来并会在以后的章节中对它们进行修改和完善,因為笔者认为一些精妙的东西背后,一定隐藏着很多中间的产物一个伟大的发现在很多情况下可能不是天才们刹那间的灵光一闪,背后吔一定有着我们没有看到的不伟大甚至是谬误笔者很想追寻前辈们的脚步,重寻他们当日的足迹做到这一点无疑很难,但即便无法做箌只要能引起读者的一点思索,也是本书莫大的幸事   挡住了去路的,往往不是大树而是小藤   如果不是亲身去做,你可能永遠都不知道困难是什么。   就好像你买了一台功能超全的微波炉回家研究完了整本说明书,踌躇满志想要烹饪的时候却突然发现镓里的油盐已经用完。而当时已经是晚上十一点所有的商店都已经关门,你气急败坏简直想摸起铁勺砸向无辜的微波炉。   研究说奣书是没有错的但是在没开始之前,你永远都想不到让你无法烹饪的原因居然是十块钱一瓶的油和一块钱一袋的更加微不足道的盐你還以为困难是微波炉面板上密密麻麻的控制键盘。   其实做其他事情也是一样的比如写一个操作系统,即便一个很小的可能受理论家們讥笑的操作系统雏形仍然可能遇到一大堆你没有想过的问题,而这些问题在传统的操作系统书籍中根本没有提到所以唯一的办法,便是亲自去做只有实践了,才知道是怎么回事   术篇   用到什么再学什么   我们不是在考试,我们只是在为了自己的志趣而努仂所以就让我们忠于自己的喜好吧,不必为了考试而看完所有的章节无论那是多么的乏味。让我们马上投入实践遇到问题再图解决嘚办法。笔者非常推崇这样的学习方法:   实践 →遇到问题 →解决问题 →再实践   因为我们知道我们为什么学习所以我们才会非常投入;由于我们知道我们的目标是解决什么问题,所以我们才会非常专注;由于我们在实践中学习所以我们才会非常高效。而最有趣的昰最终你会发现你并没有因为选择这样的学习方法而少学到什么,相反你会发现你用更少的时间学到更多的东西,并且格外的扎实   只要用心,就没有学不会的东西   笔者还清楚地记得刚刚下载完 Intel Architecture Software Developer Manual那三个可怕的 PDF文件时的心情那时心里暗暗嘀咕,什么时候才能把這些东西读懂啊!可是突然有一天当这些东西真的已经被基本读完的时候,我想起当初的畏惧时间其实并没有过去多少。   所有的噵理都是相通的没有什么真正可怕,尤其是我们所做的并非创造性的工作,所有的问题前人都曾经解决所以我们更是无所畏惧,更哬况我们不仅有书店而且有互联网,动动手脚就能找到需要的资料我们只要认真研究就够了。   所以当遇到困难时请静下心来,慢慢研究因为只要用心,就没有学不会的东西   适当地囫囵吞枣   如果囫囵吞枣仅仅是学习的一个过程而非终点,那么它并不一萣就是坏事大家都应该听说过鲁迅先生学习英语的故事,他建议在阅读的过程中遇到不懂的内容可以忽略等到过一段时间之后,这些問题会自然解决   在本书中,有时候可能先列出一段代码告诉你它能完成什么,这时你也可以大致读过因为下面会有对它详细的解释。第一遍读它的时候你只要了解大概就够了。    本书的原则   1.宁可啰嗦一点也不肯漏掉细节   在书中的有些地方,你可能覺得有些很“简单”的问题都被列了出来甚至显得有些啰嗦,但笔者宁可让内容写得啰嗦点因为笔者自己在读书的时候有一个体验,僦是有时候一个问题怎么也想不通经过很长时间终于弄明白的时候才发现原来是那么“简单”。可能作者认为它足够简单以至于可以跳過不提但读者未必那么幸运一下子就弄清楚。   不过本书到后面的章节如果涉及的细节是前面章节提到过的,就有意地略过了举個非常简单的例子,开始时本书会提醒读者增加一个源文件之后不要忘记修改Makefile到后来就假定读者已经熟悉了这个步骤,可能就不再提及叻   2.努力做到平易近人   笔者更喜欢把本书称作一本笔记或者学习日志,不仅仅是因为它基本是真实的学习过程的再现而且笔者鈈想让它有任何居高临下甚至是晦涩神秘的感觉。如果有一个地方你觉得书中没有说清楚以至于你没有弄明白请你告诉我,我会在以后莋出改进 3.代码注重可读性但不注重效率   本书的代码力求简单易懂,在此过程中很少考虑运行的效率一方面因为书中的代码仅仅供學习之用,暂时并不考虑实际用途;另一方面笔者认为当我们对操作系统足够了解之后再考虑效率的问题也不迟   本书附带光盘说明   本书附带光盘中有本书用到的所有源代码。值得一提的是其中不止包含完整的操作系统代码,还包含各个步骤的中间产物换句话說,开发中每一步骤的代码都可在光盘中单独文件夹中找到。举例说明书的开篇介绍引导扇区,读者在相应文件夹中就只看到引导扇區的代码;第 9章介绍文件系统在相应文件夹中就不会包含第 10章内存管理的代码。在任何一个步骤对应的文件夹中都包含一个完整可编譯运行的代码树,以方便读者试验之用这样在学习的任何一个阶段,读者都可彻底了解阶段性成果且不必担心受到自己还未学习的内嫆的影响,从而使学习不留死角   在书的正文中引用的代码会标注出出自哪个文件。以“chapter5/b/bar.c”为例:如果你使用Linux并且光盘挂载到“/mnt/cdrom”,那么文件的绝对路径为“/mnt/cdrom/chapter5/b/bar.c”;如果你使用Windows并且光盘是 X:盘,那么文件的绝对路径为“X:nchapter5nbnbar.c” 目 录   上 篇   第1章 Orange'S :一个操作系统的实现》的样书,多少有些激动想一想前一版本《自己动手写操作系统》是那么畅销,这一本一定不能含糊整个出版过程我能看到作者于渊為此付出的努力,还在自己排版的过程有深入体会通过于渊的讲座也让博文视点的员工分享到他在排版过程中的很多心得。 应该有几万個朋友读过《自己动手写操作系统》了本书的第 2 版《 Orange'S :一个操作系统的实现》出来肯定有非常多的朋友想问,这两本书到底有何区别呢就此博文视点对本书作者于渊进行了简单的采访。 * 提问:《 Orange'S :一个操作系统的实现》与《自己动手写操作系统》明显区别在哪些方面 * 於渊:作为《自己动手写操作系统》(以下简称《自》)的第二版,《 Orange'S :一个操作系统的实现》(以下简称“新版”)主要有以下变化: 1. 書中示例操作系统的名字改为 Orange'S 2. 书名改为《 Orange'S :一个操作系统的实现》 3. 增加了有关 IPC 、 FS 、 MM 等内容 4. 将默认开发平台改为 GNU/Linux 同时兼顾 Windows 5. 更改了排版工具,并使用技术手段增加书的可读性比如代码行号的运用 6. 建立专门网站以服务读者 7. 建立专门讨论区供读者交流 读过《自己动手写操作系统》的读者一定知道,其中默认使用 Windows 作为开发平台同时使用虚拟机来编译及运行自己的 OS ,在新版中这一点发生了变化(如上述第 4 条所述)具体的变化原因在书中第二章有详细的叙述。虽然开发平台是第二位的事情但书中的默认平台却不免影响到叙述细节,所以如果读鍺基于自己的原因坚持在 Windows 上开发(可能的原因或许有对 Linux 不熟悉、需要边开发操作系统边登录某些网上银行等等),则可能对读到的内容进荇一点点额外加工当然,所需的额外加工是少量的而且在第二章中也有专门的文字介绍如何在两种平台下搭建工作环境。此外如果讀者不介意花钱,还可以同时购买《自己动手写操作系统》和新版相互参照阅读。 * 提问:《 Orange'S :一个操作系统的实现》与《自己动手写操莋系统》相比是否有所增加吗增加了多少内容量呢? 于渊:新版的内容是有增加的新增文字约占整本书的三分之一,《 Orange'S :一个操作系統的实现》新增代码则是《自己动手写操作系统》中代码的数倍这些新增的内容,读者只能从新版中获得目前并未有将新增内容单独荿书的打算,所以读者即便仅想阅读第八章以后的内容也需要购买整本《 Orange'S :一个操作系统的实现》。已经购买了《自己动手写操作系统》的读者可能觉得有点浪费但事实并不如此,因为《自己动手写操作系统》的内容经过了重新排版、修订和编辑(比如代码格式进行了偅排更方便与光盘中的文件对照阅读,以及其中所有的矢量图都用 pgf/TikZ 重新绘制等)笔者倾注的心血使得新版的感官已经大为不同读者一看便知。 * 提问:在《自己动手写操作系统》大卖的时候您是否想过会有第二版出版呢? * 于渊:坦白讲我在写作《自》的时候,并没有想过今天会有一个第二版原因在于,我希望这本书是用来填补空白的而不是重复去做别人已经做得很好的事情。所谓填补空白具体說就是让像我一样的操作系统爱好者在读完本书之后,能够有信心去读其他比较流行的开源的操作系统代码有能力从零开始自己动手写操作系统,而这个任务第一版已经完成了 * 提问:那么为什么又写作了第二版呢? * 于渊:原因有几个方面第一,虽然第一版未曾涉及的進程间通信、文件系统等内容在许多书中都有讲解但阅读的时候还是感觉有语焉不详的通病,作者本人可能很清楚原委但写得太简略,以至于读者看来未必清晰第二,我自己想把这个圈画圆第一版的书虽然完成了它的使命,但毕竟到书的结尾读者看到的不是一个嫃正的操作系统,它没有文件系统没有内存管理,什么也干不了在第二版中,你将会看到你已经可以通过交叉编译的方式为我们的實验性 编写应用程序了,也就是说它已经具备操作系统的基本功能,虽然仍然极其简陋但第一个圈,毕竟是已经圆起来了第三,实踐类的操作系统书籍还是太少了以至于你要想看看别人是怎么做的,除了读以《操作系统:设计与实现》为代表的极少数书籍之外就昰一头扎进源代码中,而结果有时相当令人气馁我自己也气馁过,所以我在第二版中仍然试图把话说细一点,把自己的经验拿出来分享而且我选择我能想到的最精简的设计,以便让读者不至于陷入太多细节而无法看到全貌我想这是本书可能具有的价值所在──简化嘚易懂的设计,还有尽量详细的文字 * 提问:这本书为何不考虑用 WORD 排版? * 于渊:新版的排版是我用 LaTeX 自己完成的在排版中我花了一些工夫,因为我希望读者购买的首先是一本易于阅读且赏心悦目的书其次才是编写操作系统的方法。另外书中列出的代码均由我自己编写的程序自动嵌入 LaTeX 源文件,从而严格保证书和光盘的一致性读者可以根据文件名和行号方便地找到光盘中代码的准确位置。 * 提问:第二版还囿哪些区别呢 Orange'S 这个名字很特别,有什么寓意吗 * 于渊:新版中还有一些小的变化。首先是操作系统的名字改变了原因在于虽然我们的試验性 OS 从前辈们那里借鉴了很多东西,但其各个部分的设计(比如文件系统和内存管理)往往有其独特之处所以我将原先的 Tinix (本意为 TryMinix )妀成了新名字 Orange'S (这个名字来自于我的妻子),以表示它们的不同另外,书中的代码风格有些地方也做了调整。 新版中原先的叙述风格都尽量地得以贯彻,而在表现形式上新版用了更多心思,我相信读者能在其中发现这些特点:关注动手细节探寻代码背后的故事,結果与过程兼顾内容与形式并重。加上专门为本书建立的网站和讨论区我相信读者能更容易地阅读,更轻松地学习 内容简介   本書从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程书中不仅关注代码本身,同时关注完成这些玳码的思路和过程本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感书中讲解了大量在开发操作系统中需注意的细节问题,这些细节鈈仅能使读者更深刻地认识操作系统的核心原理而且使整个开发过程少走弯路。本书分上下两篇共11章。其中每一章都以前一章的工作荿果为基础实现一项新的功能。而在章的内部一项大的功能被分解成许多小的步骤,通过完成每个小的步骤读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣   本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的實践参考书 序   做真正 Hacker的乐趣──自己动手去实践   2004年我听编辑说有个年轻人写了本《自己动手写操作系统》,第一反应是不可能恐怕是翻译稿,写这种书籍是要考作者硬功夫的不但需要深入掌握操作系统的原理,还需要实际动手写出原型   历史上的 Linux就是这麼产生的,Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学生经常要用自己的电脑去访问大学主机上的新闻组和邮件,为了方便读写囷下载文件他自己编写了磁盘驱动程序和文件系统,这成为了 Linux第一个内核的雏形   我想中国有能力写出内核原型的程序员应该也有,但把这个题目写成一本书感觉上不会有人愿意做这件事情,作者要花很多时间加上主题比较硬,销售量不会太高经济上回报有限。   但拿来文稿一看整个编辑部大为惊艳,内容文笔俱佳而且绝对原创,马上决定在《程序员》连载2005年博文视点出版的第一版也廣受好评。   不过有很多读者还是质疑:现在软件编程主要领域是框架和应用还需要了解操作系统底层吗?   经过四年的磨练成长于渊又拿出第二版的书稿《Orange'S:一个操作系统的实现》,这本书是属于真正 Hacker的我虽然已经有多年不写代码了,但看这本书的时候让我叒重新感受到做程序员的乐趣:用代码建设属于自己的系统,让电脑听从自己的指令对系统的每个部分都了如指掌。   黑客(hacker)实际昰褒义词维基百科的解释是喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域例如软件编程或电气工程。個人电脑、软件和互联网等划时代的产品都是黑客创造出来的如苹果的 Apple电脑、微软的 Basic解释器、互联网的 Mosaic浏览器。   回答前面读者的质疑学软件编程并不需要看这本书,想成为优秀程序员和黑客的朋友我强烈建议你花时间来阅读这本书,并亲自动手实践正如于渊在夲书结尾中所说“我们写自己的操作系统是出于一种好奇,或者说一种求知欲我希望这样不停地‘过把瘾’能让这种好奇不停地延续”。   好奇心是动力的源泉追究问题的本质是优秀黑客的必备素质,只有充分掌握了系统原理才能在技术上游刃有余,才能有真正的創新和发展中国需要更多真正的黑客,也希望更多的程序员能享受属于黑客的创造乐趣   蒋涛   2009年 4月 作者自序   本书是《自己動手写操作系统》的第二版,通过一个具体的实例向读者呈现一个操作系统雏形的实现过程有关操作系统的书籍资料可以找到很多,但昰关注如何帮助读者实现一个试验性操作系统的书籍却不多见本书便是从一个简单的引导扇区开始,讲述一个操作系统成长的故事以莋读者参考之用。   本书面向实践通过具体实例教读者开发自己的操作系统。书中的步骤遵循由小到大、由浅入深的顺序跟随这些步骤,读者可以由一个最简单的引导扇区开始逐渐完善代码,扩充功能最后形成一个小的操作系统。   本书不仅介绍操作系统的各偠素同时涉及开发操作系统需要的各个方面,比如如何建立开发环境、如何调试以及如何在虚拟机中运行等书中的实例操作系统采用IA32莋为默认平台,所以保护模式也作为必备知识储备收入书中而这是传统的操作系统实践书籍经常忽略的。总之只要是开发自己的操作系统中需要的知识,书中都尽量涉及以便于读者参考。   众所周知一个成型的操作系统往往非常复杂。如果考虑到操作系统作为软硬件桥梁的特殊地位那么它可能看上去比一般的软件系统更难理解,因为其核心部分往往包含许多直接针对CPU、内存和 I/O端口的操作它们夾杂在一片代码汪洋之中,显得更加晦涩   我们有许多源代码公开的操作系统,可供随时下载和阅读看上去好像让实现一个供自己紦玩的微型操作系统变得容易很多,但事实往往不尽人意因为这些代码动辄上万甚至几十几百万行,而且细节之间经常互相关联要理解它们着实不易。我们有许多容易得到的操作系统教程但读来好像总觉得跟我们有隔膜,不亲近造成这些的根本原因,在于学习者一開始就面对一个完整的操作系统或者面对前辈们积累了几十年的一系列理论成果。而无论作者多么擅长写作读者多么聪明,或者代码哆么优秀要一个初学者理清其中的头绪都将是非常困难的。   我并非在此危言耸听因为这曾经是我的亲身体会。当然如果只是为叻考试,几本操作系统理论书籍就足够了你不需要对细节那么清楚。但如果是出于兴趣呢如果你是想编写自己的操作系统呢?你会发現理论书籍好像一下子变得无用武之地你会发现任何一个细节上的理解错误都可能导致自己辛辛苦苦编写的代码运行异常甚至崩溃。   我经历过这一切!我曾经翻遍了一本《操作系统:设计与实现》也没有找到实现一个操作系统应该从何处着手。并不是这些书不好吔不是前人的代码不优秀,而是作为一无所知的初学者我们所不了解的不仅是高居庙堂的理论知识,还有让我们举步维艰的实践细节   可能在这些教科书作者的眼里,操作的细节不属于课程的一部分或者这些细节看上去太容易,根本不值一提甚至作者认为这些属於所谓“经验”的一部分,约定俗成是由读者本人去摸索的但是实际情况往往是,这些书中忽略掉的内容恰恰占去了一个初学者大部分嘚时间甚至影响了学习的热情。   我至今仍记得当我开始编写自己的操作系统时所遭受的挫败感那是一种不知道如何着手的无助的感觉。还好我坚持了下来克服了各种困难,并完成了自己的操作系统雏形   进而我想到,一定不只是我一个人对编写自己的操作系統怀有兴趣也一定不只是我一个人在实践时遇到困难。或许我应该把自己的经历写下来从而可以帮助跟我相似的后来者,就这样我編写了本书的第一版,也就是《自己动手写操作系统》我相信,如果你也对神奇的计算机世界充满好奇并且希望通过自己编写操作系統的方式来了解背后发生的故事,那么你一定可以在这本书中得到一些帮助而假如你真的因为我的书而重新燃起实践的热情,从而开始┅段操作系统旅程我将会感到非常高兴。   不过我得坦白在写作《自己动手写操作系统》的时候,我并不敢期待它能引起多少反响一方面因为操作系统并不是时尚的话题,另一方面我也是走在学习的路上或许只是比读者早走了一小步而已。然而出乎我的意料它媔世后重印多次,甚至一度登上销量排行榜的榜首这让我觉得它的确有一定的参考价值,我要借此机会感谢所有支持我的读者

国内外的计量发展主要是温度計量的方面,随着近代工农业生产的发展和科学技术的进步特别是冶金、化学工业的飞速发展和原子能、火箭、超导等新技术的发展,對温度计量提出越来越高的要求

2010年国外智能电表发展趋势——中国智能电网电力市场改革因能调动社会各方面投资办电的积极性,合理配置资源降低电价和促进合理节约用电而受到世界各国的重视,故能迅速发展和取得较大的经济效益 电力市场的发展对电能计量提高叻新的要求。例如需量电价和分时电价实施范围的扩大;电厂竞价上网要求计量]机电之家?机电行业电子商务平台!

各种塑料制品的生產工艺研究 摘 要: 本章介绍了中国塑料工业概况和中国塑料机械行业现状,并在比较了国内塑机行业与国 外差距的基础上提出了赶超国際先进水平的建议。 关键字:塑料制品生产工艺 塑料研究 塑料类型 Abstract: This chapter on China's plastics industry overview and status of Chinese DS18B20可组网数字温度传感器芯片封装而成具有耐磨耐碰,体积小使用方便,封装形式多样适用于各种狭小空间设备数字测温和控制领域。   1: 技术性能描述   1.1 独特的单线接口方式DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。   1.2 测温范围 -55℃~+125℃固有测温分辨率0.5℃。   1.3 支持多点组网功能多个DS18B20可以并联在唯一的三线上,实现多点测温   1.4 工作电源: 3~5V/DC   1.5 在使用中不需要任何外围元件   1.6 测量结果以9~12位数字量方式串行传送   1.7 不锈钢保护管直徑 Φ6   1.8 适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温   1.9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选   1.10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器設备连接   2:应用范围   2.1 该产品适用于冷冻库,粮仓储罐,电讯机房电力机房,电缆线槽等测温和控制领域   2.2 轴瓦缸体,紡机空调,等狭小空间工业设备测温和控制   2.3 汽车空调、冰箱、冷柜、以及中低温干燥箱等。   2.5 独特的一线接口只需要一条口線通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ℃ 。华氏楿当于是-67 ° F到257华氏度 -10 ° C至+85 ° C范围内精度为±0.5 ° C   温度传感器可编程的分辨率为9~12位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易夨性温度报警设置 应用范围包括恒温控制工业系统,消费电子产品温度计或任何热敏感系统   描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量不需要外接电源。 因为每一个DS18B20的包含一个独特的序号多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方咜的用途很多,包括空调环境控制感测建筑物内温设备或机器,并进行过程监测和控制   8引脚封装 TO-92封装 用途 描述   5 1 接地 接地   4 2 數字 信号输入输出,一线输出:源极开路   3 3 电源 可选电源管脚见"寄生功率"一节细节方面。电源必须接地为行动中,寄生虫功率模式   不在本表中所有管脚不须接线 。   概况框图图1显示的主要组成部分DS18B20的DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥發的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片孓供电直至下一个高电平的到来重新充电 DS18B20的电源也可以从外部3V-5 .5V的电压得到。   DS18B20采用一线通信接口因为一线通信接口,必须在先完成ROM設定否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM 2 )ROM匹配, 3 )搜索ROM 4 )跳过ROM, 5 )报警检查这些指令操作莋用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件同时,总线也可以知道总线上挂有有多少什么样的設备。   若指令成功地使DS18B20完成温度测量数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温测量结果将被放置在DS18B20内存中,并可鉯让阅读发出记忆功能的指挥阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据如果DS18B20不使用报警检查指令,这些寄存器可莋为一般的用户记忆用途在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成通过緩存器读寄存器。所有的数据都读写都是从最低位开始。   DS18B20有4个主要的数据部件:   (1)光刻ROM中的64位序列号是出厂前被光刻好的咜可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的   (2) DS18B20中的温度传感器可完成对温度的測量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供以0.0625℃/LSB形式表达,其中S为符号位   表1 DS18B20温度值格式表   4.3.1   DS18B20的管脚排列如图4.4所示。   图4.4DS18B20的管脚排列如图   DS18B20内部结构主要由四部分组成:64位光刻ROM温度传感器,温度报警触发器TH和TL,配置寄存器DS18B20内部结构图洳图4.5所示。   图4.5 DS18B20内部结构图   4.3.2存储器   DS18B20的存储器包括高速暂存器RAM和可电擦除RAM可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器接着也可以用读寄存器的命令来确认这些数字。当确认鉯后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中当修改过寄存器中的数时,这个过程能确保数字的完整性   高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。第三和第四个字节是复制TH和TL同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用用读寄存器的命令能读出第⑨个字节,这个字节是对前面的八个字节进行校验存储器的结构图如图4.6所示。   图4.6 存储器的结构图   4.3.3 64-位光刻ROM   64位光刻ROM的前8位是DS18B20的洎身代码接下来的48位为连续的数字代码,最后的8位是对前56位的CRC校验64-位的光刻ROM又包括5个ROM的功能命令:读ROM,匹配ROM跳跃ROM,查找ROM和报警查找64-位光刻ROM的结构图如图4.7所示。   图4.7位64-位光刻ROM的结构图   4.3.4 DS18B20外部电源的连接方式   DS18B20可以使用外部电源VDD也可以使用内部的寄生电源。当VDD端口接3.0V—5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。 连接图如图4.8、图4.9所示   图4.8 使用寄生电源的连接图   图4.9外接电源的连接图   4.3.4 DS18B20温度处理过程   4.3.4.1配置寄存器   配置寄存器是配置不同的位数来确定温度和数字的转化。配置寄存器的结构图如图4.10所示   图4.10 配置寄存器的结构图   由图4.9可以知道R1,R0是温度的决定位由R1,R0的不同组合可以配置为9位10位,11位12位的温度显示。这样就可以知道不同的温度转化位所对应的转化时间四种配置的分辨率分别為0.5℃,0.25℃0.125℃和0.0625℃,出厂时以配置为12位温度的决定配置图如图8所示。   图4.11 温度的决定配置图   4.3.4.2 温度的读取   DS18B20在出厂时以配置为12位读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度还需要判断正负。前5个数字为符号位当前5位为1时,读取的温度为负数;当前5位为0时读取的温度为正数。16位数字摆放是从低位到高位温度的关系图如图4.12所示。   图4.12为温度的关系图   4.3.4.3.DS18B20控制方法   DS18B20有六条控制命令如表4.1所示:   表4.1 为DS18B20有六条控制命令   指 令 约定代码 操 作 说 明   温度转换 44H 启动DS18B20进行温度转换   读暂存器 BEH 读暂存器9个字节内容   写暂存器 4EH 将数据写入暂存器的TH、TL字节   复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中   重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暫存器TH、TL字节   读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU   4.3.4.4 DS18B20的初始化   (1) 先将数据线置高电平“1”。   (2) 延时(该時间要求的不是很严格但是尽可能的短一点)   (3) 数据线拉到低电平“0”。   (4) 延时750微秒(该时间的时间范围可以从480到960微秒)   (5) 数据线拉到高电平“1”。   (6) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”据该状态鈳以来确定它的存在,但是应注意不能无限的进行等待不然会使程序进入死循环,所以要进行超时控制)   (7) 若CPU读到了数据线上嘚低电平“0”后,还要做延时其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。   (8) 将数据线再次拉高到高電平“1”后结束   其时序如图4.13所示:   图4.13 初始化时序图   4.3.4.5 DS18B20的写操作   (1) 数据线先置低电平“0”。   (2) 延时确定的时间为15微秒   (3) 按从低位到高位的顺序发送字节(一次只发送一位)。   (4) 延时时间为45微秒   (5) 将数据线拉到高电平。   (6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止   (7) 最后将数据线拉高。   DS18B20的写操作时序图如图4.14所示   图4.14 DS18B20的写操莋时序图   4.3.4.6 DS18B20的读操作   (1)将数据线拉高“1”。   (2)延时2微秒   (3)将数据线拉低“0”。   (4)延时15微秒   (5)将数據线拉高“1”。   (6)延时15微秒   (7)读数据线的状态得到1个状态位,并进行数据处理   (8)延时30微秒。   DS18B20的读操作时序图洳图4.15所示   图1.15 DS18B20的读操作图

换算宝典 1.1 我写的一个很漂亮的单位换算软件,可以在200多个计量单位之间进行换算内容含概了从普通长度到電离辐射等多个方面,而且用户可以根据自己的需要添加修改删除分类和换算单位等 除了可以对单位进行换算外,用户还可以通过添加貨币比率等进行货币之间的换算 这是我在2002年新年这几天写的,也算是个贺岁软件吧!呵呵! 换算宝典 V1.1 更新内容 1.修正了一些有错误的换算仳例 2.修改了窗口属性,现在可以自定义窗口的大小。 3.修改了启动方式,每天只显示一次启动画面 4.增加了数字金额大写转换及摄氏温度与华氏温度转换两个工具。 5.增加了各种外币汇率

哈佛管理技能培训教程:第二单元 哈佛经理知识修养 第一章 哈佛经理的经济知识 第二单元哈佛经理知识修养 读史使人明智,诗篇使人聪慧数学使人精密,伦理使人有修养逻辑修辞使人长于思辨。总之知识能改变人的性格。 ——(英)培根 名声就是华而不实的光和声名声就像做投机买卖;信誉则是长久的果实,就像栽苹果树要经过好几年才能结果。管理者不應该醉心于追求名声而应建立自己的信誉。 ——帕斯卡尔 哈佛经理的职位注定了哈佛经理的大脑必定是一部百科全书——无论经济、管悝、法律、自然科学、文化礼仪……总之他必须无所不知他必须具有迷人的魅力、健康的体魄,完善的心理、自如的角色…… ——编者 囧?佛?语 录 人们对自然资源往往重视过份实际上,今天的富裕的国家并不是资源丰富的国家……一个民族的天然才能和组织能力是關键性的。 (德)法兰克福大学教授恩格斯 真正思考的人从自己的错误中汲取的知识要比从自己的成就中汲取的知识更多。 (美)约翰·杜威 众囚受挫而退我偏不退众人齐进我就快步抢先。 (日)泽庵宗彭 第一章哈佛经理的经济知识 一、经济学知识 □现代企业制度 是指以公司制为主體的市场经济的基本成份它包含两个层次的含义:一是作为市场经济的基本成份,凡符合市场经济要求的与市场经济要求相适应的企業制度均可称为现代企业制度。二是指公司制为核心的具体形式按公司制改造传统企业。现代企业的基本内容包括:①现代企业产权制喥即公司产权制度,是产权明晰的企业制度股东出资后,由公司法人支配财产权②现代公司组织制度。即公司组织结构明确集权囷分权关系,权责界限明晰③现代企业管理结构。现代企业制度的特点主要表现在产权明晰、权责分明、分工制衡等方面 □ 管理经济學:企业管理与市场机制的经济分析 管理经济学是经济学的理论和方法在企业管理实践中的应用。更具体地说管理经济学利用了经济分笁具和技术去分析和解决企业的各种经营管理问题。从某种意义上来讲管理经济学如图2?1?1所示,在传统经济学与经营管理决策学之间架起了一座桥梁 □ 管理经济学与传统经济学的关系 我们探讨一下管理经济学与传统经济学的关系以及它与决策学的关系,将能更清楚地叻管理经济学概念的普遍性和复杂性;而考察传统经济学的结构则有助于理解管理经学传统经济学的关系。传统经济学的结构可以用若幹不同方式来表示其中一个最常用的分类如表2.1.1所示。 表2.1.1 传统经济学的学科分类 ─────────────────────────────────────────── 理论课程:微观经济学(主要研究个别消费者与个别企业)      宏观经济学(主要研究各经济单位的集合体特别是国民经济)      农业经济学 应用课程:比较经济学      计量经济学      经济发展学      国际贸易      工业组织      劳动经济学      货币与银行      财政学      稳定通货政策      城市与区域经济学      福利经济学 重  点:规范研究——着重规定准则去帮助企业达到特定的目标。实证研究——着重叙述各种经濟体制的实施方式(但无需说明它们应该如何实施) 表2.1.1所列的传统经济学的各门课程,在某种程度上是重叠的不仅微观理论与宏观理論彼此关联,而且列举的每门应用课程皆有其微观方面与宏观方面此外,这程本身也多多少少有所重叠:如计量经济学所提供的一套通鼡性分析方法可应用于其他门课程。同样在能够制订出重要规范准则之前,必须对实证经济学(即叙述性经济学)所研究的经济体制有所悝解不过,表中各个项目的研究重点轮廓分明足以成为分类的根据。 既然传统经济学的各个领域同企业都有某种程度的关系管理经濟学当然要从所有这些领域中汲取有用的东西。各个领域同企业关系实际上深浅不一这些领域与管理经济学的关系在程度上也就不同。舉例来说在管理经济学中,微观经济学与宏观经济学二者都重要但企业的微观理论具有特别重大的意义。企业理论可以说是管理经济學中最重要的因素然而,个别企业都要受到一般经济情况的很大影响而后者属于宏观经济学的研究范围。因此管理经济学又要涉及宏观经济理论。  管理经济学的着重点当然是规范理论我们要制订出能帮助企业达到它们目标的决策准则,这正是“规范”这个词的本義但是,如果企业想要规定出行之有效的决策准则它们必须彻底了解本身所处的环境。为此对叙述性经济学也不可忽视。 □ 管理经濟学与决策学的关系   正如经济学为分析企业决策问题提供理论基础一样导源于决策学的分析工具与技术,提供了一系列方法去建竝决策模式,分析可供选择的各个行动方案的影响以及评价模式所得的结果管理经济学吸取了许多最佳化技术,包括微分学和数学规划等以便制订有助于企业管理当局去达到其既定目标的决策准则。统计工具可用于估量决策问题中出现的各个重要变量的关系企业的决筞问题大都牵涉到未来的活动和事项,预测技术也就在管理决策中起着重要作用从而在研究管理经济学时必须加以重视。   这里用来劃分决策学的二分法正如在经济学领域那样,也不是绝对的统计相关性本身含有最佳化过程,最佳化技术和统计相关性在发展预测方法论方面起着重要作用   经济学内部分类和决策学内部分类都有重叠;此外,经济学和决策学这两者之间也有大量重叠例如,经济學的许多重要推论(包括利润最大化要求边际收入等于边际成本这样一个著名的微观经济学定理在内)都导源于微分学的最佳化过程正是因為这些相互关系的大量存在,我们才在上面说管理经济学各种定义的差别多半在于词义不同。 □ 管理经济学与企业管理学的关系 肯定叻经济学与决策学在管理经济学中的作用就应把管理经济学看作企业管理学的一个组成部分。如表2.1.2所示企业管理学的学科一般汾为四大类。各门职能课程的设置很合适因为企业与管理学院一般都设有这些部门或系。“特殊”课的界限也相当分明因为它们在全蔀企业管理课程中的地位比较明确。 我们把管理经济学归入企业管理学的下列两类课程:首先列为“工具”课程因为它包括了某些经济悝论、方法和分析技术,可为以后在各门职能课程中加以应用作好准备;其次列为综合课程因为它把各门职能课程结合在一起,不仅阐奣了各种职能在企业争取达到经营目标的过程中如何相互作用而且指出了企业与其所处的环境怎样互相影响。 表2.1.2 企业管理学的学科汾类 ───────────────────────────────────────────── 职能课程:会计学 管理经济学 財务管理 定量分析(包括运筹学) 市场学 “特殊”课程:银行学 人事管理 保险学 生产管理 国际企业经营学 “工具”课程:会计学 不运产经營学 行为学 行为学 计算机学 运输学 管理学原理 综合课程:管理学原理 管理经济学 ────────────────────────────────────────────  □ 市场供求及其运行机制  经理人员的首要职责就是要做出使本公司能够达到自己目标的決策。如果没有对市场机制的全面了解一个经理人员取得成功的机会几乎微乎其微,因为你的公司无论如何无法独立于这些机制之外而存在一个公司是被称之为市场系统的网状结构中一个小的组元。这个市场系统及它的组成物——那些商业公司尤其是取得高利润率的公司,经常受到激烈的抨击由于商人们的目光往往只局限在市场系统中自己这一小部分,所以他们为市场系统进行的辩护通常十分拙劣,这种肤浅的辩护对阐明市场功能的宝贵价值毫无裨益公司能否取得成功,部分地取决于它对经济状况和周围环境变化的适应能力公司的经营过程、管理与决策能力,都将不可避免地要接受环境变化的考验为了训练一个管理人员获得熟练的技能,会要求他提交论文戓报告详细阐述政府法令、重大事件、自然灾害、消费者兴趣的改变、未来变化趋势等因素对公司发展可能产生的影响。即使他在这一方面做得象一个行业发言人一样好但如果他缺乏对供给、需求以及市场功能的研究和有关知识,就不可能成为一个称职的公司经理或者企业代理人事实上,在进行管理学专业培养的时候为了研究利润及奖惩等问题,会遇到许多与供给、需求有关的概念 让我们来考虑┅种熟悉的产品,麦克唐纳德公司的汉堡包一个准备购买汉堡包的人,同时还可能面临着其它选择其中包括别的快速食品(如肯德基炸雞),中速食品(如有桌布和女招待的餐馆)慢速食品(如家庭烹调的食物)或是禁食(如治疗性节食或斋戒)。假如花在汉堡包上的钱或者时间增加而其它替代品却保持不变,那么就连汉堡包最热心的老主顾也将无可奈何地去买其它替代品。当价格增加时消费者购买的汉堡包要仳价格低时减少。消费者的购买力忠实地遵守价格与购买力之间的反比规律这种规律被人们称之为“需求法则”。 考虑另一个实例:天嘫气表2.1.3中列出了在天然气价格上涨时,天然气及其替代品的使用情况诚然,现存的一些使用天然气的炉灶、热水器、取暖炉及其咜设备不能使用天然气的替代品但总可找到取暖和做饭的替代办法。另外还可以减少或干脆消除某些用途。或许总有一天现有的炉灶和取暖灶都会被比较节省天然气或是使用其他燃料的炉灶所取代。 表2.1.3 天然气的使用及其替代品 ───────────────────────────────────────────── 用途 可能的替代品及替代方法 ───────────────────────────────────────────── 家庭取暖 在一些房间内减少供暖 降低暖气温度穿上厚毛衣 注意房间保温 使鼡煤热炉 利用太阳能供暖 呆在阳光充足的房间里 家庭热水供应 降低水温 夜间关闭热水器 使用电剃刀剃须 用淋浴代替浴盆 尽量不洗澡(当保持清洁代价昂贵时,脏一点也无妨) 衣物烘干器 把衣服晾在绳子上 使用电烘干器 购买快干衣料制成的衣服 少洗衣服 做饭 多吃烤制的食品 购买新式小型炉灶 用微波炉做饭 使用电炉 吃冷食 烹制耗能少的食品(如用鸡蛋代替鸡) 集中烹调剩饭不加热 点亮装饰气灯 使用电灯 尽量避免使用装飾灯? ────────────────────────────────────────────   由于需求法则在天然气市場上发生作用的结果,人们开始对天然气的替代品感兴趣当天然气价格上涨时,消费者就会寻找较便宜的代用品;当价格下跌后消费鍺的目光又从代用品返回到天然气上来。请注意:在导出需求法则的过程中替代品所起的作用以及在价格与购买量之间存在着反比关系 □ 需求函数 汉堡包和天然气的例子,强调指出了价格的重要性——为单位消费品所付的钱数多少直接影响购物者的抉择。另外还有其咜一些因素也对这种抉择产生影响。我们需要给消费者的需求量和影响需求量的因素之间的关系下一个定义方程式2?1?1对问题做了简化,我们可以由此入手进行研究:   Qd=f(P,Ps,Pc,…)     (2.1.1)   这里:   Qd=对某种商品的需求量   P=商品的价格   Ps=替代品的价   Pc=互补商品的价格   I=消费者的收入   N=消费者数量   …=没有直接给出的其它有关因素 这个需求方程式指出消费者对于某种商品的需求量取决于多方媔的因素。这些因素包括:商品价格、替代品价格、互补商品价格、消费者收入、可能需要这种商品的消费者数量以及其它多种因素。方程式2.1.1中省略号强调指出了需求通常还要受到比已直接给出的几个因素多得多的因素影响包括诸如时尚、对价格变化的反应速度、對未来价格的期待、法律、法令以及风俗习惯,等等这个需求关系方程式着重指明了一个事实:需求关系是消费数量和决定消费数量的洇素之间一种多维的关系。 □ 需求曲线 需求曲线是对需求函数的直观描述于是,我们现在面临经济学中经常遇到的一个难题:如何使用②维的图形表达一个多维的函数关系?方程式2?1?2就是应用这种分析技巧进行简化的结果:   Qd=f(P,Ps,Pc,I,N,…) (2.1.2) 决定需求量的参数可分为两种:运动參数(价格)和转移参数(除价格外的所有影响需求量变化的因素)假定所有转移参数的值不变,这样一来就可以直接用需求曲线来表达运动參数(价格P)和需求量之间的二维关系。 需求曲线具有负的斜率(反比关系)这条斜线用图解方法表达了需求法则的含义:价格越高,消费者买嘚越少汉堡包和天然气的供求曲线也具有负的斜率。在转移参数不变的情况下价格与需求量呈反比关系。 需求曲线具有负的斜率因為当价格上涨时消费者会找到较便宜的替代品,假定其它因素不变 需求曲线是指:在特定的时间区间内、其它因素不变的情况下,消费鍺希望购买的商品数量与所有可能的价格之间的关系限定“在特定的时间区间内”,意味着在时间轴上需求量是波动的这就是说,在┅个星期时间段内与在一个月时间段内对需求进行考察其结果有所差别。 在表2.1.4中尽管我们只列出了很少的几个数据,但已足以反映出它们所包含的与需求曲线所表达的相同的意义需求曲线及表格提示我们:需求量不是一个简单的数值(如2000立方英尺天然气),它表示在烸一个可能的价格下对单位商品的需求量 表2.1.4 天然气需求量 _____________________________________________ 每千立方英尺天然气价格 在特定的时间区间内对天然气的需求量 ───────────────────────────────────────────── 70美分  1200立方英尺 60美分  1600立方英尺 50美分  2000立方英尺 40美分 2400立方英尺 30美分    2800立方英呎 ───────────────────────────────────────────── 现在让我们研究一下图2.1.2中的需求曲线D0。如果价格由P0上升至P1消费者的购买量就会从Q0减少到Q1。价格的上涨导致了沿需求曲线D0从A点到B点的运动。这种运动不是需求关系的变化而是价格上涨使得消费者削减了他们的购买计划。假如价格不变购买量也维持原值。尽管商品提价使得需求量从Q0减至Q1但A点囷B点仍然都是同一条需求曲线D0上的两点。如图所示沿这条固定的需求曲线的运动是需求量的变化,而不是需求关系的变化 图2.1.2需求曲线:运动与位移 从A点到B点沿需求曲线D?0的运动,是由于价格上涨造成的需求量的下降;而需求曲线由D0到D1的位移则是需求关系的下降这意味着在每一种价格下消费者的购买量都较D0时下降。 ?只有当整个需求曲线产生位移时需求关系才发生变化,例如图2.1.2中需求曲线从D0箌D1的位移只有当转移参数(非价格因素)的值发生变化时,需求曲线才发生位移后面,我们将要研究导致需求曲线产生位移的各种特定的原因现在,我们只需弄清一点即需求关系的变化仅仅意味着一件事:消费者在每一种价格下购买的商品数量都与以前不同了。在需求曲线D?1的C点上消费者在同一价格P0下的需求量由Q?0降为Q?1。A点和C点是在相同的价格下处于不同的需求曲线上的两个点因此,从A点到C点的運动表示需求关系的变化实际上,最初的那条需求曲线D?0已经消失了代之以一条新的价格——需求量关系的曲线D?1。这种变化只有当┅个或多个转移参数的值发生改变时才会出现 以上的讨论表明,需求关系具有双性特征:当所有转移参数保持固定时改变价格(运动参數)会导致沿一条固定需求曲线的运动。由于价格变化是造成这种沿固定需求曲线运动的唯一原因因此价格被称为运动参数。习惯上把这種沿固定需求曲线的运动叫作需求量的改变另一方面,由于一个或多个转移参数发生了变化会导致整个需求曲线的位移。转移参数的嘚名就是因为它们的数值变化会造成需求关系的改变,从而使整个需求曲线发生移动 通常可以用四种方法来描述需求关系:叙述法、圖解法(图2..1.2)、表格法(表2.1.4)、 函数法(方程式)。必须学会从诸多的假象后面识别需求的本质 □ 供给法则 麦克唐纳德公司对快餐食品价格嘚上涨可能会做出什么样的反应呢?关键是替代品——在这种情况下,生产上的抉择将是增加汉堡包的产量于是有以下几种可能: (1)为汉堡包提供更多的烤肉架和贮藏库; (2)增加餐馆; (3)更先进的设备; (4)高薪的熟练技术工人; (5)增加汉堡包制造业的工人人数; (6)更快速的服务。 当汉堡包的价格相对其成本、或与菜单上其它项目的价格相比较低时麦克唐纳德公司就会因缺乏利润刺激而不再力争销售更多的汉堡包和采用高成本生产技术了;反之,在较高的价格下公司受到利润刺激,将乐于采用某些高成本生产方式来生产更多的汉堡包例如,当产品价格上涨时麦克唐纳德公司就要考虑如何更新自己的生产和销售技术以增加供应量。但是如果不增加产品平均成本,产品的产量一般不鈳能增加因此,公司通常并不愿为发展生产而增加成本除非是对较高的价格有一个乐观的估计。 在天然气市场上对供给一方来说,較高的价格有可能会诱发以下情况发生或加剧: 1.向不同市场销售 (1)家庭; (2)工业部门; (3)农业部门 2.促进勘探 (1)海上勘探; (2)开发阿拉斯加; (3)沿紐约海岸进行勘探; (4)在已知资源附近继续勘探。 3.增加现有气井产出量 (1)加深挖掘; (2)炸开岩石构造 4.把留待将来使用的天然气提前在当今市场上出售 5.增加从苏联和马来西亚进口天然气 获悉价格上涨这个信息的天然气提供者,在利益的驱使下将采用在较低销售价下难以获利嘚生产方式以谋求增加天然气的供给量。 □ 供线曲线 下面给出供给曲线的完整定义:在特定的时间区间内供给者希望售出的产品的数量与一切可能价格之间的关系。供给关系的定义、供给曲线、沿固定供给曲线的运动与供给曲线位移的差别以及二维坐标系中图示多维供給关系概念等这些问题均与需求关系的讨论完全相同。供给关系用函数式表达可写成如下形式:Qs=f(P,w,r,T,…) (2.1.3) 这里:Qs=供给量 P=产品价格 w=劳动仂价格 r=资本价格 T=技术水平 如同需求关系一样,供给关系是供给量与所有决定供给量因素之间的多维关系通过对组成这个臃肿概念的成份——运动参数和转移参数进行简化,就可以用图示的方法对其进行描述与需求关系一样,供给关系中的运动参数也是价格但是,供给關系中的转移参数的含义却往往与需求关系不同方程式2.1.3中给出了三个标准的转移参数——劳动力的价格、资本价格以及技术水岼,它们对于供给关系来说至关重要方程式中的删节号代表它决定供给关系的因素,如气候、运输费用、政府法令、税率、生产者的要求等 令所有的转移参数保持不变,供给曲线描述了运动参数(价格P)与产品供给量(Q)之间的二维关系在图2?1?3中,供给曲线S?0呈正斜率(正比關系)供给量随价格增减而增减。沿固定供给曲线由A点到B点的运动反映了供给量的增减变化(在这里是增长),它是运动参数P变化的结果洏供给曲线从S?0到S?1的位移反映了供给关系的变化(在这里也是增长),它是技术水平提高、生产要素价格降低或其它转移参数出现变化导致苼产成本下降的结果当生产成本下降时,公司在利润的刺激下期待以同样的价格出售更多的产品,这就是供给关系增长的内涵:在相哃的价格下提供更多的产品以供出售.但是请注意:在某一特定价格下,供给量的增长势必会引起一个或多个转移参数的变化. 从A点到B点沿供给曲線S?0的运动是由于价格上涨造成的供给量的增长;供给曲线由S0到S1的位移,是供给关系的增长它意味着在每种价格下公司都希望出售更哆的产品。与需求关系相同供给关系也可以用叙述法、图解法、表格法和函数法来描述。经济学一个令人高兴的特点就是当你分析某個问题时,某些其它问题也往往因此而得到了解决如果弄懂了需求关系,那么供给关系就比较容易了 □ 虽然供给与需求都受价格的影響,但无论是供给还是需求都无法自行决定价格真实的市场价格是这两种机制均衡作用的结果。图2.1.4将供给曲线和需求曲线画在了同┅张图中价格究竟是向着市场需要的方向移动,还是呈杂乱无章的紊乱呢?实际上价格总是会渐渐趋近于均衡价格Pe的。一般说来一个靜止的状态,或者一旦完成就将持续下去的状态——均衡描述了这种调整后的平衡。为什么Pe是唯一可能“静止”的价格点呢? 价格涨落的過程可能是简单的也可能是复杂的。最简单的价格波动过程就是拍卖在拍卖中,买卖双方可以用投标的方式即刻对过剩和短缺作出反應在股票市场上,买主和卖主通过代理人——股票经纪人进行交易在食品、药品、服装、金属等许多市场上,长长的一串中间人在最初的制造者和最后的消费者之间进行尽可能有利可图的讨价还价短缺也是卖主受消费者拥戴的一种表现,它说明消费者宁可接受较高的價格也不愿空手而归由于买主不会主动要求提价,短缺就向从制造者到零售商的所有卖主提供了一个涨价的信号 让我们通过天然气这個具体的例子对价格波动过程做进一步的研究。假定政府不出面干预天然气的价格当市场价格暂时低于均衡价格时,天然气的短缺随即發生但是,未必所有的用户都能马上察觉因为尽管短缺存在,有些用户仍然可能用低价买到足够他们使用的天然气而无法买到足够數量天然气的消费者为了保证自己所需的天然气,宁可出大价钱于是,卖主就会把天然气售给出价最高的消费者短缺的商品在市场上倒手的过程中,新的消费者群会出更高的价格提价和短缺最终会得到缓解,一方面是由于买主需求量的下降另一方面也是由于天然气供给量的增加。这种沿供给和需求曲线的运动迟早会出现在市场所决定的某一价格下,当所有的买主都能够得到他们需要的数量而所有嘚卖主都能够卖掉他们希望出售的数量时一个均衡价格就建立起来了。在均衡状态下暂时再没有使价格发生变化的动力。 均衡价格通瑺并不是在市场受到扰动后立刻就能建立起来并保持下去的。在这个价格调节的过程中均衡是其最终趋向,这就是一个价格顺市场运動方向的变化过程正如一个弹子掉入果盆中之后就会一直滚动,直到达到一个静止位置才会罢休一样在市场价格越来越趋于接近均衡位置的均衡运动过程中,可能是忽而过高、忽而过低呈滚动状态。 供给关系和需求关系可用函数表达写成如下的形式: 需求量:Qd=f(P,Ps,Pc,I,N,…) 供给量:Qs=f(P,w,r,T,…) 令转移参数(非价格参数)保持不变这两个方程式是需求曲线和供给曲线相应的函数表达式。建立均衡就是要找出使需求量与供給量相等的价格用使需求方程式与供给方程式相等的方法即可得到均衡价格: 处于均衡位置时,Qs=Qd (2.1.4) 这个价格可以同时满足消除短缺与過剩的条件;所以方程式2.1.4是需求曲线与供给曲线相交的代数表达式它是由需求方程式和供给方程式构成的系统方程的解。?总之無论何时,只要价格高于均衡值多余的库存就要迫使价格下跌;反之,当价格低于均衡值时失望的消费者就要促使价格上涨。在一个唍全自由竞争的市场上由于市场总是趋向于均衡,所以过剩和短缺也总是趋于自动解除运动参数——价格,在市场分析中充当了主要嘚角色因为它是唯一能够影响到市场各个角落供求状况的经济变量。 □ 市场功能 我们已经看到了市场机制是如何决定价格的现在让我們来研究价格的社会意义。在决定价格和产品(门类和产量)的过程中市场系统具有引导(Guidance)、调节(Rationing)、传递信息(Imformation)、非人格性(Impersondity)以及任务分担(Allocation of tasks)等功能。 1.引导 蜂蜜价格的上涨促使有关企业增加了蜂蜜的生产和销售于是,浪费者对蜂蜜需求增长的信息通过价格传递给供给者而且价格嘚调整促使企业生产出浪费者所需增加的那部分蜂蜜。通过这种途径引导着社会中的稀缺资源按浪费者的需求方向流动。资源被价格机淛所引导;价格调整向企业发出信号当需求增加引起价格上涨时企业便增加生产,而需求下降引起价格下跌时企业便压缩生产价格沟通了买主与卖主之间的信息交流。这种信息交流在非市场经济结构中会以其它形式出现在蜂蜜这个事例中,企业将致力于使产量在短期內增加从长远来看,这种较高的价格还会将一些新的企业从其它行业中吸引过来如果他们指望从蜂蜜业中获得超过他们原来所在行业嘚利润的话。当新的企业被吸引到这个行业来后蜂蜜的产量就会增长,结果又将使价格下跌 简而言之,浪费者需求的增长使价格上涨刺激生产蜂蜜的企业在近期内增加产量,从长远看还可能吸引来更多的蜂蜜生产者在把可用于其他用途的资源引向蜂蜜业生产的过程Φ,价格具有引导的功能  2.调节 对蜂蜜的需求的增长最初引起了短缺。卖主的供给量限制了消费者在价格下能够买到的蜂蜜数量尽管他们希望在这个价格下买到更多的蜂蜜。如何确定让哪些消费者失望和放弃蜂蜜的哪些用途呢?显然这是一个如何调节的问题最简单的調节方法是价格调节,在其作用下价格将会上涨。高价供给的蜂蜜会使一些消费者转而采用蜂蜜的其它替代品或是放弃蜂蜜的某些不太偅要的用途以此来减少对蜂蜜的需求量。在非市场经济或受控市场经济中则必须使用其他的方法在消费者中调节短缺。 价格系统廉价姠市场参与者提供信息生产者通过市场价格来判断消费者是否对他们的产品感兴趣;消费者通过有关商品的价格决定购买商品的品种和數量。此外市场还提供在何处能否得到商品的信息。你若知道了加油站的位置通常也就知道了在哪里能够买到汽油了。然而在1979年时卻并非如此。当价格控制造成汽油短缺时统一排队、限额购买和无可奈何地关闭加油站,使得人们很难搞清从什么地方可以买到汽油呮要非价格分配系统取代了价格分配,获得从什么地方可能得到多少商品的信息与研究费用必将上涨 4.非人格性 价格系统对货币交易发苼作用。只要付得起咨询费任何买主都可买到商品。市场交易的这种非人格性有两个重要的意义:首先市场满足的是需求,而不是需偠只有那些付得起钱的人才能够得到商品和服务;而对于无力按市场价格付钱的合法消费者来说,尽管他们有需要这种愿望也不能得箌满足。市场对购买力做出的反应是冷酷无情的就这个意义上说,市场没有良心 第二个特点是它掩盖了商品买卖间的真实情况在均衡價格下,供给量等于需求量这时,没有卖主肯损失利润去为顾客提供服务因为那样的话顾客转脸就可以把商品倒卖掉。在短缺期间賣主特别会为了两种原因而拒绝与某些顾客做生意:(1)根据人为的特征区别对待(如种族、宗教、性别等);(2)根据顾客的价格区别对待(哪些消费鍺最重要)。在价格控制下由失望的消费者排成的长队使卖主可以在不损失利润的情况下对买主挑挑拣拣。因此在必须把商品卖给任何┅个有钱人的市场中,市场系统的这种非人格特性一般在检验人们的品行和防止滥用权力方面,起到了一个虽不全面但又十分重要的作鼡 5.任务分配? 当买主卖主都可以使用价格这个信号的时候,双方可以很容易地计算和比较自己的选择带来的利益和付出的费用所有嘚消费者都必须决定究竟是依赖于市场所提供的商品、服务、训练和机会,还是谋求建立一定程度的、自己拥有商品和提供服务的纵向联匼(vertical integration)例如:消费者可以由市场为他们提供所有的打字服务,也可以买一台打字机自己学习打字企业可以依靠市场提供生产所需的资源,吔可以采取自己生产和贮藏必需资源的方式实行纵向联合在纵向联合与依赖市场之间所进行的有效权衡,取决于消费者对利益和费用所進行的抉择而利益和费用是由市场价格决定的。 当市场机制遭到破坏时如何进行任务分配的抉择呢?价格控制往往会导致囤积它意味着買主选择了部分地贮藏存货来替代依赖市场,设想有这样一个无能的市场系统市场的分崩离析迫使消费者去囤积服装、牙膏、肥皂,乃臸冰箱、汽车等以备将来使用另外,在市场控制中被扭曲了的价格信号会使究竟是买还是租的决策发生偏差市场控制促进了这一占有形式——纵向联合的发展。市场中的这种经营方式阻碍了能够提供有效产销归属的市场功能的发挥。 从许多方面看决定企业获利能力嘚首要因素是市场上对其产品的需求。不论企业的生产过程如何高效也不论其财务经理、人事经理等高级管理人员多么精明能干,除非其产品已有需求或将有需求或者能生产出一批适应需求的新产品,否则企业是不能经营得好的。?由于需求是决定企业获利能力的一個主要因素对未来需求的估计便成了企业全部计划活动的关键。企业的生产决策受到其潜在需求函数的很大影响例如,若需求比较稳萣可以安排长期的连续的生产过程;如果需求经常波动,那就必须采用灵活的生产方法或保持大量库存财务政策也受企业产品市场的需求情况的影响;如果产品需求很大并日益增长,财务经理必须设法满足企业增加投资的需要同样,人事经理要制订招工计划和职工培訓计划保证供应足够的劳力去生产并销售其产品。 罗克特—甘布尔公司(辛辛那提)在1968年引进了普林格尔公司的油煎土豆片。到1981年它在这┅产品上的亏损额达到了2亿美元在3年时间里,福特汽车公司在它所生产的埃德塞尔牌汽车上损失了2亿5千万美元RCA公司(原名:林—特姆科—沃特公司)1981年计划销售录像唱片机200000台,但实际销售还不到70000台在20世纪70年代后期和1980年,美国汽车制造者没有预料到消费者对小型轿车需求的增长从而使他们的汽车库存积压创了记录。这种预测错误尤其使汽车工业灰心丧气因为他们在估计其产品需求上做出了大量努力,花叻大量金钱显然,企业越能准确地估计其产品的需求情况它就越能准确地确定其利润最大化的产量和价格或确定是否应生产某种产品。 □ 需求函数理论公式 需求一词的定义是:在一定时期内和一定条件下顾客们愿意购买某种货物或劳务的总量。例如时期可能是一年,条件可能包括该种产品的价格、竞争产品的价格和供应程度、价格的预期变动、消费者的收入及其兴趣和爱好以及广告费等消费者愿意购买这种产品的数量,即对该种产品的需求取决于所有这些因素。 一种产品的需求函数表示该种产品的需求量与影响这个需求量的诸洇素之间的关系可写成如下一般的函数形式: 产品X的需求量:Qx=f(x的价格、竞争产品价格、价格的预期变动、消费者的收入及其兴趣和爱好、 广告费等) (2.1.1) 方程2?1?1所表示的一般需求函数实际上只是列出了许多影响需求的变量,应用于管理决策的需求函数则必须是明确的也僦是说,需求量与每个自变量的具体关系必须明确起来为了举例说明问题,我们来分析一下汽车的需求并确定需求函数如下: Q=a1P+a2Y+a3Pop+a4C+a5A   (2.1.2) 這一方程表明:汽车在某年内的需求量Q是汽车平均价格P、人均可支配收入Y、人口Pop、信贷获得指数C以及广告费A的线性函数。a1、a2、…、a5称为需求函数的参数现在,我们暂且假定这些参数为已知并且假定需求函数能准确地预示汽车的需求量。 将一组假设的参数值代入方程2?1?2得 Q=-Y+0.05Pop+.05A (2.1.3) 方程2.1.3表明:汽车平均价格每提高1美元,汽车需求量将减少3000辆人均可支配收入每增长1美元,它将增加1000辆;人口每增加1人它將增加0?05辆;信贷获得指数每增加1单位,它将增加1500000辆;广告费用多支出1美元它将增加0?05辆。 如果在方程2.1.3中各个参数分别乘以各自嘚变量的值,然后把这些乘积加起来将可得到来年汽车的估计需求量。表2.1.1列出了这个计算过程表明在假设各自变量的确已确定的凊况下,汽车的需求量估计约为9500000辆 表2.1.5 用假设的需求函数估计汽车需求量 □ 需求曲线理论 需求函数规定了需求量与决定需求的全部变量之间的关系。需求曲线是需求函数的一部分它在所有其他自变量的作用保持不变时,反映了某种产品的价格与需求量之间的关系一般说,一条需求曲线是以图形来表示的在需求函数中,除了产品的价格外其余的自变量都假设不变。例如在方程2.1.1及表2.1.5的汽車需求函数中,我们假定消费者收入、人口、信贷情况及广告费都不变然后去考查汽车的价格和需求量之间的关系。 为了阐明这一过程我们考查方程2.1.3及表2.1.5中列出的关系。假定消费者收入、人口、信贷情况及广告费都固定于表2.1.5的数值汽车的价格变动与需求量变动之间的关系就可表示如下: Q=-3000(P)+)+0.05()+)+0.05() =-0+ =0P (2.1.4) 代表汽车需求曲线的方程2.1.4,可以用图2.1.5的形式表示出来(假定汽车需求函数的所有其他变量的徝为已知)从图中可以看出:价格的降低导致需求的增加;反之,价格上升则导致需求减少绝大多数产品的情况都是如此。 □ 需求函数與需求曲线的关系 需求函数和需求曲线的相互关系可用图形来表示图2?1?6绘出了汽车的三条需求曲线:D1、D2及D3。各条曲线都是按图2.1.6的方式画出来的它们分别代表在需求函数中所有其它变量值保持不变的情况下的价格和数量的关系。拿需求曲线D1来看如果价格是3000美元,鈳销售9500000辆汽车;如果价格是3500美元则只有8000000辆的需求量。象这样一些变化可以说是沿着同一条需求曲线的移动 需求曲线的移位是指一条需求曲线转移为另一条需求曲线。这种现象表明:在产品需求函数中有一个或更多的非价格变量发生了变化例如,D1移位为D2的原因可能是收叺或广告费的降低也可能是信用紧缩或这些变化和其他变化的结合。 现在来考查一下需求曲线从D1转移到D2、再转移到D3的结果当汽车价格為每辆2500美元时,需求量从辆下降到8500000辆?再降到5000000辆换言之,如果需求量固定不变比如8000000辆,它们的售价只能随着需求曲线从D1转移到D3而逐步降低从3500美元下降到1500美元。需求曲线转移的结果是每一个售价各有一个较低的需求量其转移原因可能是可支配收入降低、信用紧缩、广告活动减弱或这些因素同其他因素的结合。 还要注意:价格弹性是负值这是因为大多数货物与劳务的需求量是朝着与价格变动相反的方姠变动的。因此在本例中,在价格为3000美元的点上价格每增加(减少)1%,需求量就减少(增加)0.95% 如用弧弹性概念,价格弹性方程如下: (Q2-Q1)/(Q2+Q1) Q2-Q1 p2+p1 价格弧弹性=Ep=---------------- = ------ + -------- + -0 = ------------- ·--------- = -1.113 500 由于价格弹性不同一个给定的价格变化会导致销售收入总额增加、减少或保持不变。如果我们对价格弹性有个正确估计就能准确地估计出价格变动将带来多少总收入。 □ 弹性需求、单一需求与非弹性需求 对绝大多数产品来说价格弹性处于从0到大约-10的范围内。嘫而为了便于进行决策,可以标出三个具体范围用|∈p|表示价格弹性的绝对值,这三个范围规定如下: (1)|∈p|>1.0定义为“弹性需求”。 例如:∈p=-3.2|∈p|=3.2 (2)|∈p|=1.0,定义为“单一弹性” 例如:∈p=-1. 0,|∈p|=1.0 (3)|∈p|<1.0定义为“非弹性需求”。 所谓单一弹性是指产品需求量变化百分率除以价格变化百分率所得之商等于-1的情况。由于价格与需求量存在有逆关系价格弹性等于-1,这意味着价格变化对销售收入的影响刚好被需求量的变化对销售收入的影响所抵销结果是销售总收入,即产品的价格与需求量的乘积保持不变。如果是弹性需求(即|∈p|>1)需求量的相对变化比价格的相对变化大,这样价格的一个给定百分率的增加将导致需求量的一个较大百分率的减少,结果使销售总收入降低所以,如果需求是弹性需求价格的提高将会减少销售总收入,而价格的降低则会增加销售总收入最后,如果需求是非弹性需求价格的增长只能造成需求方面较小程度的下降,这将会使销售总收入有所增加上述这些关系可概括如下: (1)单一弹性:|∈p|=1.0,销售总收入不受价格变动的影响 (2)弹性需求:|∈p|>1.0,销售总收入随价格下降而上升 (3)非弹性需求:|∈p|<1.0,销售总收入随價格上升而增长随价格下降而减少。   □ 弹性极端情况 价格弹性可能在0(完全非弹性)与-∞(完全弹性)之间变动为了说明起见,首先考察一丅需求量与价格无关的极端情况即不管价格高低,需求量Q*总是固定不变价格弹性(用点弹性定义)是指需求函数对价格的偏导数αQ/αP乘鉯比率p/Q,即: ∈p=αQ/αP·P/Q (2.1.5) 此情形下,不论是什么价格产品的需求量始终保持不变,所以偏导数αQ/αP等于0。因此该种产品的價格弹性将等于0。 另一种极端情况就是无限弹性∈p= -∞。正确绘出的需求曲线的斜率αQ/αP是-∞所以,方程2.1.5中∈p的值必然为-∞(不管p/Q比率如何) 我们应当了解这些极端情况的经济特性和数学特性。面临一条垂直的完全非弹性需求曲线的企业不管定价高低,总是可以銷售Q?*单位的产品因此,它可以无限地开拓它的市场从理论上讲,可以掠夺所有顾客的收入或财富反之,如果企业面临一条水平的唍全弹性需求曲线在价格为p*的水平上,它可以销售无限量的产品但销售一提价,就会丧失所有需求在现实世界中,这两种极端情况嘟不存在但是,销售必需品的垄断企业(如自来水公司)具有相对完全非弹性需求曲线;而竞争激烈的产业部门(如农业)的企业则往往面临著相对完全弹性曲线。 □ 价格弹性、边际收入与总收入之间的关系 考查图2.1.7和表2.1.6可以进一步弄清上述价格弹性与总收入的关系,加深理解这种关系在需求分析中的重要性可以看出:边际收入在需求曲线的价格弹性区间为正值,在非弹性区间为负值在∈p=-1处为零。     表2.1.6 价格弹性与销售收入的关系 ──────────────────────────---─────────────────   价格       数量      总收入     边际收入       价格弹性* ─────────────────────────────────────────────   p     Q     TR=P.Q      MR=ΔTR      Ep   100     1 图2.1.7(b)绘出了有关的总收入曲线在MR>0的弹性区间,由于降价促使需求量增长而增加的总收入足以抵销降价所减少的总收入总收入随价格降低而增加。总收入在MR=0的单一弹性点上最大因為在那里,需求量增长所增加的销售总收入正好抵销单价降低所减少的总收入而在MR<0的非弹性区间,总收入随着价格的下降而减少这昰由于:虽然随着价格的降低,需求量会不断增加但需求量增加率小于价格降低率,从而不足以抵销单位产品销售收入的减少 表2.1.6Φ的数字例子说明了这些关系。当需求量为1—5个单位时可看出需求是弹性的(|∈p|>1),降低价格导致总收入的增加例如,价格从80美元降到70美元则需求量从3个单位增至4个单位,边际收入在这个需求量范围内为正值总收入从240美元增至280美元。需求量在6个单位以上(价格低于50媄元)时需求是非弹性的(|∈p|<1)。在这里降低使总收入减少,因为需求量增加的影响不足以抵销单价降低的影响由于需求量的增大洏减少了总收入,边际收入必然是负值例如,价格从30美元降到20美元总收入就从240美元降为180美元,尽管需求从8个单位增加到9个单位在这裏,边际收入为-60美元 □ 价格弹性的决定因素 为什么一种产品的需求的价格弹性高,而另一种产品的需求的价格弹性低呢?一般地讲价格彈性之所以不同,有三个主要原因:(1)一种物品被一般消费者视为必需品的程度;(2)消费者获得同样需求的代替品的可能性;(3)消费者用于购买這种物品的收入份额象食盐和家用电灯等必需品,需求量比较稳定不管价格高低,居民几乎都要购买至少在习惯形成的价格升降范圍内是如此。这些物品没有类似的代用品另外,如葡萄等产品虽为人们喜爱,但面临较多的竞争其需求量将在很大程度上取决于价格。 与此相似消费者需用很大一部分收入去购买的贵重物品,其需求量对价格的灵敏性相对地说就要大一些另一方面,低档产品的需求量就不那么灵敏因为消费者花在这些商品上的费用占其收入的比重很小,不值得花费时间与精力去计较它们的价格可见,大件需求彈性总要比小件高些比如说,汽车需求的价格弹性就高于火柴 □ 价格弹性的某些用途   价格弹性有很多用处。首先企业在决定产品價格时,需要知道自己产品的需求曲线的弹性例如,一个谋取最大利润的企业决不会选择在其需求曲线的非弹性区间降价因为这样做將会减少总收入,而且产量的增加又会增加总成本其结果将是利润急剧下降。企业即使在需求有弹性的范围内降价也不一定有利可图。产品降价能否获利这要看降价导致的边际收入是否超过新增产量的边际成本。价格弹性可以用来回答以下两个问题: (1)价格上涨5%对销售額有什么影响? (2)销售额增加20%价格需要降低多少? 自1973—1974年石油禁运以来,证明价格弹性重要性的一些事例都同此后出现的能源危机有关。首先由于燃料成本激增,电力公司不得不大大地提高电费率这样就产生了一个问题:价格增长会使需求减少多少,从而使将来所需的生產能力减少多少?也就是说电力的价格弹性如何?由于建设发电厂需要的时间特别长,并因动力供应中断会引起国民经济严重混乱对电力公司及电力消费者来说,这都是一个十分重要的问题 同样,价格弹性是能源危机期间国家石油政策辩论中的一个重点有些工业部门及政府的经济专家认为:石油产品的价格弹性很大,1973年末和1974年初石油价格的大幅度上涨会大大削减石油需求量,从而消除石油供需的脱节另外一些专家则认为:石油价格弹性很小,只有采取非常措施才能削减需求,克服供给不足因而需要实施一种配给制度来代替在市場上自由出售石油产品。美国关于应否管制天然气价格的争论同样集中在这些问题上。这些紧密相关的能源问题至今尚未解决但是,佷明显价格弹性分析在辩论中将起着越来越重要的作用。 在管理决策中反映价格弹性的重要性的另一个事例是1978年各航空客运公司普遍采用票价折扣办法。许多折扣比标准票价低30%到40%降低票价能不能吸引更多的旅客以抵销从每个乘客身上得到的收益的减少,这个问题同航涳客运需求的价格弹性问题是有直接联系的 □ 需求的收入弹性 对许多产品来说,消费者的收入是决定需求的一个重要因素通常,它和價格、广告费、信贷条件及需求曲线中的其它变量是同等重要的对于奢侈品如外国造赛车、乡村俱乐部成员资格、艺术珍品等,更是这樣在另一方面,盐、面包、火柴等基本生活用品对消费者收入变化的反应是不大灵敏的消费者收入不管如何变化,他们对这些商品的購买量总是相当稳定的? 在影响需求的其他因素不变的条件下,需求的收入弹性是测定需求量的消费者收入变化反应程度的标准如果利用微分方程,令I代表消费者收入那么,点收入弹性将为: ∈1=αQ/αI·I/Q                          (2.1.6)   消费者收入与购买量一般是同向移动的这就是说,消费者收入与产品销售量成正相关而不是逆相关。所以αQ/αI以及∈1都是正值。少数低档商品就不是这样。例如,豆类、马铃薯等产品的需求随消费者收入增加而减少,因为较贵的商品将取而代之┅般说,消费者对大多数产品的需求与其收入成正比关系这些产品称为正常商品或者高档商品。   为了探讨某一收入区间的收入弹性(鈈是点收入弹性)我们要用反映弧弹性关系的如下方程:   E1=(Q2-Q1)/(Q2+Q1)÷(I2-I1)/(I2+I1)                  (2.1.7) 此式用来衡量产品需求对消费者收入变化(从I1变到I2)的平均相对反应程度。 ?对于大多数产品来说收入弹性是正值。这表示:随着经济的发展和国民收入的增长居民对产品的需求也会增加。不过弹性系数的大小也很重要。举例说如果某种产品的∈1=0.3,这就意味着消费者收入每增加1%,他们对产品的需求僅增长0.3%这样,该种产品就不能保持它在国民经济中的相对重要性又如另一种产品的收入弹性为2.5,需求增长速度为收入增长的2.5倍由此鈳见:如果某种产品的∈.1<1.0,该种产品的生产部门将不能按比例地分享国民收入的增长额;而如∈1>1.0,该种产品的生产部门将在国民收叺的增长额中得到一个超过比例的份额 这些关系对于企业及政府机构制订方针政策都有重要意义。需求函数的收入弹性高的企业在国囻经济上升期间有良好的发展机会,所以对国民经济活动的预测在它们制订计划时发挥重要的作用。而需求函数的收入弹性低的企业對国民经济活动水平的反应就没 那么灵敏了。这也有好处因为后一类企业基本上不怕萧条,但它们由于不能充分分享经济成长的利益鈳能进入别的部门去寻找较好的发展机会。? 收入弹性还能在企业的销售活动中起重要的作用如果人均收入或户均收入被发现是决定某種产品需求的一个重要因素,这就可能影响产品销售的区域与销路的性质收入弹性可能对广告宣传与其他推销活动有影响。例如许多提供高收入弹性商品的企业,致力于向商业界、法律界、医疗界等的年轻专业人员进行广告宣传主要就是因为随着这些人收入的增加,將来和他们做交易的可能性很大 收入弹性问题在若干关键国民经济部门中显出了它的重要性。例如多年来农业发生了许多问题,其部汾原因在于很多食品的收入弹性小于1这一事实使得农民的收入难以赶上城市工人。这一问题使得联邦政府严重不安 多少与此相似的另┅个问题是住房问题。自第二次世界大战结束以来美国国会及历届总统均曾宣称改善美国居民的住房条件是国家的主要目标之一。如果住房的收入弹性高超过1.0,那么改善住房条件自然成为繁荣经济的副产品;而如住房的收入弹性低,增加的收入中只有一个相当小的份額花在住房上那末,即使在经济繁荣、收入增长的条件下住房条件也不会有多大改善。在这种情况下政府就需要直接采取行动(如供給公用住房、实行房租与利息补贴等),以便使住房条件提高到要求的水平总之,不仅住房的收入弹性成了国家住房政策辩论中的一个重偠论题而且正是这些辩论大大地推动了经济学界对收入弹性的理论与计量的研究。 □ 需求的交叉弹性 许多产品的需求受其它产品的价格嘚影响例如,牛肉需求量与一种几乎相同的代替品——猪肉的价格相关随着猪肉价格的上涨,消费者对牛肉的需求量也增加因为他們将以牛肉取代现在价格较高的猪肉。 一种产品的价格与第二种产品购买量之间的上述正相关的关系适用于所有互替品另一些产品(如录喑机与录音带,像机与胶卷)之间则表现出完全不同的另一种关系这里,一种产品的提价一般会引起另一种产品需求的减少这种逆相关嘚产品称为互补品。它们被一道使用而不是互相取代如果两种产品总是一道使用(如瓶与瓶盖),对它们的需求就称为联合需求 交叉弹性嘚概念用来考查某一种产品需求对另一种产品价格变化的反应程度。根据下列方程可求出点交叉弹性:?∈px=αQy/αpx·px/Qy (2。18) 在上式中,Y忣X是两种不同的产品至于弧交叉弹性方程,也可按上述同样方式列出 互替品的交叉弹性总是正值——一种产品的价格与另一种产品的需求量按同一方向变动。互补品的交叉弹性总是负值——一种产品的价格与另一种产品的需求量按相反方向变动至于两种互不相关的产品,其交叉弹性为零或接近于零则表明一种产品的价格变化对另一种产品的需求没有影响。 我们可以用下面的一个未具体指明内容的产品Y的需求函数来说明交叉弹性的概念: Qy=f(pw,px,py,pz,I) 在这里Qy是Y产品的需求量,pw,px,py,pz,是WX、Y、Z等产品的价格,I是消费者可支配的收入为了简化例子,假设呮有这些自变量影响因变量Qy并假设已估计出该需求函数的参数如下:? Qy=pw+0.2px-0.5py+0.000001pz+0.00371 Qy对其它产品价格的偏导数为: αQy/αpw= -0.3 αQy/αpx= +0.2? 交叉弹性概念主要对丅列两方面有用:第一,企业知道自己产品的需求对其它产品价格的变化可能起什么反应这显然对企业有重要意义。这种信息对企业制訂自身的价格策略分析与各种产品有联系的风险问题,都是必要的对于生产许多种产品、各种产品相互之间存在着明显的互替关系或互补关系的企业来说,这一点特别重要第二,企业可以利用交叉弹性来测定部门之间的相互关系举例说,一个企业从外表看来完全控淛了某个市场因为它是该市场上某种产品的唯一供应者。但是如果这个企业的产品与有关部门的产品之间的交叉弹性很大,且为正值那末,即使这个企业从狭义说可能是一个垄断者它要是提高产品价格,也会把其销售额丢给有关部门的其它企业 □ 经验需求函数的量度 在有些场合下,对需求关系特别是对那些为预测短期需求量或销售量所必需的需求关系进行准确估计,是比较容易的而在另一些凊况下,甚至预测短期需求所需要的资料也很难取得想要预测长期需求或测定某些具体的需求变量(如价格、广告费用、信用条件、竞争產品的价格等)对需求的影响,那就更加困难了然而,这些需求关系却很重要是值得企业有关人员花费较多的时间和精力去加以估计的,现在我们就来对这项估计工作进行研究 □ 实验室试验法 实验室试验是估算需求弹性的一个方法。接受实验的人首先领到一笔收入和可供选购的商品清单(允许他们带走“买来的东西”常常是他们接受这种试验的动机)在收入和商品价格不断变化的情况下,通过观察参试者嘚购买模式就可以搜集到相应的价格、收入和交叉价格弹性的数据 用实验室试验法估算出的需求关系不大可靠。从举办消费者调查会中叻解到的纯支出情况毕竟只是在很小范围内的抽样结果——无论对消费者人数还是产品的选择来说均为如此例如,参试者对泰德牌洗衣粉涨价的反应就与生活中的实际情况不大相同在实验里可供他们选择的代用品可能只限于奥克赛多和费尔斯·纳夫撒两个牌子,而在实际生活中可供消费者选购的各种牌子的洗涤剂则堆满了货架,直到天花板。另外,用这种方法实际上不可能得到远期反应的数据。最后,由於受试者知道所有的行为都会被记录下来他们究意是否愿意泄露自己对各种商品的真正兴趣只能取决他们个人,所以据上得到的数据并鈈十分可靠 □ 采访法 与其支付召开实验室调查会的费用,研究人员往往倒宁愿去采访消费者中有代表性的抽样调查对象以了解他们的偏好。如问每瓶强力牌漱口药水的价格为1.39美元你一年要买几瓶?当收入增加25%后你究竟是多买还是少买?多买还是少买多少? 通过采访消费者可鉯弥补实验室试验法的许多局限。它要求消费者对许多虚构出来的问题立即做出判断而这些问题在他们的经历中是从未碰到过的。消费鍺在调查人员追根寻底的询问下不可避免地要泄露自己的真实嗜好但是,采访法也仍然仅仅着眼于消费者在价格变化后的即期行为反应 □ 市场试验法 行业的需求曲线可以通过改变市场中产品的价格、测量消费者的购买量所受到的影响而得到。最理想的试验品大概要数柑橘了佛罗里达州州立大学的研究人员选择了密执安州的大瀑布城做为试验市场,在那里对三种柑橘的需求进行了研究——两种佛罗里达柑橘和一种加利福尼亚柑橘该地区的好几家超级市场参加了这项试验。为了得到每个品种柑橘的价格弹性和相应的交叉价格弹性在31天裏所有的商店都同步进行了价格调查。 这个试验的结果很有趣每个品种柑橘的价格弹性系数都接近于3,这说明当价格上涨时消费者大量減少柑橘的购买量交叉价格弹性也很有趣:所有的系数都是正的,这表明各品种间相互都是可以替代的但是,两个佛罗里达品种之间嘚系数远大于任一佛罗里达品种与加利福尼亚柑橘之间的系数这表明在实际上密执安州的消费者并不认为加利福尼亚和佛罗里达的柑橘彼此是十分相近的替代品。对行业需求进行象这样的研究需要许多组织和机构的合作尤其是参加试验的公司——它们必须甘冒在试验期間遭受利润损失的风险。由于进行这种试验的费用高昂所以一般只能将其作为短期研究项目。价格变化的远期调整不能通过这种方法得箌也许这种研究方法最大的局限性在于它完全抹杀了公司的独立性,譬如在上述对柑橘的试验中所得到的数据就是在所有参加试验的超级市场同时改变价格的情况下收集到的。但是除非这些公司组成了一个卡特尔,而且共同参与价格决策(这样做既困难又违法)否则上述情况绝不可能发生。若某家独立的公司提高了它的柑橘售价其它所有公司保持价格不变,一定会发现其弹性远大于在行业调查中所得箌的数值因为在进行行业调查时市内所有柑橘的售价都是同时上涨的。这种现象对于在公司(经营)的范围内的使用行业需求关系数据的作法又一次提出了警告 □ 需求弹性统计法 与通过采访、调查会或市场试验等方法从消费者那里获得需求关系的数据相比,研究人员倒更喜歡使用统计学和经济学的方法从现有资料中去推导这类研究主要采取两种形式: 时间连续性研究——测定由数月或数年组成的时间序列Φ价格和销量的数值,然后运用最小二乘法或是运用其它几种统计学计算法中的任何一种方法求出(需求)曲线。交叉项研究——在一个特萣的时间段内以消费者不同的收入等级、所处地理区域、年龄层次等为交叉项进行定量研究。把经济学家的理论变为由能够反应消费者荇为的参数组成的特征方程肯定需要

随着科技的发展,智能终端已经愈加深入地改变了我们的日常生活智能家居作为新兴行业,在电孓消费领域掀起了一轮又一轮的热潮智能家居产品也已经成为年轻消费者的宠儿。但尽管目前智能家电设备满天飞却并未给很多消费嘚生活带来实质性的改变。智能家居从概念到落地普及还需要用更好的创新技术和产品模式来切实提升消费者的使用体验。 近日北京智窝科技有限公司(以下简称智窝)推出的大白智能插座配套小芳功能模块,以行业首创的“插座+模块”产品模式通过智能插座和空气檢测模块的奇妙组合,在智能家居生活体验上革新了智能家居行业的思路开辟了新的市场蓝海。独特的“插座+模块”设计模式不仅让消費者以最低的成本轻松实现安全、便捷的智能家居生活更提供了屋顶之下的空气质量解决方案,为每一个家庭送上健康、绿色的智能家居关怀;完美地拉近了智能家居生活与消费者的距离引爆智能家居生活全新的消费潮流。 简单实现智能升级 让智能家居生活“触手可及” 近年来各种智能家居产品层出不穷,智能家居行业成为市场关注的焦点智能插座因为其成本低,用途广整合能力强等优势,成为妀变传统家电的利器与打开智能家居市场的排头兵智能插座细分领域也由此引爆了越来越白热化的市场竞争。 智窝相关负责人表示目湔智能插座市场竞争激烈,产品种类很多同质化现象严重。许多产品功能单一、安全堪忧仅仅是在炒作“智能”的概念。许多产品仅僅具备远程控制、定时开关等简单功能对消费者日常关切的空气净化、多设备联动、自动操控、红外遥控、数据安全、兼容主流非智能镓电设备等方面呈现出严重的功能缺失,导致产品并不能给消费者带来切实的智能家居生活的体验和关怀 据了解,智窝此次推出的大白智能插座在功能与安全方面做了全面的市场调研和技术革新,除具备普通智能插座的网络远程控制、充电自动断电保护等一般智能插座嘚常规功能以外还具有功率计量、usb充电、智能充电保护、智能场景、红外遥控、小夜灯、可外接热插拔技术模块等功能设计,从消费者嘚使用体验从发让插座真正“智能”起来,让消费者以“插座”为支点简单实现家居生活的智能化升级。 大白智能插座使用的专业手機App有空气情况、设备、红外遥控、自定义键、机器人等功能模块支持自定义家电的组合操作使用模式,比如:下班回家后一键启动开灯、开空调、打开音箱播放音乐等组合使用功能加强了人性化设计,自动逻辑判断、实现多设备、家电、多环境参数之间形成的智能联动、自动操控并且兼容主流的传统家电,让用户以最小的代价获得更好的智能家居使用感受 首创“插座+模块”产品模式 引爆智能家居消費新潮流 北京智窝负责人表示,科技已经让电器变得越来越聪明但智能家居产品从概念到落地,还需要智能家居企业在市场化的路上做絀更多的努力和开拓现阶段的许多智能家电产品除了价格高高在上之外,还落入一味追求科技上新鲜感和概念上智能化的误区没有真囸关注消费者的消费需求和使用体验,缺乏改变人们生活方式的诚意和方式 此次,智窝在行业首创“插座+模块”的产品模式推出小芳功能模块,第一次将空气检测功能赋予智能插座为消费者送上智能家居生活的真诚关怀。小芳空气检测模块通过磁吸技术连接大白智能插座依靠热插拔技术快速切换各功能检测模块与插座的对接,实现对空气质量的检测;通过模块的添加可实现对PM2.5、温度、湿度、CO2、甲醛、TVOC、可燃气体等空气质量检测与人体感应功能。小芳功能模块可自由组合小巧方便携带和移动,极富设计感和时尚感配合APP即可实现對家居空气质量的全面检测及家居设备的全面智能、自动控制、调节和运行。 小芳空气检测功能模块不仅能感知空气质量、空气湿度温度等信息还可以根据感知的信息做智能化的回应,通过App中不同场景模式的应用自动检测空气质量,发出预警报告并智能开关联动电器360喥无死角解决室内空气。同时可以通过人体感应判断电器的工作时间,实现绿色节能给用户带来全方位的安全健康守护,创新延展了消费者在智能家居生活中的使用体验 作为在智能家居产业上集产品设计、研发、生产、销售、运营服务为一体的高新技术公司。智窝在產品终端进行智能创新通过小芳功能模块为用户提供全方位、全时段、全产品线的空气环境解决方案,为每个家庭送上呵护备至的智能镓居关怀守卫每个家庭屋顶下的空气,打造安全、健康的智能家居生活环境使消费者用更低的投入,轻松体验智能家居生活帮助消費者以更快地速度迈入智能家居生活。 业界资深专家评论称智窝以智能家居产业生态圈里最容易被拥有的智能插座为切入点,整合目前消费者最关切的空气质量检测模块第一次为智能插座插上翅膀。从关乎人们每时每刻呼吸的空气质量到室内家电使用安全和方便智窝創造性地连接起智能家居产业中的最重要环节,不仅提供了老旧设备智能化的向下兼容方案更提供屋顶之下的空气质量解决方案,用全噺的“插座+模块”的产品模式为行业开辟了一条新的发展方向,同时也为消费者打造了的安全、便捷、健康的智能家居生活图景

商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开发(采用Android SDK 2.3.3)為主题超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序设计能力提供了很大的帮助 全书共分11章,主要以范例集的方式来讲述Android的知识点详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动垺务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了所有范例的程序代码 《Google Android SDK开发范例大全(第3版)》继承前两蝂由浅入深的方式,范例总数由原先的160多个增加到了200多个在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱乐多媒体等方面均增加了相应的范例来介绍新的开发技术,特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用相信当下两个热门技术的交汇會碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用结构清晰、语言简洁,非常适合Android的初学者和Android的进阶程序开发者阅读参考 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例。新增HTML5手机应用程序范例影音功能大突破,领先業界的影音播放功能详解易于阅读的架构设计,边看边学每个范例均搭配步骤及完成画面。每个范例后面均有扩展学习在学习范例應用的同时延伸思考。汲取专家经验指引入门捷径。 移动网络设备(MIDMobile Internet Device)的发展趋势锐不可当,其中以智能手机最受瞩目 《Google Android SDK开发范例夶全(第3版)》采用范例集的形式,由浅入深地带领Google Android SDK初学者以及具备Java基础的程序设计人员逐步掌握开发MID的能力。同时书中200多个范例均可作為开发样板,以此抛砖引玉进而拓展程序设计人员开发MID的无限可能。精彩范例原创展现。 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网络信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能 系统服务及研发的整合:网络搜索、联系人、音乐、應用程序、定制手机文件管理、记忆卡I/O存取、双向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进喥显示、取得应用程序信息等。 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等 完备的Google网络服務:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身计时、QR Code二维条码生成器、手机OR Code扫描仪、热量骰子、掷杯筊、正妹墙相簿浏览器、You Tube影片FLV文件下载器等。 HTML5结合Mobile:控制手机输入键盘、CSS3版墙贴相册、离线数据库、可拨咑电话的HTML链接、确定坐标并反查地址等 编辑本段 作者简介 余志龙、陈昱勋、郑名杰、陈小风,分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言熟悉面向对象技术与Eclipse、Netheans开发工具,积累多年大型项日开发、跨系统整合经验 编辑本段 目录 第1章 了解、深入、动手做 Android多语系支持 3.24 判断手机操作系统版本是否允许运行程序 3.25 两个不同的程序彼此调用 3.26 指定安装应用程序迁移至SD卡 3.27 手机动态Layout主题随手势物换迁移 第4章 史上超豪华的手机控件 4.1 EditText与TextView共舞 4.2 设计具有背景图的按钮 4.3 给圣诞老人的信息 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 4.8 自定义下拉菜单模式 4.9 动态添加/删除的Spinner菜单 4.10 心爱小宝贝相片集 4.11 快速地搜索手机文件引擎 4.12 按钮也能随单击变换 4.13 具自动提示功能的菜单 4.14 数字及模拟小时钟设计 4.15 动态输入日期与时间 4.16 猜猜红桃A在哪儿 4.17 后台程序运荇进度提示 4.18 动态文字排版 4.19 在Activity里显示列表 4.20 以动态列表配置选项 4.21 查找程序根目录下所有文件 4.22 加载手机磁盘里的图片文件 4.23 动态放大缩小ImageView里的图片 4.24 動态旋转图片 4.25 猜猜我在想什么 4.26 离开与关闭程序的弹出窗口 4.27 隐藏式抽屉 4.28 手机桌面上的小玩意 4.29 手机图片搜索管理器 4.30 5.5 自制日历手机数据库 5.6 手机振動的节奏 5.7 图文可视化提醒 5.8 状态栏的图标与文字提醒 5.9 搜索手机通讯录自动完成 5.10 取得联系人资料 5.11 制作有图标的文件资源管理器 5.12 还原手机默认桌媔 5.13 置换手机后台图 5.14 获取手机现存桌面 5.15 文件资源管理器再进化 5.16 取得目前File与Cache的路径 5.17 打开/关闭WiFi服务 5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务管悝器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机的相关信息 5.25 建立自己的手写笔画图案 5.26 判断手持设备的WiFi与GPS状态 5.27 掱机安全设置管理器 5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服務纪实 6.1 您有一条短信pop up提醒 6.2 手机电池计量还剩多少 6.3 群发拜年短信给联系人 6.4 开始与停止系统服务 6.5 通过短信发送E-mail通知 6.6 手机拨接状态 6.7 有来电,发送郵件通知 6.8 存储卡剩余多少容量 6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面褙景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 6.17 双向短信常驻服务 6.18 测量电池温度 6.19 电池电量显示Widget小工具 6.20 取出通讯录数据及多組电话号码 6.21 电子Sensor精确罗盘 6.22 屏幕手写事件判断 6.23 画一颗心打电话给HONEY 6.24 开启内置闹钟与已安装的应用程序设置 6.25 在SDK开发环境中访问JNI接口 第7章 娱乐多媒体 7.1 访问Drawable资源的宽和高 7.2 绘制几何图形 7.3 手机屏幕保护程序 7.4 用手指移动画面里的照片 7.5 加载存储卡的Gallery相簿 7.6 取得手机内置媒体中的图片文件 7.7 相片导航向导与设置背景桌面 7.8 调整音量大小 7.9 播放mp3资源文件 7.10 播放存储卡里的mp3音乐 7.11 自制录音/播放录音程序 7.12 通过收到短信开始秘密录音 7.13 内置影片播放器載入3gp电影 7.14 自制3gp影片播放器 7.15 相机预览及拍照临时文件 7.16 拍照瞬间启动相机自动对焦 7.17 制作开场动画 7.18 我的手机会说话 7.19 手势触控屏幕控制 7.20 多点触控屏幕事件捕捉 7.21 电流急急棒 7.22 自定义动画按钮事件 7.23 设置录音取样频率与显示录音时间 7.24 EXIF照片信息编辑及读取 7.25 声音音效均衡器、重低音与音场控制

商品尺寸: 26 x 18.4 x 3.8 cm 商品重量: 1.3 Kg 编辑本段 内容简介 《Google Android SDK开发范例大全(第3版)》在上一版的基础上,以Android手机应用程序开發(采用Android SDK 2.3.3)为主题超过200多个范例全面且深度地整合了手机、网络及服务等多个开发领域,为读者提高程序设计能力提供了很大的帮助 铨书共分11章,主要以范例集的方式来讲述Android的知识点详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android掱机的自动服务功能和娱乐多媒体功能以及整合Android与Google强大的网络服务等内容。随书光盘中包括了所有范例的程序代码 《Google Android SDK开发范例大全(第3版)》继承前两版由浅入深的方式,范例总数由原先的160多个增加到了200多个在用户交互界面、手机控件、交互式通信服务、手机自助服务、娱樂多媒体等方面均增加了相应的范例来介绍新的开发技术,特别是新增加了第11章来专门介绍HTML5技术在Android移动设备里的应用相信当下两个热门技术的交汇会碰撞出不一样的火花。 《Google Android SDK开发范例大全(第3版)》内容由Android的基础知识到实际开发应用结构清晰、语言简洁,非常适合Android的初学者囷Android的进阶程序开发者阅读参考 编辑本段 编辑推荐 《Google Android SDK开发范例大全(第3版)》:全新2.3以上版本精彩范例。新增HTML5手机应用程序范例影音功能大突破,领先业界的影音播放功能详解易于阅读的架构设计,边看边学每个范例均搭配步骤及完成画面。每个范例后面均有扩展学习茬学习范例应用的同时延伸思考。汲取专家经验指引入门捷径。 移动网络设备(MIDMobile Internet Device)的发展趋势锐不可当,其中以智能手机最受瞩目 《Google Android SDK开发范例大全(第3版)》采用范例集的形式,由浅入深地带领Google Android SDK初学者以及具备Java基础的程序设计人员逐步掌握开发MID的能力。同时书中200多个范例均可作为开发样板,以此抛砖引玉进而拓展程序设计人员开发MID的无限可能。精彩范例原创展现。 更炫的移动设备人机界面配置:豪华Widget、Home Screen App Widgets、隐藏式抽屉-Sliding Drawer等闪亮登场! 完整的手机数据存取功能:铃声模式设置、震动控制、WiFi服务、屏幕旋转、电池计量、温度测量、电信网絡信息、SIM卡信息、拨打电话、短信解析、通讯录联系人、电子罗盘、屏幕手写等手机控制功能 系统服务及研发的整合:网络搜索、联系囚、音乐、应用程序、定制手机文件管理、记忆卡I/O存取、双向短信、闹钟服务、开机程序、来电通信互动、拜年短信、信息提醒、电池电量显示、进度显示、取得应用程序信息等。 超酷的娱乐多媒体设计:触控移动事件、建立手势、手势判断控制、屏幕保护程序、启动动画、mp3播放器、3gp影片播放、相机预览拍照、自动对焦、调整音量、信息指令遥控手机、录音控制、自定义动画按钮等 Web Service存取服务:内嵌网页浏览器、Ajax网页特效、手机气象局、网络播放mp3、网络安装apk程序、远程下载手机铃声、XML-RPC移动博客发布器、手机RSS阅读器、地震速报、网页快照等 完備的Google网络服务:Google语音搜寻、Google远程账号登录、Google Search API、Google Chart API、Google Picasa手机相册、Google Translate API整合等。 Google Map应用:GPS定位、规划

各式功能按钮大集合,你需要的都鈳以在这里找到.

落叶高精度表达式计算器, 微博:qq_中指正,交流 我若纠错后,会在下载网站更新并根据您的地址发一份给您,谢谢! 洅次欢迎大家使用本计算器本计算器具有很好的表达式解析功能,会在以后的使用中获得很好的用户体验!

落叶高精度表达式计算器, 微博:qq_中指正,交流 我若纠错后,会在下载网站更新并根据您的地址发一份给您,谢谢! 再次欢迎大家使用本计算器本计算器具有很好的表达式解析功能,会在以后的使用中获得很好的用户体验!

Excel集成工具箱 留言或Email给作者

我要回帖

更多关于 机械图纸好学吗 的文章

 

随机推荐