程序的循环结构(一).

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

等比数列前 n 项和 等比数列前 n 项和 数列. 国际象棋的棋盘上共有 8 行 8 列, 构成 64 个 格子. 国际象棋起源于古代印度, 关于国际象 棋有这样一个传说 ……传说 问题引入 :
七巧块 思维训练项目各器具介绍 用四个小方块可以组合出多少种空间中的形状呢?. 七巧块的拼图玩法.
第八章 土地行政管理.
「互联网金融2.0时代」与房地产的融合 广州互联网金融协会会长、广州e贷总裁 方颂.
企业会计学(三) 人大版本 吕 昌.
2.3.2等比数列前n项和 中国人民大学附属中学.
等比数列的前n项和(一) 郊尾中学——许建仙 李超 2006年9月.
據點考核與評鑑 報告人:臺南市政府 照顧服務管理中心.
“三生教育”专题 生命·生存·生活.
特殊族群運動健康訓練(I).
依据教材 全国高等教育自学考试指定教材 《西方行政学说史》, 竺乾威主编,高等教育出版社。
正 信 讀 書 會 主 持 群 : 姚 永 錩 、 鄭 健 、 陳 淑 珍 佛法的生活應用 2008/07/23.
非法集资典型案例评析 南京师范大学法学院 蔡道通 2016年1月.
专题(二) 交往沟通 掌握技能 命 题 解 读 背 景 材 料 新 题 演 练 考 点 链 接 1.
松竹梅岁寒三友 步入建交 桃李杏村暖一家 迈进职教 活出精彩.
高中数学 必修  等比数列的前n项和(1) 南京市第十四中学.
§3.5.1等比数列的前n项和 教育技术1班 尤欢欢
第二章 数列 2.5 等比数列的前n项和(一).
1.9 有理数的乘方(1).
温故知新: an-an-1=d(d为常数) 1、等差数列定义: 2、等差数列单调性: 用什么方法如推出的呢?图像怎样? d>0单调递增
棋盘上的麦粒 循环结构——FOR循环.
第一章 数列.
循环模式 流程图的画法: 条件 y 循环体 伪代码: n Do while 条件 循环体 loop 每个循环模式的结构都是一个入口,一个出口.
JAVA特性 大数阶乘 难度系数 ★.
人教A版《普通高中课程标准实验教科书数学(必修5)》
§ 2.5.1等比数列的前n项和.
第六章 循环控制.
寻觅节日诗情.
第八单元第二课第一课时 严守法律 温州四中 蒋莉青.
高级财务会计.
默写基础知识: 1、家庭是由 关系、 关系或 关系而结合成的亲属生活组织。家里有 ,家中有 。
什么是颈椎病? 颈椎病是指颈椎间盘退行性变,及其继发性椎间关节退行性变所致脊髓、神经、血管损害而表现的相应症状和体征。
第一单元 中国传统文化主流思想的演变.
公務人員退休法、撫卹法 法制與實務講習 銓敘部退撫司 中華民國99年8月.
《傅雷家书》 学 科:语文 年 级:九年级 授课教师:王宁宁.
第一節 行政裁量與不確定法律概念 第二節 行政裁量
運輸與空間的交互作用 運輸發展的階段 一、分散的港口 二、侵入路線 三、發展支線 四、初步相互連結 五、完全相互連結 六、高度優越的幹線
本课设置5个环节 一、限时秒杀--5分钟 二、摩拳擦掌--9分钟 三、刀锋相见--20分钟 四、现炒现卖--5分钟 五、相约课后--1分钟.
从中国与联合国的关系演进 看联合国的产生与发展
在PHP和MYSQL中实现完美的中文显示
手术部位感染目标性监测存在的问题及对策探讨
最後,是什麼決定一個領導者的成敗 這是一步思考與行動指南
Visual Basic 第六章 循环程序结构
C程序设计.
第5章 Visual Basic控制结构 之 循环结构
走进编程 程序的顺序结构(二).
第六章 循环结构程序设计 概述 while 语句 do-while 语句 for 语句 循环的嵌套 几种循环的比较
ENVI-IDL可视化程序设计 楚雄师范学院地理科学与旅游管理学院 杨云源 QQ:
第五章 循环结构的C程序设计 5.1 while循环语句 5.2 do-while循环语句 5.3 for循环语句 5.4 多重循环
第二章 Java语言基础.
动态规划(Dynamic Programming)
第4章 PHP流程控制语句.
特定消耗品說明 (指碳粉匣、墨水匣) 國立清華大學 保管組製作.
《计算机应用基础》 第9章 程序设计基础(二).
第4章 Excel电子表格制作软件 4.4 函数(一).
用穷举法设计程序 南京师范大学 教育技术系 倪佳慧
3.16 枚举算法及其程序实现 ——数组的作用.
1.2基本算法语句 1.2.3循环语句.
输入语句 输出语句 赋值语句 条件语句 循环语句
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
加減法文字題 國小低年級學生對加減法文字題的瞭解 小組成員 陳育娟 羅珠綾 侯宜孜
飛行器製作與飛行 講師:劉修建.
初三VB 复习一.
因果性:一个形而上学的预设 赵敦华 2008年5月.
五 循环结构程序设计 厦大附中信息技术.
鸡兔同笼(续) ——选择结构.
SSP发票明细报告 使用指导.
顺序结构程序设计 ——关于“字符串”和数值.
Presentation transcript:

