pascal第三章程序的三种结构课件

合集下载

程序的三种基本结构PPT精选课件

程序的三种基本结构PPT精选课件

1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
11
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
}
假 表达式
语句2
8
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
printf(“A” );
}
12
说明: if后面的表达式类型任意
• 运行情况如下: 3,7,1
7
• 1, 3, 7
•2.双分支选择语句的形式:
•if(表达式) 语句1 else 语句2

pascal语言程序设计入门(三)流程图PPT课件

pascal语言程序设计入门(三)流程图PPT课件
流程图是我们在设计程序之前,对要 解决的问题进行分析,设计好解决问 题的方法和步骤,然后策划出解决问 题的具体方案的一种常用方法。
2021/3/12
3
一个经典问题
用几个步骤可以将一头大象放进冰箱 ?
打开冰箱门 把大象放进去
这就是解决 将大象放进 冰箱问题的
流程图
把冰箱门关上
2021/3/12
4
作业
1、如果有三个杯子,分别装有牛奶、咖啡和果汁,如何用计算机模 拟三种饮料的交换过程?
交换前
X
Y
Z
交换后
X
Y
Z
2021/3/12
1
答案
设置4个变量代表4个杯子:分别为 X,Y,Z,T 给变量赋值:把1赋值给X,把2赋值给Y,把3赋值给Z
2021/3/12
2
第二节 程序设计流程图
流程图:
用图解的方式来说明所设计的针对某 一个实际问题的解决方案需要完成的 一系列操作,使用流程图可以清楚的 看到处理问题的步骤和方法。
杯中饮料交换问题流程图
开始
X←1,Y←2,Z←0 输出X、Y值
赋值 输出初始状态
Z←X X←Y
值传递
Y←Z 输出X、Y值
输出结果状态
结束
2021/3/12
5
流程图的表示方法
图形
名称
意义
开始框和终止框
程序开始或结束
处理框
对数据进行处理
输入/输出框 条件判断框
流程线
数据的输入/输出
程序将根据条件选择执 行路径
Z←X X←Y
值传递
Y←Z 输出X、Y值
输出结果状态
结束
2021/3/12
8

程序的三种基本结构.ppt

程序的三种基本结构.ppt

B
真 P假 AB
多分支选择结构
k
k=k1 k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
循环结构 当型循环结构
假 P

A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
0(N) 表达式
1(Y)
if (x < 0) y = 3 - x ;
语句Biblioteka printf(“y= %6.2f”, y );
}
任给a,b,c三个数,按从小到大的顺序输出。
分析: (1)对于a,b任意两个数:
若a<b,则输出 a , b ; 否则输出 b , a ;
( 2 ) 对于三个数,有6种可能: a<b<c a<c<b b<a<c b<c<a c<a<b c<b<a

C语言高教版第3版第三章三种基本控制结构上课件

C语言高教版第3版第三章三种基本控制结构上课件

„a‟<‘b‟ <‘c‟
关系表达式的值是一个逻辑值,即 【例2.18】判断以下关系表达式的值。 • “真”或“假”。 当 a = 3, b = 2, c = 1,请判断表达式的值 C语言没有逻辑型数据,以1代表“真”, 1. a > b 以“0”代表“假”。 1
2. (a > b) == c
只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值
例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d)
结果m=0,n=1
【例】逻辑表达式的短路特性。例
复杂逻辑条件的表述
• 判断某一年year是否为闰年 1. 闰年 (year%4==0 && year%100!=0)||(year%400==0)
! 优先级:第2级 结合方向:自右向左
&&
||
优先级:第11级 结合方向:自左向右
优先级:第12级 结合方向:自左向右 /* 等价于(a<=x) && (x<=b)*/ /* 等价于(a>b)&&(x>y) */ /* 等价于 (a==b)||(x==y) */ /* 等价于(!a)||(a>b) */
有一个或多个输出
二、算法的描述工具
自然语言
(通俗易懂, 文字冗长, 容易有“歧义性”)
流程图
(灵活, 自由, 形象, 直观, 易理解, 占篇幅大)
N-S图
(新型流程图, 简洁)
伪代码
(介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误)
计算机语言
(用计算机实现算法, 可以执行出结果, 比如 C 语言)

Pascal的控制结构1

Pascal的控制结构1

