PLC编程可以用树型法来理清楚你的编程思路。
首先先画出主线路,就是启动,停止。然后在启动停止中加入启动条件,在停止中加入停止条件。然后根据事件发生的时间先后,调整顺序,如果有子循环程序就做个插入标记,就这样把所有的输入全都做进去后就大致做完了,剩下的就是修改和调试。
1、程序员的思维比普通人要严谨。
对编程有一定了解的人都能理解这一点,一是一二是二,电脑不认模棱两可的回答,因为“模棱两可意味着更多的可能答案”,所以你跟程序员交谈的时候,如果你问他“为什么要这样问”或“你为什么听不懂”,你就会知道你自己的描述有多么的不严谨了。
最简单的例子,你妈妈让你去市场买水果,如果看到有苹果就买一个苹果,看到梨就买两个。你看到市场有苹果和梨,你会买什么回家?
首先给出一个大前提,在程序上不存在“潜台词”或者“潜规则”这种东西,唯一起作用的只有“字面意思”。
一般人肯定是买一个苹果和两个梨。当然程序员也不是脑子有坑,以一个正常人的思维考虑也会买一个苹果和两个梨,但是看到这问题的第一个瞬间的直觉反应,却是“如果看到梨就买两个苹果”。这个问题不存在潜台词,所以所有人都会直接从字面理解老妈的意图。
按照程序的逻辑分析,这句话共分为两个部分,代表两个程序任务。“如果看到有苹果就买两个苹果”为任务一,条件是“看到有苹果”,目标对象“买苹果”,数量“一个”;“如果看到有梨就买两个”为任务二,条件是“看到有梨”,数量“两个”,没有给出新的目标对象。
因此按照程序逻辑来讲,第二句话将继承上一个目标对象,也就是“买苹果”,所以这句话被看起来像职业病一样的思维直接翻译成了“如果看到有苹果就买一个苹果,如果看到有梨就买两个苹果。”
————————————————————
2、程序员看问题比一般人透彻。
这是职业特性导致的,因为电脑编程的严谨性,因此程序员面对一个问题、一个需要实现的目标或者一个bug时,他会思考更底层的问题,并且会习惯性采用归纳法来尽量避免以后可能遇到同样的问题。
比如用输入法输入中文的词句,有的时候打出了一串拼音,然后按下数字2选取发现不是自己想要的词,然后发觉数字1对应的才是自己想要的,删掉,重新输入拼音,这次按下数字1的瞬间却发现两个词的位置调换了,于是又删掉重新键入,这次认真地看了看,终于选对了想要的词的序号。
这个时候你会说,啊,我下次应该更小心一点,不要马虎大意想当然,看清楚了再点。
程序员不这么想,他会想,导致这个问题的看来是输入法的“词语顺序自动调整”功能,他会自动监测使用者输入的各种词语的频率,来自动调整词语的顺序,底层代码实现的逻辑很简单,每个不同的词对应一个从输入法安装到现在的输入次数的计数器,直接按计数器排列顺序就好了;也有的输入法会监测你输入后是否会将其删掉,那么这时候会被智能识别为打错字,计数器不会加一。
然后再一思考,这种功能一般都是可以开关的,如果我想要靠记忆记住顺序使用而不用输入法自动调整的话,比如对汉字输入的速度有一定要求需要考记忆记住汉字序号,我只需要进入输入法设置将其关掉即可;如果我想要它帮助我调整词句位置,但是又不需要频繁地调整,那么在我有工作需要的时候我会提前关掉,平时开启即可;而如果我想单纯依赖这一功能,那就不用管它,下次看清楚再选就好了。
首先,程序有点小错误,改成这样就能执行了:
#include<stdioh>
int fun(char p[][10],char ch)
{int i,n=0;
for(i=0;i<7;i++)
if(p[i][0]==ch)
n++;
return n;}
void main()
{char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
printf("The result is:\n");
printf("%3d\n",fun(str,'T'));
printf("%3d\n",fun(str,'S'));
printf("%3d\n",fun(str,'F'));
printf("%3d\n",fun(str,'W'));
printf("%3d\n",fun(str,'B'));}
然后,运行结果如下:
The result is:
2
2
1
1
0
最后,我们来分析一下思路,
int fun(char p[][10],char ch)这个函数(楼主多了一个‘)’)
需要两个参数,一个是二维数组,一个是一个char变量,
它是用来判断该char变量在前面这个二维数组中作为开头的次数,
也就是说,对于printf("%3d\n",fun(str,'T'));这句话,就是用来判断T在str这个二维数组中作为开头的次数,显然,答案是2
以此类推
以上就是关于用PLC编程如何实现一些模糊控制,比如十几层电梯控制,完成没有顺序性,怎么去思考这种程序的编法思路全部的内容,包括:用PLC编程如何实现一些模糊控制,比如十几层电梯控制,完成没有顺序性,怎么去思考这种程序的编法思路、为什么程序员的思维很难理解、c语言程序题,给出答案及思考过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)