显示标签为“Sem 2”的博文。显示所有博文
显示标签为“Sem 2”的博文。显示所有博文

2021年8月23日星期一

F6 STPM ICT Sem 2考试可注意事项


前言:如题,本来觉得是挺废话的一个考试提醒,但觉得有些朋友可能不知道所以还是写吧。

----------------------------------------------------------------------------------

1. 答案一题一页

或者两题一页。两题指答案都很短的情况。我强烈建议长的答案,都一页一个最好。一是方便你之后增加答案,也方便改答案。

尤其是写code的题目。因为写code很容易这边漏一句那边漏一句,然后可能不小心写错等等。考试是不能用修改液, 修正带。所以划来划去,一是自己也很难看清楚,二是批改老师也看得辛苦。

所以如果第一次写的code有很多修正,最好有时间就重抄一遍。还有画flowchart这些,就直接一页留着就好了,不要委屈自己画小小个。

考试的时候千万不要心疼纸。


2. 写code方式 (必看)

强烈建议学习写code的正确方式,不要太freestyle,走自己的路线。用过电脑写code吗?电脑怎样空行,就跟着怎样空。因为我帮过朋友看他们的code,特别能明白code写得正确有多重要。


(a). 首先,最常犯的错误,大小字母。要知道programming里,大小字母的差别是很大的。A和a在电脑眼里是完全不一样的东西。

如果题目给你calculateSquare, 请跟着写回calculateSquare,不要CalculateSquare 或者calculatesquare。人家是粘着一起的,就不要分开人家。

还有main()就是main(),不要来个Main(),这两个差别非常大。不要随心所欲的帮人家写成大字母。


(b). 关于space,这也是很多人手写code时容易犯的错。像==,<=,+=这些,是粘着的,不要写成=  =这样。还有如果题目给calculateSquare,不要写成calculate Square。粘着or有空格是明显可以看出来的。虽然可能批改老师不会扣分,但是自己要注意。


(c). 统一性。请统一你的variable名字,如果一开始declare的是sum,之后都用回同样的(同一题),不要突然变成Sum或者别的。

最重要的,题目给你什么,就用会什么,不要乱改,可能会扣分的。


(d). 可读性。这里有两点,一是空行,二是variable name。

一,该空行的时候空行(包括tab)。看起来很废话的提醒,真实是有人懒得空行的。

int main(){                                                        int main(){

    printf("Hello World");           和                    printf("Hello World"); return 0;}

    return 0;

}

哪个看起来更好?短一点的code看起来还好,但如果是nested loop就真的很......,所以乖乖空行,乖乖的记得tab。


<<这样写虽然没问题,但是看起来很emmm...没有办法一下子看出来loop在哪里, 而且这还是nested loop。       






二,User-defined variable

求求大家写的时候,取名,简单又容易看懂的。常用的比如,sum,avg,num, max, min。尽量不要偷懒,直接写a, b, c这样一个字母来代表一个东西。除非说像radius,都知道是r,length等于l之类的。

不用写到太完整但也不要太过偷懒。虽然这不影响分数,但方便别人看,方便批改老师一下就知道这段code的作用。也方便你check的时候。

在真实的programming环境,直接用一个字母来代表是会被吐槽的。很多时候都是团队合作,所以不要用只有自己知道的名字。而且隔了一段时间再回看自己写的code,也容易看不懂。


3. 学到怎样写就怎样写

这里特别指喜欢freestyle,喜欢自创新写法的同学。拜托你们好好跟着老师教的,多多复习怎样写。不要随意自创code......

真人真事,我的同学,ta的逻辑思考其实很好,答题思路也对,但就是太喜欢自创写法,爱shortcut,结果就是各种翻车。每次我老师都问,我什时候么教你这样写?他回答这样快一点,短一点。但事实就是错的写法~


4. 练习写大纲的好习惯

programming对于code的顺序是很重要的。顺序一点不对对最后的结果都有很大影响。所以我建议再读完题目后,重点划线题目要求,自己大概写一个pseudocode出来。(对没有要求algorithm的题目)

这样也可以减少写错code,要重写的问题。

最常见的错误,把算average的statement放在loop里面。

btw,画flowchart用尺画~


5. 带计算机

最好还是带着。考题有好几次出过算数题,虽然很简单但是拿来确认答案也不错。而且如果题目涉及到要用数学算术的,可以自己set一个数字去测试对不对。

-----------------------------------------------------------------------------

整篇文更多希望纠正一些错误的写code方式,其实多数对分数影响不大。但最好还是改正,或者多加注意这类问题。如果未来想走相关专业的更应该学习正确的写code态度。

以上均是自己考试时的经验和观察同学得出来的,认为值得注意的事情。关于时间分配就不提了,一是都考了那么多场试了还不会时间分配的话....二是,2小时很够用。

2021年7月8日星期四

F6 ICT Programming Sem 2快速考前复习

这个适合考前快速过一遍的复习。没有很仔细的说为什么这样,只是让大家可以更好的记得一些code的写法。因为太长,分了上下两个部分。有加一些历年真题当example。均是从telegram的stpm ict群里拿到的。自带的建议答案不是我做的,我只是在答案上加一些解释。

没有做到太仔细,比如teory题,pseudocode和flowchart等。

里面给的例子,多数是我自己随便想的,所以不是很严谨。

看的时候最好注意到底几个,可能图片排乱了。

*第一张图的第三个,打错了,是data type不是return type。



