第四章(3) 循环结构
人教版生物七年级下册第四章第三节《输送血液的泵——心脏》(共17张PPT)

(4)血液从A到C,血液发生的变化是___动__脉__血_, 原因是因为B与D之间进行了[①] 氧气 与 [②] 二氧化碳的交换。
LOGO
祝愿大家: 拥有健康的心脏, 享受快乐的人生!
这种药物? ( A)
A.右心房
B.右心室
C.左心房
D.左心室
人体内某血液循环图解如图所示,请据图回答: LOGO 右心室 → A → B → C → 左心房 ①↓↑② D
(1)这是人体的 肺 循环图解。 (2)C、D代表的结构分别是 肺静脉 和 肺泡 。
(3)B与D在结构上的相同之处都是由一层 上皮细胞 构成。
肺循环:
动脉血
静脉血
左肺 心静
肺 部 毛
肺 动
右 心
房脉 细 脉
室
血
管
氧 二氧 化碳
肺泡
在肺循环中,静脉血流经肺部毛细血管时,血液中的二氧化碳
进入肺泡,肺泡中的氧进入血液,与红细胞中的血红蛋白结合, 静脉血就变成了动脉血;
1、血液循环 动脉血
变成
静脉血
组织细胞
氧、营养物质 二氧化碳等废物
左 体循环:心
LOGO
3、血压 概 念: 是指血液对血管壁的侧压力 正常值:收舒缩张压压为为18—2——1182.7千千帕帕,
测 量: 用血压计在上臂肱动脉处测得。
高血压:血压持续高于18.7/12千帕 低血压:血压持续低于12/6.7千帕
收舒 缩张 压压
LOGO
达标反馈
填空题
1推、动血血液液循在环__的心__原脏__动__力_和来_自___血____心__管__脏____所__组。成心的脏管的道搏系动
在两条循环路径中,血液的成分分别发生了什么变化?
第4章 循环结构(C++版)ppt课件

第一节 for语句
三、语句格式举例
(1)将控制变量从1变到100,增量为1 for(i=1;i<=100;++i)
(2)将控制变量从100变到1,增量为-1 for(i=100;i>=1;--i)
(3)控制变量从7变到77,增量为7 for(i=7;i<=77;i+=7)
(4)控制变量从20变到2,增量为-2 for(int i=20;i>=2;i-=2)
【上机练习】
•8.满足条件的数【1.5编程基础之循环控制08】 • 将正整数m和n之间(包括m和n)能被17整除的数累加,其中0<m<n<1000。 •输入: • 一行,包含两个整数m和n,其间,以一个空格间隔。 •输出: • 输出一行,包行一个整数,表示累加的结果。 •样例输入: • 50 85 •样例输出: • 204
for (int i=2; i<=100 ; i+=2) cout << i << " "; return 0; }
例4.2 利用for循环,计算输出1+2+…+100的和 #include <iostream> using namespace std; int main () {
int sum=0; for (int i=1; i<=100 ; ++i)
第一节 for语句
• 二、语句执行过程 • for语句的执行过程可由以下4步来描述。 • (1)执行“控制变量初始化语句”,使控制变量获得一个初
值。 • (2)判断控制变量是否满足“条件表达式”,若满足条件则
执行一遍循环体,否则结束整个for语句,继续执行for循 环下面的句子。 • (3)根据增量表达式,计算出控制变量所得到的新值 • (4)自动转到第(2)步。
第四章三种基本结构程序设计

