【1】DAY1 编程基础

计算机的本质是“乐于助人”,它们被编程,被设计,硬件也是如此构建的。硬件的设计与布线,一旦通电,本质上只关心一个文体:接下来你想让它做什么?就像手机的每个应用都在不断询问:接下来做什么?

1.1知识学习

  • 如果是程序员,你的职责就是服务用户,用户总有ta们想要完成的事情,需要在硬件和用户之间充当桥梁,所以作为程序员的工作就是在硬件和最终用户之间进行协调.如果你是专业程序员,并且试图销售你的软件,那么你需要努力设想这个世界可能需要什么.解决问题。
  • 而如果是用户,我们拥有程序员ta们开发的大量软件,直接使用即可,不需要考虑得像专业程序员一样。

从设备的使用者转化为设备的创造者,当你从另一个角度,即从程序员的角度来看它的时候,你会使用诸如编译器、解释器、编程语言和网络等工具,有了这些,我们将学习如何使用它们。

对于专业程序员来说,一个普遍的动机是为他人构建可使用的工具(但是不是所有人都需要做这件事,比如你只是想处理一段数据,你能写一小段python代码来统计这种情况吗),得学习如何精确、更工程化

为自己或者少数人编写程序的关键区别在于严谨性,你可以不需要那么专业,也能写出自己可以用的代码,如果它运行并得到你想要的数据,那么任务就完成了。

程序就像一系列存储的指令。其核心思想在于,计算机本身,硬件的最低层次上,其实并不是那么智能。

但是它的灵活性在于,如果我们给予正确的指令,它就能完成意想不到的任务,如果我们赋予它正确的指令来接收声音、将声音数字化,并理解声音,那么你就能编写出一个能够“听见”的程序。计算机本身不具备听觉,是程序员赋予它“听见”的能力。计算机的作用在于,它能执行所有的运算。

上图中有三个错误,ham,hit,hit,或许你阅读的时候并没有注意到,因为你的大脑会自动修正它们——我们总是会下意识地纠正环境中的错误。但是计算机不会,它需要足够的指令,才能实现减少或者规避错误。

 接下来会学习基础代码,然后理解下面代码的逻辑

上面的东西讲完可能疑惑,为什么我们要了解这些属于和概念,比如说中央处理单元,是为了通过这些部分,能够定义一些术语,以便后续在课程中可以自如地运用它们,对基本地硬件框图有一个初步的认识。

        编写程序,你会在辅助储存器(secondary memory)上创建文件,比如一个python文件,然后在某个时刻被加载到主储存器中(main memory),经过翻译,就运行到main memory,然后当CPU询问接下来执行什么时,你的程序会提供它的第一条指令,执行完毕以后,CPU会再次询问接下来执行什么,第二条,第三条执行指令(中间箭头循环),这个过程被称为取指-执行周期

  • 算机硬件架构

中央处理器,主储存器,辅助储存设备以及输入/输出设备。软件的核心包括中央处理单元、主储存器以及辅助储存设备

  • 中央处理器(或 CPU):是计算机中专门用于思考“接下来是什么?”的部分。如果你的计算机标称频率为 3.0 吉赫兹,这意味着 CPU 每秒会问“接下来是什么?”三十亿次。你将不得不学会快速交流,以跟上 CPU 的节奏。

  • 主储存器:用于存储 CPU 急需的信息。主储存器的速度几乎与 CPU 相当。但是,当计算机关闭时,存储在主储存器中的信息会消失

  • 辅助储存设备:也用于存储信息,但它的速度比主内存慢得多。辅助储存设备的优势在于即使计算机没有电源也能存储信息。辅助储存设备的例子包括硬盘驱动器或闪存(通常用于 U 盘和便携式音乐播放器)。

  • 输入和输出设备:就是我们屏幕、键盘、鼠标、麦克风、扬声器、触摸板等。它们是我们与计算机交互的所有方式。它们是计算机与外界交互的桥梁。

  • 如今,大多数计算机还具有网络连接功能,可以通过网络获取信息。我们可以将网络视为一个存储和检索数据非常缓慢的地方,而且并不总是“在线”。因此,从某种意义上说,网络是一种较慢且有时不可靠的辅助存储形式。

作为一名程序员,你的工作就是利用和协调这些资源来解决你需要解决的问题,并分析从解决方案中获取的数据。作为程序员,你将主要与 CPU“交流”,告诉它下一步该做什么。有时你会指示 CPU 使用主内存、辅助内存、网络或输入/输出设备。

你在哪里?

