如何提高编程的思维逻辑能力
首先,建议要精读或者精学三门课程:《离散数学 数据结构 编译原理》。所谓的精读或者精学,不是说简简单单为了应付考试的学习,而是对每个细节每项内容都穷究其理,融汇贯通。精学这3门课程的本身就是逻辑思维和抽象思维能力的很好锻炼。其中前两门课程,其知识本身在未来也有大用,编译原理本身作为一般程序员用到的机会可能不多,但是学编译原理真的很锻炼逻辑思维和抽象思维能力。
其次,可以多玩一些抽象类,数字类的游戏,例如数独。
再次,多精读一些好书,尤其是设计类的书,推荐《设计模式》,边读要边思考,不是灌输式的读书,是思辨式得读书
再再次,花大量时间去优化代码,不管是自己的还是别人的。用不同的方式,不同的思路,不同的算法,不同的结构去改写和优化代码。尤其是算法类的代码,系统控制类的代码。
很少有人能单单通过所谓“逻辑思维”从复杂问题快速找到抽象的,如果有这样的人,他的经验,工具,方法和直觉通常起到比逻辑思维更重要的作用。写代码需要逻辑思维,但解决复杂问题更需要理解分析,写代码只是解决问题比较靠后的步骤。所以不急着写代码,也不急着找抽象,先试着理解问题本身,而不是下意识地想把问题套进已知的,熟悉或不熟悉的工具,那样是本末倒置的。
多数情况下,只要有一点耐心,理解问题并不难,这个时候既是逻辑推演,更是探索发现。
比如交通灯控制,是一个不那么简单的问题,不急着找模型,也不急着编程,想一想一个交通灯有几种状态,一组交通灯有几种状态,不同的路口的交通灯有几种状态,把具体的例子列出来,你大概会有一个概念:那就是你要写交通灯管理程序本质就是一个状态管理的过程。这个时候还没有得到适合编程的抽象,但你已经积累了对输入和输出的认识,接下来可以写一点简单代码或者伪代码,把各种case的逻辑都单独实现一遍,把各种状态之间的转换的条件和过程勾勒出来,从这里观察他们在数据和流程上有没有共性,有没有可以优化的余地,这样你就慢慢地找到你要的抽象,然后看看你熟悉的工具(比如编程语言)提供了什么样的数据结构和编程范式最适合去实现这样的抽象。
把问题具体化,寻找具体的输入和输出,具体的状态变化。具体化了的问题更容易分解,分解以后的问题更容易分析;先分析再归纳比不分析直接归纳更有操作性,你的“逻辑思维”才能派上用场
如何提高编程的思维逻辑能力相关推荐
- 如何提高自己的思维逻辑能力?
那如何才能提高自己的逻辑思维能力呢? 逻辑思维能力绝不是与生俱来的,而是在后天的不断学习中培养起来的,区别只在于有的人培养的好,有的人培养的差一些.下面是我根据自己的学习和经验,整理的一些有助于培养或 ...
- 如何提高讲话思维逻辑能力?
逻辑能力和数字能力是一起的,所以练习数字游戏,背诵手机号,记牌是可以提高逻辑思维你能力的. 练习辩论是很有用的 看逻辑思维的书籍是有用的 循环看奇葩说,看一些辩论比赛
- 怎么提高编程能力?逻辑思维能力?
一.对于程序员的编程能力的提升. 学习一门简单而且可用性强的语言,写点自动签到.自动下动漫之类的日常小程序,提高编程兴趣(比如 python,可以选择教材 Learn Python The Hard ...
- 数学与泛型编程:高效编程的奥秘pdf下载_【编程入门】提升孩子全脑思维、逻辑能力,帮你省下万元培训费...
现在什么辅导班最火.最烧钱? 大概"少儿编程"当之无愧. 继"奥数"之后,少儿编程再次成为家长的纠结: 上还是不上? 不上真的会"输在起跑线上&quo ...
- 编写五子棋程序时如何添加下棋时的音效_干货:如何提高编程能力
注意!!本文字数较多!都是干货! 很多初学者都会遇到各种各样的问题,比如下面这些类型的: 1.只会像高中一样跟着课程学习 2.怎么可以脱离课本和教学视频自己编写一个小项目? 3.停于理论,不知道如何实 ...
- 程序人生:提高编程逻辑的 10 种最“疯狂”的方法
如今,大部分学生对编程表现出了兴趣.甚至每个人都想成为一名程序员.编程为程序员提供了许多工作机会.除了那些最新的编程语言之外,与老式的机器级语言相比,它是相当简单的. 这些语言是 Forton.COB ...
- 程序员提高编程能力万无一失的办法
那就是去读别人写的代码.读那些你常用的库.编程框架的源代码,读那些你景仰的大牛的源代码,读代码里的测试(测试本身就是一种有效的文档):读代码.改代码.运行代码. 其实,所谓写程序,大部分的时间都是花在 ...
- python记忆口诀-学妹问我: 如何提高编程能力
聊天截图 聊天截图 前言 开局两张图,剩下全靠吹了. 上面这两张图便是写这篇文章的原由. 对话框的另一边,是一位大二计算机科班在读的小姐姐,看似平静的文字背后透露着迷茫与困惑,还对未来的焦虑. 透过屏 ...
- python记忆口诀-学妹问我:如何提高编程能力
聊天截图 聊天截图前言 开局两张图,剩下全靠吹了. 上面这两张图便是写这篇文章的原由. 对话框的另一边,是一位大二计算机科班在读的小姐姐,看似平静的文字背后透露着迷茫与困惑,还对未来的焦虑. 透过屏幕 ...
最新文章
- Java 9对可选的补充
- 你用计算机做过什么事情,他偷偷干了什么?(电脑)
- MySQL导出的文件权限_mysql导出数据到文件权限问题
- 基于JAVA+SpringMVC+Mybatis+MYSQL的少儿网站教育管理系统
- 为什么 战舰stm32f103开发板32.768k晶振没有接电容
- apk私钥_移动安全(二)|APK打包流程及签名安全机制初探
- 前端学习之--CSS
- 通信与信息系统专业排名全国前十的…
- QT谷歌拼音输入法的移植
- 支持向量机(一)你确定不看吗
- [PR] 关于Adobe Premiere Pro CS6 中文乱码的问题(怎么选中文字体?)
- 计算机英语作文50词左右带翻译,找十篇英语作文,带翻译,50个词
- 电源芯片使能管脚EN的6种玩法,助力设计稳定可靠的电源
- Bill Gekas儿童摄影作品欣赏
- 2019华为网络精英挑战赛参赛体验
- Oracle获取一周前,一个月前,一年前的日期
- 百旺信息服务器端口,各省百旺参数设置服务器地址
- 杰理ac18芯片_AC6905B/AC6905C杰理JL24脚四合一蓝牙芯片
- VST SDK 3.x 开发(一):VST结构介绍
- Monitor监视器对象