Logo cn.artbmxmagazine.com

开发算法思维的工具

目录:

Anonim

您是否解决了相同的问题或重复开展了一项活动?每次您是否都必须重新考虑必须做的一切,什么步骤或过程以及以什么顺序进行?在日常生活中,任何活动我们可以将其描述为一系列动作或任务。同样,我们一直在评估这项活动是否能够实现我们想要的目标,从在开发过程中做出决定,而不会忽略我们想要实现的目标和实现该目标所需的条件,以及这一系列活动或由一系列以逻辑方式组织的指令或任务形成的过程,使我们能够实现结果或解决问题,这被称为算法。

很多次,我们无意识地,自动地应用算法,因为已经解决了很多次,因此我们很难列出实现目标的步骤,因此我们会机械地进行。

但是另一方面,有很多问题需要深入分析和灵活而结构化的思考才能找到解决方案,为了解决这些问题,您需要发展我们称为算法的思维,即发展问题解决能力。计算机科学家通过逻辑,系统和理性的思维来使用计算机,从而在开发基本算法时可以使用现有的不同方法和工具来提出解决方案。

但是,可以推荐哪些工具来发展算法思维呢?这些工具将为您提供指南,帮助您开始计算机编程领域。在编程中,使用了可构建有效算法并因此解决问题的方法论工具和技术。

我们可以找到由计算机科学家和教育界开发的有用工具,这些工具使我们可以充分掌握算法学校的知识,为此,我建议以下工具,其中一些是免费的,有些则直接在网络上使用,并且通常每个人都可以使用它们,有些目标也很相似,但是我认为这些对于实现一定程度的算法思维(使我们能够解决问题)至关重要。

1.流程图

2.从头开始

3.块状

4. C或C ++语言

5.编程策略

1.-流程图:

它们对于从日常算法的图形表示开始并学习算法指令的原理非常有用,在使用流程图的最后,您可以开发构造技术和算法表示。下图显示了流程图的示例,该流程图是一些活动的经典表示形式,用于检查灯泡为何不工作并应用解决方案。

流程图

图1流程图

可以看出,流程图表示在图中表示算法时对过程的理解。

在不仅解决了日常问题并用流程图表示它们之后,您现在可以开始使用一些工具,这些工具可以使我们继续构建算法,现在可以执行桌面测试,或者说执行它们并观察它们的运行。没错,我们知道有徽标和Karel机器人之类的工具,但我认为您可以使用Scratch启动并工作几个小时。

2.-从头开始

通过开发拼图或块中表示的算法,对于开发基本动画和其他项目以创建简单的应用程序将很有用。我们可以在以下位置找到出色的学习:http://scratch.mit.edu/

拼图编程

图2拼图编程,图片取自:https://scratch.mit.edu/

通过在计算机上下载并安装草稿,您将有可能在这个迷人的编程世界中作好准备,它在算法的实现方面非常通用,并且尤其是具有非常友好的界面。

3.-块状

Blockly是一种基本程序设计,可帮助您在草稿之外的其他环境中进行交互,并且由google在网络上进行编程:https://code.google.com/p/blockly/我们可以使用其不同的工具来发展算法思维,因为您将通过使用算法趋势来帮助实现目标。其表示的示例如下:

Blockly中的样本块

图3 Blockly中的示例块,取自:

4.- C语言

如果您已经制作了几个流程图,那么您需要在Scratch和Blockly上工作几个小时;现在您已经准备好像专业人士一样来练习编程技巧,是的,是时候使用一种值得赞赏的编程语言来创建系统软件了,尽管它也可以用于创建应用程序,但还有其他方面取得了巨大的成功,但是有趣的是,您会发展自己的算法思维能力,就像您从Blockly和Scratch中学到的那样,C语言将为您带来巨大的好处,因为像C这样的语言会影响您的技能,因此您会养成良好的编程习惯。没错,现在不再是所有符号,而是像草稿和Blockly一样直观,现在您有了明确的目标,C语言并不困难,检查以下几行代码示例,以用C语言发送“ Hello world”消息,我在用字符中间表示的每行代码中添加了解释:/ * * /。

#include / *函数库* /

main()/ *主要功能* /

{/ *指令块的开始* /

printf(“ Hello World”);/ *带有指令的消息被发送到屏幕

} / *指令块结尾* /

您是否认为C语言将为您带来极大的好处?

使用这些工具,我认为可以开发出令人印象深刻的算法思维,这将使您进入迷人的计算逻辑世界。

5.-编程策略

如果您将算法思维推到极致怎么办?没错,在这里概述了这些过程之后,如果您想继续发展自己的技能,使用C语言工作几天并达到基本数据结构,然后研究这些出色的策略,您将可以使用以下策略:

  • 递归分而治之贪婪算法几何算法遗传算法

有更多策略,但是有了这些策略,您就可以开始发展高级计算思想。

参加需要算法思维技能的学术活动的学生取得了长足的进步,正在解决复杂的问题。计算机科学奥林匹克竞赛的参赛者就是这种情况。有许多科学家和学者通过人工智能开发了机器人,这种机器人具有与之交互的编程语言,因此可以在机器人中实现基本算法。

米却肯机器人学院的机器人

图4米却肯机器人学院(Robotrim)的机器人

参考资料

  • https://code.google.com/p/blockly/.http://scratch.mit.edu/.Robert Sedgewick(2007),《 C ++中的算法》,皮尔逊教育。https:// //www.coursera.org/course / pealgoritmico。图1流程图。图2拼图中的编程,图片摘自:https://scratch.mit.edu/。图3 Blockly中的示例块,摘自:。图4米却肯机器人学院的机器人(机器人)。
开发算法思维的工具