>0 初值<终值 =1 时,可省略 步长 <0 初值>终值 =0 死循环
4.2.3 循环结构实例
例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I
输出I的值分别为: 2 5 8 11 出了循环输出为: I=14
4.2.3 循环结构实例
2、 Do…Loop循环语句
4.2.2 选择结构实例
例 输入一学生成绩,评定其等级。方法是:90~100分为 “优秀”,80~89分为“良好”,70~79分为“中等”, 60~69分为“及格”,60分以为“不合格” 使用IF语句实现的程序段如下: If x>=90 then Print "优秀" ElseIf x>=80 Then Print "良好" ElseIf x>=70 Then Print "中等" ElseIf x>=60 Then Print "及格" Else Print "不及格" End If
不同分支中执行某一分支的相应操作(程序块),并且任何情 况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其 一”的特性。
4.2.2 选择结构实例
1. If…Then语句(单分支结构)
If <表达式> Then
语句块 End If
或
If <表达式> Then <语句块>
例:已知两个数x和y,比较它们的大小,使得x大于y. If x<y Then t=x : x=y: y=t End If 或 If x<y Then t=x: x=y: y=t
第四章 结构化程序设计的三种结构

第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。
printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。
格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。
(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。
转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。
格式字符串中的普通字符,原样输出。
例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。
2.输出项表输出项表是可选的。
如果要输出的数据不止1个,相邻2个之间用逗号分开。
下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。
第4章 C语言程序的基本控制结构

#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B
真
表达 式
假
条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)
第五讲循环结构(for、while与repeat语句)

第四章第3节循环结构的程序设计For循环在实际应用中,会经常遇到许多有规律性的重复运算,这就需要掌握本章所介绍的循环结构程序设计。
在Pascal语言中,循环结构程序通常由三种的循环语句来实现。
它们分别为FOR循环、当循环和直到循环。
通常将一组重复执行的语句称为循环体,而控制重复执行或终止执行由重复终止条件决定。
因此,重复语句是由循环体及重复终止条件两部分组成。
一、计数循环(for/to/do)语句的一般格式for <控制变量>:=<表达式1> to <表达式2> do <语句>;for <控制变量>:=<表达式1> downto <表达式2> do <语句>;其中for、to、downto和do是Pascal保留字。
表达式1 与表达式2的值也称为初值和终值。
二、For语句执行过程①先将初值赋给左边的变量(称为循环控制变量);②判断循环控制变量的值是否已"超过"终值,如已超过,则跳到步骤⑥;③如果末超过终值,则执行do后面的那个语句(称为循环体);④循环变量递增(对to)或递减(对downt o)1;⑤返回步骤②;⑥循环结束,执行for 循环下面的一个语句。
三、说明①循环控制变量必须是顺序类型,初值和终值可以是常量、变量、表达式,且与控制变量类型一致。
例如,可以是整型、布尔型、字符型等,但不能为实型。
②循环控制变量的值递增或递减的规律是:选用to则为递增;选用downto则递减。
③所谓循环控制变量的值"超过"终值,对递增型循环,"超过"指大于,对递减型循环,"超过"指小于。
④循环体可以是一个基本语句,也可以是一个复合语句。
⑤循环控制变量的初值和终值一经确定,循环次数就确定了。
但是在循环体内对循环变量的值进行修改,常常会使得循环提前结束或进入死环。
第九版生理学第四章 血液循环(第3节)

层流与湍流的对比
泊肃叶定律适用于层流状态。在湍流情况下,泊肃叶定律不再适用
生理学(第9版)
2. 血流阻力
∆P Q = ——— R
8η L R = ——— πr4
阻力来自外摩擦(L,r)和内摩擦(η ),总外周阻力主要来自微动脉
一个器官血流量的多少主要受平均动脉压和血管半径的影响。小动脉和微动脉口径的变化是调节器官 血流量和器官之间血液重新分配的最主要因素
(4) 高血压(hypertension)
以体循环动脉压增高为主要表现的临床综合征,最常见的心血管疾病。可分为原发性高血 压和继发性高血压
原发性高血压(essential hypertension)占所有高血压的90%左右。引起原发性高血压
的原因尚未完全阐明
继发性高血压(secondary hypertension)病因明确的高血压,当查出病因并有效去除或
功能特点:运送血液到全身各个器官
生理学(第9版)
3.毛细血管前阻力血管(precapillary resistance vessel)
结构特点:包括小动脉和微动脉,管径较细,对血流的阻力较大;管壁血管
平滑肌含量丰富 功能特点:机体调节器官血流量和器官之间血液重新分配的主要部位,其血
管的口径受神经体液因素的调节
生理学(第9版)
高血压严重影响人们(老人、肥胖者、家族
高血压等人群)的生活,患有高血压的人更易引
起继发性病变
生理学(第9版)
低血压
低血压:目前对低血压的定义尚无统一标准,一般认为成年人上肢动脉血压低于12/8 kPa (90/60mmHg)即为低血压 低血压的临床表现分类: 急性低血压:患者血压由正常或较高的水平突然而明显下降,严重时甚至出现晕厥休克
C语言for循环说课课件

