版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计初步 一、 顺序结构程序设计1.输入语句read和readln功能:从键盘或文件读入数据项,并把它存到变量中去,使该数据能在以后的计算中使用。输入语句的一般形式为: read(v1,v2,vn); readln(v1,v2,vn);从键盘逐次读入数据,分别赋给变量v1,v2,vn,一次输入多个变量值时,要求数据之间用空格分隔,readln语句要求输入数据后必须回车,使得后继操作从下一行的头上开始。 read语句与readln语句区别是: (1) read语句是一个接一个地读数据,在执行完本Read语句( 读完本语句中变量所需的数据)后,下一个读语句接着从该数据输入行中继续读数据,也就是
2、说,不换行。如:Read(a,b); Read(c,d); Read(e); 如果输入数据行如下: 123456则a,b,c,d,e的值分别为1,2,3,4,5,如果后面无读语句则数据6是多余的,这是允许的。 Readln则不同,在读完本Readln语句中变量所需的数据后, 该数据行中剩余的数据多余无用,或者说,在读完本Readln语句中变量所需数据后,一定要读到一个回车,否则多余的数据无用。设有下列语句: read(a,b,c); readln(d,e); readln; readln(f);其中,所有变量均为整型。再设输入的数据如下: 12 345678 910 11 结果为:123451
3、1(2)readln语句与read语句的第二个区别是:read 后一定要有参数表,readln可以不带参数表,即可以没有任何输入项, 只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车2、输出语句write和writeln功能:把程序计算的结果,按适当的形式输出到屏幕或文件。1)、write语句格式Write(表达式1,表达式2,);如:write(x,5,a+b);write(My name is Liping);2)、writeln语句格式:Writeln(表达式1,表达式2,)或writelnWrite语句与writeln语句格式上都相似,但它们在功能上有所不同,两
4、个语句的区别在于: write语句将其后括号中的表达式一个接一个输出后,没有换行。 而writeln语句则在输出各个表达式的值后换行。例如以下两个程序段的输出分别为:write(1,2,3,4);write(5,6);输出为:123456writeln(1,2,3,4);write(5,6);输出为:123456)实数的输出格式实数(real)以浮点型格式输出。例如805.67对应的浮点数为8.056700000000E+02。这种实数表达方式很不方便。我们可以通过下述形式强迫实数以定点型格式输出: 实数表达式:域宽:小数位数例如,t的值设为63.123。下面三条输出语句分别有它们右边所示的输
5、出格式: write(t); 6.312300000000E+01 write(t:6:2); 63.12 write(t:10:5); 63.12300输出语句的输出格式: 场宽的分类:标准场宽和自定义场宽。 自定义场宽又分为单场宽和双场宽。 单场宽的形式: x:n; 可以输出的项目有整型、字符型、布尔型,不允许实型。 双场宽的形式: x:n1:n2; 控制实型数据的输出。 3:复合语句:定义:复合语句是由若干条语句组成的语句序列。形式:begin 语句1; 语句2; 语句nend;用保留字begin和end括起来,构成一条逻辑上的语句,语法上充当一条语句。二、 选择结构程序设计 一:什么是
6、选择结构?选择结构的特点? 二:选择结构的几种语句:1if 语句:格式:if 条件 then 语句1; if 条件 then 语句1 else 语句2;功能:执行过程说明:1)该语句为一个语句; 2)条件是一个布尔表达式或一个布尔变量,then 和else后的语句可以是单个语句,当需要多条语句时,用begin和end括起来构成复合语句。 3)灵活运用该语句,条件是关键。补充:逻辑运算及布尔表达式 1、布尔常量: true false const t=true;f=false; 2、 布尔变量: var t,f:Boolean;顺序型数据false(0),true(1),有ord,succ,pr
7、ed等函数运算 3、关系表达式:定义;运算符;运算结果 对于数值型数据的比较,直接比较数值的大小如:136 的结果为true 对于其它类型数据的比较,则按其序号进行比较如:a=b的结果为false 逻辑运算:三个运算符(优先级):not(单目) and(双目) or(双目)运算结果为布尔型数据:true,false 布尔表达式:由逻辑运算符将几个类型相容且有序的表达式联结起来的式子。 逻辑、算术、关系运算符的运算次序:括号函数、not*、/、div、mod、and+、-、or、=、=、=、例:若a=true,b=false,x=7,y=12,m=3,n=35,求下列布尔表达式的值。a and
8、not (mn) and (x0与x0两种情况,然后对于情况x0,再区分x是小于0,还是等于0。程序代码:program ex; varx:real; y:integer; begin write(input x:);readln(x); if x0then y:=1else if x=0then y:=0else y:=-1;writeln(x=,x:6:2,y=,y); end.3case 语句:分情况语句(多分支语句)格式:case 表达式 of 常数表1:语句1; 常数表2:语句2; 常数表n:语句n; else 语句n+1 end;功能:执行过程说明:1)end 与case 对应 2
9、)表达式的类型通常是整型、字符型 3)常量表是常量,其类型与表达式的类型要一致。常量表中的常量不能重复。【例】:输入两个数(均不为零)及一个算术运算符,输出其运算的结果程序代码:program ex3(input,output); varx,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.上机练习题1.求一元二次方程ax2+bx+c=0
10、的根。算法分析:方程的系数a,b,c决定了方程有无根,是几个根,是实数根还是复根。 2.打印某年某月有几天。算法分析:可分为以下3种情况:每年的1,3,5,7,8,10,12这七个月每月为31天;每年的4,6,9,11这四个月为30天;2月又分为两种情况:闰年为29天,否则为28天。判断闰年的条件:年数能被4整除,并且不能被100整除,或者年数能被400整除; (year mod 4=0)and (year mod 1000) or (year mod 400=0) 第三节 循环结构程序设计 一、什么是循环结构?其特点是什么?二、循环结构的三种形式:1for语句:(“计数循环”):就是将规定循
11、环体重复执行的次数。格式:for 控制变量:=初值 to 终值 do 循环体语句; for 控制变量:=初值 downto 终值 do 循环体语句;功能:执行过程说明:1) 初值和终值可以是表达式,控制变量和初值、终值的类型相同,且必须是整型、布尔型和字符型等顺序类型,不能为实型。2)递增按succ函数规律变化,递减按pred函数规律变化,整型按数值大小变化,如果为字符型量,按ASCII码表的顺序计算。3)初值和终值在循环之前计算,重复过程中,其值不受影响;不得在循环语句中对控制变量进行赋值。4)当初值超过终值,不执行循环,循环次数为零。【例1】:计算1+2+3+4+100之和。算法分析:对于
12、求和,我们使用的是累加的办法。程序代码:program ex1(input,output); var i,sum:integer; begin sum:=0; for i:=1 to 100 do sum:=sum+I; writeln(sum=,sum) end.补充说明:类似sum迭加变量这样的功能称为“累加器”;类似i这样的变量称为“计数器”;“计数器”和“累加器”是在程序中经常使用的基本操作语句。 2while语句:(“当型循环”):当条件满足时反复执行循环体。格式:while 布尔表达式 do 语句;功能:执行过程:先求布尔表达式的值,值为真时,执行语句;值为假时,退出循环。说明:1
13、)为了while循环能正常终止,布尔表达式中的变量必须在循环体中的某语句中有所改变,即有可能是布尔表达式的值为假,使循环结束,否则将出现死循环。2)循环体中的语句一般是多条语句,用begin和end使其成为一条复合语句。【例】:输出1100之间的奇数。程序代码:program ex5(input,output);varx:integer;begin x:=1;while x=100end.三、多重循环:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=16.9*1=9 9*2=18 9*3=27 . . 9*9=81打印出如下的九九
14、表:program jjb(input,output);var i,j:integer;begin for i:=1 to 9 do begin for j:=1 to i do write(i,*,j,=,i*j,:3); writeln; endend.四、转向语句:gotoGoto语句并不是循环语句,而是一个无条件的强制跳转语句。格式:goto语句标号;1、标号说明通常放在程序说明部分第一个出现,格式如下:label 标号1,标号2标号只起到一个表明位置的作用,它并不改变原语句的功能标号并不代表实际的行数,标号之间也可不按大小顺序2、只能从一个语句结构中转出来,不允许从外部转进去例如:求
15、100以内的所有质数program js(input,output);Var n,i,j:integer;begin write(2,); for i:=3 to 100 do begin n:=2; while i mod n0 do n:=n+1; if i=n then write(i,); end;end.上机练习题1.编程求出1!+2!+3!+.+n!的值2.编程找出四位整数abcd中满足下述关系的数。 (ab+cd)(ab+cd)=abcd3.已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5,编程求出此数列的前n项。4.试编写能打印如下输出图形的程序
16、。 思考:如果把图形上下颠倒的话,程序应如何修改5. (1)求出两个自然数a和b的最大公约数。(2)求出两个自然数a和b的最小公倍数。6. 用5元钱买100只纽扣,其中金属纽扣每只5角,有机玻璃纽扣每只一角,小按扣1分钱3个,编程求出各种纽扣各买了多少只?7.(1)随机产生一个三位自然数,判断这个数是否为水仙花数。(2)求100999中的水仙花数。(若三位数abc,abc=a3+b3+c3,则称为水仙花数。如:153,13+53+33=1+125+27=153)program jjb(input,output);var i,n,s,m:integer;begin read(n); s:=0;
17、m:=1; for i:=1 to n do begin m:=m*i; s:=s+m; end; writeln(s=,s);end.1.编程求出1!+2!+3!+.+n!的值2、【算法分析:这道题属于搜索问题,因为是四位整数,其范围从10009999,所求的数究竟在哪里,无法确定,只有在这个范围内从小到大一个一个进行搜索,对每一个数,看它的高两位数与低两位数和的平方是否为该数。高两位数:abcd div 100=ab低两位数:abcd mod 100=cd程序代码:program ex4(input,output); var i,m,n,k:integer; begin for i:=10
18、00 to 9999 do begin m:=i div 100; n:=i mod 100; k:=(m+n)*(m+N); If k=i then write(I:8) end end.补充说明:以上用的方法也叫“枚举法”,又称“穷举法”。它是用计算机解题的一种常用的办法。它的基本思路是:一一枚举各种可能的情况,并判断哪一种可能是符合要求的解。方法虽然很笨,然而与计算机高速的处理能力相结合,也不失为一种较有用的方法3.已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5,编程求出此数列的前n项。program fbnqsl(input,output);var f
19、1,f2,fn,i,n:integer;begin writeln(input n:); readln(n); f1:=0; f2:=1; write(f1:6,f2:6); for i:=3 to n do begin fn:=f1+f2; write(fn:6); f1:=f2; f2:=fn; end;end.4、 program ex10(input,output); vari,j,k:integer; beginfor i:=6 downto 1 do begin for j:=1 to 6-i do write( ); for k:=2*i-1 downto 1 do write(#); writeln end end. program ex10(input,output); var i,j,k:integer;begin for i:=1 to 6 do begin for j:=6-i downto 1 do write( ); for k:=2*i-1 downto 1 do write(#); writeln end end.5、program fbnqsl(input,output);var m,n,t,r:integer;begin writeln(input m and n:); readl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地理(黑吉辽蒙卷01)(解析版)-2026年高考考前预测卷
- 化学02(浙江卷)(考试版及全解全析)-2026年高考考前预测卷
- 病历书写质量检查细则
- 宿舍区消防器材巡检执行制度
- 精细装配工序机加排产计划制度
- 热处理车间炉体故障响应预案
- 施工招标评标专家沟通制度
- 寄养区域安全规定材质验收标准
- 金融风控链路故障复盘质量报告
- 包装车间多班次产量跟进计划
- 云财务知识培训课件
- 2025年电力工程师高级职称评审要点与面试题库及答案
- 2025年空军军队文职技能岗考试文化活动复习题及答案
- 电力市场交易管理办法
- 【《人脸识别技术中个人信息保护的法律规制探析》10000字】
- 政府绩效管理(第二版)课件 方振邦 第1-4章 政府绩效管理概述-政府绩效监控
- 2026年高考数学一轮复习策略《指向深度学习的高中数学教学策略》讲座
- 生物质颗粒采购合同范本
- 青海教师退休管理办法
- 码头防风防汛管理制度
- 2025年安徽省高考化学试卷真题(含答案详解)
评论
0/150
提交评论