条件选择结构( 语句 语句) 条件选择结构(if语句)
1、条件语句是一个语句,只有一个“;”作为 条件语句是一个语句,只有一个“ 分隔符,放在语句的结尾。 分隔符,放在语句的结尾。 当条件选择的某个分支要用多个语句描述时, 2、当条件选择的某个分支要用多个语句描述时, 把该分支用begin end括起来 写成复合语句。 begin和 括起来, 把该分支用begin和end括起来,写成复合语句。
条件选择结构( 语句 语句) 条件选择结构(if语句)
输入两个整数,输出较大的数。 例1 输入两个整数,输出较大的数。 program ex1; ex1; a, integer; var a,b:integer; begin write( a, ); write(’enter a,b’); readln( readln(a,b); if(a>b) then writeln(a) writeln(b); else writeln(b); end.
If 布尔表达式 then begin 语句1 语句1; 语句2 语句2; end 语句3 else 语句3;
条件选择结构( 语句 语句) 条件选择结构(if语句)
3、如果只需对条件为真的情况作处理,不需处 如果只需对条件为真的情况作处理, 理条件为假的情况,可省略else分句。 else分句 理条件为假的情况,可省略else分句。变为 语句; If 布尔表达式 then 语句; if语句可以多层嵌套 else分句一般和最近 语句可以多层嵌套, 4、if语句可以多层嵌套,else分句一般和最近 if分句配对 分句配对。 的if分句配对。
布尔表达式
2、逻辑表达式 用逻辑运算符将若干个关系表达式或逻辑表达式 连接起来,其值为true false。 true或 连接起来,其值为true或false。 例 (0<=x) and (x<=8) (y<0) or(y>10) not (s>100) (0<=x) and (x<=8) or (x>10) 运算的优先顺序 not—>and not >and —>or >or

pascal第3章 选择结构的程序设计

pascal第3章  选择结构的程序设计

例3.5 输入一个年号,判断它是否是闰年。 【分析】 判断闰年的算法是:如果此年号能被400整除, 或者它能被4整除而不能被100整除,则它是闰年 输出“yes”。否则,它是平年,输出“no”。程序 如下:
Program ex3_5; Var year : integer; begin readln(year); if (year mod 400=0 ) or (year mod 4=0)and(year mod 100<>0) then writeln('yes') else writeln('no'); end.
var a,b: boolean; begin readln(a,b); 错误语句,布尔型变量不能读入 // writeln(a,b); end.
关系表达式与布尔表达式
什么是关系表达式?

大于 大于等于
3-1 关系运算符
小于 小于等于 等于 不等于
>
ห้องสมุดไป่ตู้>=
<
<=
=
<>
用小括号、>、<、>=、<=、=、<>将两个算 术表达式连接起来的式子就称为关系表达式(比 较式)。 如:3+7>8,x+y<10,2*7<=13等都是 关系表达式。
程序如下:
Program ex3_6; Var a,b,c,t : integer; begin readln(a,b,c); if a<b then //把较大数给a begin t : =a; a : =b; b : =t; //借助第三个变量,交换二个数 end; if a<c then //把较大数给a begin t : =a; a : =c; c : =t; end; if b<c then //把第二、三两个数的较大数给b begin t : =b; b : =c; c : =t; end; writeln(a,' > ',b,' > ',c); //三个if语句后,a,b,c已从大到小有序 end.

程序的三种基本结构(共24张PPT)

程序的三种基本结构(共24张PPT)
•printf("Input a,b,c:\n");
•scanf("%d,%d,%d",&a,&b,&c); •if(a>b) • {temp=a;a=b;b=temp;} •if(a>c) • {temp=a;a=c;c=temp;} •if(b>c) • {temp=b;b=c;c=temp;} •printf("%d,%d,%d",a,b,c);
实现if ~ else 正确配对方法
例: if (a==b)
if(b==c)
printf(“a==b==c〞);
else printf(“a!=b〞);
修改: if (a==b) { if(b==c) printf(“a==b==c〞); } else printf(“a!=b〞);
实现if ~ else 正确配对方法:加{ }
任给a,b,c三个数,按从小到大的顺序输出。
70~89
7,8
else…... else…...
#include <stdio.
else…... 分析: 设score为整型数,在score≥90 的范围内,score可能取100, 99,.
各个case的出现次序不影响执行结果。
{temp=a;a=c;c=temp;}

5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分 支可供选择,而实际问题中常常需要用到多分支的选 择。例如,学生成绩分类〔90分以为‘A’等,80~89分 为‘B’等,70~79分为‘c’ 等,……〕;人口统计分类〔 按年龄分为老、中、青、少、儿童〕;工资统计分类 ;银行存款分类;……等。当然这些都可以用嵌套的if 语句或多分支来处理,但如果分支较多,那么嵌套的if 语句层数多,程序冗长而且可读性降低。C语言提供 switch语句直接处理多分支选择,它的一

第3章ObjectPascal编程基础ppt课件

第3章ObjectPascal编程基础ppt课件

数组
count:=count + 1; // 计数器加1 if count >10 then //如果已输入10个数,开始排序输出 begin // 输出处理开始
for i := 1 to 9 do //排序 for j:= 1 to 10 - i do
if (array1[j]>array1[j+1]) then begin
2
第3章 Object Pascal编程基础
程序结构(项目文件,单元文件) 变量说明(var) 控制结构
项目文件-主程序
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;
文件-写
procedure TForm1.Button1Click(Sender: TObject);
Begin
//写文件
emprec.ename := edit1.Text ;
emprec.age := strtoint(edit2.Text) ;
emprec.sal := strtofloat(edit3.Text);
emp1.age := 23 ; edit1.text := emp1. ename ;
文件
文件-定义记录类型
implementation {$R *.dfm} type
TEmpRec = record // 定义一个职工记 录类型 ename : String[10] ; //定长字符串 age : integer ; sal : real ; end;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例3:运行下列程序后,屏幕上的 输出结果是什么:
1997 ? true ok!
例4:运行下列程序后,屏幕上的 输出结果是什么:
答案参考课本p28中间部分
例5:输入半径r,输出圆的面积。
program ex3_5; const pi=3.1415926; var r,s:real; begin readln( r ); s:=pi*r*r; writeln(s:10:2); 注:当程序运行到readln( r )时,会退到桌面, end. 等待用户从键盘输入一个数给变量r
例10.输入a、b两个整数,如果a大于b, 请交换a与b的值,最后再输出a和b的值。
布尔表达Байду номын сангаас no
语句1 语句2 语句3
程序中出现了如下格式的if语句: if 布尔表达式 then begin 语句1; 语句2; … end;
其中,“begin…end”称为复合语句, 表示当布尔表达式成立时,要执行 多条语句来完成一个任务。
例11.输入一个年份,判断并输出 它是否是闰年。
例12.输入一个一元二次方程 ax2+bx+c=0的三个系数a、b、
c,输出该方程的解;如果无解 则输出“no solution”
自学p35分支结构的嵌套。
例6:运行下列程序后,屏幕上的 输出结果是什么:
输入: 1 2 3 4 5 6 6 7 8 9 输出什么??
注:read(m)与readln(m)的区别在于,从键盘读入m的值后,光标并 不换到下一行。
例7:运行下列程序后,屏幕上的 输出结果是什么:
1. 输入 12345 67890 10 20 输出什么? 2.如果把readln语句都换成 read语句,输入1 2 3 4 5 , 输出什么?
3.如果把程序中的所有变量 都定义成integer类型,输出 什么?
分支结构的程序设计
例8.从键盘上输入一个整数,判断并输出它是奇数还是偶数。
注:
1. if语句的格式有以下两种书写形式:
(1)if 布尔表达式 then 语句1 else 语句2;
(2)if 布尔表达式 then 语句1 else 语句2; 流程图:
Pascal的基本语句

3.1顺序结构的程序设计
语句1
语句2 语句3
例1.求半径为5的圆的面积。

流程图:
代码:
注:< 1 > 赋值语句 r : = 5的作用是把5赋值给变量 r,其中“ := ”为赋值号,它的 左边必须是一个变量名,右边是一个表达式。
< 2 > 输出语句 writeln(s)的作用是把变量s的值输出到屏幕上。
2.在if语句中,语句1后面是没有“;”的。
例9.输入3根小木棒的长度,判断 能否用它们搭出一个三角形。
布尔表达式 no
语句1
注:1.not、and、or逻辑运算结果表(课本p32表3-2) 2.a+b>c, a+c>b,b+c>a 三个表达式要加括号 3.本例中if语句没有else子句,表示条件不成立时什么也不做。
输出:
输出:
注: write(s)的作用也是输出变量s的值,与writeln(s)有何区别?
例2:运行下列程序后,屏幕上的 输出结果是什么:
注:在一个writeln 或者write 语句中,若需要同时输出多个 变量或者表达式的值,则各个 “输出项”之间用逗号隔开。 如:
语句中有4个输出项,其中 ‘a= ’和‘b=’为字符串,是按 引号中的原样输出。
相关文档
最新文档