从锦囊妙计想到的13–运行时同用户交互动态获得指示

本文是从锦囊妙计想到的13集,主要说一下如何在运行(工作的)时候,现场同用户获取工作的进一步指示,然后提高程序的工作满意度。

一。总结一下前面程序的一些特点和缺点

前面的烙饼程序是 关羽写的一些列锦囊, 然后张飞去烙饼,其实就是去执行或者运行程序。

关羽写的一系列锦囊叫做程序,这个时候关羽仅仅是预测了未来这个程序执行时的一些可以预见的事情, 对于一些无法预测的事情还不知道如何处理, 例如突然天上巨大闪电造成厨房大停电,就没办法处理了。

因此程序是事先写好的, 考虑到将来运行时的一些情况的一个一系列的指令(锦囊)的东西。这些东西可以打包到一个超级大的麻袋中, 麻袋里面可以放非常多的小麻袋, 小麻袋里面在放小麻袋。。。 最后放锦囊等等

张飞拿到外面的这个最大的麻袋, 然后打开,然后依照这里的锦囊进行工作时, 直到工作完成, 是需要一段时间的,整个这个过程叫程序的执行或者运行。运行中的程序 可以叫做进程。

在一个执行中的程序可能存在几个执行路线, 具体的看张飞是否三头六臂了。

若是张飞3头6臂 就可能有三张饼在同时烙,因此可能有3个行进路线,也就是三个线程。  当然也可能仅仅有一个,这个情况比较复杂, 以后深入计算机就明白了。现在了解一下就好。

另外, 关羽写的程序,除了可以被张飞执行,其实可以被很多人执行, 只要这些人会认字, 有一定厨房的本事就可以了。

因此一个程序其实可以 被执行多次, 别多人执行等等。

但是, 一个写好的程序其实也有一个问题,就是这个程序是按照写程序的人的想法写的, 但是写程序的人没办法预料到程序执行时一些具体的情况。例如

张飞烙饼是参照关羽写的锦囊进行的, 那么关羽一定写了自己喜欢吃的饼的做法, 例如关羽喜欢吃葱花饼, 但是改天赵云来了,赵云爱吃馅饼,等张飞端着一盆馅饼上来, 赵云一看,好家伙都是葱花饼, 没一个馅饼。。。

如何解决!

二。给程序添加点功能,在运行时询问用户喜好

前面说了赵云喜欢吃馅饼, 关羽喜欢吃葱花饼,因此我们要想办法解决这个问题。

解决办法1, 就是关羽在写锦囊时直接写了多少个葱花饼, 多少个馅饼。。。

但是这个办法的一个问题仅仅能解决 事先知道数量的情况, 若是在来个马超, 还得重新改造程序。

解决办法2, 就是在张飞烙饼的时候, 问一句, 有喜欢馅饼的吗?要多少?

然后有人回答, 有, 要30张馅饼(真能此, 足足一个饭桶)。

如何实现第二解决方案?

看下面的锦囊

锦囊1:   开始工作

锦囊2:  准备各项设施

锦囊3: 大喊有吃馅饼的吗?

锦囊4: 听是否有回答?

锦囊5: 若是有回答有吃馅饼的就

锦囊6: 吃多少?

锦囊7: 听多少个馅饼

锦囊8:开始工作。。。

。。。。

上面的一堆锦囊应该能解决大部分的问题了!

分析一下上面的过程如下

说给别人听的, 就是输出信息给 别人, 目的获取别人的回答(有时可以仅仅输出不需要回答)

等别人的回答, 就是   输入,  是别人 告诉信息给程序, 对于张飞是 输入, 因此对于计算机程序也是输入的。

如上图, 我们了解了, 那些是 从运行程序中输出东西给外面, 通常叫做输出

另外, 那些是从运行程序外面获取东西进入程序内部的叫做输入。

说明一下:

输出:  就是计算机  给 计算机外面的人员或者设备或者东西一些东西,这个就叫做输出。

输入: 就是计算机  从 计算机外面的人、设备或者东西获取一些东西。

三。用户交互

另外, 有的时候, 我们为了获取输入, 但是必须先输出一下东西, 告诉外面的人或者事情, 我要什么东西, 然后人家才会给你 你需要的东西

计算机=》输出提示信息,提示用户输入=》等待用户输入=》用户输入=》计算机获取输入后 进行后续的工作

这个有输出同时有期待输入的, 复杂的输入和输出交织到一起的, 用户和计算机之间的输入和输出之间相互互动的一个方式, 叫做 用户交互。

什么是用户交互?

用户交互: 就是通过输出一些信息提示用户或者其他系统,然后期待其他系统对后续的工作进行一定的选择或者指示的 过程叫做用户交互。

