当前位置: 首页 > 编程日记 > 正文

读书笔记2013第13本:《怎样解题》

《怎样解题》这本书是在看《编程大师访谈录》(中文版第12页)这本书时无意发现的,一个编程大师推荐这本书来指导编程设计,google到这本书后粗略地翻看了一遍,发现是一本教学生如何解数学题的非常有年头的书。随着仔细品读,发现这本书更多地是写给老师们的,而不仅仅是写给学生的,但学生也能从中学到许多在解题过程中的思维技巧和思维方式。看这本书一是看看对自己编程有什么帮助,再一个就是让孩子掌握解题的思考方式。

波利亚在1945年完成了这本书的第一版,书很快畅销,被翻译成了17种语言,1957年出了第二版,我看的中文版好像是阎育苏在90年代翻译的,里面有些字句翻译得不太准确,我对照着英语版,发现许多地方是把英语中的should翻译错了。

这本书主要是通过2页纸的“怎样解题表”来展开的,作者把解题的过程分为了弄清问题、拟定计划、实现计划和回顾4个步骤,每个步骤中提出了一些普遍性的问题,这些问题非常适合老师用来引导学生一步步找到答案,正如古话说“授之以鱼,不如授之以渔”,波利亚针对一个问题,并不是把答案扔给学生,也不是把解题过程扔给学生,而是提出许多问题来,这些问题非常有技巧,不能太泛,也不能太具体,通过学生自己回答问题,来去发现问题的解。在“怎样解题表”中就是一系列的问题,而全书前面用一些例子说明了提出这些问题的目的,后面给出了一些术语说明或思维技巧,当然里面也穿插着一些例题,许多题并不需要高中以上的知识,但仍有相当的难度,但跟随着书中的问题,你果然也能够想到问题的解。

书的第一部分介绍了解题表的目的,四个阶段的主要问题。

书的第二部分介绍了在四个阶段可以思考哪些问题。

书的第三部分叫“探索法小词典”,里面的条目是按英文的字母顺序来排列的,翻译后作者就很难找到这些条目的对应关系,需要来回查找这67个条目。

书的第四部分给出一些习题和答案,与其它书不同的是还给出了解题的提示问题。

怎样解题表

一、弄清问题[1]

你必须弄清问题

未知数[2]是什么?已知数是什么?条件[3]是什么?

是不是有可能满足所有条件[4]?要确定此未知数,条件是不是充分的?或者不充分?或者是多余的?或者是矛盾的?

画张图[5],引入适当的符号[6]Notation。

把各个条件拆开考虑[7],你能把它们写下来吗?

二、拟定计划

找出已知数与未知数之间的联系。

如果找不出直接的联系,你可能需要考虑辅助问题。
最终你应该得到一个求解的计划

你以前见过这个问题吗?或者是形式稍有不同的相同问题?[8]

你是否知道与此有关的问题?你是否知道一个可能会用到的定理?

看着未知数![9]试想出一个具有相同未知数或相似未知数的熟悉的问题。

你有一个早已解决的问题,且与你现在的问题有关,你能不能利用它

能利用它的结果吗[10]?你能利用它的方法吗?是不是可以引入某个辅助元素[11],就可以利用它?你能重新叙述这个问题吗?你能不能换种方法来重新叙述它?

回到定义去[12]。

如果你不能解决所提出的问题[13],可以先解决一个与此有关的问题。你能不能想出一个更容易着手的有关问题?一个更普遍的问题?一个更特殊的问题?一个类比的问题?你能否解决这个问题的一部分?仅仅保持条件的一部分而舍去其余部分,这样对于未知数能确定到什么程度?未知数会怎样变化?你能不能从已知数据导出某些有用的东西?你能不能想出适合于确定未知数的其他数据?如果需要的话,你能不能改变未知数或已知数据,或者二者都改变,以使新未知数和新数据彼此更接近?

你是否利用了所有的已知数据?你是否利用了全部条件?你是否考虑了问题中的所有主要概念?

三、实行计划

实行你的计划

执行你的求解计划,检验每一步骤

你能否清楚地看出这一步骤是正确的?你能否证明这一步骤是正确的?

四、回顾

验算所得到的解

你能验证这个结果吗?[14]能否用别的方法导出这个结果[15]?你能一下子看出结果来吗? 你能不能把这一结果或方法用于其他的问题?

[1] 这张解题表主要是针对求解题来说明的,另外一类问题是求证题(或证明题),可以参看【42】。

