作者yauhh (哟)
看板Programming
标题Re: [问题] 请教一下关於学校考试
时间Sat Dec 31 14:26:22 2011
技术人可能会认为什麽叫做强呢? 给你一个比较难的题目,你能立刻想出解法,
并且也能立刻写成程式码. 并且同时,对於其他相对简单的题目,是不屑一顾.
像你这例子,很多强者可能都遭遇过. 一方面自我衡量实力之强度,另一方面则是
学校环境是有很多周遭人的观感可能误导你,或许使你松懈,也或许会使你看透.
面对那些拥护者,你会得到一种说不上来的印象,说是成就感却还没有成就任何事情.
我觉得你所问的事情,细分为下列面向:
1. 考试题目(如质数)在学术上的难度: 例如,想要找双声质数,你能不能理解
这个问题的定义,或者说,你能不能用有效的数学语言描述这个问题?
你怎麽知道测 i, i+2 是否为双生质数即可? 因为 i, i+2 且 i 为质数
的集合确实包含了所有的双生质数.
2. 看到考试题目,建立出对应的程式架构的准确度: 例如双生质数的标准答案,
你怎麽知道只用回圈测 i, i+2 是否为双生质数即可?
因为你知道回圈是穷举一个集合的所有情况;
因为你知道在回圈针对 i, i+2 放一个判断式,可以只处理 i, i+2 且 i为质数
的集合.
3. 架构程式的速度: 原本以为是心底有整套程式的全貌,然後照抄到编辑器,
但其实很多人写程式的方法应该是步步为营. 当你写一行程式不确定它的
效果时,你不会想要写下一行程式,因为你知道这一行程式会觉得下一行该
怎麽写. 速度上来讲,如果是照抄心底的程式码,速度很快,O(n); 如果是
"写-debug-改-debug-改-debug-..." 这种方法,速度可能是 O(n^2).
那你就知道有一种比较好的方法是让速度变成O(log n),就是divide and
conquar. 当你不知道程式全貌但是知道怎麽求双生质数时,请你先写一个
method 只求出一对合理的双生质数.
4. 对程式架构的熟悉度: 看到一个题目,不要思考问题,你能不能只凭一开始的印象
想到这个程式大概会写成多少层回圈? 这种能力,有一部份来自你的记忆力,
记忆你曾经写过的程式,另一部份来自你从问题描述中得到的印象,大略知道
这个问题划分为多少层次.
很多人说要学会程式就是多写就好. 那麽,粗略统计一下,在你练习的经验中,
九九乘法表写过几次?
任何一种排序法写过几次?
另外,许多常见的练习题,你写过十次以上之後,是
在下一次仍调阅第一次的写作经验,而导致回忆速度之慢?
或者是每次都重新写起,而导致写作速度像摸索一样快慢?
或者是能够在经过多次经验之後,运用你目前最新的认知及知识背景,大破大立,
写出全新的程式,即使那全新的程式架构长得跟你第一次写程式的一模一样?
言归正传,学校程式课的上机考试是类似软体工业上面的标准,就是要衡量你懂但是
你做得快不快,你做得快但是你做得对不对之类的水准. 你还在学校时,实际情况是
学习经验不多,就先不要接受学校同侪如何视你为强者的观点. 人家看你为强者,
可能是有求於你,可能是因为你有一点努力而他没有努力而已. 但如果因为这一点点
感受而影响你的学习态度,变成没有做相当多的努力却期待考试写程式的速度无条件地
变快,那可能只是在沙地上筑高台,地基不稳.
※ 引述《ek0424 (Q毛)》之铭言:
: ※ 引述《ek0424 (Q毛)》之铭言:
: : 小弟现在是大学的资管系学生
: : 目前程设学了java 虽然不会被当
: : 可是常常考试的时候想不出来 而且coding速度很慢 每次都觉得时间不够
: : 平常以班上的同学来说 我的练习时间不输给大部分的人
: : 平常老师给的题库或是作业我都有写
: : 而且常常有很难的作业我都会把他想出来
: : 因此大家常常觉得我很强
: : 但是考试的时候 我却常常出乎大家意料之外
: 像是这种题目:
: 1.(质数测试) 请依序撰写如下两种质数测试方法及测试主程式:
: a.public static boolean prime(int n)
: 若正数n为质数则回传真,否则回传假
: 提示:若2到n/2的整数m皆无法整除n,则n为质数.
: 其中,m整除n写法如下
: if(n % m == 0)
: b.public static boolean twinPrime(int n, int m)
: 若正数n,m差2,而且n,m皆质数,则n,m为双生质数,回传真,否则回传假
: c.主程式测试时请印出小於100之质数,及双生质数.
: 像是这种题目我大概都考试的时候会想得很零散
: 老师会部分给分 所以都还是我拿一些分数
: 可是我考试几乎没有那种整大题都run出来过的
: 一直以来都靠部分给分 很羡慕那种可以写出整过能run的人
: 想问有甚麽方法可以帮助我非常清楚题目的架构 然後写起来不会太乱
: 我常常都东写一点 然後西试一下 只要不能run马上又打别的写法
: 每次都debug很久 可是如果不考是我都可以很冷静的写出来(可是时间很长)
--
/yau
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.65.21