程序的循环结构(一)

在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。那么,宰相要求得到的麦粒到底有多少呢?

传说在很久以前,印度有个叫塞萨的人,为了能使国王忘掉战争,精心设计了一种游戏(国际象棋)献给国王。国王对这种游戏非常满意,决定赏赐塞萨。国王问塞萨需要什么,塞萨指着象棋盘上的小格子说:“就按照棋盘上的格子数,在第一个小格内赏我1粒麦子,在第二个小格内赏我2粒麦子,第三个小格内赏4粒,照此下去,每一个小格内的麦子都比前一个小格内的麦子加一倍。陛下,把这样摆满棋盘所有64格的麦粒,都赏给我吧。”国王听后不加思索就满口答应了塞萨的要求。

计算机程序 下面,请同学们帮这位国王算一算,他到底要赏给塞萨多少麦子? 2 + 2 + 2 + 2 + … + 2 2 + 2 + 2 + 2 + … + 2 1 2 3 63 人工计算这个问题会非常麻烦,即使用计算器也不方便。 我们能不能用计算机来解决这个问题呢? 计算机程序

64个棋盘格子一共可以放18,446,744,073,709,551,615 粒 1.84467440737096E+19粒麦子, 约合5000多亿吨小麦 这位宰相所要求的,竟是全世界在两千年内所产的小麦的总和! 如果造一个宽四米,高四米的粮仓来储存这些粮食,那么这个粮仓就要长三亿千米,可以绕地球赤道7500圈,或在日地之间打个来回。 我国2007年粮食总产量10000亿斤

VB窗体输出如下的图形:    ***** Print “*****”

格式:for 循环变量=初值 to 终值 step 步长 语句块(又称循环体) next 循环变量 开始 循环变量赋初值 循环变量未超出终值? Y 执行循环体 循环变量循环变量+步长 结束 N for循环语句的执行过程是:首先把初值赋给循环变量 ,接着判断循环变量的值是否超出终值,当循环变量的值未超过终值时,就执行一次循环体的语句块,然后把循环变量的值加上步长,再赋给循环变量,重复上述过程,直至循环变量的值超过终值,就结束循环。 For j=1 to 5 Print “*****” Next j

求1+2+3+4+…+n n=input(“请输入n值”) S=0 for I=1 to n S=S+I next I 开始 循环变量赋初值 循环变量<=终值? Y 执行循环体 循环变量循环变量+步长 结束 N 求1+2+3+4+…+n n=input(“请输入n值”) S=0 for I=1 to n S=S+I next I print “S=“;S 思考:求1*2*3*4*…*n

若循环语句中的循环体内又完整地包含另一个或多个循环语句,称为循环嵌套。前面介绍的三种循环都可以相互嵌套。循环的嵌套可以多层,但每一层循环在逻辑上必须是完整的。例如,二层循环嵌套(又称二重循环)

循环语句的提高与拓展 --多重循环 For i = 1 To 5 For j = 1 To 5 Print "*"; Next j 输出如下图形: For i = 1 To 5 For j = 1 To 5 Print "*"; Next j Print Next i 外循环 内循环 ***** ***** ***** 提示:输出可用print 格式:print “要输出的字符”或变量名或表达式 如果要在一行内输出,则后面要加; print 后面什么都不加相当于起到换行的作用。

* * * * * * * * * * * ** *** **** ***** * * * * * * * * * * * * * * * For i = 1 To 5 For j = 1 To 5 - i Print " "; Next j For k = 1 To i Print " *"; Next k Print Next i For i = 1 To 5 For j = 1 To i Print "*"; Next j Print Next i

以计算麦粒数目的程序为例,为了简化程序,我们先计算第64个格子中麦粒的数目。 p1 = 1 ‘第1格 P2 = P1 * 2 ‘第2格 P3 = P2 * 2 ‘第3格 … … P64 = P63 * 2 ‘第64格 P = 1 ‘第1格 P = P * 2 ‘第2格 P = P * 2 ‘第3格 … … P = P * 2 ‘第64格 简化 64行代码 P = 1 For i=1 to 63 ‘条件判断 P = P * 2 Next ‘i=i+1,下一次循环 4行代码

麦粒问题算法分析(-) text1 1 2 3 4 5 … 64 2 4 8 16 P=1 For I=2 to 64 p=p*2 Next I PP*2 Text1.text=p

麦粒问题算法分析(二) 1 2 3 4 5 … 64 2 1+2 SS+P 1+2+4 4 PP*2 8 1+2+4+8 16 第i格 第i格存放的麦粒数(设用p表示) 从第1格到第i格总共需多少的麦粒数(设用s表示) 1 2 3 4 5 … 64 2 1+2 SS+P 1+2+4 4 PP*2 8 1+2+4+8 16 1+2+4+8+16

p = 1 For i=2 to 64 s = 1 p=p*2 Next I Text1.text=p N s=s+p Y P:第i格存放的麦粒数 S:从第1格到第i格总共需多少的麦粒数 开始 当前格子的麦粒数置初值:p1 p = 1 For i=2 to 64 p=p*2 Next I Text1.text=p s = 1 总共需要的麦粒数置初值:s1 置初值:I2 N s=s+p I<=64? Y 输出p和s PP*2 结束 SS+P Text2.text=s ii+1

1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4+16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

For i = 1 To 9 For j = 1 To i Print i; "*"; j; "="; i * j; Print " "; Next j Print Next i