600X笔记(week-1 计算机科学简介及编程基础)

计算机科学与编程导论(Introduction to Computer Science and Programming)。

一台计算机其实就只做两样东西:计算(Performs calculating)以及存储信息(stored information)。计算常称为内置运算(Built in primitives),都是由制造商提供给计算机的。

计算机的运算速度快,存储信息量也大(再大也装不下一盘象棋的所有局势,毕竟可观测宇宙的原子只有10的80次方),然而这样就够了吗?这里就引入了算法,一个好的算法能让计算机工作得更有效率。

可是拥有好的算法有两种事情计算机也是做不了的:相对于目前计算机科技来说太过复杂的问题,还有就是图灵停机(halting problem)

在了解算法之前得明白两个知识,陈述性知识(Declarative knowledge)只是事实的陈述,并不能求出结果,多用来判断结果,是基石。操作性/程序性知识(Imperative knowledge)是如何做的方法。

将方法转化到机械操作,这里有:固定程序式计算机用于执行一种特定计算,储存程序式计算机被设计为可以运行任何计算。

储存程序式计算机的工作原理:一个预设定的指令序列被储存到内存(Memory)上,控制单元(control unit)中有个程序计数器指向指令序列,按线性顺序浏览,控制单元负责追踪事件的走向,并控制算术逻辑单元*ALU(Arthmetic logic unit)运用原语*(basic primitives)进行计算。

图灵证明一个设备仅需6种原语,就可以计算任何可以计算的东西。任何具备这样属性的计算机、解释器,称为图灵完备
而现代编程语言除了有一套更为方便的原语集外,还必须要有的关键功能是抽取方法的能力,即创建新的原语,并投入到原语集中。

任何编程语言都提供一种方法或者机制来将原语组合形成更复杂的、但合法的表达式,这里引入了语法静态语义以及形式语义/全语义
语法负责判定一个字串是否合法静态语义判定一个字串是否有意义,形式语义赋予合法的语句 意义。


创建表达式由<操作符>、<对象>、<数据对象>组成。
通常数据对象要么是不可分割的标量对象(对于python来说如整数,浮点数,布尔值),要么就是非标量对象(拥有可以访问的内部结构如字符串)。
操作标量对象的操作符用来操作非标量对象称为:操作符重载。

Python2 可以对数值的字符串与整数、浮点数进行比较,而Python3不能,Python2的round()方法与Python3也不太相同。

转载于:https://www.cnblogs.com/AB786883603/p/8325433.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值