欢迎来到天天文库
浏览记录
ID:52360547
大小:1.29 MB
页数:16页
时间:2020-04-04
《奥赛信息学竞赛班进阶篇课件pascal-02-循环语句(共16张PPT).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PASCAL基本语句汕头金山中学信息竞赛班For语句循环语句(1)for语句s:=0;{s置初值0}fori:=1to100dos:=s+i;writeln(’s=’,s);{输出累加和s}下一条语句控制变量:=初值控制变量=初值+1循环体变量<=终值falsetrue(a)TO情况For语句for语句下一条语句控制变量:=初值控制变量=初值-1循环体变量>=终值falsetrue(a)DOWNTO情况s:=0;fori:=100downto1dos:=s+i;writeln(’s=’,s);For语句for语句注意事项控制变量不能
2、为real型for语句的步长是一定的,不要在循环体内改变循环控制变量如:fork:=1to100dobegink:=3;{循环体中改变了循环变量k的值}……endFor语句for语句注意事项for语句执行完,控制变量无定义,因此for语句的后续语句不能认为控制变量的值是终值而加以利用。当初值超过终值时,不执行循环,循环次数为0。例1:换零钱例:换零钱把一张一元钞票换成一分、二分和五分的硬币(每种至少一枚),问有哪几种换法?[分析]采用穷举法解决:令五分钱硬币的个数为k,k的取值范围为1~19;二分钱硬币的个数为j,j的取值范围为1~
3、49;一分钱硬币的个数则为100-k×5-j×2;n为计数器,累计兑换方案的总数。这样利用二重循环就可以得到每一种组合。例1:换零钱programs100;vari,j,k,n:integer;beginn:=0;{计数器n清0}fork:=1to19do{五分硬币的个数}forj:=1to49dobegin{二分硬币的个数}i:=100-k*5-j*2;{一分硬币的个数}ifi>=1thenbegin{想想:为什么要加这一判断}writeln(‘1fen:’,i,‘2fen:’,j,‘5fen:’,k);n:=n+1;{计数器加1
4、}end;{if}end;writeln(‘total=’,n);end.For语句for语句嵌套打印*阵while语句While语句条件下一条语句循环体falsetruevari:longint;begini:=1;whilei<50dobeginwriteln(i);i:=i+3;end;end.输出:147101316…while语句不小心出现死循环怎么办?按Ctrl+Break强制中断程序运行。vari:longint;begini:=1;whilei<50dobeginwriteln(i);i:=i+3;end;end.注
5、意防止死循环循环体中必须有修改WHILE后面的循环终止条件操作while语句例:求最大公约数辗转相除法如果x可以被y整除(即xmody=0),则y为x和y的最大公约数;否则,设z为x除以y的余数(z:=xmody),再设x:=y;y:=z;看x可以被y整除,若能整除,则y为x和y的最大公约数;否则,继续辗转相除下去……while语句例:求最大公约数辗转相除法例如:x=24y=15xyz24÷15=1……915÷9=1……6÷6=1……36÷3=2……0while语句例:求最大公约数辗转相除法vara,b,c:longint;begi
6、nreadln(a,b);whileamodb<>0dobeginc:=amodb;a:=b;b:=c;end;writeln(b);end.repeat语句repeat..until语句条件循环体N-S图表示:流程图表示:truefalse语句n语句1条件repeat语句repeat..until语句vari:longint;begini:=1;whilei<50dobeginwriteln(i);i:=i+3;end;end.vari:longint;begini:=1;repeatwriteln(i);i:=i+3;until
7、i>=50;end.repeat语句试商法判断质数输入一个大于1的整数N,若为质数,输出‘T’,否则输出‘F’。varx,i:integer;f:boolean;beginreadln(x);f:=true;i:=2;ifx>2thenrepeatifxmodi=0thenf:=false;i:=i+1;until(i>sqrt(x))or(f=false);iff=truethenwriteln(‘T’)elsewriteln(‘F’);end.i能否被x整除没必要从2检测到n-1x=a*b(a<=b)24=2*12=3*8=4*
8、6
此文档下载收益归作者所有