.,






















有什么不明白的题目也可以下面评论我联系我哦。
------------------------------------------------------------------------------
有问题欢迎联系:mithizwen@gmail.com

2021年4月15日星期四

F6 STPM ICT Sem 2的学习小技巧

前言,个人是觉得ICT stpm level的c programming是真的简单,因为学的很basic,问题也偏basic。只要你肯努力做练习,勤劳上电脑虐待脑袋的话.....前期可能会很头痛,后期真的会觉得sem 2好容易,因为不需要背那么多teory。

《如何在STPM ICT S2考取好成绩?》

1.勤做练习

Pass year的题目来回做个几次,就会发现有些题型出了好几次了。也可以上网找题目来做,也可以自己想题目做,或者改题目。例如,题目要求用if...else,自己改题目变成用switch...case。同样的,do...while, while, for这种looping来回换,三种方式都试一次。

主要是熟练code的写法。


2.上电脑

虽然考试是写纸上,当刚开始学,还没有那么熟练的时候,一定要用电脑compiler run一次,不然不会知道哪里出错。当你经历无数次的error时,就会很谨慎什么要写什么不用。电脑可以下载compiler的一定要下载回家做练习。不能的,手机电脑能找online compiler,虽然只提供简单一点的功能,但是也可以很好练你的逻辑能力。比如scanf用不到,你就去想怎样变成不用scanf也可以。其实就是开头就declare一个value就好了....


3.读Teory

是的,虽然90%是靠理解和逻辑,但看历年考题会发现至少有一题teory。其实sem 2的teory不会很难记,有些是sem 1读过的,基本也不会问很难。


4.不会一定要问人

不然不会明白自己为什么错。当然也可以自己尝试解决,只是真的会和烧脑罢了.....不过当你过了烧脑的过程,前方的路会越来越轻松。


5.考前复习code的写法

考前可以看回一些code的写法,例如switch...case后面每个case要放break。毕竟有时候人紧张就会忘记一些小细节嘛。可以把一些不记得的code写下来提醒自己。


6.不要犯careless mistake

例如忘记放semicolon,白白浪费分数啊,或者忘记define variable,用错value type等。


7.不要放弃

不要放弃每一题,就算不会也写,例如开#include<stdio.h>,写int main()等。仔细看题目要求,有时会叫你print东西出来和写别的东西,就算后面的不会了,写个printf statement拿1分也很不错了。


8. 允许自己当白痴

要记住,这是STPM,你只是初学者,学了几个月的programming的初学者,你不需要写得多天才多厉害,只要最后的答案还是对的就没问题。允许自己当白痴,用多此一举的写法。考试只需要拿分不是看你写到多厉害多么简洁还对,反正也只有批改老师知道你写得多好。我给个例子,function里如果要找square的area,

简洁快速的写法:

float areaSquare (int x, int y) {

      return (x*y) ;

长一点的写法:

float areaSquare (int x, int y) {

      float area;

      area=x*y;

      return (area) ;

两种写法最后的答案都一样,只是一个更短一点,但是如果这样写你不确定对不对,用回长的写法就好了,不需要像professional一样,stpm只要拿到分就可以了。


9. 关于Coursework

相对于sem 1,sem 2会更加简单,也一样麻烦。同样最后要burn进CD,design CD cover这些(所以sem 1下载的design cover的软件不要删)。如果有MPM的参考,一样的可以‘借鉴’里面的东西。

没有记错的话,题目选择好像是固定了的(如果不是请纠正我)。和其他两个sem不同,sem 2的coursework是一步一步越来越难,我指题目和要写的code。但其实只是在前一个code再加东西罢了。

比如,题目关于学生的成绩和grade(仅作参考):

1. 一开始只是叫你print 不同分数对应的grade。
2. 想几个科的分数加起来多少(单个学生),这里老师会一起讨论要用到的equation,equation很重要,因为会重复使用到最后,而且答案出来错误你的coursework就GG了。
3. 然后可能叫你加上学生编号,比如Student 1,Student 2 (这里还比较容易)
4. 再加每个学生的名字,班级等
5. 算全部学生的分数加起来多少/average/percentage等
6. 开array和struct

顺序其实跟你学C语言一样,从怎样printf,scanf到if....else,looping,function,array,struct。每一次都是在前面的code加东西。然后你要当场写(前面写过的可以直接copy,要新写的code不可以),save进老师给的pendrive。当然你自己也要保存一份。每次写的都要分开save。

还有每一次都要想flowchart,最后做report一就是手画出来或者用电脑edit(老师应该会叫你用电脑做)。有些人用word edit,我是建议上网找online free flowchart maker。我自己是用lucidchart的,好处就是排版比较方便,而且调整形状,线条也比较方便。

Report要写的东西就是抄回题目,然后附上的flowchart,code,和output,所以sem 2的report其实很简单,甚至print的时候会惊讶才这么少页数罢了啊。当然前面还是要写introduction,content table那些(有参考的)

要burn的东西,就是你每一次写的code,然后report,flowchart和code的一些文件。

----------------------------------------------------------------------------------

然后,好像没了.....因为觉得sem 2好像没什么可以提醒的,note也只是前期开始学需要,后面只是稍微看下复习写法....只要掌握好基础的c programming会觉得我这篇文超废就是了~

我整理的sem 2考前复习,还在继续整理中:

https://itsjyzhere.blogspot.com/2021/07/f6-ict-sem-2.html