大学计算机基础——编程入门4
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思考题
例2:输入5个数,求其和。
例3:求若干个数的和,输入0结束。 例4:求1+2+3+…和超过1000的第一个n值及其和。 例5:求n! 设n=5 例6:求Xn 设n=5
0
先加后修改再判断
sum+=i
0
sum
i 1
sum=sum+i
0+1 1+2 3+3 6+4 10+5
1
3 6 10 15 21 …
2பைடு நூலகம்
3 4 5 6 7 …
15+6
21+7 …
例1: 求1+2+3+…+100的和
直到型循环结构
扩展1: 1+3+…+99的和
思考:求100内的偶数和。
作业: 请画出当型 循环的流程 图和N-S图。
0sum
初始 部分
1i
i<=100
真
sum+=i; i++;
假 控制 部分
循环体 修改 部分
当型循环结构
开始
例1: 求1+2+3+…+100的和
初始 部分 假 控制 部分 循环体 修改 部分
0sum
1i i<=100
真
sum+=i;
i++;
输出sum 结束 课上学生抄图
当型循环结构
课堂讨论
什么是循环程序?
在许多问题中, 常需要反复执行同一 程序段,vc++语言中 提供了循环语句,用 来编写需要反复执行 的程序段。 从而解决这个问题, 简化了程序,节省了 计算机存储空间。
3、循环结构的类型和流程图
1) 先循环控制后循环 处理,称为当型循环。 2)先循环处理后循环控 制,称为直到型循环;
课上学生抄图
课上学生抄图
#include<iostream.h> void main() { char cj; cin>>cj; if(cj>='a'&&cj<='z')cj=cj-32; switch (cj) { case 'A':cout<<"90--100\n";break; case 'B':cout<<"80--89\n";break; case 'C':cout<<"70--79\n";break; case 'D':cout<<"60--69\n";break; case 'E':cout<<"<60\n" ; break; default:cout<<"ERROR\n"; } }
例1: 求1+2+3+…+100的和
解: 1. 设置变量 1)累加和变量sum,整型int 2)循环控制变量i, 整型int,控制累 加次数,从1~100变化,兼作自然数 发生器。 2. 循环初值 若sum预先赋初值为0,则i初值为1, 终值为100,步长为1,循环次数为 100次; 循环的初始设置:sum=0和i=1 循环条件:i<=100 重复的操作:sum=sum+i; 修改循环控制:i++ 3.累加算法的流程图:如右图所示
1、问S=5+10+15+…+100如何修改流程图?
答:对前图修改:i=5, i<=100,i=i+5 或 i=100,i>=5,i=i-5
2、计算S=2+4+6+ +100画出两种流程图 3、求1~100中的偶数的和。 要求:下课前交第2题的流程图,回去思考第 3题。
开始 sum=0 i=2 i<=100 y sum=sum+i i=i+2
思考:
输入i为101; 输出sum=?
当型循环结构
扩展3:输入i,求 i+2+3+…+100的和
思考: 输入i为101;
输出sum=?
直到型循环结构
扩展4:5+10+15+…+100
分析: 1)初值:sum=0; i=5; 2)循环控制条件: i<=100; 3)累加和公式:sum+=i; 4)控制变量修改:i+=5 请画出求解的流程图和N-S图。
例1:输入成绩, 输出等级
— 100 :A
— 89 :B — 69 :C
<60 :D
无break; 加break; 96 A B C 96 A
注意: case后面的常量表达式的值必须互不相同,但 不同的case常量表达式可以共用同一个语句组。
可对分数进行界定;
课上学生抄图
课上学生抄图
#include<iostream.h> 要印证程序的正确性, void main() 要取数遍历所有的分支 { 取数:0,3,-6,2,6 int i; 可用循环语句控制执行 5次这段程序。 double x,y; for(i=1;i<=5;i++) { cout<<"please enter the number:"; cin>>x; if (x>3) y=x*x+4; if (x>0&&x<=3)y=x; if (x<=0)y=x*x-4; cout<<"x="<<x<<"y="<<y<<endl; } }
反复执行的程序段
又称为循环体
3、循环的控制部分
控制循环的执行与结束
使其得到循环后的结果。
实际问题
1、计算1+2+3+4+…+100的和
2、计算1+2+3+4+5+…,直到和>200时为止。 3、计算1+2+3+…+100,当和>2000时为止。
实际循环问题:分3类
循环次数已知——计数型
设计方法:
大学计算机基础B
第二讲
Hebei University of Technology
大学计算机基础B
主讲教师:赵晓安
主要内容
1、作业分析(课堂讨论) 2、由实验引出循环程序 3、循环结构的类型和流程图
4、循环问题算法设计举例
课堂讨论
根据学生成绩的等级打印出分数段,请画 出流程图。 等级 分数段 A 90—100 B 80---89 C 70---79 D 60---69 E <60
c 70--79
#include<iostream.h> 若:90 void main() 70 { int cj; cin>>cj; 60 switch (cj/10) { case 10: case 9:cout<<"\nA"; break; case 8: case 7:cout<<"\nB"; break; case 6:cout<<"\nC" ; break; default:cout<<"\nD"; } }
sum+=i*2-1; i<=50 i++ 直到型循环结构
扩展1: 1+3+…+99的和
If(i%2) sum+=i; i<=100 i++
i%2!=0 i%2!=0
扩展2:输入n,求1+2+3+…+n的和
作业:
请画出直到 循环的流程 图和N-S图。
扩展3:输入i,求 i+2+3+…+100的和
当型循环结构
直到型循环结构
当型循环结构
直到型循环结构
循环结构四个主要组成部分
1、循环的初始部分
给循环控制变量
循环体内的变量赋初值
4、循环的修改部分
修改循环控制变量的值, 使其满足执行循环的条件时继 续循环,否则使其满足结束循 环的条件时结束循环,防止死 循环。 修改循环工作中变量的值,
2、循环的工作部分
设一个循环控制变量,找到其初值、终值、步长 循环次数=1+(终值-初值)/步长
循环次数未知,但已知结束条件——条件型
设计方法:
在题目中找到控制循环结束的变量,在循环初始部分先赋 初值,在循环体内修改其值,使其满足循环结束条件。
已知循环次数和结束条件——计数+条件型
设计方法:上述两种方法的综合
选择循环结构和语句:
当型结构特点: 先判断,后执行 直到型的特点: 先执行,后判断,至少执行一次循环体 VC++提供三条循环语句: While语句: 当型 选择语句的思路: 根据实际问题选
for语句:
当型
择,通过学习总结选
择方法。
Do..while 语句:直到型
4、循环问题算法设计举例
1、累加算法 1) 计算1+2+3+4…+100。 扩展思路 2) 输入5个数,求其和。 2、画流程图和N-S图
2、计算S=2+4+6+ +100画出两种流程图
i=1 i<=50 n 输出sum sum=sum+2*i i=i+1
结束
蓝线指出第二种方法
3、求1~100中的偶数的和。
开始
sum=0
i=1 i<=100 y i%2=0? y n n 输出sum
sum=sum+i
i=i+1 结束
可以进一步思考:如何同时求出奇数的和?