_Pascal语言基础知识 循环.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Readln(a,b,c) 读入边长
流 程
求p
图
求s
输出面积s
var a,b,c:integer; p,s:real;
程序从第一句开始,依次 顺序执行语句直到结束, 中间无分支和循环,这种 程序结构称为顺序结构
begin
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
•
sum:=sum+I;
•
writeln(‘sum=’,sum)
• end.
• 补充说明:类似sum迭加变量这样的功能称为“累 加器”;类似i这样的变量称为“计数器”;“计
数器”和“累加器”是在程序中经常使用的基本操 作语句。
• 【例3】:键入一个自然数,输出其所有约数,计算出这些约数之和并输出。
readln(a,b,c) 读入边长
a,b,c能否 构成三角形?
YES
求p,s, 输出面积
var a,b,c:integer; p,s:real;
begin readln(a,b,c); if (a+b>c)and(a+c>b)and(b+c>a) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln(s:0:2); end else writeln(‘No answer’);
3、说明:
1) 初值和终值可以是表达式,控制变量和初值、终值的类型相同,且必须 是整型、布尔型和字符型等顺序类型,不能为实型。
2)递增按succ函数规律变化,递减按pred函数规律变化,整型按数值大小 变化,如果为字符型量,按ASCII码表的顺序计算。
3)初值和终值在循环之前计算,重复过程中,其值不受影响;不得在循环 语句中对控制变量进行赋值。
writeln(s:0:2);
end.
改进: 输入三角形的三条边a,b,c,
如果能构成三角形则输出三角形的面积;
如果不能pp构成a三a角2b形b则cc输出”No answer”.
s p( p2 a)( p b)( p c) s p( p a)(p b)(p c)
NO
输出:
‘No answer’
程序的三种基本结构
一、顺序结构 二、选择结构 (if 、case) 三、循环结构(for、while、repeat)
一、顺序结构
例:输入三角形的三条边a,b,c,输出三角形的 面积。(a,b,c是正整数<100,满足三角形条件)
p
s
p
a
a
b 2
p( p
b
2
c c
a)( p
b)( p
c)
s p( p a)( p b)( p c)
程序代码:
program ex3(input,output); var
x,y,s:real; ch:char; begin
writeln(‘input x & y & ch:’); readln(x,y); readln(ch); case ch of
‘+’:s:=x+y; ‘-‘:s:=x-y; ‘*’:s:=x*y; ‘/’:s:=x/y end; writeln(x,ch,y,’=’,s) end.
情况:要么什么也不做,要么执行else后面的语句。
注意:else前面没有分号.
补充
逻辑、算术、关系运算符的运算次序:
1. 括号 2. 函数、not 3. *、/、div、mod、and 4. +、-、or 5. >、>=、<、<=、=、<>
3.case 语句:分情况语句(多分支语句) 格式:case 表达式 of
• 算法分析:解决这一问题的关键是找出约数,也就是判定一数能否被另一 数整除。可以用x mod y=0,来找出所有约数。
• 程序代码:
• program ex3(input,output);
• var
•
i,x,y,sum:integer;
If语句作为
• begin
For语句的
•
write(‘x=’);read(x);
三、 循环结构
循环结构的三种形式:
循环结构程序通常由三种的循环语句来实现。它们分别为 FOR循环、当循环while、直到repeat循环。 通常将一组重复执行的语句称为循环体,而控制重复执行或终止 执行由重复终止条件决定。 因此,重复语句是由循环体及重复终止条件两部分组成。
1.for语句
1.for语句:(“计数循环”):就是将规定循环体重复执行的次数。
格式:for 控制变量:=初值 to 终值 do
循环体语句;
for 控制变量:=初值 downto 终值 do
循环体语句; 2、for语句执行过程
①先将初值赋给左边的变量(称为循环控制变量); ②判断循环控制变量的值是否已“超过”终值,如已超过,则跳到步骤⑥; ③如果末超过终值,则执行do后面的那个语句(称为循环体); ④循环变量递增(对to)或递减(对downto)1; ⑤返回步骤②; ⑥循环结束,执行for循环下面的一个语句。
常数表1:语句1; 常数表2:语句2;
····
常数表n:语句n; else 语句n+1 end; 功能:执行过程
说明:1)end 与case 对应 2)表达式的类型通常是整型、字符型 3)常量表是常量,其类型与表达式的
类型要一致。常量表中的常量不能重复。
【例4】:输入两个数(均不为零)及一个算术运算符,输 出其运算的结果
4)当初值超过终值,不执行循环,循环次数为零。
• 【例1】:计算1+2+3+4+···+100之和。
• 算法分析:
• 对于求和,我们使用的是累加的办法。
• 程序代码:
• program ex1(input,output);
• var
•
i,sum:integer;
• begin
•
sum:=0;
•
Baidu Nhomakorabea
for i:=1 to 100 do
end.
无“;”
二、 选择结构
1.if 语句:
格式一: if <布尔表达式> then <语句>;
格式二:
if <布尔表达式> then <语句1> else <语句2>;
功能:执行过程 说明:1)该语句为一个语句;
2)条件是一个布尔表达式或一个布尔变量,then 和else后的 语句可以是单个语句,当需要多条语句时,用begin和end括起 来构成复合语句。 3)当布尔表达式的值为真,则执行then后面的语句,值为假时有两种