大shell 整数运算算的程序设计中初始值是怎么保存的

C++中如何定义及初始化一维数组?了解一维数组在内存中的存放状态及占用空间的大小?
发布日期: 11:19
C++一维数组
C++内存存放及占用空间
本章我们主要学习C++中如何定义及初始化一维数组?了解一维数组在内存中的存放状态及占用空间的大小?下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
一、一维数组& & & 数组是一些按序排列的同类数据元素的集合, 数组的用途可以暂时理解为用来一次定义大量变量, 例如我们要存放100个int型的整数, 如果我们一个个声明就需要定义100个int型的变量, 例如:& & int a1, b1, c1, d1, e1, f1, g1, ... ;如此, 这样是十分复杂且不符合实际的, 这时我们就需要借助一维数组来帮忙, 定义一个能够放下100个int型整数的数组:& & int a[100] ;这样就相当于完成了100个int型变量的定义, 确实很方便, 那么我们如何使用它呢? 我们可以这样认为, 定义了一个int a[100]型的数组就相当于定义了:& & int a[0], a[1], a[2], a[3], ..., a[99] ;这时只需把a[0]、a[1]他们当做一个普通的变量名即可, 例如对其中的第一个数a[0], a[1]进行赋值操作:& & a[0] = 10 ;& & a[1] = 20 ;代码演示:#include&iostream&int main(){& & int a[100] ;& & a[0] = 10 ;& & a[1] = 20 ;& & a[99] = 30 ;& & cout&& &a[0] = & && a[0] &&& & cout&& &a[1] = & && a[1] &&& & cout&& &a[99] = & && a[99] &&& & return 0 ;}输出如下:a[0] = 10a[1] = 20a[99] = 30Process returned 0 (0x0) & execution time : 0.047 sPress any key to continue.& & & 可以看出, 定义了一个 int a[100] ; 那么从 a[0] 一直到 a[99] 都可以用来当做一个普通的变量名使用, 其中 中括号 [] 之间的数称为数组的下标, 需要注意的是, 定义 a[100] 的一维数组他的下标范围是 0-99, 因为下标是从0开始的, 不是从1开始, 从0开始到99正好是一百个数, 也就是说如果定义一个大小为100的一维数组 a[100] , 那么它能够使用的下标范围是 0 - 99, 如果使用时下标不在 0-99 这个范围内就会发生不可预知的一些错误, 称为 下标越界 , 当下标越界时编译器是不会报错的, 但是运行时会发生严重的错误, 所以一定要避免下标越界这种错误的发生。1&. 一维数组的定义:& & & 在上面的示例中已经定义了一个int型的数组, 数组的类型不但可以是int型, 他还可以是 unsigned int型、long int型、float型、double型等基本数据类型, 也可以是以后我们将会学习的自定义的数据类型, 一旦声明了该数组的数据类型, 那么该数组中的所有元素都是声明时的数据类型, 例如:& & & & & & int a[100] ; & & & &  //从 a[0] - a[99] 都是int型数据& & & & & & float b[100] ; & & & & //从 b[0] - b[99] 都是float型数据& & & & & & double c[100] ; & & & &//从 c[0] - c[99] 都是double型数据数组定义的一般格式:数据类型 数组名[元素个数] ;元素个数的一般声明方式:①. 元素个数的定义可以直接指定一个整数值, 比如 int a[10], b[20] ; 这里的 10、20就是我们直接指定的该数组的大小(也称为长度), 还可以包含些运算符来定义数组的大小, 如:& & int a[10*6] ;& & 这样就说明该数组的长度为60。②. 元素个数还可以通过字符常量进行定义, 看一段代码:  #define N 10  int main()  {& &   int a[N] ;& &   return 0 ;  }& & & 在上面的代码中我们定义了一个一维数组a, 并且指定了它的大小(长度)为10, 注意 #define N 10 这行代码, 这句的意思就表示将字符 N 定义为 常量数值10, 在下面的代码中, 出现 N 的地方就意味着将用数值10进行代替, 所以 int a[N] ;就相当于 int a[10] ;。③. 在介绍这种声明数组元素个数之前, 需要知道的是, 这种定义方式不适合所有的编译器, 只有支持 C99 标准的编译器才支持这种定义方式, 否则在编译时会报错, 这种声明方式就是:使用 一个值为整数的变量 去声明一个数组的大小, 例如:& & int n = 100 ;& & float a[n] ; & & & &//定义一个名为a, 大小为100的float型数组2&. 一维数组的初始化:& &数组的初始化是指在定义数组时, 同时对数组中的元素进行赋值的方法称为数组的初始化。& &初始化举例:& &int a[5] = { 1, 2, 3, 4, 5 } ;& &这样就是在定义时并且对数组进行初始化了, 其中 a[0]的中的值为1, a[1]中的值为2, ... a[4]中的值为5, 我们声明了一个长度为5的数组a, 并且提供了5个初始值在大括号内, 中间用逗号隔开, 像这样的方式就是对数组的中的元素个数全部全部初始化。 & && &还可以对一个数组中的部分元素进行初始化:& &int a[5] = { 1, 2, 3 } ;& &这样是只对数组的前三个元素, a[0]、a[1]、a[2]进行初始化, 没有初始化到的部分默认以0填充, 此时 a[3]、a[4]中的值就是0。数组初始化的一般格式:& &①. 形式一:& & &数据类型 数组名[元素个数] = { 值1, 值2, 值3, ..., 值n } ;& & &对于这种形式, 没有初始化到的部分将被赋上默认值0。& &②. 形式二:& & &数据类型 数组名[] = { 值1, 值2, 值3, ..., 值n } ;& & &这种形式省略了数组元素个数的声明, 编译器会根据后面初始值的个数自动计算数组的长度, 例如:& & & & & int a[] = { 1, 2, 3, 4, 5 } ;& & &就相当于声明一个数组a, 其长度为5, 并进行初始化。可以看出, 这种初始化的方式也可以用来声明数组元素的个数。& & &需要注意的是, 如果不对数组进行任何初始化操作, 仅定义一个数组, 那么数组中这些元素的值是不确定的, 是系统中随机的一个值。 & & &&3&. 一维数组的使用:& &数组使用时需要指定下标的值, 一维数组的一般使用形式:& &数组名[下标]& &例如:& & & & & & int a[10] = {} ; & & & //定义并全部初始化为0& & & & & & int i = 3 ; & & & &  //定义一个普通整形变量, 初始值为3& & & & & & a[1] = 10 ; & & & &  //将数组a[1]赋值为10& & & & & & a[1+1] = 20 ; & &   &//将数组a[2]赋值为20& & & & & & a[i] = 30 ; & & & &  //将数组a[3]赋值为30& & & 下标必须是一个整数, 可以是常量、变量、表达式, 例如 a[1]、a[i]、a[i+1]这样的使用都是合法的。由于编译器不做下标的越界检查, 所以必须要注意下标的越界问题, 避免下标越界这样的错误发生。4&. 一维数组使用举例:& &输入5个数并逆序输出& &输入: 15 13 11 8 26& &输出: 26 8 11 13 15& &输入时每个数中间用空格隔开。代码:  #include&iostream&    int main()  {& &   int a[5] ; &//定义一个元素个数为5的数组& &    & & //用于控制for循环& &   cout&& &Please input 5 numbers:& ; &//提示输入5个数& &   for( i = 0; i & 5; i++ ) & &//输入& & & &   cin && a[i] ;& &   for( i = 4; i &=0; i-- ) & &//控制下标从4到0逆序输出& & & &   cout && a[i] &&& & ;& &   return 0 ;  }二、进一步理解1&. 数组在内存中所占的空间大小& & & 我们已经知道, 一个int型元素所占的内存为4字节(以较新的GCC编译器为例), 那么如果定义一个 int a[10] ;这样的数组在内存中将会占用多大的内存呢?可以实际测量一下, 使用sizeof运算符,& & #include&iostream&& & & & int main()& &{& & & &int a[10] ;& & & &cout&&sizeof(a)&&& & & &return 0 ;& &}& & & 输出的结果为40, 也就代表是40个字节, 一个int型为4个字节, 数组的大小是10, 4 * 10正好是40, 如果不确定还可以从a[0]到a[9]一个个测量其占用的存储单元大小, 然后相加, 这里就不再贴出代码了。总结下就是:数组所占的内存单元大小 = 数组数据类型的大小 * 元素个数例如 double b[10] ;所占的内存大小就是 一个double型数据大小8 * 元素个数 10, 即80个字节。2&. 一维数组在内存中的存放状态& & & 一维数组在内存中实际上是一段连续的内存单元, 当定义好一个数组时, 一段连续的内存单元就被开辟出来用于存放数组中元素的值, 假如我们定义一个数组int a[10], 那么它在内存中的情况可以想象成如图所示的状态:& & & 可以看到, 数组中的每个元素实际上都有一个自己的地址, 图中的这些元素所对应的地址实际上全部都是为了方便表示而假设的, 数组在真实的运行中所使用的地址是根据当前系统的内存状态而定, 所以说即时运行同一个程序, 每次运行时数组所使用的内存单元地址也极有可能不同。& & & 从图中还可以看到一点, 从a[0]到a[9]的内存地址不是 、1002... 这样连续的方式进行排列的, 而是 、1008...这样每隔4个数出现一个, 这样的原因是因为一个int型是4个字节, 而一个存储单元的大小为一字节, 所以一个int型数据就需要4个存储单元, 也就是4个字节, 这里用一个方格表示一个元素是为了能够直观的进行表示。
(window.slotbydup = window.slotbydup || []).push({
id: '1063561',
container: s,
size: '230,230',
display: 'inlay-fix'
C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!
本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。
免责声明:以上教程信息由会员自行搜集、整理、发布,内容的真实性、准确性和合法性由发布会员负责。站长学院对此不承担任何责任。第1节 《程序与程序设计》教学设计
您现在的位置:&&>>&&>>&&>>&&>>&正文
第1节 《程序与程序设计》教学设计
作者:佚名 教案来源:网络 点击数: &&&
第1节&《程序与程序设计》教学设计
文章 来源莲山课件 ww w.5 Y
第1节 《程序与程序设计》设计
一、学习者分析
对于初二的学生,经过第一册第一章的学习,对信息技术课程的学习已经形成了习惯,熟悉常见的应用软件和常规的环境,为进一步学习计算机程序设计打下了一定的基础。但由于程序设计本身的教学内容条理性、实践性、综合性强、需要学习者有较强的动手能力、逻辑思维能力并掌握程序设计的语言、熟悉问题的相关的背景知识,因此,就一般学生而言,学习的难度仍然很大,教师的引导、启发、点拨作用尤其重要。
二、教材内容分析
1、本节的主要内容及其在本章的地位:本节是本章的入门,引起学生的学习兴趣是关键,必须通过本节的学习,激发学生的学习兴趣,为进一步学习程序设计,了解程序打下基础。
2、教学重点难点
教学重点:程序作用及学习程序设计的意义和方法。
教学难点:程序程序的概念;如何学习程序设计。
3、课时安排:一课时
三、教学目标
1、& 知识与技能
(1)&&&&&&&& 了解程序的概念及程序在计算机中的作用。
(2)&&&&&&&& 初步了解学习程序设计的意义和方法。
(3)&&&&&&&& 了解程序设计语言的种类及主要特点。
2、&&& 过程与方法
(1)&&&&&&&& 通过对游戏程序的运行初步体验程序在计算机中的作用。
(2)&&&&&&&& 通过观察由于修改程序的部分参数而引起程序运行结果的变化,感受程序解决问题的一般过程与方法。
3、情感态度价值观
& 运行游戏程序的运行中激发学生学习程序知识的兴趣,为初步学习程序设计打下基础。
四、教学理念和教学方法
程序的概念与计算机程序设计对于初中的学生来讲比较抽象,本节安排的学习内容较小,只要是让学生通过直观的体验,引导学生了解认识什么是计算机程序和程序设计对计算机应用的重要作用。在教学的过程中让学生初步了解冯.诺尔曼的“存储程序控制”思想。
五、教学过程设计
1、教学内容的组织与呈现方式:
先通过游戏程序为切入口,说明什么是计算机程序;然后通过修改程序,让学生在活动中初步熟悉VB程序设计环境,激发学生学习程序知识的兴趣。
2、教学过程:
教师运行游戏小程序,引起学生的兴趣,并打开程序的源代码说明编程并不很神秘。
试运行游戏小程序。(任务一)
激发学生的学习兴趣。
教师提出问题一:什么是程序?
日常所说的“程序”是指事情的先后顺序。
问题二:什么是计算机程序?
教师展示游戏程序部分的源代码语句,说明计算机程序是由人根据一定的需要编写好的一系列控制计算工作的命令。
观察游戏程序的源代码。思考什么是计算机程序?并回答老师提问。
说明程序设计跟我们生活密切相关。
教师展开windows 的程序,打开应用程序。用播放器播放一首歌,用画笔画一圆。说明冯.诺尔曼(John Von Neumann)的“程序”控制计算机的设计思想。
观察程序的应用。
让学生初步了解冯.诺尔曼的“存储程序控制”思想。
提出问题三:大家认识哪些计算机语言,是否知道程序设计语言的种类?
教师展示用不同程序语言显示大写字母“ A”:
(展示三种不同语言编写的程序)
机器语言:由0和1 组成的语言,机器能直接识别,但人很难记忆和识别。
汇编语言:采用英文缩写,比较容易记忆和识别。
高级语言:接近我们日常生活习惯,多为程序设计者使用。例如BASIC、C、Java等。
回答问题,体会机器语言、 汇编语言、& 高级语言等几种语言的特点。
让学生对几种程序设计语言有初步印象。
教师演示运行一个画圆的程序提出要求:留心观察计算机是如何实现画圆?
Private Sub Form_Click()
Circle (), r
试运行程序画一个圆,并观察源代码。(任务二)
学会运行一个程序,会打开源程序窗口修改程序的方法。
学生分组体验
进一步置疑:能否通过修改源代码,改变圆的半径,位置,线条颜色等?
Private Sub Form_Click()
FillColor = &HFFFF&(H0,Hcc,HFF等)
FillStyle = 0
r = ,500等)
Circle (), r
学生分组修改程序的颜色参数。使程序能画出黑色、大红、红三种不同颜色的圆。
(任务三)
让学生体会,修改程序一些参数,运行结果就会不一样。程序是由人来控制的。
程序:是人预先编写好的让计算工作的命令组合。
程序设计语言种类:机器语言 汇编语言& 高级语言 等,
程序是由人来编写。
3、教学评价:
评价标准设计:完成任务情况来评价教学效果,基本完成任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表设计:学生完成以下任务,填写知识掌握的自我评价。
知识技能和情感态度评价
程序设计很好玩。运行小游戏程序。
动动脑筋很简单。试运行程序画一个圆。
开扩思维,分组修改程序给圆上颜色。
4、教学资源:教学网络,游戏小程序,画圆小程序。
六、教学反思:
本节主要是引起学生学习程序的兴趣,消除学生学习程序的畏难情绪,在运行程序的过程中渗透熟悉程序的运行。学生通过一些简单参数的修改,程序运行就会有不同的效果。在教学过程中寓教于乐。
第2节 《初试程序设计》教学设计
一、学习者分析:
&& 通过第一节的学习,学生基本了解什么是程序,知道计算机的工作必须依赖于各种各样的“程序”。初步了解VB程序设计需要一定的语言环境。
二、教材内容分析
1、本节的主要内容及在本章中的地位:
本节是整章的操作基础,学生必须熟悉VB 的编程环境,并能熟练地操作。 2、教学重点、难点:&
重点:让学生明白程序的执行运行。
难点:VB程序设计的编程环境。
3、课时安排:一课时
三、教学目标
1.知识与技能
(1)了解VB的编程环境。
(2)学会在VB的编程环境中运行、修改、保存、退出程序。
2.过程与方法
&&通过几个小程序运行,初步学会在VB的编程环境中运行、保存程序的方法的基本操作。
3.情感态度价值观
能够通过修改、运行、体验程序,启迪学生的思维,激发学生的求知欲,培养学生的探究精神。
四、教学理念和方法
&& &运行一些有趣的小程序为切入口,熟悉VB的编程环境,并通过“画圆”和修改“画圆”程序简单例子,让学生在VB的编程环境中运行、保存程序的方法。
五、教学过程设计
1、教学内容的组织与呈现方式:
本节的知识是VB的编程环境,教师通过反复运行不同的程序段,把知识渗透到学生活动,使学生不断地熟悉编程环境。
2、教学过程:
在VB的环境中复习如何建立,运行,保存一个程序的。复习运行和保存程序
运行上一节课画出圆的程序(任务一)
回忆复习旧知识
教师演示程序运行过程列表框事件的选择:
1、在Form_Activate()下编写代码的效果
2、Form_Click()下编写代码的效果
3、Form_DblClick()下编写代码的效果
4、Form_Load()下编写代码的效果。
Private Sub Form_Activate()
Print "我还没有动呢!"
Private Sub Form_Click()
Print "我单击了!"
Private Sub Form_DblClick()
Cls:Print "我双击了!"
Private Sub Form_Load()
Print "我不见了!"
学生观察不同程序代码段运行的结果有何不同。
通过不同的程序段运行,进一步熟悉VB的环境。
教师巡视,并个别辅导。
修改程序,体验在不同的方法下画一个圆的执行效果。(任务二)
Private Sub Form_Click()
Circle (), r
Private Sub Form_DblClick()
Circle (), r
Print "我双击了!"
进一步熟悉VB程序设计的环境。
提出问题:如何在不同的触发条件下(单击鼠标和双击鼠标)画一个半径为500和&&&&&&&&&&&&&&& 1000的圆?
学生试修改、运行、保存程序。(任务三)
更进一步熟悉VB程序设计的环境。
教师通过巡视,把部分学生修改的结果进行点评,指出典型的错误。
思考问题,修正错误。
强化知识重点难点。
本节我们学习了如何运行和保存程序并知道把一些实际问题可以通过程序代码,事件发生等转化为计算机问题来完成,并且非常清楚的知道代码编写在不同列表框事件是不一样的。
思考问题。
让学生形成知识。
3、教学评价:
评价标准设计:完成基本任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表设计:学生完成如下实践并填写课堂自评。
知识技能和情感态度评价
运行上一节课画出圆的程序
Private Sub Form_Click()
Circle (), r
体验在不同的方法下画一个圆的执行效果。
Private Sub Form_Click()
Circle (), r
Private Sub Form_DblClick()
Circle (), r
Print "我双击了!"
学生修改程序并运行,保存:
Private Sub Form_Click()
Circle (), r
Private Sub Form_DblClick()
Circle (), r
Cls: Print "我双击了!"
&4、教学资源:教学网络、预先写好的画圆小程序。
六、教学反思:初中信息技术《程序设计初步》课程设置定位是为让学生了解和熟悉VB程序设计环境,以及在该环境中创建程序的一般步骤和方法,通过学习,学生能够通过比较、观察、实践、分析、修改、读懂简单的程序即可,并不要求学生编写程序。因此教师的教学重点应该放在从简单问题出发,运用程序设计解决实际问题,熟悉编程环境和体验程序设计思想的培养上。
第3节《认识程序的基本要素》教学设计
一、学习者分析
学生在此之前,已初步了解程序的作用、对VB程序设计有了简单的认识;但对VB程序设计语言语法规则了解甚少,对程序代码中出现的各种要素比较陌生,因此对程序代码本身所要表达的意思还不太清楚,对程序要完成的功能也不太明白。但此时学生的学习积极性比较高,也很愿意动手尝试。
二、教材内容分析
1.本节的主要内容及在本章中的地位
本节是《VB程序设计初步》中的第三节,主要介绍了VB程序设计语言中的常量与变量、表达式等程序设计基本要素、常用的数据类型以及赋值语句、输出语句的格式和功能。
2.教学重点、难点
(1)常量、变量的概念和作用,变量的命名规则;
(2)运算符的识别和书写;算术表达式的书写及转换;
(3)赋值语句、输出语句的格式及功能。
(1)赋值号的理解;
(2)变量的命名规则;
(3)算术表达式的书写及转换。
3.课时安排:2课时。
三、教学目标
1.知识与技能
(1)了解常量、变量、表达式的含义和作用,了解赋值语句、输出语句的功能;
(2)熟悉变量的命名规则;
(3)学会算术表达式的书写及转换;
(4)熟悉赋值语句、输出语句的格式。
2.过程与方法
(1)培养学生从简单问题出发,运用程序设计解决实际问题的能力。
(2)通过比较、观察、分析和实践等手段让学生在做中学, 提高学生主动学习的意识和能力。
3.情感态度价值观
通过体验程序解决具体问题的思想方法,激发学生的求知欲,形成积极主动地学习和使用信息技术、参与信息活动的态度,培养学生的创新、探索精神。
四、教学理念和方法
由于本节课中所涉及到的内容都是程序设计语言中的基本要素,概念性的知识较多,因此结合程序实例来介绍,通过讲解、观察、比较、实践,帮助学生理解常量、变量和表达式的概念和作用,通过形成性练习,让学生熟练掌握算术表达式的书写及转换,通过对程序中的语句进行分析,让学生了解赋值语句、输出语句的格式和功能。通过上机实践让学生尝试如何根据实际情况修改程序,从中体会程序的作用和编写的一些要求。
课堂上采用以任务驱动式教学为主,演、讲、练相结合的教学方法。
&五、教学过程设计
1.教学内容的组织与呈现方式
本节课从简单的计算“圆的面积”的程序作为引入,通过分析程序中语句的组成,讲解常量、变量及表达式,通过不同的任务,让学生体会各个组成要素在程序中的作用,并从中慢慢理解并掌握程序设计的思路和方法。
2.教学过程
同学们经过上两周的学习,已初步接触过了VB程序,编写程序就好像我们写作文一样,每篇作文的组成都会有不同的词语、句子、段落,这是构成一篇作文的基本要素,而我们编写程序也一样,程序也是由一些基本要素所组成的,今天我们就来学习《程序的基本要素》
创设情境,引发学生学习的兴趣。
通过网络广播展示程序
下面我们一起来看一下这段程序:
Private Sub Form_Click()
& r = 1000
&&s = 3.14* r * r
& Print "圆的面积是:"; "平方厘米 "
同学们试一试,看这段程序到底有什么作用?
观看程序,并思考
通过简单的程序引入,使学生更易接受并理解
老师把程序发送到学生机,让学生上机体验程序的执行
老师巡堂指导,并解决个别学生的操作问题
上机运行程序,并总结程序的作用
学生自行体验程序的作用,增加感性认识
解释程序的组成
总结程序的作用:计算圆的面积
问:程序的组成?(有三行)
在程序里面每一行我们称它为一个“语句”,也就是说这个程序共有三行语句。我们首先要知道:每个程序都是由若干行语句所组成的。
听老师讲解,并作好相应的记录(划书)
明确相关概念
引出:语句的作用
但是大家看到,每一个语句的结构都不相同,意义也应该不相同,下面我们一起来分析一下。
“r = 1000”是什么意思?
思考,并回答老师的问题
新课学习:赋值语句
“r = 1000”这个语句,在程序里我们称为“赋值语句”。中间的“=”不是数学上的等号,是赋值号。
问:在这里把什么赋给什么?
作用:把赋值号右边的数值赋给左边的r( 有方向性,从右往左)
思考,并回答老师
通过设问,让学生认真思考,调动积极性
通过网络广播展示刚才的程序
问:在这个程序中还有哪个语句也是赋值语句呢?(s = 3.14 * r * r)
观察,并思考、回答问题
通过学生的观察、对比,启发学生的思维
新课学习:“常量”的概念
在这两个语句里,除了“=”外,还有什么组成?(r、1000、s、3.14 * r * r)
“1000”是什么?(圆的半径)
在计算的过程中,这个值会变化吗?
我们把在程序运行过程中始终固定不变的量称为“常量”
思考,并回答问题
新课学习:“表达式”的概念
看第2个语句,右边不是一个数,而是一个式子。这个式子在程序中有什么用?与数学上的一样吗?(意思一样,写法不同)有什么不同?(*号)。
数学上我们称它为公式或式子,在VB里面称为“表达式”,又因为它和我们数学上的式子很接近,所以我们给它一个更贴切的名字“算术表达式”。
“3.14 * r * r”就是一个算术表达式,“*”是它的算术运算符,在VB里面还有其它的运算符号与我们数学上面所学的不一样,这个内容我们下节课再来探讨。
通过对比,使学生加深对各种不同组成要素的理解
任务:计算半径为2000的圆,如何修改程序?计算半径是、5000的圆呢?
问:放在r里的值是否可以根据实际的需要赋给它不同的值呢?
上机试验,并进行总结,回答老师的提问
(若条件不允许,改为学生示范操作)
提高学生动手能力,并加深理解
新课学习:变量的概念
变量:是一个存储单元,在程序运行过程中可以取不同的值。(相当于一个碗,可盛放不同的东西)
问:程序中还有哪个是变量?(s)
通过比喻,方便学生理解
任务:计算圆的周长,如何修改程序?
老师巡堂指导,并解答学生上机操作中存在的问题
上机试验,并可让个别学生演示他们修改的程序
新课学习:变量名
看下面这段程序:
Private Sub Form_Click()
& r = 1000
& s = 2*3.14 * r
& Print "圆的周长是:"; s
问:程序有没有错?有什么不够好的地方?(周长一般用C表示)
问:变量是否可以换不同的名字?
思考、回答问题
通过与数学上的使用习惯,过渡到变量名,帮助学生理解
任务:尝试使用不同的变量名去试验程序
老师巡堂指导,并解答学生上机操作中存在的问题。
(指引学生分组去试验:用不同的变量名A、3A、面积、Sub等)
上机操作试验
(也可改为个别学生示范操作,或学生命名,老师示范)
帮助学生从错误中总结规律
新课学习:变量名的命名规则
问:变量是否可以任意定?
变量名命名规则:(课本 P33)
形成性练习:变量名的判断
老师讲解为什么有些不能用作变量名使用。
学生通过练习进一步明确变量名的命名要求
本节课我们所学的内容包括:赋值语句、常量、变量和算术表达式。
在书本上整理出所学的内容
帮助学生梳理知识结构
以“圆的面积”程序为例,简单介绍程序设计的思路
根据老师的提示进行思考
对所学知识进行提升
拓展练习:1、计算长方形的面积和周长;
2、超市购物结账
老师巡堂指导,并启发学生思路,解决学生操作中遇到的问题
上机操作练习
对知识的扩充和迁移
通过画圆程序引出:常量、变量、变量名、赋值语句的概念、意义等
思考、回答问题
温故而知新
新课学习:“运算符和表达式”
上节课我们曾经接触过这行赋值语句: S=3.14*r*r 问:这行语句有什么作用?赋值的过程是怎样的?右边的式子在VB里有个什么名字?(先计算右边算术表达式的值,然后把结果赋给左边的变量)
思考,并在老师的指引下回答问题
培养学生勤于动脑的习惯
老师讲解表达式的概念、分类等:
表达式――是由常量、变量、运算符、括号等按一定的语法规则组成的有意义的式子。
VB的表达式有:
算术表达式、字符表达式、关系表达式、逻辑表达式等几种。
算术表达式:
算术表达式是由+、-、*、/、^、MOD等算术运算符和数值型常量、变量、小括号等组成。算术表达式中参与运算的量是数值型的,其运算结果也是数值型的。
听讲并划书
明确相关的概念
观察下面的算术表达式,请大家说说与我们平常在数学上使用的表达式有些什么不同?(例:课本 P34 例题)
思考、并回答问题
通过对比,引起学生的注意
算术运算符
减、取负值
比较算术运算符: 注: 1、& 运算级别与数学上的一样,从高到低,同一级从左到右的顺序执行 2、& VB中所有括号都用小括号来表示
观察、思考,并在老师的引导下填充完成表格
通过完成表格,使学生能进一步明确各种算术运算符的含义及使用
形成性练习
下面请同学们完成 P37的练习3、4
思考并动笔完成相应的练习
巩固所学知识
老师提问学生并点评课堂练习
请个别学生写出他们的答案
调动学生学习的积极性,让他们主动参与
新课学习:“输出语句”
观察程序:
Private Sub Form_Click()
& r = 1000
& s = 3.14* r * r
& Print "圆的面积是:"; "平方厘米 "
&问:第四行语句有什么作用?(输出计算的结果)
思考,并回答问题
通过设问,引起学生注意
老师讲解:输出语句
(1)格式:print &表达式列表&
(2)作用:将&表达式列表&中的各项按指定的格式在屏幕上显示出来。
(3) &表达式列表&中可以是多个表达式,各表达式之间可用逗号(分区格式,每区14个字符位)“,”或分号(紧凑格式)“;”分隔。
(通过程序试验逗号和分号在程序中的不同的作用)
听课,并划书
明确相关概念
新课学习:“字符串常量”
从输出结果我们看到有些内容是原样输出的,而有些是输出对应的值。为什么?
(字符串常量:指用双引号括起来的字符。)
思考,并回答问题
通过对比、观察,让学生找出异同,帮助理解
新课学习:“数据的类型”
经过上面的学习,同学们基本上能读懂一个简单的程序,其实在我们现在所学习的程序设计中,主要是通过程序来处理各种各样的数据,这些数据在VB里也会分成不同的类型。 VB 提供了数值型、字符型、布尔型等基本的数据类型 表:课本 P33 表2-1
听课,并划书
明确相关概念
本节课我们主要学习的算术运算符和算术表达式的书写,以及输出语句和VB中的数据类型,这些内容在程序设计里都相当重要,请大家一定要熟练掌握。
整理书本的相应内容
&3.教学评价
A.完成相应的上机操作练习 B.形成性练习 (1) 区分以下哪些是正确的变量名: A3、半径、 SUB、 S_name、6F、P-A、圆2、*T &(2)课本P37的练习2、3、4
&六.教学反思
本节课的内容作为程序设计的入门,知识点多,概念性强,而且比较零散,所讲的内容对绝大部分学生来说都未曾接触过,因此在学习的时候有一定的难度。本课在教学中尝试结合了具体的程序例子,尽可能深入浅出地讲授程序的基本要素,让学生易于理解和接受。当然,本课的内容对学生来说只是一个入门,很多的知识点需要在以后的学习中不断地强化、巩固和提高,才能真正达到程序设计的要求。
第4节《顺序结构》教学设计
一、学习者分析:
&& &学生通过前几节的学习以及实践,对VB的编程环境以及程序设计的要素有了深刻的了解,但对程序的结构缺乏完整的分析和体会,本节通过实践,让学生了解顺序结构程序的特点。
二、教材内容分析
本节是本章的前几节知识小结,又是新知识的开始,故有承前启后的作用。
1、本节的主要内容及在本章中的地位
本节是程序结构的基础,起承前启后的作用。
2、教学重点、难点:&
重点:程序顺序结构的特点,流程图;常用函数含义。
难点:顺序结构程序流程图的画法;常用函数的书写和意义。
3、课时安排:一课时
三、教学目标
1.知识与技能
(1)了解顺序结构的程序的特点、流程图的书写。
(2)理解InputBox函数和常用函数的含义及其书写格式。
(3)理解程序的顺序结构。
2.过程与方法:
(1)通过学生的分组实验体会,让学生了解顺序程序结构的特点。
(2)通过演练结合让学生了解常用函数的意义。
3.情感态度价值观
通过分组实验培养学生的自主学习精神以及严谨的治学态度,培养学生仔细观察问题的能力。
四、教学理念和方法
&& &顺序程序结构的特点以及函数的含义应用,学生难以理解,通过分组实验以及阅读程序,运行程序,就可以让学生更好地领会、掌握本节的知识。
五、教学过程设计
1、教学内容的组织与呈现方式
&& 本节以学生分组体会不同的程序书写顺序,会得出不同的输出结果来突出顺序结构程序的特点。inputBox函数和其他函数的学习都是通过反复的试运行程序来加深理解。
2、教学过程
教学情景设置,程序运行根据不同的书写顺序,会有不同的结果。
提出问题:为什么改变程序中的语句,结果会不同?说明程序的执行顺序是从上到下的。
分组体验程序的运行(任务一)。
回答老师提出的问题。
突出程序的执行顺序
新课讲授(1)顺序结构
演示:改变程序的顺序,程序的运行结果不同,这种程序结构叫做顺序程序结构。例如:
(1)Private Sub Form_Click()
(2)Private Sub Form_Click()
Print “ 圆的面积:“;S
Circle (), r
结果如图(一)
(3)Private Sub Form_Click()
Circle (), r
Print “ 圆的面积:“;s
结果如图(二)
学生观察输出结果。
学生观察:程序不同的书写顺序,输出结果是不一样的,说明顺序结构的涵义。
新课讲授(2)函数学习
设置教学情景,引导学生理解inputBox函数有规定的格式。
说明:1、程序的顺序不同,执行结果不同。
2、inputBox函数有规定的格式。
3、inputBox函数输出的结果是文本格式。例如:x=inputBox(“ 输入一个数”,X),若输入01,输出也是01。
学生体验输入正确的和错误的格式,计算机的反应。(任务二)
让学生体会
inputBox函数有规定的格式。
新课讲授(3)学习其其他函数
解释其他的函数:绝对值函数ABS(x),开放根函数Sqr(x),取整函数Int(x),随即函数Rnd(x)等。
完成教师课堂提高练习,写出式子的值:(任务三)
abs(-9)+sqr(9)+int(9.9)+int(-9.9)+9mod3+9/3
熟悉常用函数
组织学生练习,并明确正确答案。
任务四:练习与提高:补充下列程序的运行结果:P41.思考2,3。
学会知识的应用
教师小结:我们要会根据程序的顺序结构补充程序。
3.教学评价:
评价标准:完成基本任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表:学生完成如下实践并填写课堂自评。
知识技能和情感态度评价
分组体验程序的运行结果。
print a,b& 结果:4,5
print a,b&&& 结果:3,4
print a,b&& 结果:4,4
print a,b&& 结果:4,4
学生体验正确和错误语句格式的输入:
(1) private sub Form_click()
inputBox(“输入圆的半径“),”半径“
print “圆的半径“; r
circle(),r
print “圆的面积“;s
&(2) private sub Form_click()
print “圆的半径“; r
circle(),r
print “圆的面积“; S
写出式子的结果:
abs(-9)+sqr(9)+int(9.9)+int(-9.9)+9mod3+9/3
补充下列程序的运行结果:P41.思考2,3。
4、教学资源:教师网络,投影仪。
六、教学反思:本节通过学生对程序执行的多次体验,让学生充分体现什么是顺序结构,实践才能出真知!
第5节《分支结构》教学设计
一、学习者分析
& &本节是在学习了程序的顺序结构的基础上学习的,学生对程序结构有一定认识,所以在这个基础上学习,学生可以上一种台阶。但是怎样表达实际问题的“条件”以及相应的选择是本节的一个难点。
二、教材内容分析
1、本节的主要内容及在本章中的地位
&& 本节是本章又一个基础,是经常使用的语句和程序结构之一,所以必须熟练掌握。
2、教学重点、难点:&
重点:分支语句的流程图,分支语句的执行过程以及条件语句的格式。
难点:分支语句的应用以及分支语句的格式。
3、课时安排:一课时
三、教学目标
1.知识与技能
(1)了解分支程序的结构,流程以及作用。
(2)知道条件语句的作用,初步掌握分支语句的格式。
(3)理解程序的分支结构。
2.过程与方法
(1)通过简单游戏程序的运行和流程思考,培养学生的思考逻辑分析能力。
(2)通过运行程序、分析程序、体验程序提高学生自主学习的能力。
3.情感态度价值观
& &通过体验程序,分析程序和修改程序,培养学生的合作精神和探究创新精神。
四、教学理念和方法
& &&本节是本章的又一个重点难点,分支的应用在程序设计中有非常广泛的应用。为此,必须熟练掌握,故采用情景设置,讲练结合,任务驱动等多种立体方式呈现。运用教师主导,学生主动,亲身体验,总结思考提高的教学策略。
五、教学过程设计
1、教学内容的组织与呈现方式
分支选择的概念,通过“密码游戏”的运行、分析来说明,然后反复体会、修改程序对分支语句的执行顺序、语句格式不断加深理解。
2、教学过程
教师通过日常生活的例子如:人生的十字路口的选择,玩游戏的攻略选择进行引入。
引起学生思考
引导学生体验密码程序的运行,初步了解分支语句的应用。
Private Sub Form_Click()
guess = InputBox("请输入一个整数密码:", "密码")
password = "123456"
If guess = password Then
Print "yes!your are win"
If guess && password Then
Print "again please!"
初步体验程序的执行(任务一)。
了解分支程序的执行顺序。
结合数学上数的绝对值,分析程序学生运行程序
x=inputbox(“请输入一个数”,”输入一个数”)
If x&=0 &Then
Print “你动动脑筋!正数的绝对值是它本身"
Print”y=”;x
Print "正确,你真聪明!负数的绝对值是它的相反数"
Print “y=”;-x
特别强调:我们实际问题的“条件”以及相应的选择,要根据具体问题具体解决,用到相关的数学知识,结合条件语句的含义来设置。
解释分支语句的格式和应用, 语句。
画出程序的执行顺序流程图。(任务二)
结合实际问题,体会分支语句的执行顺序。
辅导学生运行修改程序。
修改程序(任务三)
当R&2500和r&=100时输出“超出范围”:
inputBox(“输入圆的半径”,”半径” )
if r&2000 then
print”超出范围”
circle(),r
拓展学生思维
学生提高练习
巡视并辅导学生。
补充、修改调试运行程序P46.3. (任务四)
教师对本节所学知识进行小结,特别强调,实际问题的“条件”以及相应的选择的设置。
&3.教学评价:
评价标准设计:完成基本任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表设计:学生完成如下实践并填写课堂自评。
知识技能和情感态度评价
学生体验密码程序的执行。
画出流程图:
x=inputbox(“请输入一个数”,”输入一个数”)
If x&=0 &Then
Print “你动动脑筋!正数的绝对值是它本身"
Print”y=”;x
Print "正确,你真聪明!负数的绝对值是它的相反数"
Print “y=”;-x
修改程序,当R&2500和r&=100时输出“超出范围”:
inputBox(“输入圆的半径”,”半径” )
if r&2000 then
print”超出范围”
circle(),r
读程序和补充程序P46.3
&4、教学资源:网络教室,小程序。
六、教学反思:
&&&& 本节课,学生对分支结构的比较容易理解,但是对于分支的条件设置的认识不足,即不会写出条件和读懂程序。面对问题,学生不知如何下手,为此,我们必须在以后的学习中加强对学习知识的渗透和反复学习。
第6节《循环结构》教学设计
一、学习者分析
&&& 学生通过以上章节的学习,分化现象比较严重,有的学生对程序设计有浓厚的兴趣,而有的学生却有畏难情绪,而本节是整章的重点难点。为此,学习难度最大,必须消除学生的畏难情绪,循序渐进地学习。
二、教材内容分析
1、本节的主要内容及在本章中的地位
&&& 本节是本章的重点,难点,如果学生能够理解循环语句的含义,其他语句就很好理解了。
2、教学重点、难点:&
重点:循环语句的格式和应用。
难点:循环语句的执行过程。
3、课时安排:二课时
三、教学目标
1.知识与技能
(1)了解循环语句的作用,理解画同心圆的程序。
(2)掌握for/next语句的格式和执行过程。
(3)了解for/next循环语句的一些注意事项。
(4)初步理解程序的循环结构。
(5)掌握do循环语句的格式和执行过程。(选学)
2.过程与方法
&&通过分析画同心圆的程序,逐步掌握for/next循环语句的执行方式和应用以及书写格式、应用。体验计算机利用循环结构程序解决问题的方法。
3.情感态度价值观
& 通过教师的情景设置以及学生对程序的体验修改,克服学习过程中学生的畏难情绪,让学生在不断的探究和思考中培养学生的探索精神。
四、教学理念和方法
&& &本节采用任务驱动法,通过教师的情景设置,不断提高学习梯度,使学生在不知不觉中掌握知识。
五、教学过程设计
1、教学内容的组织与呈现方式
以顺序程序完成画同心圆和用循环语句画同心圆进行比较为引入,然后通过不断修改程序的初始值、终值、步长来体会循环语句的格式和应用。
2、教学过程
教师借助简单的画圆程序引入。提出问题一:
如何程序语句画一个圆心在点()半径为100cm的圆?
Private Sub Form_Click()
Circle (), r,RGB(255,60,60)
提出问题二:
如何画圆心在点()半径为200cm 的圆?
思考修改程序(任务一)
引起学生思考修改程序。
提出问题三:
如何画圆心在点()半径从100~1000的10个同心圆
Private Sub Form_Click()
Circle (), r
Circle (), r
Circle (), r
Circle (), r
Private Sub Form_Click()
For i=100 to 1000 step 100
Circle (),r
学生修改程(任务二)。
引起学生进一步思考。
教师对循环语句的进一步解释循环语句并动画显示循环过程。引导学生分析程序。
阅读程序段,指出循环变量、循环体、共循环了几次,并写出结果:
For i=10 to 4 step -3
Print “s=“; s
学生练习修改程序
组织学生分组试运行程序并提问:
循环变量,步长的设置有什么限制?
分组体验画出20个同心圆不同步长但达到同一效果的程序。(任务三)
加深对新知识的理解
教师归纳:
程序的运行结果是一样的。说明:步长可以是整数也可以是小数,可以是正数也可以是负数。
问题:如果步长为零,结果如何?
学生回答:如果步长为零,程序会陷入死循环。
情景设置,分层提高:
修改程序:画二十半径相同,y轴固定为1500,半径为1000的圆
Private Sub Form_Click()
For X = 100 To 1000 Step 50
& r = 1000
Circle (1000 + X, 1500), r
学生修改程序(提高任务四)
教师演示例题,使学生对知识的应用更熟练。
1、演示例题:
求1+2+3+4……+100的值?
2、提出问题:如何修改程序,求下列式子的值?
1+3+5+……99=?
学生上机练习(任务五、六):
1、1+3+5+……99=?
2、补充并调试程序P51,3,4
知识熟练提高
*(以下部分为选学内容,供选学用)
引导学生体验程序,引出Do While/ Loop的作用。
Private Sub Form_Click()
guess = InputBox("请输入一个整数密码:", "密码")
password = "123456"
If guess = password Then
Print "yes!your are win"
If guess && password Then
Print "again please!"
Private SubForm_Click()
Do While inputpassword && "123456"
inputpassword = InputBox(" 请输入密码,", " 输入密码")
Print "输入密码正确!"
学生体验比较程序的功能,并体会Do While/ Loop的含义。(任务七)
新课转折与知识渗透
解释Do While/ Loop意义:当〈条件〉成立,执行循环体,否则退出循环,执行loop下一个语句。
学生观察并思考
教师通过引导学生读程序,进一步学习知识。
读下列程序并写出结果:(任务八)
P51,1(3)(4)
引导学生对所学知识进行整理归纳。比较do while 与for/next 。
修改程序用两种循环求和(任务九)2+4+8+……+100=?
知识整理与提高
教师对循环语句的两种形式进行比较,并形成知识。说明:若知道循环次数,一般使用for/next循环;若不知道循环次数,用do while循环。
& 3.教学评价
评价标准设计:完成基本任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表设计:学生完成如下实践并填写课堂自评。
知识技能和情感态度评价
思考修改程序:如何画圆心在点()半径为200cm 的圆?
Private Sub Form_Click()
Circle (), r,RGB(255,60,60)
修改程序,画圆心在点()半径从100~1000的10个同心圆。
分组体验步长,初值,终值以及循环体的执行。
分组体验下列程序:
(一)程序一
Private Sub Form_Click()
For i=100 to 1000 step 50
& r& = r+500
Circle (),r
(二)程序二
Private Sub Form_Click()
For i=1000 to 100 step -50
&r& = r+500
Circle (),r
(三)程序三
Private Sub Form_Click()
For &i=1 to 10 step 0.5
& r& = r+1000
Circle (),r
(四)程序四
Private Sub Form_Click()
For i=1 to 20
& r& = r+1000
Circle (),r
提高任务四
修改程序,画二十个半径相同,y轴固定为1500,半径为1000的20个圆
提高任务五
修改程序求1+3+….+99= ?的值
提高任务六
补充并调试程序P51,3,4
体验密码程序(一)并比较
Private SubForm_Click()
Do While inputpassword && "123456"
inputpassword = InputBox(" 请输入密码,", " 输入密码")
Print "输入密码正确!"
写出程序的结果:P51,1(3)(4)
提高任务九
修改程序,用两种循环语句求2+4+8+…..+100=?
4、教学资源:网络教室,小程序。
六、教学反思:本节书是整章书最难解释的部分,即使部分学生暂时理解了,也都是模仿。很多学生很难建立循环语句执行的物理模型。
第7节& 《程序设计的基本方法》教学设计
一、学习者分析:
&通过整章的学习,学生对程序设计有一定的了解,对程序的结构种类,算法流程都熟悉了,本节通过实例来学习程序设计的一般步骤。
二、教材内容分析
1、本节的主要内容及在本章中的地位:知识的小结整理提升。
2、教学重点、难点:& 程序设计的算法。
重点:程序设计的步骤
难点:算法的实现
3、课时安排:一课时
三、教学目标
1.知识与技能
(1)了解程序设计三种结构,并能画出它们的流程图。
(2)初步了解程序设计的基本步骤;
(3)初步学会把实际问题转化为计算机解决的算法,并能画出流程图。
2.过程与方法
通过教学实例的展示和演练,让学生了解程序设计的基本方法。
3.情感态度价值观
培养学生的逻辑能力和思考能力。
四、教学理念和方法
& &&通过教学实例的展示和演练,以教师主导,学生体验思考,分层设置教学难度等方法来完成教学内容。
五、教学过程设计
1、教学内容的组织与呈现方式:
以实例分析深入展开、小结归纳,将程序设计步骤与基本方法进行呈现。
2、教学过程:
教师通过做一个猜数的游戏,猜得对有奖。(P56猜数程序代码),引起学生的学习兴趣。
引起学生兴趣
教师分析游戏程序。提出问题一:程序用到什么语句?整个程序是什么结构?
学生回答(用到解释,赋值,输出,判断,循环等语句。综合结构。)
复习以前学过的知识,指出知识综合运用就可以解决实际问题。
提出问题二:
能否画出流程图?
学生试图画流程图(任务一)
复习程序编写的三种结构,并引导学生归纳程序编写的一般步骤。
教师分析流程图,并复习程序的几种结构。
说明:事实上,任何计算机程序都可以由这三种结构组合而成,我们主要灵活运用好这些基本结构,就可以编写各种各样的程序,解决许多实际问题。
学生思考并分析程序的流程图。
提出问题三:如果要你编写这个程序你怎样做,第一做什么?第二做什么?
教师归纳程序设计的一般步骤。
学生回答并思考
教师演示修改程序,开扩学生思维。
Dim x As Integer
Dim guess As Integer
x = Int(Rnd(10) * 100)
Do While guess && x
guess = InputBox("请输入你猜的数字(0~100)", "猜数")
If guess & x Then
P "太大了!"
If guess & x Then
P "太小了!"
& Print "你已经猜了"; "次"
& Print "恭喜你,猜对了!"
修改程序,统计猜数的次数。(任务二)
扩展思维能力。并复习循环语句。
通过完成在“使用猜数程序前添加输入密码验证”的程序修改,进一步了解程序的分块结构。
修改程序,在使用猜数程序前添加输入密码验证。(提高任务三)
教师小结程序设计的一般步骤.课本P56。
学生思考。
3.教学评价:
评价标准设计:完成基本任务80%为及格,完成全部任务100%为良好,在扩展上能有所创新为优秀。
课堂评价表设计:学生完成如下实践并填写课堂自评。
知识技能和情感态度评价
学生试图画流程图
修改程序,使程序在用户猜对时显示共猜对多少次?
提高任务三
修改程序,在使用猜数程序前添加输入密码验证。添加以下程序段:
Do While inputpassword && "123456"
inputpassword = InputBox("请输入密码", "输入密码")
4、教学资源:教室网络。预先编好的小程序。
六、教学反思:
&& 本节是整章知识的复习和梳理,教师在教学过程中必须饱含激情,将教学情景设置层层推进,提高学生的学习成功感,并引导学生把学过的知识融会贯通。
&文章 来源莲山课件 ww w.5 Y
没有相关教案上一篇教案: 下一篇教案:
? ? ? ? ? ? ? ? ? ?}

我要回帖

更多关于 c语言长整数四则运算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信