程序像河水一样流动着
程序像河水一样流动着
Flow Chart 的中文意思是什么
流程图。用图的形式表示程序的流程。
请说出自然界中河流的三种流动方式
向着一个方向流淌,流着流着产生直流,最后卷成旋涡。程序的流程也分为三种,在程序中,把犹如水流向着一个方向流淌的流程称作顺序执行,把犹如产生分支流淌的称为条件分支,把犹如水流卷成旋涡的流程称作循环。
什么是事件驱动
Windows应用程序的运行就是由事件驱动的。
程序的流程分为三种
1.顺序执行
计算机的硬件系统由CPU、I/O和内存三部分构成。内存中存储着程序,也就是指令和数据。CPU配合着由时钟发生器发出的滴答滴答地时钟信号,从内存中读出指令,然后再依次对其进行解释和执行。
CPU中有各种各样的各司其职的寄存器。其中有一个被称为PC的寄存器,负责存储内存地址,该地址指向下一条即将被执行的指令。每解释执行完一条指令,PC寄存器的值就会自动被更新为下一条指令的地址。
PC寄存器的值大多数情况下只会增加。下面假设PC寄存器正指向内存中一个从10号地址开始的3字节指令。CPU解释执行完这条指令后,PC寄存器的值就变成了10+3=13了。也就是说,程序基本上是从内存的地址开始,向着高地址流动的。
条件分支
条件分支是根据若干个条件的成立与否,在程序的流程中产生若干个分支的一种流程。
循环
循环则是在程序的特定范围内反复执行若干次的一种流程。
结构化程序设计
结构化程序设计是由戴克斯特拉提倡的一种编程风格。简单地说,所谓结构化程序设计就是为了把程序编写得具备结构性,仅使用顺序执行,条件分支和循环表示程序的流程即可,而不再使用跳转指令。
作为计算机硬件上的行为,无论是条件分支还是循环都必须使用跳转指令实现。但是在VBScript等高级语言中,可以用if else 表示条件分支,使用for,next表示循环。跳转指令因此变得可有可无了。
在程序设计中,如果看到了以“结构化”开头的术语,就可以肯定认为:程序的流程有程序块来表示,而不是用GOTO语句等跳转指令来实现。
特殊的程序流程-中断处理
特殊的程序流程-事件驱动
程序员们经常用事件驱动的方式编写那些工作在GUI环境中的应用程序。
程序像河水一样流动着相关推荐
- 《计算机是怎样跑起来的》 || 第四章 • 程序像河水一样流动
作者:矢泽久雄 文章目录 第四章 • 程序像河水一样流动 [01]三种程序流程 [02]流程图 [03]结构化程序设计 [04]特殊的程序流程--中断处理 [05]特殊的程序流程--事件驱动 ---- ...
- 计算机是怎么RUN起来的
1.实际上计算机只会实现输入.运算.输出 这三大模块缺一不可,缺少输入意味着没有用户能使用,缺少运算相当于一条电线毫无意义,缺少输出相当于一直堆积信息的垃圾箱 因此计算机的硬件是由大量的IC(Inte ...
- 《计算机是怎样跑起来的》读书笔记
目录 · · · · · · 第1章 计算机的三大原则 1 p2 什么是编码? 就是把不是数字的信息转成用数字表示,如:字符编码.颜色编码 1.1 计算机的三个根本性基础 3 p3 计算机的三大要点? ...
- 《计算机是怎样跑起来的》学习笔记
<计算机是怎样跑起来的>学习笔记 前言 1 计算机的三大原则 2 试着制造一台计算机吧 3 体验一次手工编程 4 程序像河水一样流动着 5 与算法成为好朋友的七个要点 5.1 算法中解决问 ...
- 计算机是怎样跑起来的笔记摘要
文章摘抄于矢泽久雄的<计算机是怎样跑起来的>,用于个人学习,内容有不当或错误的地方请见谅.让我们一起学习,共同进步. 文章目录 第一章 计算机三大原则 1.1三个根本性基础 1.2计算机网 ...
- 王和平的《计算机是怎样跑起来的》学习笔记
第1章 计算机的三大原则 初级问题 硬件和软件的区别是什么? 中级问题 存储字符串"中国"需要几个字节? 高级问题 什么是编码(Code)? 初级问题: 硬件是看得见摸得着的设备, ...
- 计算机是怎样跑起来的(读书笔记)
计算机是怎样跑起来的 计算机的三大原则 计算机的三个根本性基础 输入.运算.输出是硬件的基础 软件是指令和数据的集合 计算机的处理方式和人们的思维习惯不同,对计算机来说什么都是数字 只要理解了三大原则 ...
- 计算机是怎样跑起来的(1)
看了一下目录,嘶,这不是几天就能读完的,有点困难 后记:看起来难而已,很简单,两天就看完了 计算机的三大原则 1. 计算机是执行输入.运算.输出的机器 2. 程序是指令和数据的集合 3. 计算机的处理 ...
- 读书笔记 -- 《计算机是怎样跑起来的》
推荐语 这本书用通俗的语言讲解计算机相关组成,内容比较浅显易懂,适合初级程序员学习,中级程序员查漏补缺,不适合高级程序员. 给个四星级推荐(满分五星). 关注公众号<嵌入式小散修>,回复 ...
最新文章
- Java中break、Continue、reutrn总结
- PHP http_build_query()方法
- python有道翻译-利用python写一个有道翻译的脚本
- 盒子模型+浮动布局+定位布局
- 查看mysql 默认端口号和修改端口号
- 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
- 看懂这5幅图,研发效能分析和改进就容易了
- Pyotrch —— 优化器Optimizer(一)
- AS报:Manifest merger failed with multiple errors, see logs
- C语言—递归函数有5个人围坐在一起,问第5个人多大年纪,他说比第4个人大2岁;问第4个人,他说比第3个人大2岁;问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁
- “甲骨文”的传奇故事
- linux命令说法错误的是什么,有关Linux 中的命令,下面那些说法是错误的? (多选)...
- 连线杂志:盖茨53年人生大事记
- win10两个磁盘合并成一个?win10系统怎么合并磁盘
- 发布Java应用实践结合CCE
- 笔试题-搜狐手机网Python开发工程师
- 地产2022价值启示录:房企必须闯过的“三重门”
- Java(SpringMVC03)(SSM整合1)
- 获取一个数的每一位数
- 【Python数据科学】第三章 Pandas 数据处理(下半章)
热门文章
- 八、Nunjucks模板语法
- 爱奇艺移动 APP 广告激活 等数据 API 对接文档
- 纯干货!山东光明电力招聘考试录取分析来了!
- 【搞定GTD】时间日志的工具从Momento迁移到EverNote上
- SQL Server判断日期是否为周六 周日
- 如何网上查询国管住房公积金
- Vue2.js:前端在浏览器中网页表格打印的实现方案:window.print、print-js、iframe
- [附源码]Node.js计算机毕业设计蛋糕店会员管理系统Express
- JavaScript中的稀疏数组与密集数组
- 修改RT5370网卡VID/PID