文档视界 最新最全的文档下载
当前位置:文档视界 › 伺服电机编程思路

伺服电机编程思路

伺服电机编程思路
伺服电机编程思路

伺服电机程序的编程思路

1 矢量控制下的电机工作特性

伺服电机作为伺服系统的执行元件,通常是在矢量控制状态下运行。所以电机的运行特性必须满足矢量控制的模型。直轴电流0=d I 是一种非常重要的控制方式,在控制器的作用下,绕组的电流只有纯转矩电流q I ,而没有励磁电流d I 。所以外加电压是根据负载转矩随时变化的,通过电机在矢量控制状态下的相量图,就可以计算出电机在不同负载时的外加电压。

在矢量控制状态下,电机的相量图如图1:

图1 矢量控制下电机的相量图

根据上面的相量图可得:

aq q X I U =θsin (1)

110cos R I E U +=θ (2)

转化的电磁功率为:

0E mI P q em = (3)

相应的电磁转矩为:

n P T em em 60

2π==n E mI q π030 (4) 根据电机学的基本原理可知:

n K K N K np K N fK E e dp dp =Φ=Φ=ΦΦ0006022δδπ

π (5) 式中:ΦΦ=K N K p K dp e 060

2δπ为反电动势常数 把(5)式代入(4)式中可得:

q t q dp em I K I K N mpK T =Φ=Φ02

2δ (6) 式中:ΦΦ=K N mpK K dp t 02

2δ为转矩常数 转矩常数是考核伺服电机的力能指标的重要参数。为了增大伺服电机的出力,需要努力提高伺服电机的推力常数。机床伺服电机的工作方式为短时工作制,即工作时间短、歇息时间长。在保证工作温度的情况下,应尽量提高电机的磁负荷和线负荷。通常情况下,一个合理的设计磁路应该在饱和的状态下,所以需要提高电机的线负荷来增大出力,从电机的相量图可知,在矢量控制的状态下,绕组电流的增加,电阻压降和电枢反应压降将增大,从而导致外加电压和空载反电动势的差值增大。同时,电机的铜耗增大,效率降低。所以伺服电机的考核标准不是效率,而是电机的力特性。

2 矢量控制下电机的空载特性

空载的情况下,电机转轴输出的机械功率为0,因此机械转矩等于0,电磁转矩只是克服了空载转矩。在矢量控制下,电机的相量图如图1所示,绕组电流只有纯转矩电流q I (q I I =1),利用前面推导出的电机的转矩常数t K ,就可以计算矢量控制下电机的空载特性。

首先,计算电机的空载转矩0T 。参考同类电机的机械损耗mec p 、附加损耗ad p ,就可以下式求出空载转矩:

Ω

+=ad mec p p T 0 (7) 又在空载状态下: q t em I K T T ==0 (8) 所以电机的每相绕组电流 t

q K T I 0= (9)

有了绕组电流就可以计算铜耗:12

R mI p q cu = (10) 再加上电机的铁耗fe p ,就可以求出从电源输入的功率1P :

fe cu ad mec p p p p P +++=1 (11)

又 ?c o s 01q I mU P = (12) 式中:0U 为空载时的外加电压。

根据相量图可知 aq q q X jI R I E U ++=100 (13) 把(13)式代入到(12)式中,就可以求出电机的功率因数:

q

I mU P 01cos =? (14) 因为在矢量控制下,功率因数角?等于功率角θ,所以可以得出电机的功角:

q

I mU P 01arccos ==θ? (15) 3 矢量控制下负载的工作特性

在矢量控制下,外加电压是根据负载变化而变化的。在编制程序时,可以根据相量图计算出不同负载时的外加电压。首先,给定不同的负载转矩2T ,电磁转矩就等于负载转矩加上空载转矩(认为空载转矩不变):

02T T T em += (16)

又根据(6)式可得在这个负载转矩下的每相绕组电流1I (q I =)

t

em q K T I = (17) 有了每相绕组电流,就可以根据(10)式计算这个负载转矩下的铜耗cu p ,再加上铁耗fe p ,就可以计算出电机在此负载下的输入功率。

21P p p p p P fe cu ad mec ++++= (18)

式中:Ω=22T P 为机械功率,n 60

2π=

Ω 又根据相量图可得此时的外加电压:

aq q q X jI R I E U ++=101 (19)

式中:1U 为负载情况下的外加电压。