[2] 未知数的英文原文是unknown,对于一个方程题,这个未知数容易理解,对于一道作图题,这个未知数就是指要作出的图形,对于一道谜语,这个未知数就是指的谜底。对于求证题,要解决的问题就是证明那个结论。作者指出了求解题的三要素(书中翻译成主要部分Principal Parts):未知Unknown、已知Data和条件Condition。

[3] 在【57】新旧术语中介绍了条件,条件用来把未知已知联系起来。

[4] 在【10】指出条件可以划分为多个部分,这些条件可能正好是充分的,有可能有些条件是多余的Redundant【46】,或自相矛盾的【11】。例如:三个未知数的三元一次方程,如果有3个方程,那么可能是充分的;如果给了4个方程式,那就或者是冗余的,或者是矛盾的。

[5] 作者强调了在解题中图【24 Figures】的重要性。对于几何题是必须要画图的,画精确的图太浪费时间,但草图也不能太草,否则可能会使你产生误解。一个普通的三角形可以画成三个角大概是45度、60度和75度,这样这个三角形就既不是等腰三角形也不是直角三角形。画图时可以用实线虚线、粗线细线或不同颜色的线来表示不同的特点,比如可以用蓝色来区分两个相似的三角形。即使不是几何问题,经常也是可以画出图形来帮助解题的。

[6] 作者在【38】里指出,选用好的适合的数学符号,有时对解题会很有帮助。

[7] 在【15】中谈到可以将问题分解和重新组合,在【51】中说明可以将已知数据先与一小部分条件考虑,看能得出什么,分开考虑之后再经过组合,有时会立刻出来结果。书中给出一个例题,已知一个三角形的顶角、高和底边,画出这个三角形。先考虑固定底边,相同高的三角形的顶点会形成什么图形?再考虑固定底边,相同顶角的三角形的顶点是个什么图形?把所有条件一起考虑,问题就解决了!

[8] 在【26】中谈到要积极地搜索以前学过的知识,以前做过的类似的题。

[9] 对于求解题就是看着未知数,对于求证题,就是看着结论。做题的过程中不要忘了你的目标【36】。

[10] 利用普遍化【25 Generalization 】、特殊化【54 Specialization 】、类比【1】或分解组合【15】等方法,很容易想出一个新问题【8】。

[11] 做几何题里的辅助元素【2】通常就是指辅助线,引出新的未知数,就会产生辅助问题【3】,这里举了一个并不简单的做图题例,已知三角形的顶角、高和周长,作出这个三角形。

[12] 吃透定义【16】对于解题非常重要,这里有一个有关抛物线的例题来说明掌握抛物线的准确定义对于解题非常关键,已知一抛物线的焦点、准线,还有另外一直线(第86页),作出直线与抛物线的交点来。如果不知道抛物线上的所有点到焦点的距离与到准线的距离相等这个定义,那么这道题将无从下手。

[13] 在解题过程受阻时,这里给出了一些思考方法,想想以前相关的问题,简化问题,更普遍的问题,类比,只考虑部分条件,改变已经数或未知数,画个图,列方程,重新思考定义,从已知数向前推导、思考对称性【56】、或者倒着干【67】等等。

[14] 检验过程要避免单纯的重复【6】,在跌倒过的地方,如果环境与上次一样,你还会犯同样的错误,所以在检验的过程中要刻意地去改变一下次序,重新分组,或一种办法等,代入一些特殊值进行检验通常是比较快速的办法,在一个任意三角形公式中,可以用等边三角形这些特殊的三角形来快速验证结果的正确性;另外还有量纲检验【58】,对称性检验等办法进行粗略的检验。

[15] 作完题后如果再能找到更简便的解法,会加深你对这类题型的印象。第61页给出了正圆台侧面积公式的另一种思考方式,能更快地求出圆台的侧面积,并且与梯形面积公式进行了类比,从而不需死记硬背。

下面是第三部分中各词条的中英文对照表

【1】类比Analogy

【2】辅助元素Auxiliary Elements

【3】辅助问题Auxiliary Problem

【4】波尔查诺Bolzano

【5】好念头Bright Idea

【6】你能检验这结果吗?Can you check the result?

【7】你能用不同方法推导出这一结果吗? Can you derive the result differently?

【8】你能利用这个结果吗? Can you use the result?

【9】实施计划Carrying out(原文翻译为实现)

【10】条件Condition

【11】矛盾Contradictory

【12】推论Corollary

【13】你能从已知数据推导出某些有用的东西吗?Could you derive something useful from the data?

【14】你能重新叙述这个问题吗?Could you restate the problem?

