循环结构程序设计.ppt

上传人:sh****n 文档编号:7457024 上传时间:2020-03-21 格式:PPT 页数:21 大小:328.34KB
返回 下载 相关 举报
循环结构程序设计.ppt_第1页
第1页 / 共21页
循环结构程序设计.ppt_第2页
第2页 / 共21页
循环结构程序设计.ppt_第3页
第3页 / 共21页
点击查看更多>>
资源描述
例1 输出1 100之间的所有数字 programex vari integer beginfori 1to100dowrite i 5 end programex vari integer begini 1 whilei 100dobeginwrite i 5 i i 1 end end 循环结构程序设计 计数循环for循环 For描述已知重复次数的循环结构 一 For语句基本格式 1 递增循环 for循环变量 初值to终值do语句 块 循环体 2 递减循环 for循环变量 初值downto终值do语句 块 循环体 I 1I5退出循环 I 5I 1write i 5I 4I 1write i 4I 3I 1write i 3I 2I 1write i 2I 1I 1write i 1I 0I 1退出循环 二 For语句执行过程 先将初值赋给左边的变量 称为循环控制变量 判断循环控制变量的值是否已 超过 终值 如已超过 则跳到步骤 如果没有超过终值 则执行do后面的那个语句 称为循环体 循环变量递增 对to 或递减 对downto 返回步骤 循环结束 执行for循环下面的一个语句 例7 2按正序和反序输出26个英文字母 programex7 2 varm integer zf char beginform 65to90dobeginzf chr m write zf 2 end writeln form 90downto65dobeginzf chr m write zf 2 end end 换个方法尝试一下 例7 3求1 2 3 99 100Programex Vari sum integer BeginEnd sum 0 fori 1to100dosum sum i Writeln sum 同类型的题目 编程计算从1到20每个数的平方值 求h 1 1 2 1 3 1 4 1 n 求n 输出1到1000之间的能够被3整除的数 统计1到1000之间能够同时被3和7整除的数的个数 并计算他们的和 三 说明 循环控制变量必须是顺序类型 循环控制变量的值递增或递减的规律是 选用to则为递增 选用downto则递减 循环控制变量的值 超过 终值 对递增型循环 超过 指大于 对递减型循环 超过 指小于 循环体可以是一个基本语句 也可以是一个复合语句 循环控制变量的初值和终值一经确定 循环次数就确定了 abs 终值 初值 1 abs ord 初值 ord 终值 1 在循环体内对循环变量的值进行修改 常常会使得循环提前结束或进入死循环 建议不要在循环体中随意修改控制变量的值 for语句中的初值 终值都可以是顺序类型的常量 变量 表达式 For to dowhile dorepeat until while循环和repeat until循环是可以互相替代的 for循环在大多数场合也能用while和repeat until循环来代替 for循环用于有确定次数循环 而while和repeat until循环用于未确定循环次数的循环 while布尔表达式do语句 块 循环体 for循环变量 初值to终值do语句 块 循环体 for循环变量 初值downto终值do语句 块 循环体 Repeat语句1 语句2 语句3 语句n Until布尔表达式 1设有如下程序段 i 1 repeatn i i i i 2 untiln 2 i 假设所有变量均已说明 问其中循环体的执行次数是 A 1 B 2 C 3 D 4 3设有如下程序段 s 100 n 3 forch a to e dobeginifnotodd n thens s n n n 5 end 假设所有变量均已说明 程序执行后s的值是 A 97 B 89 C 74 D 58 4设有如下程序段 n 19876 k 3 fori 1tokdon nmod10 n ndiv10 假设所有变量均已说明 程序执行后n的值是 A 0 B 6 C 10 D 1 2设有如下程序段 i 2 5whilei 4dobegini i 0 5 end 假设所有变量均已说明 问其中循环体的执行次数是 A 1 B 2 C 3 D 4 巩固练习 C A C D 上机练习下面三题选做一题即可 求s 2 4 6 8 10 n 求S 1 1 2 1 3 1 4 1 5 1 6 求前N项的和 求1 2 10 的值 统计1到1000之间能够同时被3和7整除的数的个数 并计算他们的和 求水仙花数 所谓水仙花数 是指一个三位数abc 如果满足a 3 b 3 c 3 abc 则abc是水仙花数 宰相的麦子 相传古印度宰相达依尔 是国际象棋的发明者 有一次 国王因为他的贡献要奖励他 问他想要什么 达依尔说 只要在国际象棋棋盘上 共64格 摆上这么些麦子就行了 第一格一粒 第二格两粒 后面一格的麦子总是前一格麦子数的两倍 摆满整个棋盘 我就感恩不尽了 国王一想 这还不容易 刚想答应 如果你这时在国王旁边站着 你会不会劝国王别答应 为什么 for循环的嵌套在一个for循环的循环体中又包含另一个for循环 称为for循环的嵌套 内层for循环是外层for循环体中的一个语句 Write Fori 1to8doWriteln Fori 1to8doWrite Fori 1to8doBeginforj 1to8doWrite writeln end 编程序分别打印以下三图 例7 5编程输出以下形状的字符组合 题1 programex1 vari j integer beginfori 1to5dobeginforj 1to5dowrite writeln end readln end 题2 programex2 vari j integer beginfori 1to5dobeginforj 1toidowrite writeln end readln end 题3 programex3 vari j integer beginfori 1to5dobeginwrite 6 i forj 1toidowrite writeln end readln end 题4 programex4 vari j integer beginfori 1to5dobeginwrite 6 i forj 1to2 i 1dowrite writeln end readln end 题5 programex5 vari j integer beginfori 5downto1dobeginwrite 6 i forj 1to2 i 1dowrite writeln end readln end 一个循环变量控制行数 外循环 一个循环变量控制列数 内循环 例7 6打印出下列的金字塔1121123211234321123454321 12345678987654321 分析 我们用嵌套的二重循环来实现 外层循环用来控制行数 内层循环用来控制每一行的列 从数字金字塔中我们可以发现 每一行最大的数就是该行的行数 且位于中间 这样 内层循环先从1递增到最大数 然后再递减到1 为控制输出格式 用变量Indent存放每行前面的空格数 且设定每个数字以场宽L输出 indent存放每行的初值至少应为9 程序中我们设为25 programex57 varrow col indent integer beginindent 25 forrow 1to9do 行数 beginwrite indent forcol 1torowdowrite col 2 forcol row 1downto1dowrite col 2 每行上的数字 writeln indent indent 2 end readln end 例7 7把一元钞票换成一分 二分 五分硬币 每种至少一枚 有多少种换法 百钱买百鸡 今有钱100元 要买100只鸡 公鸡3元一只 母鸡1元一只 小鸡1元3只 若公鸡 母鸡和小鸡都至少要买1只 请编程求出恰好用完100元钱的所有的买鸡方案有三种明信片 第一种每套一张 售价2元 第二种每套一张 售价4元 第三种每套9张 售价2元 现用100元钱要买100张明信片 要求每种明信片至少要买一套 问三种明信片应各买几套 请输出全部购买方案 兑换一分 兑换二分 兑换五分 programex77 vari j k total integer begintotal 0 fori 1to99doforj 1to49dofork 1to19doif1 i 2 j 5 k 100thenbeginwriteln i 3 j 3 k 3 total total 1 end writeln total total readln end 上机练习 一个炊事员上街采购 用500元钱买了90只鸡 其中母鸡一只15元 公鸡一只10元 小鸡一只5元 正好把钱买完 问母鸡 公鸡 小鸡各买多少只 打印下列图案 ABCDEF1222333334444444555555555九九乘法表 1 1 12 1 22 2 43 1 33 2 63 3 94 1 44 2 84 3 134 4 16 9 1 99 2 18 9 9 81 求素数表 输入一个自然数n 输出 到n之间的所有素数 programex7 8 varx i n flag y integer beginreadln n forx 1tondobeginflag 1 y xdiv2 fori 2toydoifxmodi 0thenflag 0 if x 1 and flag 1 thenwrite x end readln end 输入一个数 判断是否为素数 fori 2ton 1doifnmodi 0thenflag true programex7 9 vari k kend n integer yes boolean beginwriteln theprimarybetween100and200 n 0 fori 100to200doifodd i thenbeginyes true kend trunc sqrt i fork 2tokenddoifimodk 0thenyes false ifyes truethenbeginwrite i n n 1 end ifnmod5 0thenwriteln end readln end 例7 9求100 200之间的求全部素数 一行打印5个素数 分析 对100 200之间的任一自然数I 若I是素数则输出 对于i 100 如果是偶数 当然不是素数 如果I能被2到i 取整 中的任一自然数整除 则也也不是素数 否则即为素数 输入一个正整数N 把它分解成质因子相乘的形式 如 36 1 2 2 3 3 19 1 19 提示 设因子为I 从2开始到N 让N重复被I除 如果能整除 则用商取代N I为一个因子 如果不能整除 再将I增大 继续以上操作 直到I等于N 猜价格 中央电视台的 幸运52 栏目深受观众喜爱 其中的 猜商品价格 的节目更是脍炙人口 现在请你编一个程序模拟这一游戏 由计算机随机产生200至5000之间的一个整数 作为某件商品的价格 然后由你去猜是多少 若你猜的数大了 则计算机输出提示 Gao 若你猜的数小了 则计算机输出提示 Di 然后你根据提示继续猜 直到你猜对了 计算机会提示 Ok 并统计你猜的总次数 把整数3025从中剪开分为30和25两个数 此时再将这两数之和平方 30 25 2 3025计算结果又等于原数 求所有符合这样条件的四位数 从七张扑克牌中任取三张 有几种组合方法 请编程输出所有组合形式 一辆快车和一辆慢车开往同一地点 快车票价为18元 慢车票价为13 5元 共售出400张 共计5940元 求快车票和慢车票各多少张 图中由6个圆圈构成三角形 每条边上有三个圈 将自然数1 6不重复地填入各圆圈位置上 使每条边圆圈上的数字之和相等 请编程输出所有的填法 作业 第三节夜自修前由11班邵希乐同学收齐 并交至图书馆底楼网络中心处
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!