案例二 有限状态机

有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

有限状态机,(英语:Finite-state machine,FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。它反映从系统开始到现在时刻的输入变化,转移指示状态变更,并且用必须满足来确使转移发生的条件来描述它;动作是在给定时刻要进行的活动的描述。

我们举一个例子,我们平时在自动售货机上买饮料,自动售货机的内部实际上就是一个有限状态机:

假如有这样一个自动售货机,售卖苏打汽水,它有如下五种输入:

输入0 — 存入25美分

输入1 — 存入1美元

输入2 — 取汽水

输入3 — 退币

输入4 — 退出系统

【blockly教程】Blockly编程案例
【blockly教程】Blockly编程案例

实现如下:

【blockly教程】Blockly编程案例

其实我们的小车就是通过有限状态机来实现的,我们可以把小车的行为依依列举出来,比如左右转,前进,发出声波,光线,声音等,我们只要通过控制这些状态就能控制小车完成各样的工作:

【blockly教程】Blockly编程案例

你能自己设计出一个更加复杂的售货机么?

 


评论:
相关文章
Scratch 3.0连接EV3

本文介绍如何在Scratch中对EV3机器人进行开发。


三步完成scratch3的作品转换成HTML5文件,在线随时分享作品

本文教你一招超简单的方法,只需三步,就能将 sb3 格式作品转换成 H5,实现在移动端轻松玩!


Scratch积木指令详解

由于Scratch软件界面显示和国内等级考试大纲用词不同,部分名词出现了两种称呼。例如指令模块(积木)、程序区(代码区),其实表达的是一个意思。


大神用Scratch手搓RISC-V模拟器,成功运行Linux内核

用 Scratch 代码编写了成功运行 Linux 内核的模拟器。


MicroBlocks介绍

MicroBlocks 是受 Scratch 启发, 为「物理计算」而生的图形化编程语言。


少儿编程入门之Blockly Games

Blockly Games 是为没有计算机编程经验的孩子们设计的一系列学习编程的游戏。


适用于LEGO EV3的Microsoft MakeCode

今天我们非常高兴地宣布为乐高头脑风暴教育EV3制作MakeCode!这是我们与乐高教育的优秀合作伙伴一起进行的数月工程,设计和用户测试工作的结晶。


Scratch少儿编程扫雷教程

“扫雷”是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。



利用Tinkercad Codeblocks编程创建3D模型

Tinkercad通过Codeblock的发布将编程引入其3D建模平台。跟其他普通图形环境中那样绘制设计不一样,这是面向对象的编程,这意味着您将预定义的物体放在工作平面上,然后对其进行修改。