【15】分解与重新组合Decomposing and recombining

【16】定义Definition

【17】笛卡尔Descartes

【18】决心,希望,成功 Determination, Hope, Success

【19】诊断Diagnosis

【20】你是否利用了所有的已知数? Did you use all the data?

【21】你知道一个与此有关的问题吗? Do you know a related problem?

【22】画张图Draw a figure

【23】检验你的猜测Examine your guess

【24】图形Figures

【25】普遍化Generalization

【26】你以前见过它吗? Have you seen it before?

【27】这个问题与你以前早已解决的问题有关 Here is a problem related to yours and sloved before

【28】探索法Heuristic(我喜欢翻译为启发法)

【29】启发式推理Heuristic Reasoning(原文翻译为探索式论证)

【30】如果你不能解决所提出的问题If you cannot solve the proposed problem

【31】归纳与数学归纳法Induction and mathematical induction

【32】发明家的悖论Inventor’s paradox

【33】能满足条件吗? Is it possible to satisfy the condition?

【34】莱布尼兹Leibnitz

【35】引理Lemma

【36】看着未知数Look at the unknown

【37】现代探索法Modern heuristic

【38】符号Notation

【39】帕扑斯Pappus

【40】拘泥与精通Pedantry and Mastery

【41】实用的问题Practical Problems

【42】求解题,求证题Problems to find, Problems to prove

【43】进展与成就Progress and Achievement

【44】谜语Puzzles

【45】归谬法与间接证明Reductio ad absurdum and indirect proof

【46】冗余的Redundant

【47】常规问题Routine problem (原文中翻译为代公式问题)

【48】发明创造的规律Rules of discovery

【49】风格的规律Rules of style

【50】教学的规律Rules of teaching

【51】把条件的各个部分分开Separate the various parts of the condition

【52】建立方程Setting up equations

【53】进展的标志Signs of progress

【54】特殊化Specialization

【55】潜意识的工作Subconscious work

【56】对称Sysmmetry

【57】新术语和老术语Terms, old and new

【58】量纲检验 Test by dimension

【59】未来的数学家 The future mathematician

【60】聪明的解题者The intelligent problem-solver

【61】聪明的读者 The intelligent reader

【62】传统的数学教授 The traditional mathematics professor

【63】问题的变化 Variation of the problem

【64】未知数是什么? What is the unknown?

【65】为什么要证明? Why proofs?

【66】谚语的智慧 Wisdom of proverbs

【67】倒着干  Working backwards

转载于:https://www.cnblogs.com/speeding/p/3349669.html

相关文章:

suse linux登录黑屏,SUSE Linux登录时黑屏解决办法

我采用的virtual pc虚拟机,安装redhat enterprise 4 linux,安装后出现花屏,通过GRUB的单用户模式下修改/etc/X11/xorg.con我采用的virtual pc虚拟机,安装RedHat enterprise 4 linux,安装后出现花屏,通过GRU…

应用构建工具包 Ecere SDK

Ecere SDK是一个跨平台的工具包构建软件应用程序。目前运行在Windows、Linux和Mac OS X(通过X11)。通过 Ecere SDK,可以开发一次应用程序,并将其部署在所有支持的平台上与一个轻量级运行时环境。它引入了eC这个面向对象语言来源于和完全兼容C,性能好也易于使用。一个内置的3d引…

第39-43课 thinkphp5完成商品会员价格功能(后置勾子afterInsert)

目录 功能一:利用后置勾子,处理好商品主键id,会员的价格,再插入member_price表里.要实现的功能:思路:html里控制器里模型里的后置勾子afterInsert()功能二:利用后置勾子,上传图片,批量生成缩略图,再插入goods_photo表里.要实现的功能:控制器里的用调用模型用save()方法保存模型…

codeforces A. Jeff and Digits 解题报告

题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这个序列尽可能地大,并且能被90除尽。 …

内核方式挂载cephfs

我们内核挂载的前提是:看到centos7.5 中默认内核3.10.0-862.11.6.el7.x86_64的挂载fs执行文件读写性能更优良,所以尝试将3.10.0-862.11.6.el7.x86_64模块中与ceph fs挂载相关的ceph.ko,libceph.ko,dns_resolver.ko,libcrc32c.ko拷贝到自己的设备。 同样要…

汉诺塔怎么加计数次数c语言,C语言计算汉诺塔最小移动步数 (二)

