01只有硬件还不够
一台电脑里有 CPU、内存、硬盘、显卡,还有键盘、鼠标和屏幕。 看起来什么都准备好了,可是如果没有程序,它们并不知道现在到底要完成什么任务。
02程序就像一份任务说明
程序(Program)可以先理解成: 一组按照顺序写好的指令,用来告诉电脑什么时候做什么、怎样做。
做三明治的步骤
- 拿两片面包
- 放上生菜和火腿
- 盖上另一片面包
电脑程序的步骤
- 读取输入
- 按照规则处理
- 把结果输出
03同一台电脑为什么能做不同的事?
因为电脑可以运行不同的程序。 程序换了,电脑收到的“任务说明”也就换了。
画画程序
处理画笔、颜色和图像
游戏程序
处理角色、规则和画面
音乐程序
播放、暂停和处理声音
写作程序
输入、编辑和保存文字
电脑的硬件决定“它有什么能力”,程序决定“现在用这些能力做什么”。
04程序怎样指挥电脑工作?
上一篇我们学过,电脑完成任务时可以用 输入 → 准备 → 处理 → 输出来理解。 程序就像贯穿这条流程的“指挥者”。
输入
程序决定要接收哪些信息
准备
程序和数据被放到正在使用的位置
处理
CPU 按照程序中的指令执行
输出
程序决定最后怎样呈现结果
05电脑需要非常明确的步骤
人和人说话时,有时候一句“把桌子收拾一下”,大家也能大概明白。 但电脑不会自己猜你的意思,它需要更明确、具体、没有歧义的指令。
对电脑来说太模糊
“把这些数字整理好。”
怎样才算“整理好”?从小到大,还是从大到小?更明确的任务
“把这些数字从小到大排列。”
目标清楚,程序才能按照确定的规则执行。以后学习算法时,你会发现:把一个问题拆成清楚、可执行的步骤, 正是计算机解决问题非常重要的一部分。
06我们写的代码怎样变成电脑的行动?
程序员通常不会直接写 CPU 最底层使用的机器指令, 而是使用 C++、Python 等编程语言写代码(Code)。
你已经知道了什么
- 只有 CPU、内存、硬盘等硬件还不够,电脑还需要程序告诉它要做什么。
- 程序可以理解成一组按照顺序写好的指令。
- 同一台电脑运行不同程序,就能完成完全不同的任务。
- 程序会参与输入、准备、处理和输出的整个过程。
- 电脑需要明确、可执行的步骤,不会自动猜出程序员真正想表达什么。
- 我们写的代码最终需要转换成电脑能够执行的形式,再由 CPU 执行。