admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:css图片和文字排版)

项目六 解决温标转换问题

———认识程序和程序设计语言

第一课时 体验程序设计的一般过程

■教材分析

“体验程序设计的一般过程”这一小节,主要是让学生了解程序、程序设计语言及其发展演变过

程。学生将通过对温标转换问题的分析掌握程序设计的一般过程,即分析问题,设计算法,编写程序,

调试、运行程序。

■教学目标

1、知识和技能

(1)了解程序及其特征;

(2)了解程序设计语言的产生和发展;

(3)掌握程序设计的一般过程。

2、过程与方法

通过对现实问题的分析与解决,让学生认识到生活中到处是程序,而程序解决的往往就是生活中

现实问题,培养学生利用计算机解决实际问题的能力。

3、情感态度与价值观

(1)体验程序设计和内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度;

(2)通过问题的分析与解决,帮助学生克服程序设计的畏难情绪,培养他们严谨、缜密、科学

的程序设计作风。

■教学重点:

(1)程序及其特征;

(2)程序设计的一般过程。

■教学难点:

设计算法,编写程序。

■教学准备

计算机教室、多媒体设备。

■教学素材

程序设计语言(python)。

■教学方式

启发式、任务驱动、演示、实例、实践操作。

■教学过程:

一.问题导入

华氏温度和摄氏温度之间的换算公式是:摄氏温度=5(华氏温度-32)÷9。使用换算公式,可以列

式计算一个特定华氏温度所对应的摄氏温度。

如果我们想用计算机编写的程序来解决这个问题,哪要如何进行?

二、程序及其特征

程序实际上是一组操作指令或语句序列,是计算机执行算法的一系列操作步骤。计算机是通过运

行该组指令完成预期任务的。

一般来说,程序具有以下一些特征:

1.解决问题的算法的每一个步骤对应程序中的一个或多个语句,每个语句实现或多个操作。

2.在程序中被施行操作的对象称为数据不同类型的数据有不同的属性、取值范围和运算方法。

3.除了遇到特殊的程序转向控制语句之外,程序都是从第一条语句开始顺序执行。有时语句要求

执行时作出判断:在某种情况下执行一条或一组语句,否则执行另一条或另一组语句。有时一条或一

组语句可能需要执行一次以,此时必须给出重复的次数或终止条件。

三、程序设计语言的产生和发展

程序要能被计算机理解和执行,必须精确描述执行所有动作的细节过程,不能有一点错误和含糊

之处,承担这一描述任务的就是程序设计语言。程序设计语言是人们编制程序所使用的计算机语言。

随着计算机的发展,程序设计语言经历了从机器语言到高级语言的发展历程,如图3-18所示。

1.机器语言

计算机主要由电子元器件组成的电路构成。由于电子元器件的特性,计算机只能识别二进制的代

码。早期的程序设计语言就是由二进制代码指令组表示的,称为机器语言( machine language)。通

常,不同的计算机,其指令系统会有所不同。每一条机器指令一般包含两个主要部分:操作码(规定

了指令的功能)和操作数(规定了被操作的对象)。有的指令没有操作数,如停止指令。在这些指令的

控制下,计算机可以实现最基本的算术运算和逻辑运算。

以5+12运算为例,若某型号计算机指令采用16位二进制表示,则用机器语言编写的个完成5+12

运算的程序如表3-2所示:

表3-2用机器语言编写的程序(5+12)

指令序号 机器指令

1011 0000

1

0000 0101

操作数(4位)是5。

把0号寄存器中的内容与另

0000 0100 操作码:表示加法功能.左操作数

2

0000 1100 表示0号寄存器,右操作数是12。

器中(即完成5+12的运算)。

3

说明:计算机的运算器中有多种用于存放参与运算的操作数的部件,如运算器执行加法运算时,

必须有两个分别存放加数与被加数的寄存器。

机器语言与计算机相关,不同型号的计算机有着不同的指令集,由不同的硬件组成。使用机器语