你需要成为那个回答 CPU“接下来做什么?”问题的角色。但如果将你缩小到 5 毫米高并插入计算机,只是为了让你每秒发出 30 亿次指令,那会非常不舒服。因此,你必须提前写下你的指令。我们将这些存储的指令称为程序,而编写这些指令并确保指令正确的行为被称为编程。

经过学习,让我们进行一个小小的练习吧~

1.2练习

练习 1

现代计算机硬件由五大部件组成,分别是运算器、控制器、存储器、输入设备和输出设备。

那么,计算机中辅助存储器的作用是什么?

A. 执行程序的所有计算和逻辑

B. 从互联网上获取网页

C. 长期存储信息,甚至超越断电周期

D. 从用户获取输入

练习 2

以下对 “程序” 的定义,最准确的是?

A. 计算机硬件的物理组成部分

B. 为实现特定任务,用编程语言编写的、可被计算机执行的指令集合

C. 显示器上显示的各种画面

D. 计算机电源提供的电能规格

练习 3

关于编译器和解释器,以下区别描述正确的是?

A. 编译器不需要源代码就能工作

B. 解释器会把整个源代码一次性转换成机器码再执行

C. 编译器是逐行翻译并执行源代码,解释器是整体编译成机器码文件

D. 编译器通常将源代码整体编译为机器码文件,解释器一般逐行解释执行源代码

练习 4

以下哪项包含 “机器码”?

A. Python 解释器

B. 键盘

C. Python 源文件 

D. 文字处理文档

练习 5

用人类日常行为 / 能力类比,以下对计算机组件的对应关系正确的是?

(1)中央处理器(CPU)

(2)主存储器(内存)

(3)辅助存储器(硬盘 / U 盘等)

(4)输入设备(键盘 / 鼠标等)

(5)输出设备(显示器 / 音箱等)

A. (1)相当于大脑思考决策

(2)相当于大脑临时记忆

(3)相当于笔记本 / 相册

(4)相当于用眼睛看 / 耳朵听

(5)相当于用嘴巴说 / 手写

B. (1)相当于手臂做运动

(2)相当于口袋临时放东西

(3)相当于穿在身上的衣服

(4)相当于头发自然生长

(5)相当于眉毛的形态

C. (1)相当于睡眠做梦

(2)相当于梦境里的画面

(3)相当于起床穿衣服

(4)相当于呼吸空气

(5)相当于心脏跳动

D. (1)相当于身高数值

(2)相当于体重变化

(3)相当于年龄增长

(4)相当于血型分类

(5)相当于相貌特征

练习 6

在执行完以下 Python 行之后,变量 “x” 存储在计算机的哪个位置?

x = 123

A. 中央处理器

B. 主存储器(如内存)

C. 辅助存储器

D. 输入设备

E. 输出设备

答案:C B D A A B

附录:词汇表

中文术语

英文对应

解释说明

bug

bug

程序中的错误。

中央处理器

central processing unit (CPU)

任何计算机的核心。它是运行我们编写的软件的部分;也称为 “CPU” 或 “处理器”。

编译

compile

将用高级语言编写的程序一次性翻译成低级语言,以便后续执行。

高级语言

high-level language

一种像 Python 这样设计得易于人类阅读和编写的编程语言。

交互模式

interactive mode

一种通过在提示符处键入命令和表达式来使用 Python 解释器的方式。

解释

interpret

通过逐行翻译高级语言来执行程序。

低级语言

low-level language

一种设计得易于计算机执行的语言;也称为 “机器码” 或 “汇编语言”。

机器码

machine code

软件的最低级语言,即由中央处理单元(CPU)直接执行的语言。

主存

main memory

存储程序和数据。主存储器在断电时会丢失信息。

解析

parse

检查程序并分析其语法结构。

可移植性

portability

一种可以在多种不同类型的计算机上运行的程序特性。

print 函数

print function

一条使 Python 解释器在屏幕上显示值的指令。

问题解决

problem solving

将问题制定、寻找解决方案以及表达解决方案的过程。

程序

program

一组指定计算的指令。

提示

prompt

当程序显示一条消息并暂停,等待用户输入一些信息给程序时。

辅助存储器

secondary memory

存储程序和数据,即使断电也能保留信息。通常比主存储器慢。辅助存储器的例子包括硬盘驱动器和 U 盘中的闪存。

语义

semantics

程序的含义。

语义错误

semantic error

程序中的错误,导致程序执行的结果与程序员的意图不符。

源代码

source code

一种高级语言编写的程序。

来源:密歇根大学&Cousera课程(十天入门Python·组队版) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值