内容正文:
第4课 程序设计基础
主题1:程序设计语言和算法
孙小弟走方格
试着描述孙小弟从起点出发如何才能达到红色终点处?(左右转?前进几格?)
1.程序和指令
同学们已经给出孙小弟的行走方法,能把想法变成可由计算机执行的程序吗?请打开scratch软件,完成相关任务,帮助孙小弟到达终点。
1.程序和指令
计算机程序是一组计算机能识别和执行的指令,命令计算机做某种操作。通常包括以下几类:
输入/输出类(后面会学到scanf()输入,printf()输出等)
运算类:如最基本的算数运算、逻辑运算。
程序控制类:主要用于控制程序的流向
数据传送类:把数据、地址传送到寄存器或者存储单元中。
机器语言:由0和1组成的机器指令。
2.程序设计语言
最早的程序通过打孔方式记录在纸带上,有孔的为1,无孔的为0。
计算机仅能识别由0和1构成的机器指令。
机器语言
2.程序设计语言
汇编语言
汇编语言:用助记符表示机器语言中的一组数字。直接用助记符写出汇编程序。
由于用机器语言编写出来的程序很不直观,而且很容易出错,于是就出现了汇编语言。
2.程序设计语言
高级语言
高级语言:如C、C++、Java、Python等。高级语言接近自然语言,符合人们的习惯,可读性好,可移植性强。
高级语言越接近人类的思维,机器语言越接近电脑的程序。
2.高级语言与低级语言指令间的关系
C语言的语句与汇编语言、机器语言(低级语言)的指令不是简单的一一对应关系。
观看51页表4-1.
C语言中一条简单的a=b+1,机器不能直接识别,要交由编译器翻译成几条汇编或机器指令,这个过程称为编译。
C语言编写的程序最终必须编译成机器指令,链接成目标程序,才能被计算机执行。
读取源代码
编译器
编译生成
源代码文件
可执行文件
算法与算法的描述方法
回顾孙小弟走方格的例子,我们描述了孙小弟如何从起点走到终点的方法,以后我们还会遇到各种各样需要解决的问题,如果能用一个统一的方法有步骤地解决一类问题,这就是算法。
算法不是唯一的,能用较少步骤有效解决问题的就是好算法。
‹#›
9
算法与算法的描述方法
关于算法的描述,课程一开始,我们已经请同学试着描述了,这种属于自然语言描述算法。除了自然语言描述,常用的还有流程图描述算法。
请同学们自主阅读52页表4-2,同桌之间互相说一说图4-4和图4-5描述的算法,