算法与程序设计之循环结构嵌套

能够编写程序解决循环嵌套不多于三重的多重循环问题,尝试寻找身边的循环结构问题,分析问题算法并编程解决。

学生情况

高一下学期,在人教版高中数学必修三的课程中,学生们已经初步认识了程序的基本结构,会用循环的思想解答一些数学问题,这些知识可以为选修《算法与程序设计》打下基础。但是数学课上的内容主要还是停留在纸面上,在vb平台上编写程序解决问题并得到正确结果,可以让学生在知识的基础上进一步理解和掌握。

教材处理

教学目标

根据本节教学内容以及学生的特点,结合学生在数学第三模块所学的算法知识,确定本节课教学目标如下。

1、知识与技能

能够牢固掌握程序的循环结构。

会用循环结构嵌套编写程序来解决问题。

2、能力目标

培养学生分析问题、解决问题的能力。

3、情感目标

使学生积极参与,发挥他们的主动性,激发他们的求知欲。

教学方法及策略

数学课上学习循环结构解决的都是数学上的一些问题,学生已经觉得有点乏味,所以本节内容,将从打印图形的方式来介绍嵌套,使学生能从思想上得到调节,比较轻松地接受循环嵌套的设计思想。本次课主要以for—next结构来讲解循环嵌套,do循环结构可以在课后让学生自己完成。

教学的重点与难点

重点:从问题中分析出循环的嵌套

难点:嵌套中的循环变量的意义

教学媒体

多媒体教学软件,计算机网络教室

教学过程

教学环节

教师活动

学生活动

设计意图

温故知新

上节课我们已经学习了程序的循环结构,主要是两种格式,for-next循环和dowhile-loop循环,同学们一起先回忆一下两种格式的执行过程

For-next

Dowhile-loop

For循环变量=初值_To终值[Step步长]循环体语句块

Next循环变量

DoWhile<条件表达式>

循环体

Loop

引入:在窗体中打印出一行如下图形:

**********

请学生思考如何实现。

让学生查看主要代码:

N=10

Fori=1ton

Print“*”;

Nexti

(更改n值,可以得到长度不同的图形)

学生一起复习知识点并巩固循环结构的基本思想

学生分析,发现其实是重复打印“*”符号,可以利用循环实现

复习已有知识并能牢固掌握

能够利用循环结构解决问题并复习print用法

创建情境

引入新课

在窗体上演示打印出如下图形:

(图一)

让学生思考分析图形的构成;

讲解:原图形可以分解成多行图形,而每一行图形又是由多个基本的“*”构成;从而引入循环嵌套的概念:循环里面又有循环。

详细讲解并演示:

从第一行开始逐行输出,每一行里面又逐个“*”输出,一行输完换下行,第i行有i个“*”。

代码如下:

Fori=1to6

Forj=1toi

Nextj

Print

思考分析图形的构成,了解嵌套的意义

学生认真听讲,仔细观察程序的结构。

利用图形来调节内容,引起学生的学习兴趣

通过分析程序,引入知识点,让学生理解其用法

深入学习

深入:

若是要打印出下列图形,要如何实现?

(图二)

在学生的配合下演示用空格实现的代码并运行调试:

Forj=1to6-i

Print“”;

介绍可以利用tab(n)定位函数来解决

Printtab(7-i);

再深入:

若是要打印如下图形,又将如何实现?

(图三)

代码:

Forj=1to2*i-1

学生思考,并同教师一起分析,大多数同学发现可以在每行输出“*”前先输出一定数量的空格

与老师一起完成代码的编写

认识并掌握tab(n)的用法

学生很快分析出图三的构成,原理同图二,只不过第i行的“*”个数为2*i-1

检测学生分析问题、解决问题的能力。

学生的思路随问题的深入而扩展,掌握并消化重点、难点

上机实践

给出任务:

完成教材P40实践1,在窗体上打印出如下图形:

*

***

*****

*******

*********

教师巡视观察,个别指导