通常交互都是发生在计算机使用者人 同计算机上 因此叫做 人机交互。

可能还有其他类型的交互, 例如机器对机器的交互,这我目前没接触到, 是否有我也不确定,抱歉。

下面说一下人机交互的类型

最传统的人机交互是, 程序在计算机屏幕上输出一下提示文字,例如“请输入您的名字”, “请输入您的年龄”,“请输入您要吃的饼数”等等, 这些文字信息(计算机里面通常叫做文本信息),然后人要阅读这些信息, 然后做出选择,这个采用文本方式进行的人机交互过程通常 叫做 字符界面的人机交互过程, 通常简称cui(c是字符的意思, u用户的意思, i接口的意思)。

现在都是窗口时代了, 人们发现字符方式的交互不直观, 当文字少时还可以, 文字多了人很难理解了, 例如“某人在xxx大街东面的南方50条胡同的东侧茶楼的后面房子里面等待。。。”, 要把这个事情说清楚够费劲的, 看的人也费劲,不如画一张地图, 一看就知道了,一幕了然。

因此现在都通常采用一张合适的图片或者图表(通常放到窗口(window)里面), 然后配合一些按钮,文字, 图标等等,然后用户一下子就明白了,然后进行选择,这个图形方式为主的 同用户交互的系统叫做 图形用户交互系统, 简称 gui (g图形, u用户, i接口)

 四。输入输出设备

计算机要输出东西给外面, 外面要输入东西给计算机都需要一些具体的设施才行。

例如,计算机要显示信息给外面通常需要  显示器, 包括液晶的显示器, crt的显示器, 手机的显示屏都是显示设备。

当然有些显示设备 同时具有输入效果,例如智能手机的屏(其实就是高级的触摸屏),有些高级显示器是触摸屏, 例如火车站取票那个电脑显示屏, atm取款机那个显示屏, 这些屏 即是 显示设备也是输入设备。

再有的输出设备是  打印机, 可以把文档打印出来, 喇叭可以播放声音, 音箱可以播放声音。

输入设备,是计算机 从外界获取信息的设施手段, 通常包括键盘, 鼠标, 录音设备(手机的录音设备,说出些信息, 例如微信里面语音信息, 地图里面语音识别地名等)。还有画画的手绘板, 带压感的那种。笔记本的触摸板等等, 有很多, 这些一个共同点就是 把要求,信息,数据传输给 计算机(准确是计算机里面的一个具体的程序)

输入输出设备, 有一类特殊设备既可以是输入设备,也可以是输出设备, 例如上面提到的手机屏, 触摸屏等等,

还有硬盘也是输入输出设备, 因为你可以保持数据到硬盘这个过程是输出, 也可以从硬盘中读取数据这个是输入。

光盘也可以是输入输出设备, 刻录光盘上输出, 读取光盘是输出。

网卡也是输入输出设备, 从网络上读取数据(需要网卡的协助)是输入, 写数据到网络上是输出。

等等还有好多。

好了, 就到这里, 下一次  说说 窗口系统, activity等

 

相关文章

计算机介绍                                  从锦囊妙计想到的01

流程图(分支结构)介绍          从锦囊妙计想到的02

线程介绍                                     从锦囊妙计想到的03

循环结构介绍                             从锦囊妙计想到的05

流程线程总结                             从锦囊妙计想到的06

cpu和线程定义、开始               从锦囊妙计想到的07

分布式计算                                  从锦囊妙计想到的08

分布式中事件和计数                 从锦囊妙计想到的09

内容总结                                     从锦囊妙计想到的10

数据类型,变量简介                从锦囊妙计想到的11

函数和参数                                从锦囊妙计想到的12

用户交互与数据输入输出       从锦囊妙计想到的13

人机交互界面                            从锦囊妙计想到的15 

过程与对象                                从锦囊妙计想到的16

同步和异步                                从锦囊妙计想到的17

顺序打印                                    从锦囊妙计想到的18

数据输入输出                            从锦囊妙计想到的19

屏幕坐标和打印                        从锦囊妙计想到的20

java函数控制输出                     从锦囊妙计想到的21

逐步细化解决复杂问题           从锦囊妙计想到的22

java入门                                    从锦囊妙计想到的23

java复杂过程分析                   从锦囊妙计想到的25

中间辅助功能解决问题          从锦囊妙计想到的26

叠加操作输出复杂图形          从锦囊妙计想到的27

时间和空间                               从锦囊妙计想到的28

编写边测解决问题                  从锦囊妙计想到的29

让程序动起来                          从锦囊妙计想到的30

程序往复运动                           从锦囊妙计想到的31