又根据(14)式,可以求出此时的功率因数?cos ,再根据(15)式,求出功率因素角?和功角θ。

注:本文出现的d I 和q I 不要和矢量控制的2\3变换后的d i 和q i 混淆,注意区分。

程序设计的基本方法

高一信息技术课程教案 课题:第六章第一节程序设计的基本方法 计划课时:1课时本课课时:1课时 教学目的: 1、理解算法的概念; 2、知道两种算法的描述方法—语言描述法和流程图的区别; 3、能初步掌握用流程图描述算法。 4、培养学生的理论联系实际能力和动手能力。 5、提高学生的信息技术素养和创新意识。 教学重点、难点 算法的描述、流程图 教具 教师机、投影仪、视频展示台、多媒体CAI课件 教学方法 以任务为主线、教师为主导、学生为主体的任务驱动式教学 教材分析 本节所讲算法主要是指计算机解决问题的方法和步骤。美国著名计算机科学家克努特教授提出了”计算机科学就是研究算法的科学”的著名论断,说明了算法在设计程序中的重要性,解决任何问题都必须设计算法,所以本节内容起到统领全章的作用。 但是,对于初学者而言,本节内容属于理论知识,具有一定的抽象性。建构主义理论认为学习是新旧知识的联系,是学习者主动建构内在心理结构的过程。而在初学者原有的认知结构中没有关于算法的认知。如果直接讲算法,学生很难实现新旧知识的联系,无法做到意义建构和有意义的学习,对于算法的含义就难以做到真正理解。按照从感性到理性、从已知到未知的认知规律,我从学生的感性认知入手,从学生的兴趣出发,先创设情境,引入三个用VB编写的小程序,把学生的兴趣调动起来,通过对具体问题的讨论,使学生明白解决任何问题都需要有清晰的解决思路和解题步骤,计算机解决问题和人解决问题一样都需要有明确的解题步骤,而计算机的解题步骤就称为算法,这样就很自然地引入了算法的概念。易于学生接受和理解。 对于本节内容的重难点,即算法的描述,主要是通过对实际问题的解决来突破的。本节所讲算法

常见的程序设计方法