上机完成任务,适时互相讨论,有些学生还根据自己的喜好更改输出的图形符号和规则,找印出自己设计的图形;有能力的同学可以用do结构来完成

学生能够学以致用,并结合前面所学的知识,很好地完成任务

检查学生掌握情况并及时解决出现的问题。

总结归纳

如果一个算法涉及到循环结构嵌套,要注意分析以下几点:

①分析循环嵌套的重数及每重循环次数

②分析循环体内容:需要重复的内容;循环变量值的意义。

能够牢固掌握程序的循环结构及其嵌套。

帮助学生巩固知识,形成知识体系

课后作业

思考课本p40实践2:求出1~1000中的素数并输出,准备下节课上机实现

学生在课后独立思考并做好上机准备

学生能够利用所学知识解决问题

城南校区:泉州市鲤城区天后路40号金山校区:新华南路金山南区江南校区:金龙街道高山社区

THE END
1.《C语言向量运算:点亮人工智能几何计算之路》通过深入理解其数学原理,并巧妙地运用 C 语言实现这些运算,我们能够在人工智能的几何计算世界里游刃有余,推动人工智能技术在更广泛的领域中实现创新与突破,为构建更加智能、高效的人工智能系统奠定坚实的数学与编程基础。https://developer.unity.cn/projects/676039fcedbc2a7bccf0f297
2.算法与数学:编程中的数学之美例如,在图形算法中,我们可以利用几何变换和渲染技术实现精美的视觉效果;在人工智能领域,我们可以利用深度学习等先进技术模拟人类的智能行为。三、数学与编程的融合与创新随着计算机技术的不断发展,数学与编程之间的融合和创新也越来越紧密。一方面,数学为编程提供了更多的理论支持和工具方法;另一方面,编程也为数学的https://baijiahao.baidu.com/s?id=1803291568680234757&wfr=spider&for=pc
3.C语言编程实践:基础算法代码实现资源摘要信息:"C语言学习代码实例 - 21 - 30" 本资源包含一系列C语言编程实例,涵盖了从基础算法到数学问题解决等多个知识点。每个实例都是针对特定的编程问题而设计,旨在帮助学习者通过实践加深对C语言的理解。 1. 插入排序 - 描述了插入排序算法,这是一个基础的排序算法,适用于小型数据集。通过将数组分为已排https://wenku.csdn.net/doc/6dttgdkgun
4.高思AI数学编程,算法替代游戏,有趣又有效!高斯数学基因,算法代替游戏 AI数学编程依托高斯数学体系,将常见的数学问题抽象成数学模型,结合信息学比赛中的考点,总结出适合孩子理解的算法课程。然而市面上大多数的编程机构都是以游戏化的编程为主,课程内容简单且同质化严重,学生很难学习到程序的核心知识,还会https://mp.weixin.qq.com/s?__biz=MzAwNTM0MjUzNw==&mid=2649998778&idx=3&sn=2a4fdb97c14b54a9073231b6ff8d160c&chksm=8319719cb46ef88aea82a5d7276ea036fa71db9c389ad080ba8a568baa60b5253792c0d91c31&scene=27
5.算法工程师要学什么常见问题算法工程师必备七大技能:数据结构和算法编程语言数学基础算法设计与分析分布式系统机器学习和深度学习软件工程实践,助力解决计算机科学和工业中的复杂问题。 算法工程师必修技能 算法工程师是计算机科学领域的专业人员,负责设计、分析和实现高效算法来解决计算问题。要成为一名合格的算法工程师,需要掌握以下核心技能: https://www.php.cn/faq/816502.html
6.编程算法数学之美by的数学原理 24. 输入一个汉字需要敲多少个键:谈谈香农第一定律 25. 从全球导航到输入法:谈谈动态规划 数学之美 0. 网页排名算法 0. 网页排名算法 谈Page Rank –Google 的民主表决式网页排名技术 2006年2月27 日上午08:38:00 大家可能听说过,Google 革命性的发明是它名为“Page Rank” 的网页排名 算法,https://max.book118.com/html/2018/0108/147961282.shtm
7.编程和数学有什么区别?这是一个编程的入门问题,但它就很难称得上是一个数学问题。类似这种问题,我们人类看起来可能很简单、很幼稚,甚至都称不上一个问题,但我们却需要学习如何告诉计算机去完成这项任务。 这里简单介绍一个最简单的排序算法——冒泡法(Bubble Sort),有兴趣的爸妈或者小朋友可以亲身感受一下人和计算机是如何通过编程语言进行http://shaoer.cctv.com/m/a/index.shtml?id=ARTIiBhAaPjbYAQLuiq8b0jg170418
8.28个不得不看的经典编程算法发起人的描述:《来自圣经的证明》收集了数十个简洁而优雅的数学证明,迅速赢得了大批数学爱好者的追捧。如果还有一本《来自圣经的算法》,哪些算法会列入其中呢? ***名:Union-find 严格地说,并查集是一种数据结构,它专门用来处理集合的合并操作和查询操作。并查集巧妙地借用了树结构,使得编程复杂度降低到了令人难以置https://mobile.51cto.com/news-455988.htm
9.C语言编写的数学常用算法C语言编写的数学常用算法 点赞(0) 踩踩(0) 反馈 所需:1 积分 电信网络下载 xiaoweiwb 2013-06-20 00:40:06 评论 应该是某个光盘里的东西harold007007007007 2013-04-04 09:33:34 评论 很好用!!!hu1610552336 2013-03-25 18:05:57 评论 很好玩,编程与数学结合起来。数据https://www.coder100.com/index/index/content/id/1335829
10.编程竞赛宝典C++语言和算法入门相应地,各类以算法为主的编程竞赛也层出不穷:在国内,有全国青少年信息学奥林匹克联赛(National Olympiad in Informatics in Provinces,NOIP),该联赛与全国中学生生物学联赛、全国中学生物理竞赛、全国高中数学联赛、全国高中学生化学竞赛并称为国内影响力最大的“五大奥赛”;在国际上,有面向中学生的国际信息学奥林匹克https://www.epubit.com/bookDetails?id=UB77a9ce8133887
11.排盘原理[编程算法] 黄色格子是每个格子的坐标,用(当前年数-1984)/10,得到的除数为纵坐标,余数为横坐标,找到交叉点即可. 比如(2020-1984)/10得到3余6 竖着找黄格子为3是甲午,再横着数到标着6的格子,所以2020年是庚子年. 年柱,即人出生的年份用干支来表示。注意:上一年和下一年的分界线是以立春这一天的交节时刻https://www.jianshu.com/p/1182feb70735
12.GitHubLLC专家编程提取码: peu2 C语言解惑(中文版)提取码: sk0m C语言游戏编程从入门到精通提取码: f3ho C语言科学与艺术提取码: kmug C语言高级实用编程技巧提取码: 1708 C和C++代码精粹提取码: 5jv5 C数学算法提取码: 1804 C语言程序开发范例宝典提取码: mb15 https://github.com/LL-GG/pdf/
13.用Java编程绘制心形图案,探索代码与爱意的完美融合用Java编程绘制心形图案,不仅仅是实现一个数学曲线的过程,更是将抽象的情感通过有形的图形呈现出来。编程语言,特别是Java,通过其强大的图形绘制能力,成为了将这种情感符号具象化的理想工具。通过简单的数学算法与图形编程,开发者可以用代码创造出富有视觉冲击力和情感表达的心形图案,达到艺术与技术的完美融合。https://www.zhishiku.com/post/182185.html
14.编程的32个算法澄心元素5.Buchberger算法——一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。 In computational algebraic geometry and computational commutative algebra, Buchberger's algorithm is a method of transforming a given set of generators for a polynomial ideal into a Gr?bhttps://www.cnblogs.com/cxys85/p/10052476.html