C语言说课
说教材
职业中等教育“十一五”国家级规划 教材《语言基础——C语言》(第5 版),教材由高等教育出版社出版。
此教材的特点是:在提出问题的同时 给出示例程序,而示例程序尽量将主 要的知识点演示出来,使读者对解决 同类问题的程序设计思想有比较全面 的认识。从而满足初学者以及对程序 要求不是很高的读者的需求,正好适 合中职层次的人才培养目标
■ 针对学生这一基本特征,教学模式和教学 方法要进行相应的调整
C语言说课
说课导航
说课程性质和地位 说教材 说教学目标 说教学重难点 说教学资源 说学情 说教法学法 说教学过程
说教学反思
C语言说课
教法分析
教学方法
情境导入法 案例导入法 对比教学法 任务驱动法 项目式教学法
C语言说课
教法分析
例如用案例“自然数1~100的和”来导入循 环结构
考核评价
考核 分类
考核内容
实训 学习态度
课堂
技能 30%
不迟到 率
30%
纪率 10%
作业 20%
提问 10%
评 分
项目1:初识C程序设计
项目2:C程序设计基础——数据类型转换
项目3:选择结构程序设计——学生成绩评定
项目4:循环结构程序设计——乘法表
过程 考核 40%
项 项 项目目目过(567: : :程10字数 指考0符组 针%串— —核)— ——成 图—=绩 书字(统 查符技3计询分0能类%)
课程性质
必修课
软考的重点
其它专业的前导课
C语言
软件设计的主要语言
网络专业重要语言
计控、电子的重要语言
C语言说课
课程性质和地位
第四章 循环结构程序设计

while(i<=100)
{ i++;
程序运行结果: sum=5050
sum=sum+i;
}
6
4.3 do-while语句
do-while语句的结构 do 语句 while(表达式);
例如: do
x-=1; while(x>0);
功能:
1)执行“语句”。 2)计算“表达式”的值。如果值为非0,转1);否则转3)。
}
8
4.3 do-while语句
1)循环体如果包含一个以上的语句,要用复合语句表示。 2)在循环体中应有使循环趋于结束的语句。 3)while语句的特点是先执行循环体,然后判断表达式的值。 4)一般情况下,用while语句和用do-while语句处理同一 个问题时,若二者的循环体部分一样,其结果也一样。但如
18
4.7 goto语句以及用goto语句构成循环结构
goto语句的一般格式:
goto 语句标号;
例如: goto loop;
功能:程序执行到goto语句时,将程序流程转到语句标号指定的 语句去执行。
有标号的语句的格式:
语句标号: 语句
例如: loop: sum=sum+i;
19
4.7 goto语句以及用goto语句构成循环结构
【例4-9】用goto语句实现求1~100累加和。
#include <stdio.h>
main() { int n=1, sum=0; loop: sum += n; n++;
if(n<=100) goto loop;
printf("sum=%d\n",sum); }
第4章 循环结构(C++版)_第二节 while语句-2019-01-04