常见的程序设计方法及适用情况 一.常见的程序设计方法 常见的程序设计方法有:结构化程序设计、面向对象程序设计。 二.适用情况 1.结构化程序设计: (1)产生:结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。 (2)基本要点 1.采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的 2.使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。 (1)用顺序方式对过程分解,确定各部分的执行顺序。 (2)用选择方式对过程分解,确定某个部分的执行条件。 (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。 (4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。(3)设计语言 C,FORTRAN,PASCAL,Ada,BASIC (4)基本结构 顺序结构 顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。 选择结构 选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种形式。 循环结构 循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。在循环结构中最主要的是:什么情况下执行循环?哪些操作需要循环执行?循环结构的基本形式有两种:当型循环和直到型循环。 当型循环:表示先判断条件,当满足给定的条件时执行循环体,并且在循环终端处流程自动返回到循环入口;如果条件不满足,则退出循环体直接到达流程出口处。因为是"当条件满足时执行循环",即先判断后执行,所以称为当型循环。 直到型循环:表示从结构入口处直接执行循环体,在循环终端处判断条件,如果条件不满足,返回入口处继续执行循环体,直到条件为真时再退出循环到达流程出口处,是先执行后判断。因为是"直到条件为真时为止",所以称为直到型循环。 (5)适用情况 结构化程序设计又称为面向过程的程序设计。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数(在此泛指例程、函数、过程)用于完成这些任务,解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件完成指定的任务。(6)特点 结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。

软件设计总体思路及主流程图

软件设计总体思路及主流程图 本系统采用 C 语言编写,主程序主要由四部分构成,系统通电后首先初始化系统,依次完成温度采集、温度处理、数据显示、键盘处理等四项功能。温度采集部分主要完成 4 个温度测试但的温度数据采集任务:温度处理部分主要是将采集到的温度数据与用户设定的各点上下限温度值进行比较处理,并判断是否超出设定的上下限值,如果超出则蜂鸣器报警:数据显示部分主要实现温度数据的显示,显示方式根据设计要求支持 1 到 4 个温度测试点的轮流循环显示和固定显示两种方式:键盘处理部分主要实现用户对系统参数的设置,结合显示部分,实现用户与系统之间的人机接口。系统软件主流程图如下所示:

A/D转换完成中断程序流程图 程序说明: (1)程序实现5次采样,每次检测8个通道 (2)数据的存放格式。 (3)程序的采样周期是通过软件实现的。如果系统处理的人物较多哦,且对 实时性要求较高,则采样中欧器可通过系统扩展8253等定时芯片实现。 A/D转换完成中断功能:将标志位清零,读取转换后的温度数据并存放在RAM中A/D转换完成中断程序流程图如下所示:

肘D 转换完诫中断功昵「将林点拖渭越+渎収黑换启的吐数据井恋做隹RAM '!■_ VD 3 / 6 ■fcA 中斷程序範程SM ■ 丽」、 Tift 1 P 读入甦据 1 标蛊便清爭 > L 「起回) 多路温度测量流程图 LED 显示程序设计 H7-4 转携充成申斷程序灌程醫 B4-3多鮭度测宣电關适程囤

LED显示程序的设计: 动态显示程序流程图如下所示:

测温模块流程图

键盘扫描流程图 按键处理程序通过扫描按键情况,读取键值。主要完成各点温度传感器上下限报警参数设置和显示模式设置。 (1)通过扫描键盘读取键值,流程图如下所示: 4.4?£扫描瀝程国 按键肚理稈序遴过扫推桩键惆况.達取愿值?主要完慮各点温度传感器I- F 股报欝超绘设置和眾示廉试设賈.. <1)通过扫脑僧菠谨取惟惟,流稈图如图卜吝所示; 用1-5谧亂扛折吟已淀吋国

程序设计思路

程序设计思路 1 算法设计部分 首先,分别写出复化梯形求积、复化Simpson求积、Romberg求积这三个求积算法的程序,并将其保存为trap.m/simp.m/lonbeg.m函数。 一、复化梯形求积(trap.m)

二、复化Simpson求积(simp.m)

三、Romberg求积(longbeg.m)

2界面设计部分 根据题目的功能需求,我在GUI(图形用户界面)上设计了四个界面(主界面、复化梯形求积界面、复化Simpson求积界面、Romberg求积界面),主界面主要显示是由四个按钮和一个静态文本框组成的,前三个按钮分别对应三种求积算法第四个按钮则是控制主界面的关闭功能,具体设计如下: 主要有四个可视化界面,其中主界面(jiemian.fig)中有四个控制按钮(按钮一复化梯形求积,复化Simpson求积、Romberg求积、退出),一个静态文本框StaticText用来写出主界面的标题,点击每个按钮都可以独立控制进入对应求积分算法的界面。 当用户选择点击复化梯形按钮时,程序就会进入fuhuatixing.fig界面,该界面由十个用来做标签的StaticText,四个可编辑的EditText用于按照界面温馨提示输入数据,三个不可编辑EditText用来输出计算结果。若数据输入错误可点击清除,点击计算按钮,进行计算的到复化梯形求积分的近似值以及该积分的精确值。进而得到计算误差值。 同理,点击复化Simpson求积按钮和Romberg求积按钮对应进入Simpson 界面和lonbge界面,复化Simpson求积界面则由十二个用来做标签的StaticText,四个可编辑的EditText用于按照界面温馨提示输入积分上限、积分下限、积分子区间数、积分函数,三个不可编辑EditText用来输出积分近似值、积分精确值、以及误差。点击计算按钮,进行计算的到复化Simpson求积分的近似值以及该积分的精确值,进而得到计算误差值。但值得注意的是复化Simpson输入的积分子区间数实际上是其区间数的1/2,简单的说就是实际复化Simpson计算的区间数应是用户输入的积分子区间数的2倍。 lonbge界面有所不同,该界面由十二个用来做标签的StaticText,五个可编辑的EditText用于按照界面温馨提示输入积分上限、积分下限、积分精度、积分函数、输出行数,四个不可编辑EditText用来输出积分近似值、积分精确值、龙贝格表格以及误差。同样按照界面提示输入对应数据点击计算按钮即可计算出积分近似值,精确值和误差。

单片机程序设计方法总结.doc

单片机程序设计方法总结 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片机的程序设计语言这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果 您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为 某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计 语言基本上有三类: 1 .完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1 所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是 11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我们必须想办法 用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2. 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1 比如刚才的MOV A40H 就是汇编语言 指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写 用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程 序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编,汇编工作现在 都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的. 值得注意的是:汇编语言也是面向机器的,它仍是一种低级语言每一类计算机都有它自己的汇 编语言比如51 系列有它的汇编语言;PIC 系列也有它的汇编语言微机也有它自己的汇编语言它 们的指令系统是各不相同的也就是说不同的单片机有不同的指令系统它们之间是不通用的,这就

程序设计方法与风格

?程序设计方法与风格 ?经历两个阶段: ?结构化程序设计 ?面向对象的程序设计 ?良好设计风格: “清晰第一,效率第二” 例如:加注释、提示输入、加输入结束标志、标识符命名有实际意义等。 ?原则 ?自顶向下 ?逐步求精 ?模块化 ?限制使用goto语句 基本结构 ?顺序结构 ?选择结构 ?循环结构 优点 ?程序易于理解、使用、维护 ?提高编程效率,降低开发成本 设计原则和方法的应用 ?三种结构表示程序的控制逻辑; ?每种结构只有一个入口和一个出口; ?语言中没有的控制结构,应该用前后一致的方法模拟; ?严格控制使用goto语句 本质:以对象为核心。 ?对象是数据和操作的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系。 面向对象程序设计方法的优点 ?(1)与人类的思维方法一致,符合人们对客观世界的认识规律。 ?(2)稳定性好; ?(3)可重用性好; ?(4)易于开发大型软件产品; 面向对象的基本概念 ?对象:在现实世界中,每个实体都是对象,如,大学生、汽车、电视机、空调等都是现实世界中的对象。 ?(1)属性:对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。 ?(2)操作:描述了对象执行的功能。其过程对外是封闭的,即用户只能看到这一操作实施后的结果(封装性)。 类:类是一组具有相同属性和相同操作的对象的集合。是对象的抽象,描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。 注意:“实例”这个术语指一个具体的对象;“对象”术语既可以指一个具体的对象,也可以泛指一般对象。

消息:一个实例与另一个实例之间传递的信息,包括3部分:接收消息的对象名称;消息名;零个或多个参数。 例:MyCircle.Show(GREEN); 面向对象的基本概念 ? 继承:使用已有的类定义作为基础建立新类的定义技术。已有的类可当做基类引用, 则新类相应地可当做派生类来引用。 (基类:用来生成新类的类。 派生类:由已存在的类派生出来的新类,也叫子类。)继承具有传递性。 ? 多态性:对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导 致完全不同的行为,该现象称为多态性。 图2-1 一般与特殊的关系 图2-2 多重继承 3.1.1软件定义与软件特点 1.软件定义:软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及其相关文档组成的完整集合。 软件=程序+数据+文档 程序:程序是按事先设计好的功能和性能要求执行的指令序列。 数据:数据是指程序能正常处理信息的数据和数据结构。 文档:文档是与程序运行和维护有关的图文资料。 2.软件的特点: (1) 软件具有抽象特征。 (2) 软件具有无明显制造过程特征。 (3) 软件无设备的特征。 (4) 手工制作特征。 (5) 成本昂贵特征。 1. 软件危机:泛指在软件的开发和维护过程中所遇到的一系列严重问题。 总之,可以将软件危机归结为成本、质量、生产率等问题。 软件工程:应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 主要思想:强调在软件开发过程中需要应用工程化原则。 软件工程三要素:方法、工具、过程。 方法:完成软件工程项目的技术手段; 工具:支持软件的开发、管理、文档生成; 过程:支持软件开发的各个环节的控制、管理。 ? 软件工程过程:把输入转化为输出的一组彼此相关的资源和活动。(通常把用户的 要求转变为软件产品的过程也叫做软件开发过程).

单片机程序设计方法

第十六课单片机程序设计方法 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即 目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片 机的程序设计语言 一程序设计语言 这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计语言基本上有三类 1 完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我 们必须想办法用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1比如刚才的MOV A 40H 就是汇编语言指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编汇编工作现在都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的道听途说我也没经历过呵呵

程序设计艺术与方法

程序设计艺术与方法 实验一STL 的熟悉与使用 1.实验目的(1)掌握C++中STL 的容器类的使用。(2)掌握C++中STL 的算法类的使用。2.试验设备硬件环境:PC 计算机软件环境:操作系统:Windows 2000 / Windows XP / Linux 语言环境:Dev cpp / gnu c++ 3.试验内容(1) 练习vector 和list 的使用。定义一个空的vector,元素类型为int,生成10 个随机数插入到vector 中,用迭代器遍历vector 并输出其中的元素值。在vector 头部插入一个随机数,用迭代器遍历vector 并输出其中的元素值。用泛型算法find 查找某个随机数,如果找到便输出,否则将此数插入vector 尾部。用泛型算法sort 将vector 排序,用迭代器遍历vector 并输出其中的元素值。删除vector 尾部的元素,用迭代器遍历vector 并输出其中的元素值。将vector 清空。定义一个list,并重复上述实验,并注意观察结果。(2) 练习泛型算法的使用。 - 149 定义一个vector,元素类型为int,插入10 个随机数,使用sort 按升序排序,输出每个元素的值,再按降叙排序,输出每个元素的值。练习用find 查找元素。用min 和max 找出容器中的小元素个大元素,并输出。 源代码: #include #include #include #include #include using namespace std; vector myV; bool sortup(int v1,int v2) { return v1::iterator it1; for (it1=myV.begin();it1!=myV.end();it1++) { cout<<(*it1)<

软件设计思路

软件设计思路 作者余建铮 时间2009-12-29 文档修订记录

版本修订人修订时间备注1.0.0 余建铮2009-12-29 初始内容

内容目录 前言 (4) 实体数据工具(EDTools) (5) 界面设计工具(UITools) (7) 工作流设计工具(WFTools) (8) 通用框架 (9)

前言 首先,我在这里先对大家表示一下歉意,毕竟是隔了这么久才来写这份软件设计思路了。因为自己对新技术的掌握不是很熟练,从中也浪费了挺多的时间了。现在,我先对这个通用软件的技术体现做一个简单的介绍。 界面部分与报表部分,任然是使用WPF的XAML。而在事件驱动上,还是使用IronPython了,目前暂时实体了一个XAML的事件与动态语言的配合实现,但对于复杂的XAML,如ValueConveter,ScriptExpresion,Command,Binding等,暂时还没有解决办法;而工作流方面,仍在考虑之中,因为这部分需要对微软件自身的Workflow要再去了解了;而数据映射层,放弃了原先考虑的https://www.docsj.com/doc/7b209055.html, Entity Framework 4.0,因为这个框架必须是在Sql Server 2005 以上的版本才可以使用了,而且仅限于Sql Server ,这个对于我们原先的三个数据库Access,MySql,SqlServer2000 + SP4目标产生在了很大的变化,而NHibernate 2.0 在分布式程序上没有办法实现,而且它也不利于产生动态实体了。所以出于种种原因的考虑,打算自己做一个实体框架了,来应对通用软件的实现了。 基于通用型软件的考虑,我将软件实现分三个小工具来帮助实现,分别是实体数据工具,工作流设计工具,程序界面与动态语言工具。以下是对三个小工具的设计想法,以及一个通用框架的介绍。 而代码库项目内容的介绍,由于目前还是处于试开发阶段,还没有一个完整性,修改的可能性还是很大的,所以暂时没有办法提供开发说明。 代码库https://https://www.docsj.com/doc/7b209055.html,/svn,使用SVN进行下载。

教学设计 程序设计的步骤和方法

第一课程序设计的步骤和方法 一、教学分析 本课选择浙江省教育出版社宁波市版教材九年级上第一课,程序设计是一项严谨的工作,需要将生活实例转化成计算机能执行的程序,中间有若干环节。本课意图在于让学生了解程序设计的一般步骤,理解程序设计的方法,养成良好的编程习惯。 二、教学目标 知识与技能目标: 1.了解程序设计的一般步骤。 2.理解程序设计的方法。 3.能用自然语言叙述两变量值交换过程。 4、掌握两个变量值交换方法。 5、掌握从生活实例到构建数学模型的一般方法。 过程与方法:在小组合作以及学生亲身实验体验的过程中,不断发现问题和解决问题来掌握构建数学模型和算法的方法。 情感态度与价值观目标:通过小组合作,培养学生协作能力;通过生活实例构建合理的数学模型,培养学生严谨类推的逻辑思维能力。 三、重难点及分析 重点:掌握程序设计的一般步骤。 难点:理解并掌握两变量交换的算法;能够将实例转换为具体算法。 分析: 程序设计具有严密的逻辑性,程序最终为解决实际生活中的问题,在现实问题和程序设计之间需要将日常生活复杂问题简化,构建合理的数学模型,这是程序设计的前提。程序的“按部就班”和现实生活中的问题解决方式存在一定的差异,因此学生理解程序设计的一般过程,这是本课的重点。 交换两个变量值是理解程序设计方法的经典算法。通过实物模拟交换过程,有利于学生初步建立程序设计变量交换的思维雏形。然后再用生活实例比较身高排序,将两变量具体进行应用表现,让学生掌握分析实例的能力,然后将其转换为具体的程序算法,所以将掌握两变量交换的算法作为本节课教学难点。

四、学情分析 本班学生是丹城二中206学生,跟他们的任课教师接触之后,了解这是一帮活泼同时又好动的学生,控制的好能够将课堂气氛调动的很好,所以我改变以往的严肃的教态,本节课以鼓励为主,让学生树立信心,用学生对自己鼓掌的方法,拉近与学生的距离,因为这是九年级的第一课,学生也没有具体的程序基础,所以这节课讲解的程序是最容易最经典的,让学生浅显易懂,以及尽量用幽默的语句,增加教师的亲和力,使课堂气氛活跃。 五、教学过程 环节一“小组讨论,引入课题” 教师:今天我们来学习《程序设计的步骤和方法》,在这之前,我们来当一回专家,讨论下问题!首先大家给自己鼓励把掌声献给自己,等会踊跃发言。 学生:一片掌声 教师:我们来讨论“蛋炒饭的制作过程、洗衣服的制作过程,两个杯中球的位置互换”(PPT中逐一展示) 学生:对于问题非常感兴趣,发言的学生很多,踊跃发表的自己的高论“如何制作蛋炒饭、洗衣服的步骤” 教师:接下来,我们讨论两个杯中的球,如何互换位置,大家前后桌为一组相互讨论下,用语言表述调换的过程。组长安排组员发言,时间为3分钟。 教学意图:教师通过掌声和赞美来活跃课堂气氛,因为初次接触学生彼此之间存在距离感,这个措施拉近了师生关系,同时也很好把握了课堂的气氛,学生回答问题的同时,教师需要进行适当的引导让学生知道做事情需要严谨的步骤和方法,同时引出实验对象,进行小组合作讨论(5-6为一组,事先确定好小组长) 环节二实验操作,讲解两变量值的交换 教学意图:突出本节课的教学重点,理解程序设计的一般步骤,程序设计的六个步骤贯穿于环节二中,上完之后由学生再来总结程序设计的六个步骤。 教师:请学生上台演示操作(讲解、操作都是由学生自主上台完成,体 现学生上课的主体地位,教师要作为适当的引导) 任务一:通过实验操作,口述操作过程

程序设计的方法

程序设计的方法 1.模块化: (1) 把一个较大的程序划分为若干子程序,每一个子程序解决一个总是独立成为一个模块; (2) 每一个模块又可继续划分为更小的子模块; (3) 程序具有一种层次结构。 注:运用这种编程方法,考虑问题必须先进行整体分析,避免边写边想。 2.自顶向下: (1) 先设计第一层(即:顶层),然后步步深入,逐层细分,逐步求精,直到整个问题可用程序设计语言明确地描述出来为止。 (2) 步骤:首先对问题进行仔细分析,确定其输入、输出数据,写出程序运行的主要过程和任务;然后从大的功能方面把一个问题的解决过程分成几个问题,每个子问题形成一个模块。 (3) 特点:先整体后局部,先抽象后具体。 3.自底向上: (1) 即先设计底层,最后设计顶层; (2) 优点:由表及里、由浅入深地解决问题; (3) 不足:在逐步细化的过程中可能发现原来的分解细化不够完善; (4) 注意:该方法主要用于修改、优化或扩充一个程序。 4.例子:求1到n之间的素数。 解:要求1到n之间的素数,程序要做的事就是从1开始依次找,判断是否是素数,是则打印出来,否则继续往下找,直到n为止。于是初步设想成: begin read(n); number:=2; while number〈n do begin if number是一个素数 then write(number); number取下一个值; end end. 第二步:细化“number是一个素数”及“number取下一个值”。 (1) 细化“number是一个素数”: “number是一个素数”这是一个布尔值,当number是一个素数时为true,否则为false。细化如下: k:=2; lim:=number-1; repeat if nubmer能被k整除 then

相关文档