言编写的程序可以直接执行,执行速度快,但是在不同型号的计算机上不能通用。

2.汇编语言

用机器语言编写程序,对大多数使用者来说非常难。20世纪50年代中期,程序开发人员开始采用

一种类似英语缩略词并带有助记符号的语言,替代复杂的二进制代码指令和操作数来编写程序,这就

是汇编语言( ( assembly languag)。仍以上述完成5+12运算的程序为例,改用汇编语言编写的程序

如表3-3所示:

表3-3用汇编语言编写的程序(5+12)

指令序号 汇编语言指令

1

2

3

MOV Al,5

ADD AL,12

(即完成5+12的运算)

HLT 停止操作

指令功能

把加数5送到累加器AL中

把累加器AL中的内容与另一数相加,结果存在累加器AL中

1111 0100 停止功能 停止操作

一数相加,结果存在0号寄存

操作数(4位)表示0号寄存器,右

指令说明

操作码:表示数据传输功能。左

把加数5送到0号寄存器中。

指令功能

说明:累加器是运算器中的一种寄存器,用于存放计算结果。

用汇编语言编写的程序,让程序开发人员可以方便地辨识指令。但是计算机不能理解这种程序,

需要使用翻译程序将每条语句翻译成机器语言,计算机才能执行,如下图所示。这种翻译程序被称为

汇编程序,也叫汇编器。

程序员

汇编程序

(汇编器)

图汇编过程

3.高级语言

汇编语言仍然是与计算机相关的语言,特定的计算机指集对应特定的汇编语言。使用汇编语言编

写的程序不可移植。20世纪60年代中期,接近于人类自然语言的高级语言(i- level language世。用

高级语言编写的程序更加简洁易懂。

仍以上述运算为例,用 Python语言编写的程序语句如下:

汇编指令

机器指令

计算机

5+12

和汇编语言一样,用高级语言编写的程序也不能直接被计算机理解,必须经过转换才能被执行。

高级语言按转换方式可分为解释类和编译类两类。

·解释类:执行方式类似于日常生活中的“同声译”,应用程序源代码由相应语言的解释器“翻

译”成目标代码(机器语言),边“翻译”边执行,如下图所示。由于不能生成可独立执行的文件,应

用程序不能脱离其解释器。这类语言有 Python、 BASIC等。其中 Python语言的解释器就是 Python

Shell,它可以逐条计算表达式的值并执行命令。

程序员

解释器

图逐条解释执行

·编译类:编译( compile)是指在源程序执行之前,就将程序源代码通过编译器一次性地“翻译”

成目标代码(机器语言)文件,如下图所示。因此其目标程序可以脱离语言环境,独立执行。

程序员

编译器

图成批编译执行

高级语言与机器语言之间是一对多的关系,即一条高级语言语句对应多条机器语言语句。高级语

程序源代码

目标代码文件

计算机

程序源代码

目标代码

计算机

言独立于计算机,用其编写程序无须顾及与计算机相关的实现细节,具体工作由与不同计算机相匹配

的解释器和编译器完成。

综上所述,机器语言是特定计算机使用的语言,它能够直接操控硬件,运行速度快,占用内存少。

计算机可以执行的就是使用机器语言编写的程序。汇编语言比较接近机器语言,实际应用于底层硬件

操作和高要求的程序优化场合,如嵌入式操作系统、工业控制等高级语言自诞生至今,经历了多次更

新换代,新的语言和更高效的程序设计方法不断涌现,使得程序的开发过程更简单、更有效率,便于

应对快速软件开发的要求,为计算机的应用开辟了更广阔的前景。

四、程序设计及其一般过程

计算机的所有操作都是按照人们预先编制好的程序进行的。因此,若需要运用计算机帮助解决问

题,就必须把具体问题转化为计算机可以执行的程序。在问题提出之后,从分析问题、设计算法、编

写程序,一直到运行调试程序的整个过程就称为程序设计 programming )在程序设计过程中,设计算

法、编写程序和运行调试是一个不断反复的过程。本项目中,通过对“温标转换”算法的实现,可以

看出程序设计的基本流程如下图所示:

五、设计算法,编写程序

再回到前面提出的,如何用程序来解决这个问题。

首先接收用户输入的华氏温度,然后使用换算公式计算出相应的摄氏温度,最后输出摄氏温度的

值。

本问题涉及两个数据:已知数据华氏温度,所求的结果数据——摄氏温度。

1.确定算法,选择描述方式

根据问题确定算法,并用流程图来描述算法。

2.选择程序设计语言

选择一种程序设计语言来编写程序。各种程序设计语言广泛应用于科学计算、数据处理事务处理、

系统软件、人工智能等领域。不同的程序设计语言,其适用领域和特点也不相同。目前较热门的程序

设计语言有Java、C/C++、C#、 Python、PHP、VB等。程序设计语言的发展很快,新的语言不断产生,

且越来越接近人类的自然语言。根据上面给出了算法流程图,我们分别使用 Python语言和C语言来编

写的程序:

f=float(input(“请输入一个华氏温度:“))

C=5*(f-32)/9

print(“摄氏温度:”,c)

对比两种程序设计语言,可以发现 Python程序的代码行数更少,更简洁。

#include

Int main()

{

float f,c;

printf(“请输入一个华氏

温度:“);

scanf(%f”,&f);

c=5*(f-32)/9;

print(“摄氏温度:%地”,

c);

return 0;

}

程序是由语句构成的。 Python i语言使用回车来表示一条语句的结束。程序中出现的c和f是变

量,c表示摄氏温度,f表示华氏温度。

公式由算术表达式构成,其中包含常量、变量、运算符等要素。公式中的“*”是算术运算符,

注意它们与数学中的符号在书写上的差异。

“=”表示赋值运算,在 Python语言中表示将“=”右边的数据对象绑定到其左边的变量,根据

数据对象的类型确定变量的类型。

input、 float、 print是 Python语言提供的系统函数。input函数的作用是接收一个文本数据,

双引号内的字符串会显示在计算机屏幕上,作为输入操作的提示文本。华氏温度是浮点数据,所以用

float函数将输入的文本(字符数据)转化为浮点数据。 print数负责输出结果,语句print(“摄氏温

度:“,c)首先输出文本内容:“摄氏温度:”,然后输出变量c的值。 print输出后默认换行。

娈量(variable):引用在程序中可能会变化的数据,通过变量名可以访问存储在风存中的数据。

你还听说或使用过哪些程序设计语言?用它们解决了哪些问题?

六、运行、调试程序

程序发生错误后,寻找产生错误的原因、位置,并改正错误的过程称为调试程序。

python程序有两种运行模式:

1.交互模式。启动python,在python shell窗口的提示符>>>后,直接键入指令,python会立即执

行该指令。

2.文件模式。打开python的IDLE集成开发环境,可以创建(file)、编辑(edit)程序文件,还

可以检查语法错误(check module)、运行程序(run module)。程序文件以”py“为后缀名。

①在 Python Shell r2逐条输入语句,观察变量的值和最终输出结果。

②在Python提供的IDLE窗口中利用菜单命令创建、编辑一个程序文件。

③检查语法错误无误后,运行程序,查看运行结果是否正确。

运行、调试程序时常会出现两类错误:一类是语法错误,即程序的书写格式不正确,不符合语言

的语法要求,对于这类错误,语言系统能够自动检查并报错、指出出错位置;另一类是罗辑错误,即

程序可以运行,但是在运行的过程中会出问题,或程序的结果不符合预期设计。

1. 若将第一条语句改为:f=input("请输入一个华氏温度:"), 运行程序,会发

生什么?为什么?

2. 若将第二条语句改为:c= 5(f-32)//9,运行程序,会发生什么?为什么?

七、课后作业

尝试使用Python编写程序,计算并打印华氏 100 度到 105 度所对应的摄氏温度。


本文标签: 程序 语言 程序设计 计算机