【上机练习】
2.角谷猜想【1.5编程基础之循环控制18】 /ch0105/21/ :8088/problem_show.php?pid=1086 谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以 2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算 过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。 输入: 一个正整数N(N <= 2,000,000) 输出: 从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。 如果输入为1,直接输出"End"。 样例输入: 5 样例输出: 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 End
第二节 while语句
第2种方法也许更加常用(你再 最后,我们来更仔细地研究一下 也不用记住%d、%lf等恼人的占位符 输入输出。研究对象就是经典的“A+B” 问题:输入若干对整数,输出每对之和。 了): 假设每个整数不超过109,一共不超过 #include<iostream> 106个数对。 using namespace std; 第1种方法是: #include <cstdio> int main() { int a,b; while(scanf("%d%d",&a,&b)==2) printf("%d\n",a+b); return 0; } int main() { int a,b; while(cin >> a >> b ) cout << a+b <<endl; return 0; }
第四章。循环结构(while、do-while、for)

Top1.循环结构(while、do…while、for)1. 循环结构(while、do…while、for)1.1. 什么是循环结构在日常生活中,会有很多需要反复执行的事情,比如:每一年的4个季节,每一周的7天,每日的3餐,打印机每份文档打印50份,一圈跑道400米跑3圈,都是在反复执行的。
再看软件系统中的需求:问题1:输出100行语句,每行语句都一样,即:∙行动是成功的阶梯,行动越多,登得越高!∙行动是成功的阶梯,行动越多,登得越高!∙行动是成功的阶梯,行动越多,登得越高!…问题2:输出100行语句,每行语句都类似,即:∙第1,行动是成功的阶梯,行动越多,登得越高!∙第2,行动是成功的阶梯,行动越多,登得越高!∙第3,行动是成功的阶梯,行动越多,登得越高!∙…∙第100,行动是成功的阶梯,行动越多,登得越高!问题3:计算1到50乘以8.88的结果∙1×8.88 =8.88∙ 2 ×8.88 =17.76∙ 3 ×8.88 =26.64∙ 4 ×8.88 =35.52∙…∙50 ×8.88 =444诸如此类问题都是在反复执行的,在软件系统中可以通过循环这种语法结构来解决。
循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。
对于循环来说,需要考虑两个要素,其一要素为循环体,也就是被反复执行的相同或相似的语句,其二要素为循环的条件,也就是循环得以继续执行下去的条件,常常以循环次数的方式体现。
常用的循环结构有:while、do-while、for。
1.2. while语句1.2.1. while语句的执行逻辑while语句是循环的一种常见语法结构,语法如下:1.while(boolean表达式){语句块;2.}while语句的执行过程为,首先计算boolean表达式的值,而后进行判断,若值为true则执行语句块,语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块,如此循环往复,直到boolean表达式的值为false时退出while循环而执行while之后的语句。
Python程序设计 第4章 循环结构程序设计(第6次课)

Copyright © SWFU-CISD, 2012. All rights reserved. 1-8
计算机编程导论
4.2 循环结构概述
(3)给定2个整数,求它们的最大公约数和最小 公倍数。例如:给定6和9,求最大公约数时, 循环过程从6依次பைடு நூலகம்减至1,当循环到3时,判 断得6和9都能被3整除,于是终止循环,求得 最大公约数是3.;求最小公倍数时,循环过程 从9依次递增至54,当循环到18时,判断得18 同时能被6和9整除,于是终止循环,求得最小 公倍数是18。
练习: 1. 求1+3+5+…+99 2. 求2*4*6*…*12
Copyright © SWFU-CISD, 2012. All rights reserved.
1-21
计算机编程导论
第6次上机作业: 1.计算,参考值: S=1.718282 1 1 1 S 1 1*2 1*2*3 1*2*3*50 2.编程求斐波拉契数列的前20项,已知该数列 的第一、二项分别是0、1,从第三项开始,每 一项都是前两项之和。例如:0, 1, 1, 2, 3, 5, 8, 13……
Copyright © SWFU-CISD, 2012. All rights reserved. 1-12
输出 s 结束 图 4-3 累加若干整数值的框图
计算机编程导论
程序:
#Exp4_1.py print '请输入若干正整数进行求和操作,当输入负数时结束: ' s=0 x = input("请输入一个整数: ") while x >= 0: s=s+x x = input("请输入一个整数: ") print '整数之和=', s
第四章 程序设计的基本语句和结构(小结)

