求所有符合这种条件的四位数。解:设符合条件的四位数为N它必须是一个完全平方数用(a*a)表示。①为了确保N=(a*a)在四位数10009999范围内可确认a在3299循环②计算N=a*a将四位数N拆分为两个数n1和n2③若满足条件(n1+n2)*(n1+n2)N就输出N。Pascal程序:ProgramExam35VarNaxn1n2:IntegerBeginfora:=32to99dobeginN:=a*an1:=Ndiv100拆取四位数的前两位数n2:=N-n1*100拆取四位数的后两位数X:=n1+n219ifx*x=Nthenwriteln(N)endReadlnEnd.[例3.6]用“*”号打印出如下的长圆形花纹。************************************解①上面给出的图例共有4行我们可以用一个循环控制行的变化②在每行中又有9列我们可以在上面控制行的循环中再套一个循环来控制列的变化。
Pascal程序Programex36;BeginFora:=1to4doBeginForb:=1to9dowrite(‘*’);Writeln;End;Readln;End.程序中的循环对于a的每位值都包括着一个b=(19)次的内循环。为19b为乘数范围为1a乘式为a*b=(a,b的乘积)则a=1:b=1a1*1=1a=2:b=1a2*1=22*2=4a=3:b=1a3*1=33*2=63*3=9a=4:b=1a4*1=44*2=84*3=134*4=16a=9b=1a9*1=99*2=18„9*9=81⑴从后面分解的横行中发现共有9行这里的“行”数变化与a的差异从19相同可用a控制“行”的循环⑵每“行”里面相乘的数量与b的范围相关由b控制每“行”里面的“内部”循环⑶内循环被包括在最里层执行完每“行”的外部循环就到下一“行”去执行新“行”里面的循环每“行”都拥有形式相似的b=1a内循环。
{外循环控制行的变化}{内循环控制列的变化}{输出一行的“*”后换行}20即每到一“行”都要执行该“行”的内循环。这里所指的“行”可以理解成抽象的行不必定是实际上详细对应的行可以是一个处理“块”。Pascal程序:ProgramExam37Varab:byteBeginfora:=1to9dobeginforb:=1toadowrite(a’*’b’=’a*b’’:3)writelnendReadlnEnd.根据这些格式还可以推动多层循环嵌套pascal语言视频教程,例如fora:=n1ton2doforb:=m1tom2doforc:=k1tok2do循环体语句[例3.8]从七张扑克牌中任取三张有几种组合方式请编程输出所有组合方式。解设经常取出三张分别为a,b,c。
用三重循环分别从17的范围里取值为了排除取到重号用(a-b)*(b-c)*(a-c)<>0进行判断。Pascal程序programExam38;constn=7;vara,b,c,t:integer;Begint:=0;fora:=1tondoforb:=1tondoif(a-b)*(b-c)*(a-c)<>0thenwriteln(a:3,b:3,c:3)End.[例3.9]数学上把除了1和它原本没有别的数无法整除它的自然数叫做整数(或奇数)。现在由键盘输入一个自然数N编程判断N是否是素数是则输出“Yes”否则输出“No”。{外循环}{内循环}forc:=1tondoBegininc(t);End;writeln(total:,t:5);readln21解根据定义对于给定的自然数N只需判定除1和它原本外还有没有第三个自然数即可。
①令K从1循环至N②根据NmodK是否为0可统计K的约数的个数③若N的约数的个数达到2个则认定N不是素数。Pascal程序:ProgramExam39Varnmkt:integerBeginwrite(‘N=’);ReadLn(N);t:=0fork:=1toNdoifNmodk=0thent:=t+1;ift>2thenwriteln(‘No’)Readln;End.程序中的变量yse为布尔(或逻辑)类型(Boolean)。布尔值只有两个True(真)False(假)布尔值与条件判定结果为真(条件成立)或为假(条件不成立)的功效相同常用于条件语句和循环语句中。上面程序中用ifyesand(tmod7=0)thenwriteln实现每行打印七个整数换行程序中布尔函数yes为真在逻辑上表示是素数关系式tmod7=0)的值为真时表示该行输出素数巳是个用and将这两个“条件”连出来是作一种布尔(逻辑)运算。
Pascal共有四种逻辑运算符①and(与)两条件都为True时其结果值为True否则为False②or(或)两条件中即使有一个为True其结果值为True否则为False③xor(赋值)两条件的逻辑值不相同时其结果值为True否则为False④not(非)条件为True时其结果值为False否则为True(取反)习题3.1:1.打印出1至20的平方数表。2.打印出100至200之间的奇数。3.鸡兔同笼(用for循环程序完成)4.一辆快车和一辆慢车开往同一地点快车票价为18元慢车票价为13.5元共售出400张共计5940元求快车票和慢车票各多少张?.5.求出能被5整除的所有四位数的和。6.在以下式子中的二个□内填入一个合适的相同的数字使等式成立。{外循环}{如果N是奇数}elsewriteln(‘Yes’);22□3*6528=3□*82567.有一个三位数它的大家数字之和的11倍恰好等于它自身请编程求出这个三位数。8.在自然数中如果一个三位数等于自身各位数字之立方和则这个三位数就称为是水仙花数。如:153=13+53+33所以153是一个水仙花数。求所有的水仙花数。9.编程序打印出下列图案平行三角形********...
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-134608-4.html
重要的事说三遍
啊
不要中小人奸计