案例二 有限状态机

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

有限状态机,(英语: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教程

作者:老张   共8讲

在2012年6月,Google发布了完全可视化的编程语言Google Blockly,这是一款完全开源的,集合多种编程语言的编程工具。很多图形化编程平台都是基于Google Blockly二次开发的。