广东省汕头市金山中学高中信息技术 pascal教程07 第七课 一维数组教案
-一维数组的定义与引用教案
{ a[i]=i+1;
printf(“%4d”,a[i]);}
printf(“\n”);
for(i=0;i<5;i++)
printf(“%4d”,b[i]);
printf(“\n”);
}
在引用时应注意以下几点:
⑴引用时只能例7-1】中的a或b。
⑷整型常量表达式可以是整型常量或符号常量。最常见的是整型常量。不允许为变量。
⑸C编译程序(如Turbo C)为a数组在内存中分配了10个连续的数组单元(共占20个字节),为b数组在内存中分配了5个连续的数组单元(共占10个字节),如图7-1所示。
a[0]
a[1]
a[2]
a[3]
a[4]
a[5]
a[6]
课题序号
1
授课日期
第周月日(星期)
授课班级
10单招、10计算机
授课课时
2
授课形式
理论
授课章节
名称
一维数组的定义与引用
使用教具
无
教学目的
1、了解数组的基本概念。
2、掌握一维数组定义、引用;
4、提高学生编写程序的能力
教学重点
掌握一维数组定义、引用;
教学难点
掌握一维数组定义、引用;
更新、补
充、删节
内容
无
课外作业
⑵a数组含有10个数组元素,即a[0]、a[1]、a[2]、…、a[9];b数组含有5个数组元素,即b[0]、b[1]、b[2]、b[3]和b[4]。注意,不能使用a[10]和b[5],否则即出现数组超界现象。
⑶类型说明符int说明a数组和b数组中的每个元素均占2个字节,只能存放整型数据。类型说明符可以是任何基本类型,如float、double、char等;也可以是以后要介绍的其它数据类型,如结构型、共用型等。
广东省汕头市金山中学高中信息技术奥林匹克信息学系列教程(基础篇)pascal教程09
字符串§9.1 字符串类型,其一般形式:TYPE <标识符>=STRING[N];N必须是小于256的整数,表示字符串的最大长度,N缺省值为255。
例如: var name1 : string[20]; {字符串name1的最大长度为20}ss : string; {字符串ss的最大长度为255}◆字符串的实际长度取决于程序执行时所赋予的实际字符个数,可以用函数Length(字符串名)取得,如:t=length(ss); {t为整型变量,利用length函数取得字符串ss的实际长度}◆字符串类型变量可以整体输入和输出,如:read(ss); write(ss);◆字符串可以进行连接,连接符为“+”,如:‘good’ + ‘ morning’ = ‘good morning’◆字符串中的每一个字符可以对应字符数组中的一个元素,可以用字符串名加下标(类似数组)的方法来表示,如:ss:= ‘computrr’;ss[7]:= ‘e’;writeln(ss); {将输出‘computer’}字符串与字符数组的区别在于字符串最大长度只有255,而数组元素的个数可以超过255。
◆字符串可以进行六种关系运算:=、<>、>=、<=、>、< 。
当两个字符串进行比较时,是从左到右逐个字符按照它们的ASCII码值进行比较。
例如:‘a’ < ‘b’为 true‘ABCD’ < ‘ABC’为 false◆ Pascal提供了不少函数和过程用于字符串的操作,如:copy(S :string;i , L :integer):string;返回字符串S中从第i个字符开始的L个字符所组成的字符串concat(S1,S2,……,Sn:string):string;合并一系列字符串Pos(P , S :string):byte;返回子字符串P在字符串S中的位置delete(S :string;I,L:ineger);从字符串S中删除从第I个字符开始的L个字符 Insert(S :string;D :string;P :integer);在字符串D的P位置插入字符串Sstr(I :integer / real;S :string);整数 / 实数转字符串val(S :srting;R :real;D :integer);字符串转整数 / 实数【例】编写一个学生成绩统计的程序。
pascal语法讲义-第七讲
第七讲 数组与字符串一、一维静态数组我们先来思考一个问题。
例题1.4.2.1.1:读入3个数,将之倒序输出。
想必这个程序对大家来说没有难度。
program p1_4_2_1_1(input,output);var a,b,c:longint;beginreadln(a,b,c);writeln(c,' ',b,' ',a);readln();end.下面我们来思考一个升级版的问题:例题1.4.2.1.2:读入1000个数,将之倒序输出。
这个程序对于大家来说肯定也是可以搞定的,只不过相对而言比较麻烦,这里我们提供一个生成该程序源文件的程序。
program p1_4_2_1_2_producer(input,output);var i:longint;beginassign(output,'p1_4_2_1_2.pas');rewrite(output);writeln('program p1_4_2_1_2(input,output);');write('var ');for i:=1 to 999 do write('a',i,',');writeln('a1000:longint;');writeln('begin');write('readln(');for i:=1 to 999 do write('a',i,',');writeln('a1000);');write('writeln(');for i:=1000 downto 2 do write('a',i,',');writeln('a1);');writeln('readln();');writeln('end.');close(output);end.这里使用了一定文件的知识,如果把assign、rewrite、close 三行略去的话,大家应该可以看得懂。
广东版高中信息技术教案(全套)
1.1信息及其特征一、教学内容分析和设计:“信息及其特征”是教育科学的高一《信息技术基础》第一章第一节的内容。
由于这个内容理论性较强,如果只是由教师来讲,学生可能会觉得枯燥,所以我准备在教师的引导下,举出现象,让学生进行探讨,然后归纳获得知识。
有不足之处由教师或学生来补充。
这样能让学生积极参与,活跃课堂气氛,既让学生学到知识,又培养了学生将学习与生活联系的习惯和自主学习的习惯。
二、教学对象分析:知识的获取者是刚刚升入高中的学生,按照人的成长认知规律,学生对知识的获取开始由感性认识提升到理性认识。
对于“信息”这一事物的认识,可以让他们从大量存在的现象中,发现并归纳出他们应该获得的知识。
老师在此过程中起着引导的作用。
三、教学目标:1、知识、技能目标:学生能够列举学习与生活中的各种信息,感受信息的丰富多彩性;举例说明信息的一般特征;培养学生分析问题、解决问题的能力。
2、过程、方法目标:培养学生从日常生活、学习中发现或归纳出新知识的能力。
3、情感态度与价值观目标:让学生理解信息技术对日常生活和学习的重要作用,激发对信息技术强烈的求知欲,养成积极主动地学习和使用信息技术、参与信息活动的态度。
四、教学重点:1、信息特征的认识。
五、教学难点:信息的含义。
六、教学方法本节概念性强,实践性弱。
采用讲授法,讨论法。
教学过程谈话引入:同学们,信息技术这门课程,我们在初中阶段就已经学习。
那么下面请同学们说一说,什么是信息?在我们日常生活中,你认为哪些属于信息?(举例)生1:校园里铃声响,可以告诉我们信息:上课或下课。
生2:观看校运会,可以获得很多运动会赛场上的信息。
生3:从网上可以获得很多信息,如:学习资料、娱乐、新闻报导等。
生4:在报纸上可以了解国内外的信息。
……师:同学们举的例子非常好。
其实信息在我们日常生活周围无时不在,无处不有,当然,信息不仅存在于我们的周围,同样可以在我们身体内部找到它的影子,如,医生通过听诊器来感知我们的身体内部的变化以确定病因,因此我们可以说信息是用文字、数字、符号、图像、图形、声音、情景、状态等方式传播的内容。
C程序设计 一维数组应用(教案)
一维数组应用
课型
实训课
教学时数
2
教学目的
掌握数组的常见操作(输入/输出,逆序,找最大、最小值,平均值)
重点难点
一维数组的定义、初始化
采用教法
讲解演示
学法建议
讨论交流、模仿练习
教学
过程
设计
(复习内容、课题引入、主要知识点序列或操作步骤教法设计、时间分配等)
1、布置上机练习作业及要求
随机产生10个[10,50平均值及各元素之和。
根据实验中发生问题,有针对性小结
交流讨论
3、完成上机实训报告册
备注
思考与
练习
试归纳数值数组元素的输入、输出操作。
总结如何根据题意将循环变量与数组下标结合起来使用的思路与方法。
教学后记
从键盘输入10个战士的身高,输出最高、最低的身高。
从键盘输入20个整数,求出它们的平均值及比平均值大的数。
从键盘上输入20个元素的值存入一维数组a中,然后将下标为(1、3、5、7、9……)的元素值赋值给数组b,输出数组b的内容。
2、实验操作考察
实验预习情况,源程序、测试数据准备情况
程序实现过程,问题解决指导
广东省汕头市金山中学高中信息技术 pascal教程07 第七课 一维数组教案
第七课 一维数组【引例】输入20个数,将它们按从大到小的次序排序后输出。
讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量?没这么笨吧,我们有更好的办法解决。
数组:由固定数量....的相同类型....的元素按一定顺序排列而成。
只有一个下标类型的数组称为一维数组。
§7.1 数组类型定义和说明类型定义的一般形式为:TYPE <类型标识符> = ARRAY [下标类型] OF <基类型>;数组说明:VAR <数组名> :<数组类型标识符>;数组名是由用户定义的标识符,下标类型一般是子界类型,下标规定了数组元素的个数和排列次序。
基类型表示数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同。
如:typeA = array [1..20] of integer;B = array [0..50] of char;Varx , y : A;a : B;其中x 、y 被说明为A 类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a 被说明为B 类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型。
★ 数组也可以直接在说明部分说明数组的类型,如:var x , y : array [1..20] of integer;a : array [0..50] of char;数组中的每个元素都是变量,每个元素在数组中有固定的位置,可以用数组名及方括号括起的下标..来表示。
如a 数组中的第5个元素可表示为:a [4] 数组元素的运算和变量相同,如:readln (a[4]); x[3]:=x[3]+y[1];§7.2 数组元素的赋值和引用 0 1 2 3 4 5 6 7 …… 50 a 下标如为一个数组A[1..10] 赋值,可用下列语句实现:for i:=1 to 10 do read (A[i]);如果两个数组类型相同,如数组x 和y ,可用赋值语句: x:=y ;把y 的10个元素值赋给x 的相应元素,它等效于: for i:=1 to 20 do x[i]:=y[i]; 但要给数组元素赋同一个值,不能这样赋值:x:=0; 而应该用如下语句:for i:=1 to 20 do x[i]:=0;【例1】求100以内的所有素数。
高中信息技术教案:《Pascal语言》2篇
高中信息技术教案:《Pascal语言》高中信息技术教案:《Pascal语言》精选2篇(一)教案:《Pascal语言》教学目标:1. 了解Pascal语言的历史和特点;2. 掌握Pascal语言的基本语法和语义;3. 能够用Pascal语言实现简单的程序。
教材准备:1. 《Pascal语言教程》教材;2. 计算机实验室或个人计算机。
教学内容:1. Pascal语言的介绍和历史背景;2. Pascal语言的基本语法和常用数据类型;3. Pascal语言的条件语句和循环语句;4. Pascal语言的函数和过程;5. Pascal语言的文件操作;6. 编写和运行Pascal程序。
教学步骤:1. 介绍Pascal语言的历史和特点,并与其他编程语言做比较;2. 讲解Pascal语言的基本语法,包括标识符、变量、常量、运算符等;3. 介绍Pascal语言的数据类型,包括整数、实数、字符、字符串等;4. 说明Pascal语言的条件语句和循环语句的用法,并通过示例进行讲解;5. 引导学生了解Pascal语言的函数和过程的概念,并通过示例说明其使用;6. 讲解Pascal语言的文件操作,包括文件打开、读写文件等;7. 指导学生编写简单的Pascal程序,并运行程序进行调试;8. 综合示范一个完整的Pascal程序,并进行演示。
教学评估:1. 出示几个Pascal语言的问题,要求学生回答;2. 布置编写一个简单的Pascal程序的作业,要求学生在限定的时间内完成;3. 随堂测试:提供一段Pascal代码,要求学生分析代码的含义和执行结果。
参考教材:1. 《Pascal语言教程》;2. 《深入理解Pascal程序设计》。
拓展活动:1. 学生可以进一步探索Pascal语言的高级特性,如记录、数组、指针等;2. 学生可以尝试通过Pascal语言开发简单的应用程序,如学生管理系统、图书管理系统等。
高中信息技术教案:《Pascal语言》精选2篇(二)教学目标:1. 了解信息的概念和特点;2. 掌握信息的获取、加工和传递的基本方法;3. 理解信息技术的概念和作用;4. 掌握信息技术在现实生活和工作中的应用;5. 能够运用信息技术解决实际问题。
高中信息技术教案:《Pascal语言》
高中信息技术教案:《Pascal语言》一、教学目标1.了解Pascal语言的基本概念、特点和语法规则;2.能够掌握Pascal语言的基本语法,包括变量定义、运算符、控制结构和函数模块的编写;3.能够用Pascal语言编写一些简单的程序,如求平均数、阶乘等。
二、教学重点和难点教学重点1.Pascal语言的基本语法;2.函数模块的编写;3.程序的调试和输出。
教学难点1.控制结构的理解和应用;2.编写复杂程序的能力;3.程序的输出格式。
三、教学内容和方法教学内容第一节:Pascal语言的基本概念和特点1.Pascal语言的历史背景和发展;2.Pascal语言的特点和优缺点;3.Pascal语言在计算机编程中的应用。
第二节:变量定义和数据类型1.变量的概念和基本语法;2.数据类型的种类和使用;3.数组和字符串的定义和应用。
第三节:运算符和表达式1.算术运算符和表达式;2.逻辑运算符和表达式;3.关系运算符和表达式。
第四节:控制结构1.if语句的使用;2.for循环语句的使用;3.while语句的使用。
第五节:函数模块的编写1.函数的概念和基本语法;2.函数的调用和返回值;3.自定义函数的编写和调用。
第六节:程序的调试和输出1.调试程序的方法和技巧;2.程序输出的格式和控制;3.程序错误的排查和解决。
教学方法本课程采用讲授与练习相结合的教学方法。
1.在讲解重点知识点的同时,进行相关的应用练习;2.引导学生自主思考,提高解决问题的能力;3.定期组织编程实践活动,提高学生编程能力。
四、教学评价和反思教学评价1.学生的编程能力是否有提高;2.学生在自学和解决问题能力方面的表现如何;3.学生对Pascal语言的理解和应用能力。
教学反思1.教学过程中,能否根据学生实际情况进行针对性讲解;2.编程实践活动的设计和开展是否合理;3.是否需要对教学内容进行调整和完善。
信息化教学设计教案-《一维数组》
另外,除了可以通过课程网站即时发布与课程学习相关的通知外,还开通了 QQ 群及课程微信平 台辅助教学,这样,老师和学生都可以直接使用手机方便快捷的发布和查看即时消息,为师生的交 流互动提供了更加便捷的途径,有利于化解教学难点。
2
从学生的差异来看,基本操作能力不会相差太大,主要体现在创新能力和知识迁移的水平上。 所以,教法选择和学法指导要针对学生的基础及爱好差异,符合学生的认知规律,尊重学生个 性发展,注重学生的灵活运用能力培养。
四、 教学目标及重难点
教学目标设计
知识目标:
1、 熟练掌握一维数组的声 明、创建的语法结构及 使用的基本流程;
评价平台既可以给出学生个人的素养考核、在线作业、考试情况,也可以给出全班同学的作业、 考试分布情况、形成综合评定。
六、 教学方法
●任务驱动法 项目教学中,最常用的是任务驱动法。把一个项目分成若干个任务,每个任务都要完成一定的 功能。但我在教学实践中发现,如果学生对你设计的任务不感兴趣时,就不能驱动学生自主学习, 这样即使在你的帮助和引导下,学生完成了任务,但这种驱动,只能是外驱动或硬驱动。而通过创 设有趣味的情境,结合知识本身的特点,吸引学生全身心地投入到活动中来,让每个学生都在做中 学,学中乐,真正做到自主学习、探究学习,在活动体验中获得经验,培养学生的探索精神,提高学 生的信息素养,这种融合了情境的任务驱动才能真正做到学习以学生为中心,主动建构知识技能。
素材等。
5
八、教学过程设计
步骤 1:课前准备 教学内容
师生活动 教师
一维数组应用 c语言 精品教案
一维数组应用 c语言精品教案下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一维数组应用 C语言精品教案一维数组是 C语言中非常重要且常用的数据结构。
广东省汕头市金山中学高中信息技术 第一课 让程序“跑”起来 pascal教程01
让程序“跑”起来计算机可以帮我们做很多事,这是如何做到的呢?我们设计出了与计算机对话的语言,然后把要让计算机做的事情,用计算机语言描述,一步一步的写出来,这叫计算机程序,让计算机去执行程序,完成我们交给的任务。
计算机语言有很多种,QBasic、Pascal、C……,这些语言大同小异,只要熟练掌握其中一种,以后学习其它语言就很容易了。
下面介绍的是PASCAL语言,它以语法严谨,结构化形式,高效,查错能力强等特点,被誉为最适合入门教学的计算机语言。
§1.1 Pascal语言Pascal语言是由瑞士的沃斯(N. Wirth)教授于1971年提出来的,它的命名是为了纪念法国数学家Pascal。
Pascal语言的主要特点是结构化好,是世界上第一个结构化程序设计语言,它充分体现了算法设计中自顶向下、逐步细化、模块化的思想。
Pascal语言的编辑环境和编译程序合称为Pascal编译软件,集编辑、编译、调试、运行于一体,又称Pascal集成环境,目前有Turbo Pascal、Borland Pascal、Free Pascal等几种,其之间只有细微的差别。
§1.2 Pascal 的编程环境大家双击桌面上Pascal的图标,进入Pascal编程窗口:这个蓝色的窗口就如广阔的海洋,大家将在这里扬帆……小技巧:按 Alt+Enter 键可以切换成全屏模式,再按一次,又变回窗口模式。
接下来,我们来认识一下这个编程窗口:★菜单栏、编辑栏之间的跳转:F10程序运行:Ctrl+F9浏览程序运行结果:Alt+F5编辑窗口跳转:Alt+数字§1.3 我们的第一个程序1、请把下面这段代码输入:program first;beginwriteln (' /======\ ');writeln (' | o o | ');writeln ('++++++++++++');end.2、按F2,把程序保存在D盘根目录下,文件名:“first.pas”。
广东省汕头市金山中学高中信息技术 第二课 读懂程序 pascal教程02
读懂程序接下来,我们要学着去读懂程序。
我们用上节课的程序作进一步的讲解:program second; { second为程序名 }const pi=3.14159; { 设pi为常量,pi=3.14159 }var s,r : real; { 设s、r为变量,real为实型 }begin { 程序开始 }write ('r='); { 输出: r= ,这是提示,可以省略 }readln (r); { 读入一个实数到变量r中 }s:=pi*sqr(r); { := 是赋值符,sqr(r)是求r的平方的函数,pi*sqr(r)的值赋给变量s }writeln('s=',s); { 先输出‘s=’,再输出变量s的值 }end. { 程序结束 }§2.1常量和变量在上面的程序第2、3行的语句分别是常量说明和变量说明。
常量定义和变量定义要放在程序的常量定义部分,即程序首部之后,语句之前。
§2.1.1 常量:程序执行过程中其值保持不变的数据;CONST < 常量标识符 > = < 常量 > ; {常量标识符是由用户自己定义} 例如:constpi = 3.1415926;f = false;{ f为逻辑值false(假) }st = ’abcd ’; { st为字符串’abcd ’}SS : array[1..4,0..1] of integer=((0,1),(1,0),(0,-1),(-1,0));§2.1.2 变量:程序执行过程中其值可以改变的数据;VAR <变量名>{,<变量名>} :<类型>;例如:vari , j , k , l : integer; { integer 整数类型 }a ,b : real;{ real 实数类型 }ch : char; { char 字符类型 }p : boolean; { Boolean 布尔类型 }注意:变量只能属于一种数据类型,下面的变量说明是错误的:var R1, R2 : char;R2,R3 : Boolean; { R2不能同时属于char型和boolean型 }变量常用的类型有:例如: 0、–3.52、246、6.25e8(=6.25×108)、–51e –1(= – 51×10-1) §2.2 运算符§2.2.1 算术运算符:+ {加}、 – {减}、 * {乘}、 / {除}、 div {整除}、 mod {取余数} 当两个整数进行整除运算时,用div ,结果取整;”/ ” 则为实数除。
一维数组教学设计方案
学生根据老师讲解的思路,进行思考。结合刚刚学数组定义等的知识,写出程序。
让学生自己思考写出程序,这个程序包括数组的定义,引用初始化等,让学生能够更好的掌握这些知识。老师的评价让学生知道要怎样去定义引用等。没有自己去写,只是单纯的听老师讲是很难掌握新知识的。
带着兴趣听老师讲解新知识,在老师的提问中思考出自己答案,自主思考。
通过教师的讲解数组的定义引用,初始化。积极的让学生参与互动,能讲解枯燥新知识让学生更容易参与课堂,自我思考知识,对知识的理解深刻。也让学生的注意力更集中,专心课堂。
课堂程序举例(35分钟)
老师提出题目,讲解程序的思路,让两名学生上黑板其他同学在下面写出自己的程序,然后老师进行评价,给出正确的答案。
五、教法、学法设计
通过对学生群体的特征分析,再加上本节是基础的知识讲解课,我需要选择学生最容易接受的教学方法,要把知识讲得通俗易懂,避免学生担心数组是个难学的知识。失去学习的兴趣。主要应用以下几个方法:
1.教学方法:
(1)语言讲授法:以语言传递为主,向学生讲解知识点及本节重难点。在讲授的过程中与学生互动,让他们自主的思考。
七、教学活动过程
教学环节
教学过程
教师活动
学生活动
设计意图及资源准备
导入课题(5分钟)
语言讲授,对学生提问前几节课学的数据的基本类型的知识,引起学生兴趣学习数组的兴趣。
打开用PPT,提问学生,让学生思考问题。然后进入数组这个课题。
通过教师的提问,学生进行思考,并回答问题,接触新的知识数组。
通过教师的提问,让学生身心都在课堂上,让学生的注意力集中。学习新知识
2.学法:
自主探究法:学生在观察实例效果的过程中中能充分发挥想象力,通过分析比较获得设计的思路。
C语言一维数组说课稿
教学流程
课程导入 概念介绍
示例训练
编程方法讲解 反思总结
课后作业布置
板书设计
一维数组
1.数组概念 2.数组元素 3.下标
s 0 s[0] 1 …… s[1] s[299] 299
4.一维数组的定义 5.一维数组的初始化
例
Float int a[6]; 如:int a[5]={1,2,3,4,5};
C语言一维数组
授课人:计网一班
杨晓燕
教材分析 学情分析
教学方法 教学流程
板书设计
教材分析
课程地位:计算机相关专业中 ,《c语言程序设计》与《基于c 语言的数据结构算法》, 《VC++》,《VB》,《软件工 程》及其他编程语言类课程内容 联系紧密。按层次结构, 《C语言程序设计》处于最底层 ,是他们的基础,是其他几门课 的前导课。
教学方法
1.讲练结合教学 理论讲授与学生工 作页同步进行,课 程在机房进行,教 师讲课时能统一控 制学生用机,学生 练习时能开放学生 用机。这种教学方 式具有实效性,学 生可以及时发现问 题,提出问题,教 学过程是双向的。
2.任务驱动教学 在上课时,分析该 次课的主要任务, 把任务细分后通过 学生工作页布置给 学生,由学生在规 定的时间内去完成。 这种教学法提高了 学生自学的兴趣和 能力,由被动学习 向主动学习转变。
教材分析
本节课选自《C语言程序设计》李俊主编 电子工业出版社 2012年1月第一版 第七章的内容
教材特点如下:
1、在内容上体现科学性、时代性、实用性,编排上面向应用, 理论与实践有机结合; 2、采用案例教学法等教学手段,各章节均有案例, 贯穿整个课程进行难点讲解,以实际应用作突破口,使学生能 够真实体验到知识的实际应用, 提高兴趣,促进理解;教学与项目开发融为一体,浅显易懂, 符合中职学生认知规养学生认真学习的 态度,培养学生对编程的兴趣
一维数组教案
“一维数组”教学方案【课题】一维数组【学时】50分钟【授课学生分析】教学对象为大学本科学生,通过前面程序的基本结构(顺序结构、选择结构、循环结构)的学习,学生已具备一定的编程能力,为学习数组的应用打下了基础。
【教学目标】1、知识目标理解数组的概念,掌握对数组的定义、初始化、引用的应用。
2、能力目标通过对数组定义、引用的掌握,引导学生利用数组解决同类型的多变量的问题,培养和提高学生逻辑思维能力,提高动手编程能力。
3、情感目标利用上机分组操作,培养学生的协作精神。
激发学生学习兴趣,使学生积极参与体验成功的快乐。
【重点难点】重点:一维数组的定义、一维数组的初始化、一维数组的引用难点:一维数组的引用、一维数组的应用【教学方法】1、采用案例、情境、启发式教学法。
2、以例子讲解→练习→引发学生思考为流程;循序渐进的教学策略。
3、运用“提出问题→学生尝试→演示与交流→解决问题”的课堂教学模式。
【教学策略】基本知识采用的基本模式:提出问题→学生尝试→演示与交流→解决问题。
然后是能力拓展,学生分组从其它工作表中挑选内容完成挑战,适用于分层进行教学,最后展示与交流,使学生享有成就感,充分发挥学生的应用知识的能力。
以学生为主、教师引导并给予鼓励,充分发挥学生的主体性及积极性。
【教学过程】【教学后记】专业班的学生基础较好,旧知识点没有过多的强调。
在整个教学过程中,紧紧围绕提出问题——分析问题——解决问题三个环节,充分体现了学生的主体地位、以及对学生各种能力的培养。
对于本次课的重点、难点,我通过启发引导、提出问题、巩固练习等形式,充分调动学生的学习积极性,使他们参与到教学的整个过程,让学生在积极思考,积极探索中掌握新知识、消化本节课的重点、难点。
一维数组教学设计
【总结强化】
本节课学习了:
1,数组的概念和特点
2,一维数组的定义
3,一维数组的存储
4,一维数组的引用
5,一维数组的初始化
重点:一维数组定义、引用与初始化的一般形式
【作业拓展】
1、每个学生课后在实际生活中找出3个用到数组知识来进行数据存储的例子,并说明为什么用数组
例inta[5];
假设首地址是2000
a[0]
a[1]
a[2]
a[3]
a[4]
内存地址2000 2002 2004 2006 2008
占用字节数为:5*sizeof(int)=5*2=10
三、一维数组元素的引用
引用形式:数组名[下标]
下标可以是整型常量或整型表达式
注意事项:
1,数组必须先定义,后使用
7.1.5一维数组程序举例
效
果
预
测
与
反
思
本次课程通过理论讲解与三个实验的结合,学生已经能够初步掌握一维数组的定义、初始化与引用,达到了教学目的。
本次课程注重重点与难点的突出和突破,通过任务驱动法,学生能够自主独立完成教学任务。
本次课程的不足之处在于,虽然大部分同学已经掌握了学习内容,但是由于班级学生水平不一,参差不齐,一小部分同学可能还跟不上。而且课程设计偏向简单了,对于某些学习能力强的同学,可能激发不了多大兴趣。
printf (" %d ",score[3]);
printf (" %d ",score[4]);
方法二:
for (int i=0;i<5;i++)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七课 一维数组
【引例】输入20个数,将它们按从大到小的次序排序后输出。
讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量?没这么笨吧,我们有更好的办法解决。
数组:由固定数量....的相同类型....
的元素按一定顺序排列而成。
只有一个下标类型的数组称为一维数组。
§7.1 数组类型定义和说明
类型定义的一般形式为:
TYPE <类型标识符> = ARRAY [下标类型] OF <基类型>;
数组说明:
VAR <数组名> :<数组类型标识符>;
数组名是由用户定义的标识符,下标类型一般是子界类型,下标规定了数组元素的个数和排列次序。
基类型表示数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同。
如:
type
A = array [1..20] of integer;
B = array [0..50] of char;
Var
x , y : A;
a : B;
其中x 、y 被说明为A 类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a 被说明为B 类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型。
★ 数组也可以直接在说明部分说明数组的类型,如:
var x , y : array [1..20] of integer;
a : array [0..50] of char;
数组中的每个元素都是变量,每个元素在数组中有固定的位置,可以用数组名及方括号括起的下标..来表示。
如a 数组中的第5个元素可表示为:a [4] 数组元素的运算和变量相同,如:
readln (a[4]); x[3]:=x[3]+y[1];
§7.2 数组元素的赋值和引用 0 1 2 3 4 5 6 7 …… 50 a 下标
如为一个数组A[1..10] 赋值,可用下列语句实现:
for i:=1 to 10 do read (A[i]);
如果两个数组类型相同,如数组x 和y ,可用赋值语句: x:=y ;
把y 的10个元素值赋给x 的相应元素,它等效于: for i:=1 to 20 do x[i]:=y[i]; 但要给数组元素赋同一个值,不能这样赋值:
x:=0; 而应该用如下语句:
for i:=1 to 20 do x[i]:=0;
【例1】求100以内的所有素数。
筛法: 主要用于求一个区间上的质数表
• 去掉1
• 从2开始,把凡是2的倍数的数去掉(2保留)
• 从下一个未被去掉的数k 开始,把凡是k 的倍数的数去掉(k 保留)
• 依此类推,直至100
筛选过程:
(a) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 (b) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 (c) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …… 98 99 100 …… ……
算法分析:
(1)设布尔类型数组A[2..100]
以下标2~100代表整数2~100;数组元素的布尔值代表其是否为素数;
设A[i]=true 则i 为素数,A[i]=false 则i 为合数;
A 中元素初始均赋为true ;
(2)从数组中新找一个素数P ;
(3)从P+1开始,把凡是P 的倍数的数筛去(赋为false );
(4)重复步骤2、3,直到P>100
(5)打印数组中未被筛去的元素(元素值为true );
参考程序: 2 3 4 5 6 7 8 9 ...... 100 2 3 4 5 6 7 8 9 (100)
删去P
的倍数
【例2】输入n个数,将它们按从小到大排序后输出。
请先思考自己的算法,再看以下内容!
[方法一] 选择排序
基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
排序过程:在数组元素[1..n]中找出最小数,将数组第1位上的数与最小数交换;
在剩下的数中[2..n]中找出最小数,与第2位上的数交换;
依次类推,直到全部的数排完。
技巧:寻找最小数——借助哨兵变量x,存放的不是最小数的值,而是最小数的位置
(下标),扫描一趟后,最小数即S[x]。
交换数组元素S[i]和最小数——即交换S[i]和S[x]
例如:初始状态 [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第四趟排序后 13 27 38 49 [49 97 65 76]
第五趟排序后 13 27 38 49 49 [97 97 76]
第六趟排序后 13 27 38 49 49 76 [76 97]
第七趟排序后 13 27 38 49 49 76 76 [97]
最后排序结果 13 27 38 49 49 76 76 97
[方法二] 冒泡排序
基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
算法设计:设想被排序的数组R[1..n]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描到违反本
原则的轻气泡,就使其向上"漂浮",如此反复进行,直至最后任何两个气泡都
是轻者在上,重者在下为止。
排序过程:首先,从底部R[n]和R[n-1]开始比较,小数上浮(R[n-1]),大数下沉(R[n]);
然后比较R[n-1]和R[n-2],小数上浮……直到比较R[2]和R[1],小数上浮,
此时第一趟结束,R[1]中的数必是最小数。
第二趟仍从底部R[n]和R[n-1]开始比较,直到比较R[3]和R[2],小数上浮,
结束时R[2]中的数为次小数(本趟中的最小数);
重复以上过程,直到将所有数排完。
例如: 49 13 13 13 13 13 13 13 (R[1])
38 49 27 27 27 27 27 27 (R[2])
65 38 49 38 38 38 38 38 (R[3])
97 65 38 49 49 49 49 49 (R[4])
76 97 65 49 49 49 49 49 (R[5])
13 76 97 65 65 65 65 65 (R[6])
27 27 76 97 76 76 76 76 (R[7])
49 49 49 76 97 97 97 97 (R[8])
参考程序:
课后练习七:
编程完成以下各题:
1.随机产生50个数,求其中最大数和最小数。
2.输入n个整数(n不大于1000),将这n个整数按从大到小排序,然后输出排序结果。
采用选择排序算法。
3.采用冒泡排序算法完成上题。
4.有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8,且尾部的8和头部的11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加和最大,输出这4个数。
5.给一维数组输入任意6个数,然后每次将末尾的数放到最前,直至原队头的数至队末,形成方阵。
例如:输入 7 4 8 9 1 5
输出 7 4 8 9 1 5
5 7 4 8 9 1
1 5 7 4 8 9
9 1 5 7 4 8
8 9 1 5 7 4
4 8 9 1
5 7
6. 山顶有10个洞,兔子对要捉它的狐狸说:“把洞从1~10编上号,你从10号洞出发,先
到1号找我,第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限,若能找到我,你就可以饱吃一顿,但没有找到我以前不能停下来。
”狐狸答应就开始找了,它进了1000次洞也没找到兔子。
请问,兔子躲在几号洞里?
7. 输入2个高精度整数a 、b,和一个运算符号‘+’或‘-’,编程进行加或减运算,并输
出结果。