文章目录
1.计算机是⽣活必需品
• 如果想要⾃⼰设计⼀些功能和⾏为,让计算机按照你的意图做事情,就需要写程序了
• 本课程的主要的⺫的是通过学习编程,来理解计算机是如何解决问题的,理解计算机的能与不能,擅⻓与⾮擅⻓
2.计算机如何解决问题
“请给我⼀杯⽔”
1. 转⾝⾛到厨房;
2. 找到⼀个杯⼦;
3. 找到⼀个⽔壶;
4. 在杯⼦中倒⼊⼀些⽔;
5. 拿着杯⼦⾛回桌⼦。
⼈:What to do
计算机:How to do
3.计算机语⾔
• 程序是⽤特殊的编程语⾔写出来表达如何解决问题的
• 不是⽤编程语⾔来和计算机交谈,⽽是描述要求它如何做事情的过程或⽅法
“请给我⼀杯⽔” 1. 转⾝⾛到厨房; 2. 找到⼀个杯⼦; 3. 找到⼀个⽔壶; 4. 在杯⼦中倒⼊⼀些⽔; 5. 拿着杯⼦⾛回桌⼦。 ⼈:What to do 计算机:How to do
3.计算机语⾔
• 程序是⽤特殊的编程语⾔写出来表达如何解决问题的
• 不是⽤编程语⾔来和计算机交谈,⽽是描述要求它如何做事情的过程或⽅法
4.辗转相除法
int u = 32;
int v = 26;
while ( v!= 0 ) {
int temp = u%v;
u = v;
v = temp;
}
printf("%d",u);
1. 如果v等于0,计算结束,u就是最⼤公约数;
2. 如果v不等于0,那么计算u除以v的余数,让u
等于v,⽽v等于那个余数;
3. 回到第⼀步
5.计算机-程序-算法
6.算法
我们要让计算机做计算,就需要像这样找出计算的步骤,然后⽤编程语⾔写出来
计算机做的所有的事情都叫做计算
7.计算机的思维
• 2x+6=20
• 解⽅程
• 枚举
• ⼆分搜索
8.枚举求最⼤公约数
1. 设t为2;
2. 如果u和v都能被t整除,则记下这个t
3. t加1后重复第2步,直到t等于u或v;
4. 那么,曾经记下的最⼤的可以同时整除u和v的t就是gcd
9.程序的执⾏
• 解释:借助⼀个程序,那个程序能试图理解你的程序,然后按照你的要求执⾏
• 编译:借助⼀个程序,就像⼀个翻译,把你的程序翻译成计算机真正能懂的语⾔——机器语⾔——写的程序,
然后,这个机器语⾔写的程序就能直接执⾏了
10.解释语⾔vs编译语⾔
• 语⾔本⽆编译/解释之分
• 常⽤的执⾏⽅式⽽已
• 解释型语⾔有特殊的计算能⼒
• 编译型语⾔有确定的运算性能
• 2x+6=20 • 解⽅程 • 枚举 • ⼆分搜索
8.枚举求最⼤公约数
1. 设t为2;
2. 如果u和v都能被t整除,则记下这个t
3. t加1后重复第2步,直到t等于u或v;
4. 那么,曾经记下的最⼤的可以同时整除u和v的t就是gcd
9.程序的执⾏
• 解释:借助⼀个程序,那个程序能试图理解你的程序,然后按照你的要求执⾏
• 编译:借助⼀个程序,就像⼀个翻译,把你的程序翻译成计算机真正能懂的语⾔——机器语⾔——写的程序,
然后,这个机器语⾔写的程序就能直接执⾏了
10.解释语⾔vs编译语⾔
• 语⾔本⽆编译/解释之分
• 常⽤的执⾏⽅式⽽已
• 解释型语⾔有特殊的计算能⼒
• 编译型语⾔有确定的运算性能
• 解释:借助⼀个程序,那个程序能试图理解你的程序,然后按照你的要求执⾏ • 编译:借助⼀个程序,就像⼀个翻译,把你的程序翻译成计算机真正能懂的语⾔——机器语⾔——写的程序, 然后,这个机器语⾔写的程序就能直接执⾏了