作者cppOrz (cppOrz)
看板C_and_CPP
标题Re: [闲聊]如何跟人讲解程式呀
时间Thu Mar 30 12:20:05 2006
基本上写程式就是把问题转换为一个特定流程
例如,《问题》从台中到花莲要怎麽去?
小呆:路上碰到人就问花莲在哪个方向,然後照着走,直到走到为止。
小火:从家里走到公车站,坐公车到火车站,坐火车到花莲。
小开:开车从中横到花莲。
小飞:驾直昇机飞到花莲。
小叮:从口袋拿出任意门,目标设到花莲,从任意门过去。
很明显,小呆是「暴力法」,小火是「循序渐进」,小开已是「熟门熟路」,
小飞是藉助「快速开发工具包」,小叮是「开外挂」
所以,能用哪种方式,要看解决问题的人,他本身对问题的认识,以及
他对「工具」的认识。
如果碰到有些根本就还不会写程式的人,不但对问题的意义不十分了解,
对有哪些常用的工具也完全没接触过,就好像有个从没坐过台北捷运的
人,你告诉他「先从红线,到 XXX 转蓝线,到 YYY 再转棕线……」,
他当然会一头雾水。
这种状况,只好从简单的问题开始,如果还是沟通不良,就再换更基本
的问题,顺便介绍一些基础的工具,直到学的人有能力自己解决,他自
然就知道要「怎麽思考」。
题外话,忽然想起前几年很流行的「建构式数学」……
我并不是完全反对这种教法,但它的确不是适合大多数的人
像 8*6 = 48 这种问题,需要花大量时间才能「学会」的人
有可能是一个数学天才,但绝大多数是不适合学数学的人
像金字塔、费氏数列、九九乘法表这种入门的问题,还需要别人教
的话,感觉上就是必须要用「建构式 Programming」教法才有办法
学得会。以前我学 C 的时候,第一个练习程式是万年历,教我写
程式的人,他说他学 C 的时候,第一个练习程式就是五子棋(是
人和电脑玩的那种,而且棋力很强,我从来没赢过),那时打死
我也不相信。
不过当年我们都是从传统 BASIC 语言开始学起的,我在学 C 之前
还先学了一点点 Pascal,它有传统 Basic 没有的区域变量和传值
呼叫的观念,学 C 的时候基本上只是学语法,就容易多了。现在
一般学编程大概都直接从 Java, C++ 之类的开始了,是不是因为
这样,所以也愈来愈多人需要用「建构式 Programming」学习法才
学得会呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.214.120
1F:推 godfat:推.东西越来越复杂,要学的东西越来越多,这大概让很多人迷惘 03/30 13:01
2F:推 ledia:同感, 程式观念是一层叠一层的, 从基本沟通起才行 03/30 14:59
3F:推 drkkimo:说的也蛮有道理的~ 03/30 16:39
4F:推 yaca:中肯!!! 03/30 21:46