第四章程序设计的基本语句和结构VB具有结构化程序设计语言具有的三种基本结构:顺序结构、选择结构和循环结构(一)顺序结构1、使用Print方法,其语法格式为:[<对象名>.] Print [<表达式表>][{,|;}]【说明】①对象:可以是窗体、图形框等。
此项可以省略。
②spc(n)函数:用于在输出时插入n个空格。
③Tab(n)函数:用于在输出表达式列表前向右移动到第n列。
④表达式列表:即要输出的数值或字符串表达式,若省略,则输出一个空行。
⑤分号(;)表示光标定位在上一个显示的字符后。
⑥逗号(,)表示光标定位在下一个打印区(每隔14列一个打印区)的开始位置处。
2、两个重要函数1.InputBox函数2. MsgBox函数消息框的语法格式为:<变量>=MsgBox(<消息内容>[,<对话框类型>] [,<对话框标题 >])对话框类型=按钮设置值 + 图标设置值 + 缺省按钮值(二)选择结构1、单分支结构If…Then语句格式:(1) If 条件 Then(A组语句)End If2、双分支选择结构- If…Then…Else 语句格式:If 条件 ThenA组语句ElseB组语句END If3、多分支选择结构(三)循环结构程序设计1、For循环语句形式为:For 循环变量=初值 To 终值 (Step 步长) 语句块(Exit For)语句块Next 循环变量2、For next语句的嵌套For i=1 to 10for j=1 to 10i=i+1next jnext i3、前测型Do…Loop循环语句Do[{While/Until}<条件>][<语句组1>][Exit Do][<语句组2>]Loop4、后测型Do…Loop循环语句Do[<语句组1>][Exit Do][<语句组2>]Loop [{While/Until}<条件>](四)数组1、数组类型,先申明后使用例如:Dim score(20) as integer2、Option Base 语句Option Base 1 写于所有程序的最前面3、数组的基本操作—初始化Array函数 <数组变量名>=Array(<数组元素值>)4、数组的基本操作—输入方法一:直接赋值;方法二:利用循环结构;5、数组的基本操作—输出6、LBound函数和UBound函数LBound返回的是数组下界,UBound返回的是数组上界; <维数>指的是返回哪一维的,如果省略<维数>,就认为是第一维。
第4章c语言的三种基本结构

