




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、全国青少年信息学计算机奥林匹克竞赛 全国青少年信息学计算机奥林匹克竞赛 全国青少年信息学计算机奥林匹克竞赛 1.1 什么是算法?什么是算法? 算法就是一组有穷的规则,它规定了解决某一特定类 型问题的一系列运动,通俗的说就是解决问题的方法 与步骤。 算法也可以理解为: 程序(数据处理)程序(数据处理)+数据结构(数据组织)数据结构(数据组织) 算法的性质: 1.有限性,算法中的运算项是有限的,且每个运算都可在 有限的时间内完成的; 2.确定性,即算法中的每一项运算都有明确的定义,无二 义性; 3.输入输出,可以没有输入,但是一定要有输出运算项; 4.可行性,即对于任意给定的合法输入均可得到相应的
2、正 确输出结果。 全国青少年信息学计算机奥林匹克竞赛 1.2 算法的描述算法的描述 自然语言 流程图(N-S流程图) 程序语言 cobol,pascal,basic,c,c+,java A B p A B 不成立成立 A A 当当P P 直到直到P P 全国青少年信息学计算机奥林匹克竞赛 【例1-1】交换A和B的值 自然语言: (1)赋A和B的初值; (2)把A的值给X; (3)把B的值给A; (4)把X的值给B; (5)输出A、B的值;vcc A 3,B 4 X A A B B X 流程图: 程序设计语言: Program p1_1; Var a,b,x:integer; Begin A:=
3、3;b:=4; X:=a;a:=b;b:=x; Writeln(a=,a,b=,b); End. 【练一练】用流程图表示将【练一练】用流程图表示将A 和和B两个数中较大的数给两个数中较大的数给MAX; 全国青少年信息学计算机奥林匹克竞赛 全国青少年信息学计算机奥林匹克竞赛 3.1 程序设计的入门语言程序设计的入门语言Pascal 3.2 Pacal基本符号基本符号 3.3 Pascal保留字保留字 3.4 Pascal标识符标识符 3.5 Pascal的数据类型的数据类型 3.6 常量和变量常量和变量 3.7 Pascal标准函数标准函数 3.8 Pascal的运算符及表达式的运算符及表达式
4、3.9 ASCII码码 3.10 Pascal程序的结构程序的结构 全国青少年信息学计算机奥林匹克竞赛 3.1程序设计的入门语言程序设计的入门语言Pascal Pascal是世界上第一个结构化程序设计高级语言结构化程序设计高级语言。 结构化结构化 顺序结构顺序结构 选择结构选择结构 循环结构循环结构 一个入口一个入口 一个出口一个出口 层次分明层次分明 例:结构化程序的结构由三种基本结构组成,下面( )不属于这三 种基本结构? (A)顺序结构 (B)输入输出结构 (C)分支结构 (D)循环结构 B 全国青少年信息学计算机奥林匹克竞赛 Pascal程序的一般结构 Program 程序名(参数表)
5、; 说明部分 Begin 语句部分 End. (1)程序首部 由保留字Program开头,后面跟一个程序名;其格式为: Program 程序名;程序名; 程序名由用户自己取,它的第一个字符必须是英文字母或下划线,其后的 字符只能是字母或数字和下划线组成,程序名中不能出现运算符、标点符和 空格。 全国青少年信息学计算机奥林匹克竞赛 Pascal程序的说明部分 (2)说明部分 程序中所用的常量、变量,或类型、及过程与自定义函数 ,需在使用之前预先说明,定义数据的属性(类型)。Var S,R,C: Real; 是变量说明。只有被说明为某一类型的变 量,在程序中才能将与该变量同类型的数值赋给该变量。变
6、 量说明的格式为: Var 变量表:类型;变量表:类型; 全国青少年信息学计算机奥林匹克竞赛 Pascal程序的语句部分 (3)语句部分 指由保留字 Begin (开始开始)至 End. (结尾)之间的语句系列, 是解决问题的具体处理步骤, 也是程序的执行部分执行部分。 Pascal程序不管是哪部分, 每句末尾都必须有分号分号(;), 但允许最接近 End 的那个语句 末尾的分号省略;程序结束的 End末尾必须有圆点圆点(. ),是整 个程序的结束标志。 程序中花括号“ ”之间的部 分为注释部分。 Program 程序名; 标号说明; (Label) 常量说明; (Const) 说明部分 类型
7、说明; (Type) 变量说明; (Var) 过程或函数说明; Begin 程序体 (主程 序) 语句系列; 语句部分 End. 程序首部 全国青少年信息学计算机奥林匹克竞赛 【练一练】【练一练】 1.Pascal程序的执行部分是_。 2.标准pascal程序说明部分的正确顺序是_。 A.lableconstvartype B. varconstlabletype C. lableconsttypevar D. constvartypelable B C 全国青少年信息学计算机奥林匹克竞赛 3.2 Pascal基本符号基本符号 A Z a z 除字符串中的字母外,其他地方的字母不区分大小写。除
8、字符串中的字母外,其他地方的字母不区分大小写。 Var a:integer; var A:integer; 0 1 2 3 4 5 6 7 8 9 + - * / = = ( ) := . , ; : . 除规定的基本符号外,不允许使用其他的符号。除规定的基本符号外,不允许使用其他的符号。 全国青少年信息学计算机奥林匹克竞赛 3.3 Pascal保留字保留字 保留字:已被系统使用、有专门的用途。保留字:已被系统使用、有专门的用途。 1.程序、函数、过程的起始符号 PROGRAM, FUNCTION, PROCEDURE ARRAY, CONST, FILE, LABEL, PACKED, VA
9、R, RECORD, SET, TYPE CASE, DO,DOWNTO,ELSE, FOR,GOTO,IF, OF, REPEAT, THEN,TO,UNTIL,WHILE,WITH ,FORWARD AND, DIV, IN, MOD, NOT,OR BEGIN,END NIL 全国青少年信息学计算机奥林匹克竞赛 3.4 Pascal标识符标识符 标识符:以字母或下划线开头的字母、数学、下划线序列。标识符:以字母或下划线开头的字母、数学、下划线序列。 1.常用的标准标识符: 标准常量FalseMaxintTrue 标准类型BooleanCharReal Integer Text 标准函数A
10、bsArctanChr CosEofEolnExp LnOdd Ord PredRoundSin Sqr Sqrt SuccTrunc 标准过程Get NewPack Page Put Read Readln Reset RewriteUnpack WriteWriteln 标准文件InputOutput 2.用户自定义标识符:由你自己根据需要来定义。 允许大小写混合,但不能与标准标识符或保留字同名。允许大小写混合,但不能与标准标识符或保留字同名。 全国青少年信息学计算机奥林匹克竞赛 【练一练】【练一练】 1.下列中合法的PASCAL标识符是( )。 A1B2C3 (B) FOR (C) 2A
11、B (D) A1 2.下列是非法的标识符的是( )。 3.下例不是保留字的是( )。 A C A 全国青少年信息学计算机奥林匹克竞赛 3.5 Pascal的数据类型的数据类型 数据类型分类类型符号运算符运算优先级运算结果类型 整数类型正整数、负 整数、零 shortint、 integer、 longint、 byte、 Word +、-、*、div、 mod *、div、mod +、- 整数 实数类型正实数、负 实数、实数 零 Real+、-、*、/*、/ +、-可以与整数混 合运算,结果 为实数 字符类型字符:char 字符串:string 布尔类型 (有序数据) 真、假True、fals
12、eNot、and、orNotandor布尔类型 枚举型、子界型 全国青少年信息学计算机奥林匹克竞赛 下面( )是Pascal数。 (A)73e4 (B)-e4 (C)36.74-e6 (D)1,742,258 下面( )是实数。 (A)10 (B)0.0 (C)0 (D)0 下面有效的Pascal字符型数据是( )。 (A)This is (B)6 (C)Y (D) A B D 全国青少年信息学计算机奥林匹克竞赛 3.6 常量和变量常量和变量 1.常量:在程序执行过程中其值不能改变的数据。 2.变量:变量:相对于常量,在程序执行中值可变。 常量定义:常量定义出现在说明部分。它的语法格式是: c
13、onst =; . =; 例如:例如:const a=12 隐含说明隐含说明a是整型;是整型; 变量说明:变量说明出现在说明部分。它的语法格式是: var :; . :; 全国青少年信息学计算机奥林匹克竞赛 下面常量定义中正确的是( )。 (A)const d=40 or d=100 (B)const s : 0.5 (C)const s=2.15 (D)const s : =(25); 下列变量说明中,不合法的是( )。 (A)var a = real; (B)var r : Real (C)var red : Integer (D)var i1,i2 : Integer; C A 全国青少
14、年信息学计算机奥林匹克竞赛 3.7 Pascal标准函数 n熟悉各个标准函数的用途熟悉各个标准函数的用途 n注意函数的自变量的类型和函数值的类型注意函数的自变量的类型和函数值的类型 标准函数标准函数 Abs(x)inc(x)sqr(x)sqrt(x) Abs(-1)=1 inc(5)=6 sqr(3)=9 sqrt(16)=4 chr(x)ord(x) round(x)trunc(x) chr(97)=aord(A)=65 round(4.6)=5trunc(1.999)=1 Pred(x) succ(x) Pred(b)=a succ(a)=b Odd(x) eoln(x) eof(x) o
15、dd(5)=true 全国青少年信息学计算机奥林匹克竞赛 下列函数值是整型的是( )。 (A)chr(23) (B)ord(false) (C)succ(false) (D)odd(98) 下列函数值不可能是布尔类型的是( )。 (A)odd(x) (B)ord(x) (C)pred(x) (D)succ(x) B B 设有变量说明:VAR AA:(C,G,A,J,K);则 函数SUCC(A)的取值是( )。 (A) G (B) 3 (C) J (D) B C 全国青少年信息学计算机奥林匹克竞赛 3.8 Pascal的运算符及表达式 a.算术运算符 +-*/divmod b.逻辑运算符 not
16、 and or c.关系运算符 = = 算术表达式、逻辑表达式、关系表达式 注意表达式中的运算符优先级别: (1)同级运算从左到右,不同级别运算从高到低运算; (2)括号优先级最高,从内到外逐层降低; (3)not优先级为4; (4)*,/,div,mod,and优先级别为3; (5)+,-,or优先级别为2。 (6)关系运算符优先级别为1。 全国青少年信息学计算机奥林匹克竞赛 表达式35 div 3 mod 4的值是( )。 (A)0 (B)2 (C)3 (D)6 下列表达式中,其值为TRUE的是( )。 (A) 150=150 (B)100150 (C)ABS(-200)200 (D)SU
17、CC(A)SUCC(A) 表达式10*4 mod 5 * 22 / 4* 5的值是 。 i是j的整数倍的布尔表达式 , m是偶数的布尔表达式是 , y是闰年的布尔表达式 是 。 C 0 i mod j=0 Not(odd(m)或者或者m mod 2 =0 (y mod 4 =0)and(y mod 100 0) or (y mod 400 =0) A 全国青少年信息学计算机奥林匹克竞赛 3.9 ASCII码 ASCII码:美国标准信息交换代码 8位二进制 右面7位表示字符 最高位检验错误,或空闲不用 常用字符的常用字符的ASCII: 字符字符 ASCII码码 0 48 A 65 a 97 全国
18、青少年信息学计算机奥林匹克竞赛 有一编码规则如下: 原码:A B C X Y Z 密码:Z Y X C B A 已知原码变量为x, 则密码的表达式是 。 Chr(ord(A)+ord(Z)-ord(x) 全国青少年信息学计算机奥林匹克竞赛 3.10 Pascal程序的结构 program exam1; var r,c,s:integer; begin readln(r); c:=3.14*2*r; s:=3.14*r*r; writeln(c,s); end. 程序首部 说明部分 执 行 部 分 程 序 体 读入圆的半径r 求周长c 求面积s 输出周长与面积 全国青少年信息学计算机奥林匹克竞赛
19、 全国青少年信息学计算机奥林匹克竞赛 4.1 赋值语句赋值语句 变量标识符变量标识符 := 表达式;表达式; 注意:注意: 1. 不要与=混淆,具有方向性 2. 先计算表达式的值,后赋值给变量 3. 两边类型应相同,例外:当表达式的值为整型 时,能自动转变成实型后赋给一个实型变量 4. 一个赋值语句只能给一个变量赋值 5. 变量可进行多次赋值 6. 赋值语句左边只能是单个变量 全国青少年信息学计算机奥林匹克竞赛 Program P4_1(input,output); Const a=128; Var b,d:integer; c:real; Begin b:=a div 16; 先计算a di
20、v 16,得8,再赋给b c:=a/b; 计算a/b得16,再自动变为实型16.0赋给c d:=a; d的值为128 End. 全国青少年信息学计算机奥林匹克竞赛 Program P4_2(input,output); Var b,d:integer; Begin a:=1; b:=2; a:=b; b:=a; End. 在程序中,经常用a:=a+1作计数器,a:=a+x作累加器,a:=a*x作累乘器。 全国青少年信息学计算机奥林匹克竞赛 下列( )程序行是对的。 (A)x:=y:=5; (B)a+b:=c3 (C)y:=1;y:=y+1; (D)i:=x10; C 已知R1,R2是实型变量,
21、I1,I2是整型变量 下列中错误的赋值语句是( )。 (A)I2:=I1+I2 DIV I1 (B)I1:=I1/I2 (C)R2:=3/5*SQR(R1+R2) (D)R1:=R2+I1 B 有变量说明: VAR I1,I2:INTEGER; R1,R2:REAL; B1,B2:BOOLEAN; 设各变量均已赋值,下列语句中无语法错误的是( )。 (A)B2:=ORD(R1R2) (B)I2:=I1+R1 (C)B1:=I1=I2 (D)B1:=B1+B2 C 全国青少年信息学计算机奥林匹克竞赛 4.2 输入(输入(read、readln)语句)语句 输入语句的格式:输入语句的格式: rea
22、d(变量列表);(变量列表); readln(变量列表);(变量列表); 执行该语句时,程序进入等待状态,等待用户从键盘输入数据,输入的执行该语句时,程序进入等待状态,等待用户从键盘输入数据,输入的 数据将依次赋给变量表中的变量。数据将依次赋给变量表中的变量。 全国青少年信息学计算机奥林匹克竞赛 注意:注意: 1. 变量表中的变量可以是一个,也可以是多个,多个时,要 以逗号分开。 2. 从键盘输入数据时,数据的个数不能少于变量的个数,否 则系统仍处于等待状态。当数据多于变量个数时,对于 readln语句便将其忽略。对于read语句,要么将其忽略, 要么被下一个语句读入。 3. 输入数值型数据时
23、,数据间用空格或回车键分隔,最后一 定要按回车。输入字符型数据时,数据间不能用空格或回 车分隔,必须连续输入。 4. 从键盘输入的数据必须是常量,且与变量的类型要一致。 5. Readln后可以没有变量名表,()中内容是可选项。此时 该语句只相当读入“回车”符。 全国青少年信息学计算机奥林匹克竞赛 n输入数值型的数据时,用空格间隔,直到输入回车。 n输入字符型时,就不能用空格间隔,也不能用回车分隔。 设x是整型变量,y是实型变量,ch1和ch2是字符型变量,输入语句 写作: Read(x,y,ch1,ch2); 若想得到的执行结果为:x=50,y=4.2,ch1=a,ch2=b。 如果出入:如
24、果出入:50 4.2 ab 结果会是怎么样的?结果会是怎么样的? 全国青少年信息学计算机奥林匹克竞赛 Read与与Readln的区别:的区别: 当输入的个数多于变量的个数时,readln忽略掉多余;read要么忽 略,要么被下一个输入语句读入。 1. Read后面必须有变量表,且只能是变量;readln后允许没有变量表, 若没有,其作用的是换行读取数据。 (1)Read(a); Read(b,c,d,e); Read(f,g); (2)Readln(a); Readln(b,c,d,e); Readln(f,g); 如果两组语句输入相同的数据: 1 2 3 4 5 6 7 8 9 那么两组语句
25、的执行结果会怎样? a=1 b=2 c=3 d=4 e=5 f=6 g=7 a=1 b=4 c=5 d=6 e=7 f=0 g=0 全国青少年信息学计算机奥林匹克竞赛 4.3 输出(输出(write、writeln)语句)语句 输出可以是一项,也可以是多项,输出多项时各项以逗号 分隔。 输出项可以是任何一个标准数据类型。 输出项可以是常量,变量,表达式,字符串,函数。 Write语句输出完最后一项后不换行,此语句至少含有一 个输出项。Writeln语句输出完最后一项后换行,该语句 允许没有输出项,此时该语句不输出任何内容,只起换行 作用。 输入语句的格式:输入语句的格式: write(变量列表
26、);(变量列表); writeln(变量列表);(变量列表); 全国青少年信息学计算机奥林匹克竞赛 Program P4_3(input,output); Const a=1; b=2; Begin writeln(6); writeln(a); writeln(sqr(3); writeln(a+b); writeln(a+b,a+b); write(pi=); writeln(3.14); End. 全国青少年信息学计算机奥林匹克竞赛 输出项可以是常量,变量,表达式,字符串。 Write与与writeln的区别的区别 Write输出后不换行,而writeln换行。 Write至少有一个输出
27、项,而writeln可以没有输出项,仅起 换行作用。 场宽场宽 场宽:数据输出时所占据的列数。 1.标准场宽标准场宽 整型 12 实型 17(以科学计数法输出) 字符型 1 布尔型 4(true)或5(false) 默认时按标准输出,小于场宽时左侧补空格默认时按标准输出,小于场宽时左侧补空格 全国青少年信息学计算机奥林匹克竞赛 (1)单场宽)单场宽 场宽可以是正整数,也可是值为正整数的整型表达式。 输出超过场宽时,自定义场宽失效,按实际位数输出。 输出项可以是:整型,布尔型和字符型,但不允许是实型。 (2)双场宽)双场宽 双场宽:用来表示实数的输出格式。 定义:输出项:总场宽:小数位数输出项:
28、总场宽:小数位数 没有达到场宽时,左侧补空格;超出时,按实际输出。 双场宽的输出结果并未改变该数的精度。 Writeln(-10.1195:9:3); 输出: 全国青少年信息学计算机奥林匹克竞赛 设有程序 PROGRAM exam(Input,Output); Var ch1,ch2,ch3:Char; BEGIN Readln(ch1,ch2,ch3); Readln(ch1,ch2); Readln(ch1); Writeln(ch1,ch2,ch3) END. 运行以上程序时,若输入为: abc def ghi 则输出是( )。 (A) abc (B) gec (C) ceg (D) a
29、dg B 全国青少年信息学计算机奥林匹克竞赛 下面的输出语句中错误的语句是( ) (A)Writeln($is used to mean US doller); (B)Writeln(The word china has five letters); (C)Writeln(The sign $is used to mean USdoller); (D)Writeln(The word china has five letters); D 设A,B,C为整型变量,并有以下程序段: READ(A); READLN(B,C); READLN(C,B); READLN(A,B); WRITELN(A:
30、2,B:2,C:2); 若运行时输入: 1 2 3 4 5 6 7 8 9 则输出是( )。 (A) 1 2 3 (B) 1 4 7 (C)7 8 3 (D)7 8 4 D 全国青少年信息学计算机奥林匹克竞赛 写出程序的运行结果 PROGRAM P4_3 (Input,Output); Var a:integer; b:real; c:char; d:boolean; BEGIN a:=78; b:=2003.09; c:=%; d:=true; writeln(a,a:2); writeln(b,b:5:2); writeln(c,c:2); writeln(d,d:5); writeln(
31、zhe:6); END. 全国青少年信息学计算机奥林匹克竞赛 4.4 编程需要好算法编程需要好算法 n分析问题 n设计算法 n编写程序 n上机调试 数学模型 方法和步骤 实现算法 编辑、调试、运行 算法的特点:算法的特点: 有穷性:有限个步骤终止 确定性:每一项计算有明确的定义 可行性:每一项计算在有限时间内完成 1. 输入输出:输入可无,输出必有 全国青少年信息学计算机奥林匹克竞赛 4.5 编程小指挥编程小指挥流程图流程图 表述方法优点缺点 自然语言日常使用 通俗易懂 文字叙述繁琐 容易产生歧义 流程图形象、直观 逻辑清楚、易理解 占版面多 绘画麻烦 N-S图简化成几何图形 全国青少年信息学
32、计算机奥林匹克竞赛 N-S图:图: 基本结构:顺序结构、选择结构、循环结构 全国青少年信息学计算机奥林匹克竞赛 输入两个数(例如2和3),将其中的大数存入max。 试用三种方式描述算法。 (1)自然语言描述算法 为变量a赋值2,为变量b赋值为3; 将a的值赋给max; 比较b与max;当bmax时,将b的值赋给max; 输出max的值。 (2)流程图 1. (3)N-S图 全国青少年信息学计算机奥林匹克竞赛 用用N-S图写出下列问题的算法。图写出下列问题的算法。 1.某航空公司,对旅客随身携带的物品收费标准为:30kg以下(含30kg)不 收费,超出30kg的部分每千克收20元。 2.求n!。
33、(n!=1*2*3*n)。 全国青少年信息学计算机奥林匹克竞赛 【练一练】输出下列程序的结果【练一练】输出下列程序的结果 1.Program ex1; Var a,b,s,d:integer; L,e,g:boolean; Begin A:=3; b:=7; S:=a+b; d:=a div b; l:=ab; write(s=,s:5); writeln(d=,d:5); writeln(l=,l); writeln(e=,e,g=,g); Writeln(b/a:5:5); End. 2.Program ex2; Var a,b:integer; C,d:boolean; Begin a:
34、=8; b:=7; c:=odd(a);d:=odd(b); Writeln(c=,c); Writeln(d=,d); If ab then Begin If c=d then write(c) Else write(d) end End. 结果是:结果是: s= 10 d= 0 L=true E=false g=false 结果是:结果是: C=false D=true true 全国青少年信息学计算机奥林匹克竞赛 4.6 顺序结构程序设计顺序结构程序设计 有三个小朋友甲乙丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。 现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余
35、两 份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后 甲、乙、丙三人各有多少粒糖果? program ex2; var A,B,C:integer; begin A:=50;B:=43;C:=13; 初始时每个小朋友所拥有的糖果数 A:=A div 3; B:=B+A;C:=C+A; 甲小朋友分糖果后,每个人拥有的糖果数变化情况 B:=B div 3; A:=A+B;C:=C+B; 乙小朋友分糖果后,每个人拥有的糖果数变化情况 C:=C div 3; A:=A+C;B:=B+C; 丙小朋友分糖果后,每个人拥有的糖果数变化情况 writeln(A=,A,B=,B,C=,C);
36、输出结果 readln; end. 全国青少年信息学计算机奥林匹克竞赛 4.7 应用实例应用实例 例例1: 鸡兔同笼问题。已知鸡和兔的总数量是鸡兔同笼问题。已知鸡和兔的总数量是H,鸡兔腿的总数量为,鸡兔腿的总数量为F,求鸡和,求鸡和 兔各多少只。兔各多少只。 分析:设鸡为分析:设鸡为c只,兔为只,兔为r只,则有只,则有 C+r=H 2*c+4*r=F 解得:解得:c=(4*H-F) DIV 2, r=H-c 全国青少年信息学计算机奥林匹克竞赛 程序:程序: 鸡兔同笼问题。已知鸡和兔的总数量是鸡兔同笼问题。已知鸡和兔的总数量是H,鸡兔腿的总数量为,鸡兔腿的总数量为F,求鸡和,求鸡和 兔各多少只。
37、兔各多少只。 全国青少年信息学计算机奥林匹克竞赛 全国青少年信息学计算机奥林匹克竞赛 5.1 逻辑运算及布尔表达式逻辑运算及布尔表达式 (1)布尔常量 const t=true; f=false; 在程序的执行部分就可以用t代表“真”,f代表“假”。 (2)布尔变量 var t,f:boolean; 定义后t和f就成了布尔变量,他们的值可能是true或false; Pascal语言系统中将语言系统中将true和和false的序号定为的序号定为1和和0,可以看出,可以看出true要大于要大于false, 即:即:falsetrue. 注意:布尔变量的值只允许通过赋值获得,不能通过注意:布尔变量的
38、值只允许通过赋值获得,不能通过read语句输入。语句输入。 全国青少年信息学计算机奥林匹克竞赛 (3)关系表达式)关系表达式 关系表达式是由关系运算符连接而成的表示变量关系的式子, 表达运算符前后数据之间的大小关系。 关系运算对数据的比较则是按照其序号大小关系进行比较的, 如:XY。 关系运算符:关系运算符: 等于等于 = 不等于不等于 小于小于 小于等于小于等于 = 全国青少年信息学计算机奥林匹克竞赛 (4)逻辑运算)逻辑运算 逻辑运算符:not(非)、OR(或)、AND(与) PQP or QP and Q TrueTrueTrueTrue TrueFalseTrueFalse False
39、TrueTrueFalse FalseFalseFalseFalse PNot P TrueFalse FalseTrue 全国青少年信息学计算机奥林匹克竞赛 逻辑运算的注意点逻辑运算的注意点 notandor 括号函数、not*、/、div、mod、and+、-、 or、=、=、=、 同级从左至右 1. 逻辑表达式中,如果逻辑运算符连接的是布尔表达式, 必须用括号将布尔表达式括起来,否则会发生逻辑错 误,例如(a=0)。 表达式True AND NOT Odd(-202)(7-3y then writeln(x=,x) else writeln(y=,y); end. 例:输入两个整数,输出
40、其中较大者。程序如下:例:输入两个整数,输出其中较大者。程序如下: 全国青少年信息学计算机奥林匹克竞赛 5.2 条件(条件(if)语句)语句 if a mod 2 =0 then begin writeln(a, -oushu); b:=a; writeln(b); end else writeln(a,-jishu); 复合语句的格式复合语句的格式 Begin 语句语句1; 语句语句2; 语句语句3; 语句语句n; end; 全国青少年信息学计算机奥林匹克竞赛 Program example2; var a,b:integer; begin readln(a,b); if ab then b
41、egin writeln(1) a); writeln(2) b); end else begin writeln(1) b); writeln(1) a); end; end. 例:某超市要根据两种货物例:某超市要根据两种货物a和和b的库存情况制定进货顺序,的库存情况制定进货顺序, 原则是库存少的具有优先进货权。程序如下:原则是库存少的具有优先进货权。程序如下: 复合语句复合语句 复合语句复合语句 全国青少年信息学计算机奥林匹克竞赛 Program test1; var x,y,z,t:integer; begin write(Please input x,y,z:); readln(x,y
42、,z); if xy then begin t:=x; x:=y; y:=t; end; if xz then begin t:=x; x:=y; y:=t; end; if yz then begin t:=x; x:=z; z:=t; end; writeln(x,y:4,z:4); end. 练一练:已知程序如下,输出程序运行的结果。练一练:已知程序如下,输出程序运行的结果。 输入数据:输入数据:12 33 45 结果为:结果为:45 33 12 全国青少年信息学计算机奥林匹克竞赛 5.3 条件(条件(if)语句的嵌套)语句的嵌套 注意:注意: 多层嵌套if语句时,要注意if、then、
43、else的配套;其中else是与最近最近 的一个if配套的。 1. 为了增强程序的可读性,最好将条件嵌套语句写成缩进式形式。 IF 条件 THEN BEGIN if 条件1 then else ; END ELSE BEGIN if 条件2 then else ; end; 全国青少年信息学计算机奥林匹克竞赛 Program example4; var x:real; y:integer; begin write(Please input x:); readln(x); if x0 then y:=-1 else 例:有一个函数表达式为:例:有一个函数表达式为: y = -1 x0 0 x0
44、1 x0 then y:=1 else y:=0; Writeln(y=,y); End. 全国青少年信息学计算机奥林匹克竞赛 Program example5; var score:real; if score=60 begin then writeln(C) write(Please input the score:); else writeln(D); readln(score); end. write(deng ji shi:); if score=90 then writeln(A) else if score=80 then writeln(B) else 例:输入某同学的数学百分
45、制成绩,要求输出成绩等级例:输入某同学的数学百分制成绩,要求输出成绩等级A、B、 C、D。规定。规定90分以上为分以上为A,80-90分为分为B,60-79分为分为C,60分分 以下者为以下者为D。 全国青少年信息学计算机奥林匹克竞赛 下列程序段运行后,变量value的值为( )。 X:=20; If X=10 then value:=5*X else value:=4*X; (A)100 (B)80 (C)90 (D)70 下列程序段运行后,变量max的值为( )。 a:=5; b:=10;max:=a; if bmax then max:=b; (A)5 (B)10 (C)5和10 (D)
46、以上都不是 A B 已知x=10,y=20,z=30,以下程序段执行后x,y,z的值应是( )。 IF xy THEN z:=x; x:=y; y:=z; (A) x=10,y=20 ,z=30 (B) x=20,y=30,z=30 (C)x=20,y=30 ,z=10 (D) x=20,y=30,z=20 A 全国青少年信息学计算机奥林匹克竞赛 (C)if (ab)and (c=d) then x:=y else m:=n (D)if ab then begin if c=d then x:=y end else m:=n 当同时满足a=b时把n赋给m,应选用的程序段 是( )。 (A) i
47、f ab then if c=d then x:=y else m:=n (B) if ab then begin if c=d then write(c); else write(d); end end. 输出: c=false d=true true 全国青少年信息学计算机奥林匹克竞赛 5.4 分情况(分情况(case)语句)语句 Case语句: 当多分支选择的各个条件由同一个表达式表达式的不同结果值决定时,可以用 case语句实现。 格式:格式: case 表达式 of 标号1:语句1; 标号2:语句2; 标号n:语句n; else 语句n+1 end; 有序类型(整型、字符型、有序类型
48、(整型、字符型、 布尔型、枚举型、子界型),布尔型、枚举型、子界型), 不能是实型不能是实型 case语句在使用时有几点要注意:语句在使用时有几点要注意: 1. end与case对应;标号与语句之间用“:”分隔;else与语句之间 不用分隔符。 2. 标号必须是一常量,其类型与表达式的类型一致。 3. 可以多个标号对应同一条语句,标号之间用“,”分隔。 4. 语句可以是多个语句,但必须用语句括号beginend括起 5. case语句也可以嵌套 全国青少年信息学计算机奥林匹克竞赛 Program example6; var x,y,s:real; ch:char; begin write(Pl
49、ease input x,y,s:); readln(x,y); readln(ch); case ch of +: s:=x+y; -: s:=x-y; *: s:=x*y; /: s:=x/y; end; writeln(x:8:2,ch,y:8:2,=,s:8:3) end. 例:设计一个简单的计算器,具有加、减、乘、除。例:设计一个简单的计算器,具有加、减、乘、除。 全国青少年信息学计算机奥林匹克竞赛 例:从键盘上读入年和月,输出该月有多少天。例:从键盘上读入年和月,输出该月有多少天。 program pcase2; var year,month,day:integer; runnia
50、n:boolean; begin write(Enter year and month:); readln(year,month); case month of 1,3,5,7,8,10,12: day:=31; 4,6,9,11: day:=30;以上处理31天和30天的情况 2:begin runnian:=(year mod 400=0) or (year mod 4=0) and (year mod 1000); case runnian of true: day:=29; false: day:=28; end; end; 以上处理2月的情况:闰年29天,平年28天 end; end
51、. 全国青少年信息学计算机奥林匹克竞赛 Program test1; var num1,num2:integer; begin write(Please input the first integer:); readln(num1); write(Please input the second integer:); readln(num2); if (num1num2) then writeln(num1,num2) else if (num1=num2) then writeln(num1,=,num2) else writeln(num1,num2); end. 阅读程序写结果:阅读程序写
52、结果: 输入:输入:45 88 输入:输入:33 22 输出:输出:4588输出:输出:3222 全国青少年信息学计算机奥林匹克竞赛 Program test2; var a,b,c,d,sum:longint; begin readln(a,b,c,d); a:=a mod 23; b:=b mod 28; c:=c mod 33; sum:=a*5544+b*14421+c*1288 d; sum:=sum+21252; sum:=sum mod 21252 if (sum=0) then sum:=21252; writeln(sum); end. 输入:输入:283 102 23 32
53、0 输出:输出:8910 全国青少年信息学计算机奥林匹克竞赛 Program test3; var a,b:integer; begin read(a,b); case a of 1: b:=a*10; 2: b:=a*20; 3: b:=a*30; 4: b:=a*40; 5: b:=a*50; else b:=0; end; writeln(b); end. 输入:输入:3 4 输入:输入:8 5 输出:输出:90 输出:输出:0 全国青少年信息学计算机奥林匹克竞赛 Free Pascal实例演示 Program p2_01(input,output); Var a,b,c: intege
54、r; begin writeln(请输入两个数:请输入两个数:); read(a,b); c:=a; a:=b; b:=c; writeln(交换后的值是:交换后的值是:,a:5,b:5); end. 这是一段这是一段Pascal语言写的代码,它运行的结果是什么?解决了什么问题呢?语言写的代码,它运行的结果是什么?解决了什么问题呢? 全国青少年信息学计算机奥林匹克竞赛 编辑器中的代码编辑器中的代码 菜单栏菜单栏 编辑窗口编辑窗口 状态栏状态栏 全国青少年信息学计算机奥林匹克竞赛 File菜单的介绍 File菜单用于对文件的管理,如新建文件、打开文件、保存文件等菜单用于对文件的管理,如新建文件、
55、打开文件、保存文件等 。 子菜单子菜单快捷键快捷键功能描述功能描述 New创建新的编辑窗口,以创建新的编辑窗口,以NONAME00.PAS为新为新 的文件的初始名的文件的初始名 OPENF3显示打开文件对话框,供选择打开已有的文件显示打开文件对话框,供选择打开已有的文件 SAVEF2将当前的文件存盘将当前的文件存盘 SACVE AS以用户指定的路径和文件名将当前文件存盘 SAVE ALL所有编辑窗口内的文件存盘 Change dir改变当前工作目录 print打印当前窗口中的内容 Print setup打印机设置 ExitALT+X推出推出PASCAL 全国青少年信息学计算机奥林匹克竞赛 Ed
56、it菜单的介绍 Edit菜单用于对当前窗口中的内容进行编辑,如复制、粘贴、删除等菜单用于对当前窗口中的内容进行编辑,如复制、粘贴、删除等 。 子菜单子菜单快捷键快捷键功能描述功能描述 UndoAlt+Backspace撤销最近的操作 Redo撤销Undo的操作 CutShift+Del删除选定的文本,并将其置于剪贴板中删除选定的文本,并将其置于剪贴板中 CopyCtrl+Ins将选中的文本复制到剪贴板中将选中的文本复制到剪贴板中 PasteShift+Ins将剪贴板中的文本粘贴到当前窗口光标处将剪贴板中的文本粘贴到当前窗口光标处 ClearCtrl+Del删除所选定的文本删除所选定的文本 show clipboard显示剪贴板中的内容 全国青少年信息学计算机奥林匹克竞赛 Search菜单的介绍 Search菜单提供与字符串搜索的相关功能,如执行程序、单步执行等。菜单提供与字符串搜索的相关功能,如执行程序、单步执行等。 子菜单快捷键功能描述 Find显示显示Find对话框,在当前编辑框中寻找指定对话框,在当前编辑框中寻找指定 的字符串的字符串 Replace显示显示replace对话框,查找并替换指定的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 搬迁安置考试题库及答案
- 建筑安全员知识题库试题(含答案)
- 租赁合同纠纷案例分析试题及答案
- 2025年城市生态修复项目社会稳定风险评估与政府决策支持报告
- 2025年宠物市场细分需求研究报告:宠物美容培训与宠物行业人才创新分析
- 2025年汽车行业供应链韧性评估与供应链风险管理咨询项目经验总结方案实施报告
- 2025年文化娱乐行业消费者消费习惯与市场细分研究报告001
- 2025年康复医疗服务体系康复康复与康复康复服务产业链发展预测策略研究报告
- 2025年生物质能源在分布式能源系统中的环保效益与风险评估报告
- 2025年绿色金融产品创新与绿色金融风险管理技术创新应用前景困境与对策报告
- 19.《只有一个地球》-课前预习单-小学语文六年级上册课前
- 高中英语:倒装句专项练习(附答案)
- 【新教材】部编版小学道德与法治四年级上册-全册课件
- DB65-T 4762-2023 油田地面工程建设节能技术规范
- 2024至2030年中国智慧用电产业“十四五”市场预测与发展规划分析报告
- 输血治疗中的大数据分析
- 《旅游经济学(第3版)》全套教学课件
- 大学生心理健康与发展(高等院校心理健康教育)全套教学课件
- 人教版高一下学期期末考试数学试卷与答案解析(共五套)
- 《福建省建筑工程施工文件管理规程2》
- 研发项目策划书
评论
0/150
提交评论