前几天写的:C语言计算汉诺塔最小移动步数(一)当时还不知道用2^n-1这个公式来求解汉诺塔移动步骤。_偶然间在网上发现了这个公式,发现当时写的算法还是比较繁琐的。所以又根据这个公式又写了一个。那篇的实现是两个数组来回赋值,这个是用一个数…

Myeclipse 8.0 +Flash builder 4 plugin 的实现

其实过程非常,简单,但是我之前在网上找了很多资料都说,需要先装 Eclipse 3.5 ,然后安装MyEclipse 8.0的插件到Eclipse,最后再安装Flash builder 的插件,期间还要进行一些文件的复制和转移等,弄得…

DHCP服务搭建

DHCP服务 一、DHCP概述 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务…

根据c语言数组定义填写下表,C语言程序设计 自测题(三)

{ n;if(n%3!0) continue;k--; }printf("%d,%d/n",k,n);}程序运行后的输出结果是______。A、1,1B、2,2C、3,3D、4,435、以下不能正确定义二维数组的选项是______。A、int a[2][2]{{1},{2}};B、int a[][2]{1,2,3,4};C、int a[2][2]{{1},2,3}D、int a[2][]{{1,2},{3,4}…

linux if 命令判断条件总结

linux if命令 关于文件属性的判断式 -a 如果文件存在 -b 如果文件存在,且该文件是区域设备文件 -c 当file存在并且是字符设备文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是普通文件时返回真…

ppt文本框显示缺字,信息显示不全

1.在文字后面加个空格。2.重新调整文本框大小3.不需要打开ppt,而是在图标上右键属性-摘要,把标题、主题、作者等描述全部清空或改成与本机用户一至即可。因为文本框少子是信息不匹配,就像歌曲在mp3里播放出现的乱码一样。具体能否解决问题&am…

property装饰器

# 需要了解的property的用法 class People:def __init__(self,name):self.__namenamepropertydef name(self):return <name:%s> %self.__namename.setterdef name(self,new_name):if type(new_name) is not str:print(名字必须是str类型)returnself.__namenew_namename.d…

f-fdisk做磁盘分区,起始扇区从2048块开始

文章目录First Sector 起始扇区fdisk工具加分区fdisk删除分区First Sector 起始扇区 默认从第2048块扇区开始是因为,由于EFI的兴起&#xff0c;要给EFI 代码留磁盘最开始的1M空间&#xff0c;即2048*521/(1024*1024)1M With the death of the legacy BIOS (ok, its not quite …

c语言 静态链表插入排序,数据结构C语言版 表插入排序

西门豹治邺奇计数据结构C语言版 表插入排序.txt两个人吵架&#xff0c;先说对不起的人&#xff0c;并不是认输了&#xff0c;并不是原谅了。他只是比对方更珍惜这份感情。/*数据结构C语言版 表插入排序算法10.3 P267-P270编译环境&#xff1a;Dev-C 4.9.9.2日期&#xff1a;201…

C/C++流程图生成器 C转流程图【worldsing笔记】

此版本仅供学习&#xff0c;请大家支持正版软件&#xff01;&#xff01; AutoFlowChart v3.1软件下载&#xff1a; http://url.cn/OUK17C 支持导出&#xff1a;word、visio、图片格式。 例如&#xff1a;main.c #include "stdio.h" void main () {int s ; void f(in…

iOS编码:如何创建gbk编码

原文摘自&#xff1a;http://www.cnblogs.com/kiao295338444/articles/2590031.html 我们知道&#xff0c;使用NSURLConnection的代理方法下载网页&#xff0c;存到一个NSData中&#xff0c; NSMutableData *pageData; [pageData appendData:data]; 如果网页编码是UTF-8的&…

docker获取镜像很慢解决办法

docker pull selenium/hub获取非常慢 可以使用docker中国的官方镜像加速 docker pull registry.docker-cn.com/selenium/hub 官方加速&#xff1a;https://www.docker-cn.com/registry-mirror 转载于:https://www.cnblogs.com/gcgc/p/9845050.html

C语言生成一个随机的九行九列数独,一个随机生成数独的C++程序

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家&#xff0c;也给大家做个参考。//mySIZE是数独棋盘的边长&#xff0c;棋盘是mySIZE*mySIZE的大小int mySIZE 9;void print(const vector> &num){for (int i 0; i < mySIZE; i){for…

ceph中使用ceph-objectstore-tool将pg从incomplete标记为complete

起始原因是集群中部分osd元数据丢失&#xff0c;导致集群部分pg状态一直为incomplete&#xff0c;从而无法恢复为activateclean 所以同事介绍之前调研得ceph-objectstore-tool工具来做这样一个pg incomplete状态的恢复 普及一下incomplete状态表示&#xff1a;Peering过程中由…

Notification和KVO有什么不同

Notification是推送通知&#xff0c;我们可以建立一个通知中心&#xff0c;存放创建多个通知&#xff0c;在不同的地方在需要的时候push调用和KVO不同的是&#xff0c;KVO是键值观察&#xff0c;只能观察一个值&#xff0c;这就是区别转载于:https://www.cnblogs.com/ccguo/p/3…

Mysql修改设置root密码的命令及方法

2019独角兽企业重金招聘Python工程师标准>>> 方法一&#xff1a;使用SQL语句命令UPDATE 需用到Mysql自带的加密函数PASSWORD(string)&#xff0c;该函数对一个明文密码进行加密&#xff0c;但不能解密。专门用于mysql.user(用户权限表)中设置密码&#xff0c;命令如…

Android开发笔记1.2

1.2.1环境配置 配置Java环境&#xff0c; 在网上搜索一下&#xff0c;这样的教程有很多&#xff0c;我在这里就不做赘述了。 1.2.2开发第一个程序 我个人学习的是用Android Studio开发的&#xff0c;所以需要下载编辑器AndroidStudio。当然在安装过程中&#xff0c;下载的版本…

ceph osd混合部署和普通部署

文章目录混合osd的部署先部署所有的ssd部署hdd普通OSD的部署当OSD被踢出集群但是挂载点还在&#xff0c;为osd添加id验证测试OSD压力Mark osd 为down混合osd的部署 混合osd指的是将osd的db,wal分区放在ssd上同时该ssd剩下的容量也会做osd 先部署所有的ssd 在/etc/ceph.conf中…

c语言simpson积分计算方法,数值分析复化Simpson积分公式和复化梯形积分公式计算积分的通用程序...

数值分析复化Simpson积分公式和复化梯形积分公式计算积分的通用程序数值分析第五次程序作业PB09001057 孙琪【问题】分别编写用复化Simpson积分公式和复化梯形积分公式计算积分的通用程序&#xff1b; 用如上程序计算积分&#xff1a; I f sin x dx 0取节点xi &#xff0c; i0…

linux 光驱挂载

对于光驱设备的挂载&#xff1a; 首先创建一个文件夹&#xff1a;mkdir /mnt/cdrom&#xff08;名字位置任意&#xff09;mount /dev/cdrom /mnt/cdrom&#xff08;将光盘挂载到新建的/mnt下的 /cdrom目录&#xff09;转载于:https://www.cnblogs.com/foxhasdream/p/3356503.h…

Android中的HTTP通信

自己整理&#xff0c;整理得不好&#xff0c;不喜勿喷&#xff01; HTTP通信 HttpURLConnection接口 HTTP超文本传输协议&#xff0c;用于传送WWW方式的数据。HTTP协议采用了请求/响应模式。 Android提供了HTTPURLConnection和HttpClient接口来开发HTTP程序。 HTTP使用最多的就…

ceph admin socket修改ceph配置文件

目前有两种动态修改的方式来让ceph中各个组件的配置生效&#xff0c;所以介绍如下两种方式方便我们进行功能或者代码的调试 使用ceph daemon方式修改 ceph daemon osd.0 help用于osd的daemon服务ceph daemon mon.ceph-node1 help用于mon的admin socket命令、ceph daemon osd.…

持续集成之戏说Check-in Dance

《infoq》 众所周知&#xff0c;敏捷软件开发方法中有多种最佳实践&#xff0c;既有管理方面的&#xff0c;也有技术方面的。在尝试敏捷之初&#xff0c;并不是每个团队都能使用全部最佳实践&#xff0c;也不是每个实践都能在短时间内见效。但其中有一种最佳实践却是团队的必选…

C语言的基础题目,几个c语言的基础题目

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼{day_number day_1 day_2 day_3 day_4 day_5 day;printf("%d年%d月%d日为这一年的第%d天&#xff01;\n", year, month, day, day_number);}else{printf("输入的日不合法&#xff01;\n");}break;case 7…

Exchange企业实战技巧(3)配置Exchange证书

Exchange2010需要证书支持&#xff0c;exchange2010安装之后会默认开启ssl&#xff0c;在IE中只能使用https&#xff1a;//而不是http://来访问owa。如果没有证书&#xff0c;也能安装exchange2010&#xff0c;也能使用owa&#xff0c;但是会有告警出现。 要想消除警告信息&…