程序1: /*exp51.c*/ #include <stdio.h> main ( ) { int x, y;
scanf(“%d", &x); if (x<0)
y= -1; else if (x==0)
y=0; else
y=1; printf ("x=%d, y=%d\n", x, y); }
程序2:将程序1的if语句改为: /*exp52.c*/ #include <stdio.h> main ( ) { int x, y; scanf(“%d", &x); if (x>=0)
1. 顺序结构 先执行A, 再执行B.
A 表示 A B
B
2. 选择结构 存在某条件P, 若P为真,则执行A, 否则执行B。
TP F
A
B
表示为
TP F AB
另一种选择结构––多分支结构.
K
K=K1 K=K2
K=Kn
A1 A2 … Ai … An
3. 循环结构
有两种结构:当型和直到型 (1) 当型结构
例:计算10!并输出结果。
main()
main()
{
{
int i=1, sum=1;
int i=1; long sum=1;
loop: if (i<=10)
loop: if (i<=10)
{
{
sum=sum*i;
sum=sum*i;
i++;
i++;
goto loop;
goto loop;
}
}
printf(“10!=%d\n”,sum); printf(“10!=%ld\n”,sum
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
练习 S=1-2+3-4+5-...-100
S=1+(-2)+3+(-4)+5-...+(-100) 例2 求N! 分析:求N!既是求1到N这N个数的累乘, 需用到求累乘句型P=P*I,让这个句型重复N 次,让i取值分别为1到N即可完成求N个数的累乘。 可通过给i赋初值为1,设置循环条件为i<=n且 i=i+1实现
11
例 用pset方法实现画一条纵坐标为500横坐标范 围为500到1000的一条线 分析:画线可通过重复画点实现,重复操作可通 过循环实现 思考:画五色线 RGB(a,b,c):a代表红色颜色值,b代表 绿色颜色值,c代表蓝色颜色值,取值范围0-255
12
课堂练习: 输出100到200之间能被3整除的数, 要求每行输出10个 提示: 判断能被3整除可用 i mod 3=0表示,可用 j表示能被3整除的个数,如果j能被10整除,就 换行,换行可通过空print语句。
循环体
Do 语句组
真
条件 假
Loop while <条件>
特点:先执行一次循环体,再判断循环条件, 条件成立继续执行循环体,否则退出循环
34
例 求s=1+2+3+…+100
分析:这是求100个数的累和问题,可用累 和句型s=s+x,要控制x既i取值为1、2、 3…100,可通过给i赋初值为1,循环条件为 i<=100,且i=i+1,这样就可以求出前100个数 的累和
第04章(3) 循环结构
主讲教师:董小艳
联系电话:87092417
计算机应用教研室
引例:
1. 编程计算1+2+3+4+5+6+7+8+9+10的值。
Dim s As Integer s = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 Print s
2. 编程计算1+2+3+……+100的值。
7
课堂练习:求S=1-1/2+1/3-1/4 + ... -1/100
例3 求100!
i = 分析:求N!是求累乘操作,可通过多次重复乘 1: p = 1:p = p * i
操作完成,这里我们让N取值分别为1 到 N,重复 i = 2: p = p * i P=P*I操作即可完成.
i = 3: p = p * i
2.说明
① 循环变量必须是数值型,且最好为整型数。 For i = 1 To 10 step 1
Print i
Next i
4
② 当步长为正时,初值必须小于终值,当步长 为负时,初值必须大于终值,循环才能进行。 当步长为1时,“Step 1”可以省略。 For i = 1 To 10 Step 1 For i = 10 To 1 Step -1 ③ 正常退出循环的情况下,For……Next循环 的循环次数可以用公式算出来 i Print i Print
20
例5 求自然对数的近似值,要求误差小于10-4, 近似公式为
1 1 1 1 e 1 ... 1! 2! 3! n!
分析:这是一个求累和问题,可用s=s+x句型完 成。 其中每一项为阶乘分之一,可用f=f/i句 型求得
21
4.3.3 嵌套
循环可嵌套,如一个 FOR语句可套用一个FOR语句, 如一个DO语句可套用一个DO语句, 如一个 FOR语 句可套用一个DO语句
很显然,用上道题的方法来求解这道题,编写程 序将会非常的麻烦。
2
主要内容
4.3.1 For-next 循环结构
4.3.2 Do –while循环结构
4.3.3 循环的嵌套
4.3.4 算法举例
4.3.5 DO循环的其它结构
3
4.3.1 For-Next 语句
1.格式
For 循环变量=初值 To 终值 Step 步长 语句序列(<循环体>) Next 循环变量
…. I=100 P=P*I
P=P*I S=S+P P=100! S=S+P
S=1!+2!+3!+…+100!
9
例5 求下列数列的前n项和 2/1, 3/2, 5/3,8/5,13/8,… 分析: 求累和可用s=s+x句型, 可发现该数列有如下规律xn=1/xn-1+1,利 用该规律可计算出xn的值
32
例 求s=1+2+3+…+100 分析:这是求100个数的累和问题,可用累和 句型s=s+x, 要控制x既i取值为1、2、3…100,可通过给i 赋初值为1,并i=i+1,且在循环加入if i>100 then exit do,这样就可以求前100个数的累和。
33
2. Do…loop while 格式:
如果要输出 1×1=1 1×2=2 1×3=3 ….1×9=9
如果要输出 1×1=1
2×1=2 9×1=9
1×2=2 1×3=3
2×2=4 2×3=6 ……
….1×9=9
….2×9=18
9×2=18 9×3=27 ….9×9=81
23
例 输出如下图形 00 0000 000000 00000000 0000000000 .000000000000 分析:每一行0的个数是行数的2倍,且每一行都 比它前面一行输出起点向前措一位
终值 初值 Next i 循环次数 Int ( Next i 1) 步长
5
例1 求S=1+2+3+...+100 x = 1 分析:这是求100个数的累和问题,可用 s = s + x S=S+X句型,让这个句型重复100次,让x的取值 x = 2 分别为1、2、3…100。 s = s + x x = 3 重复语句是s=s+x, 将其作为循环体,控制 s = s + x 循环变量取值为1 到100即可实现求100个数累 ... 和 x = 100 s = s + x
例1.S=1+2+3+…+100 分析:这是求100个数的累和问题,可用累和句 型s=s+x,要控制x既i取值为1、2、3…100,可通 过给i赋初值为1,设置条件i<=100,且i= i+1实现 S=1+1/2+1/3+。。。+1/N 分析:这是求累和问题,可套用S=S+X句型,这 里的X=1/i,要控制i取值为1、2、3…n可通过赋初 值为1,循环条件为I〈=N,且i=i+1实现
30
4.求数列 求数列一般给出初始几项(或最后几项), 再给出推导公式(或规律)。 斐波那契(Fibonaccii)数列。已知一个 数列的前两项均为1,从第三项开始,每一项 为其前两项之和,求这个数列的前20项
31
4.3.5 Do 语句其他结构
1.Do …loop
格式:
Do
循环体
语句组
Loop
注意:这是一种无条件的循环结构,在这个结 构中必须加入exit do 语句,否则会出现死循 环。
思考:求P=1*3*5*。。。*(2*N-1)
...
i = 100: p = p * I
8
例4 求1!+2!+3!+。。。+100! 分析:这是一个求累和问题,可用到句型 I=1 P=P*I P=1! S=S+P S=1! S=S+X,其中每一项又是一个阶乘,求每一项 I=2 P=P*I P=2! S=S+P S=1!+2! 可用句型P=P*I句型。也就是说,重复的句型 为: P=P*I P=3! I=3 S=S+P S=1!+2!+3!
29
3. 求两个数的最大公约数和最小公倍数。 分析:求最大公约数可用辗转相除法。 这种方法用自然语言描述如下:(24,38)
1)输入M、N,
2)以M为被除数,N为除数,求得余数为R 3)若R<>0 ,将N赋给M,将R赋给N,继续用 M除以N,直到R=0为止 4)这时的N即为所求
最小公倍数为两个数的乘积除以最大公约数
27
课堂练习 键盘键入10个数,找出其中最小数 提示: 引入变量min存放最小数,假定第一个数最 小,将它赋值给min,让min与其余的数比较,如发 现有比它小就把这个较小数赋值min,保证min里放 的是这两两比较的较小数。重复这个操作直到min 与所有数比较完,则min放的就是这一组数的最小 数
17
求 1!+2!+3!+。。。+100! 分析:这是一个求累和问题,可用到句型 S=S+X,其中每一项又是一个阶乘,求每一项可 用句型P=P*I句型。也就是说,重复的句型为: P=P*I
S=S+P
18
例3 如果我国人口以每年平均1.5%的速度增长, 问多少年后我国人口达到或超过18亿,设现在我 国人口为13亿。
FOR I=1 to 5 For i = 1 To 10 ① 内外嵌套不能交叉,外层要完全包含内层。 FOR J=1 to 5 ② 在循环嵌套中,内外循环的循环变量不能同 For i = 1 To 5 NEXT I 名。 Next i NEXT J Next i
22
注意:
例 打印九九乘法表,
如果要输出 1×1=1
分析:用计算机解此问题的方法是在13亿的基 础上连续累乘(1+0.015),当大于或等于18亿 时停止,统计乘了多少次即可,因此就要用到乘 法模型“p=p*i”和统计要用计数语句n=n+1。