最新六年级下册数学自行车里的数学教学讲义ppt课件
加入VIP免费下载

最新六年级下册数学自行车里的数学教学讲义ppt课件

ID:1007127

大小:541.5 KB

页数:38页

时间:2022-03-22

加入VIP免费下载
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天资源网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:403074932
资料简介
六年级下册数学自行车里的数学 同学们,你们都认识自行车了吧,你认识的自行车有哪些种类呢?普通自行车、变速自行车、电动自行车…… 一、研究普通自行车的速度与内在结构的关系 4.讨论:前齿轮转一圈,后齿轮转几圈?前齿轮转的圈数×前齿轮的齿数=后齿轮转的圈数×后齿轮的齿数前齿轮的齿数后齿轮的齿数也就是前齿轮转一圈,后齿轮转圈数= 5.蹬一圈,自行车走的距离计算公式:车轮周长×后轮转动的圈数车轮周长×前齿轮的齿数后齿轮的齿数 蹬一圈,能走多远?练习: 小明家距离学校大约500米,从家到学校至少要蹬多少圈? 二、研究变速自行车能组合出多少种速度? 我能变化出多少速度? 前齿轮齿数:4840后齿轮齿数:282420181614蹬一圈,哪种组合走得最远?如果有一种变速自行车的(有如下数据),这种自行车能变出多少种速度呢? 思考题:自行车运动员在进行公路赛的时候,有两段特殊的路段:请你为运动员在不同的路况下,选择前后齿轮。顺风路段爬坡路段一种变速自行车有2个前齿轮,分别有46和38个齿,有4个后齿轮,分别有20、16、14、12个齿,车轮的直径66cm 第10章目标程序运行时的存储组织学习目标:掌握:参数传递的几种方式理解:静态存储分配、栈式动态存储分配、堆式动态存储分配的基本思想 目标程序运行时的存储组织存储分配是在运行阶段进行的;但编译程序在编译阶段要为其设计好存储组织形式,并将这种组织形式通过生成的目标代码体现出来;运行阶段,随着目标代码的运行,数据的存储组织形式便得以实现。 目标程序运行时的存储组织要解决的问题:把静态的源程序与程序运行时的动态活动联系起来,即运行中的程序信息是如何进行存储和访问的。在程序执行过程中,程序中数据的存取是通过对应的存储单元来进行的存储组织就是要在编译阶段为源程序中出现的用户定义的变量与常量、临时工作单元、过程或函数调用时需要的连接单元与返回地址等分配其在运行阶段的存储空间 10.1运行时的存储空间结构10.2运行时的存储空间分配10.3参数传递 10.1运行时的存储空间结构当程序运行时,存储区的内容包括:目标代码目标代码的大小在编译时可以静态确定,因此可以把它放在静态确定的区域;目标代码运行时的数据空间数据空间包括:用户定义的各种类型的数据对象;临时工作单元;输入/输出缓冲区等数据空间有三种组织形式:静态数据区、栈区和堆区 目标代码区静态数据区栈区堆区目标代码区(code);静态数据区(staticdata):用于存放编译时能确定所占用空间的数据,如全局变量和静态变量堆栈区(stackandheap):用于存放编译时不能确定所占用空间的数据,如可变数据以及管理过程活动的控制信息运行时的存储空间结构如下:自由空间 10.2运行时的存储空间分配影响分配策略的因素:源语言的结构特点源语言的数据类型源语言中决定名字作用域的规则编译器具体实现时,采用如下三种分配策略之一或三种的混合形式。这三种方式是:静态存储分配栈式动态存储分配堆式动态存储分配 10.2.1静态存储分配指在编译时对数据对象分配固定的存储位置,运行时始终不变。即一旦存储空间的某个位置分配给了某个数据名,则在目标程序的整个运行过程中,此位置(地址)就属于该数据名。由静态存储分配产生的数据区称为静态数据区。静态存储分配适用于不允许递归过程或递归调用,不允许可变体积的数据结构的语言静态存储分配的特点:简单、易于实现例:FORTRAN语言,它所有的数据都属于这一类。 例:FORTRAN程序主程序段ProgramCNSUME……子程序段CharacterfunctionPRDUCE()……PRDUCE的数据区CNSUME的数据区PRDUCE的目标代码CNSUME的目标代码代码区静态数据区 10.2.2动态存储分配指在运行阶段动态地为源程序中的数据对象分配存储位置实行动态存储分配的语言的特点:允许递归过程允许可变数据结构(可变数组或记录等)允许用户自由申请和释放空间这种程序在编译时无法确定运行时所需数据空间的大小,需待程序运行时动态确定有两种动态存储分配方式:栈式(stack)、堆式(heap)。 10.2.3栈式动态存储分配在数据空间中开辟一个栈区,每当调用一个过程时,它所需要的数据空间就分配在栈顶,每当过程工作结束时就释放这部分空间。空间的使用符合先借后还的原则。特点:先借后还,管理简单,空间使用效率高栈式动态存储分配适合于PASCAL、C等典型过程式语言。 Programmain;全局变量定义;ProcedureR;…End(R);ProcedureQ;…End(Q);主程序执行体End.(main)若主程序调用Q,Q递归调用自己,在Q第二次进入运行后的存储结构为:Q的数据区Q的数据区主程序全局数据区代码区栈区 10.2.4堆式动态存储分配在数据空间中开辟一片连续的存储区(通常叫做堆),每当需要时就从这片空间借用一块,不用时再退还。借用与归还未必服从“先借后还”的原则。堆式动态存储分配适合于用户可以自由申请和归还数据空间的语言,如C++。特点:适用范围广,容易出现碎片。如何充分利用空间是个难题。 作为存储分配组织的一个原则,能在编译时完成的存储分配尽量采用静态分配方案,避免目标程序中携带许多用于存储分配的指令,以提高目标代码的效率。 10.3参数传递过程(函数)是结构化程序设计的主要手段,同时也是节省程序代码和扩充语言能力的主要途径。当一个过程调用其他过程时,调用与被调用之间的通信或者通过全局量,或者由参数传递。掌握编译器使用的参数传递的方法很重要,它们直接影响程序运行的结果。 过程定义procedureSWAP(n,m:real);varj:real;beginj:=n;n:=m;m:=jend;参数传递的例子:主程序i:=5;k[i]:=6;SWAP(i,k[i]);过程调用… 1.参数参数过程定义中的参数称为形式参数,简称形参。过程调用中的参数称为实在参数,简称实参。实参可以是变量、常量或较复杂的表达式,应与相应的形参在性质上相容。参数传递常用的三种途径:传值(callbyvalue),也称值调用传地址(callbyreference),也称引用调用传名(callbyname),也称“换名” 2.传值将实参的值计算出来,然后把它传给被调过程传值的实现:1.在被调过程的数据空间中为每个形参开辟一个形式单元(用以存放相应的实参值)。2.调用过程计算实参的值,并将其值放在对应的形式单元中。3.被调用过程执行时,每当访问(引用或赋值)形参时都处理成对形式单元的直接访问。特点:对形式参数的任何运算不影响调用过程中的实参的值 例过程定义procedureSWAP(n,m:real);varj:real;beginj:=n;n:=m;m:=jend;主程序i:=5;k[i]:=6;SWAP(i,k[i]);过程调用过程调用时,有(假设i的地址为add_i)调用者数据区add_iadd_K[5]65执行了语句”j:=n;n:=m;m:=j”后调用者数据区add_iadd_K[5]65结果:i=5,k[5]=6不变,未交换被调用者数据区add_nadd_m65add_j被调用者数据区add_nadd_m556add_j 3.传地址将指向实参存储位置的指针传给被调用过程传地址的实现:1.在被调过程的数据空间中为每个形参开辟一个形式单元(用以存放相应实参的地址)。2.调用过程将实参的地址放在对应的形式单元中。若实参是一个表达式(包括常数),例如a+b或2,先对表达式求值,并将值存入某一位置,然后将该位置的地址放在形式单元中3.被调用过程执行时,每当访问(引用或赋值)形参时都处理成对形式单元的间接访问。特点:对形式参数的运算影响调用过程中的实参的值 例过程定义procedureSWAP(n,m:real);varj:real;beginj:=n;n:=m;m:=jend;主程序i:=5;k[i]:=6;SWAP(i,k[i]);过程调用过程调用时,有(假设i的地址为add_i)调用者数据区add_iadd_K[5]65执行了语句”j:=n;n:=m;m:=j”后调用者数据区add_iadd_K[5]56结果:i=6,k[5]=5正确交换被调用者数据区add_nadd_madd_k[5]add_iadd_j被调用者数据区add_nadd_m5add_k[5]add_iadd_j 4.传名过程调用的作用相当于把被调用段的过程体抄到调用出现的位置,但把其中形式参数名换成相应的实在参数名。传名的实现:1.在被调过程的数据空间中为每个形参开辟一个形式单元(用以存放相应实参子程序的入口地址)。2.为每个实参设置一个计算实参地址和值的子程序(称为参数子程序),并将其入口地址放在对应的形式单元中。3.被调用过程执行时,每当访问(引用或赋值)形参时就按实参子程序的入口地址调用相应的参数子程序计算出当时实参的值(供引用)或地址(供赋值)。 例过程定义procedureSWAP(n,m:real);varj:real;beginj:=n;n:=m;m:=jend;主程序i:=5;k[i]:=6;SWAP(i,k[i]);过程调用…传名的结果:相当于把SWAP(i,k[i])语句换成:j=i=5i=k[5]=6k[6]=j=5结果:i=6;k[6]=5;k[5]=6。i与k[6]作了交换。j:=i;i:=k[i];k[i]:=j; 本章小结:运行时内存的划分:代码区、静态数据区、栈、堆;存储分配策略:静态分配、堆分配、栈分配参数传递的实现:如何进行实参与行参的结合;如何在代码中实现对参数的正确存取。

10000+的老师在这里下载备课资料