第四章 程序设计初步 顺序结构:赋值语句、输出语句

Slides:



Advertisements
Similar presentations
說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
Advertisements

大學入學考試中心 九十六學度學科能力測驗試題 國文科 -哈利波特番外篇-
必修2 第一单元 古代中国经济的基本结构和特点
中小学教育网课程推荐网络课程 小学:剑桥少儿英语 小学数学思维训练 初中:初一、初二、初三强化提高班 人大附中同步课程
2011级高考地理复习(第一轮) 第三篇 中国地理 第一章 中国地理概况 第五节 河流和湖泊.
人生格言: 天道酬勤 学院:自动化与电气工程学院 班级: 自师1201 姓名:刘 威.
判断推理,必须学会这些 主讲老师:小胡胡 2016年3月25日20:00 YY频道:
民國88年至99年期間,下列何種空氣品質指標污染物有逐年升高的趨勢?
2011年10月31日是一个令人警醒的日子,世界在10月31日迎来第70亿人口。当日凌晨,成为象征性的全球第70亿名成员之一的婴儿在菲律宾降生。 ?
江苏省2008年普通高校 招生录取办法 常熟理工学院学生处
建筑业2007年年报 2008年定报培训会 及 工交城建科 蔡婉妮
中國古典文獻學 主講:羅積勇教授.
初级会计实务 第八章 产品成本核算 主讲人:杨菠.
2014年初中生物学业水平抽测分析.
现代企业高级职业经理人系列课程 管人理事与理人管事 —企业高效人力资源管理 主讲人:李青刚 副教授.
自 然 探 索 圓周美語 My name is.
新准则与老准则 主要变更内容.
06学年度工作意见 2006年8月30日.
中考阅读 复习备考交流 西安铁一中分校 向连吾.
第一单元 人在社会中生活 综合探究一 从地图上获取信息 第1课时 带着地图定向越野间.
岳阳市教学竞赛课件 勾股定理 授课者 赵真金.
第二部分 人文地理 第一单元 人口与城市 第5课 城市化过程和特点. 第二部分 人文地理 第一单元 人口与城市 第5课 城市化过程和特点.
我国的宗教政策 第七课第三框.
中央广播电视大学开放教育 成本会计(补修)期末复习
人教版义务教育课程标准实验教科书 小学数学四年级上册第七单元《数学广角》 合理安排时间 248.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
第三单元 发展社会主义民主政治.
3.3 资源的跨区域调配 ——以南水北调为例 铜山中学 李启强.
了解太平天国运动的主要史实,认识农民起义在民主革命时期的作用与局限性。
你 今 天 累 吗 ? 坪山高级中学心理教师 张婧乔.
中考语文积累 永宁县教研室 步正军 2015.9.
第1节 光的干涉 (第2课时).
任务2: 通报的写作.
群組未知 水蜜桃每4個裝一盒,爸爸買了5盒,一共買了幾個水蜜桃? 爸爸想把20個水蜜桃平分給他的5個朋友,每個朋友可以得到幾個水蜜桃?
小学数学知识讲座 应用题.
勾股定理 说课人:钱丹.
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
倒装句之其他句式.
你的潜能是无限的 ——高三心理辅导.
江苏省2009年普通高校 招生录取办法 江苏省教育考试院
第 二 课 程序组成、基本数据类型、表达式 我们以上一章练习题为例说明Pascal程序的结构形式:
一、单选题 1、 字符串“ababacbab”和字符串“abcba”的最长公共子串是( )。
第 22 课 孙中山的民主追求 1 .近代变法救国主张的失败教训: “师夷之长技以制 夷”“中体西用”、兴办洋务、变法维新等的失败,使孙中山
第八章 符号表 符号表的作用: 一致性检查和作用域分析; 辅助代码生成..
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第六课 CASE语句、判断结构的应用 第三节 case语句
文件操作.
人教版数学四年级(下) 乘法分配律 单击页面即可演示.
第四章程序设计初步 输入语句、复合语句(pg30)
Lok Sin Tong Leung Kau Kui college
4.8 平行线 海南华侨中学 王应寿.
最大公约数 ——解题报告 作者:宋含章 七(12)班 1.
電子白板百萬小學堂 本活動建議搭配電子白板 學生最多可分成2~6組(請按組別按鈕) 老師可以視時間多少,來進行活動 每一組要回答十個問題。
Welcome 实验:筷子提米.
第一部分 数字电路 第4章 组合逻辑电路 主讲教师:喻红.
大綱:整數的加法 整數的減法 蘇奕君 台灣數位學習科技股份有限公司
中五級電腦科 PASCAL檔案處理.
不等式的基本性质 本节内容 本课内容 4.2.
线段 射线 直线.
第四章 基本平面图形 线段、射线、直线.
§5.6 平面向量的数量积及运算律 南海中学数学组 周福隽.
9.1.2不等式的性质 周村实验中学 许伟伟.
第一章 集合论 集合是最基本的数学概念,没有定义 集合是所有数学的基础 两种集合论 朴素集合论:直观描述集合的概念,有悖论
分配律 ~ 觀念 15 × 15 × + 15 × 乘法公式 蘇德宙 老師 台灣數位學習科技股份有限公司
美丽的旋转.
三 顺序结构程序设计 厦大附中信息技术.
國立政治大學 96學年度學雜費調整 第二次公聽會
畢氏定理(百牛大祭)的故事 張美玲 製作 資料來源:探索數學的故事(凡異出版社).
PASCAL语言 吉林大学计算机科学与技术学院.
102年人事預算編列說明 邁向頂尖大學辦公室製作.
Presentation transcript:

第四章 程序设计初步 顺序结构:赋值语句、输出语句 PG:27-37 第四章 程序设计初步 顺序结构:赋值语句、输出语句 变量既然代表一个存储单元,其值是可变的,那么其中的值是怎么提供的,又是怎么改变的呢?在pascal程序中可以通过赋值语句来进行。 赋值语句的格式为: <变量>:=<表达式> 赋值语句的作用是计算表达式的值,并将结果赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同,但表达式值为整型时,它会自动转变为实型后赋值给该实型变量,即符合相容赋值。

赋值语句 例4-1 例4-2 29 1::=与=的区别 2:类型一致性 3:多次赋值 4:因子运算

赋值语句 关于赋值功能的例子 var a,b : integer; begin a := 3; b := 2; a := a+b; b := a-b; a := a-b; writeln(a); writeln(b); end. 程序中整型变量a,b分别赋初值3,2,接着a的值加b的值为5仍赋给a,a的值改变为5,再接下去的两条赋值语句同样使b的值改为3,a的值又改为2,最后输出的a,b的值分别为2,3。

赋值语句 例3-2 关于变量必须赋初值及相容赋值的例子 var c : real; begin writeln('c = ',c); 例3-2 关于变量必须赋初值及相容赋值的例子 var c : real; begin writeln('c = ',c); c := 5 div 2; end. 经编译运行的结果如下: C = 1.00473604E-18 C = 2.0000000000E+00 可以看出:实型变量c在未赋值前的值为随机数,赋值语句中的表达式5 div 2的结果应是整数2,但左边为实型变量c,故结果2自动转变为实型数2.0000000000E+00赋给c。 因此,我们必须养成给变量赋初值的习惯,并注意赋值相容的情况。

赋值语句 下面看几个应用实例的分析。 例 某仓库8月1日有粮食100吨,8月2日又调进20吨,8月3日卖出库存的三分之二,8月4日又调进库存的3倍粮食,问该仓库从8月1日到8月4日期间每天的粮食分别是多少吨?(输出每天的库存量) 分析:在这个问题中,主要要描述从8月1日到8月4日期间仓库的粮食库存量,且易知它是不断变化的。因此我们可以用一个变量A来描述仓库的粮食库存量。

赋值语句 程序可写如下: Var a : integer; Begin a := 100; writeln(‘8/1: ’,a); a := a+20; writeln(‘8/2: ’,a); a := a div 3; writeln(‘8/3: ’,a); a := a*4; writeln(‘8/4: ’,a); readln; End. 注: 上程序各writeln中A前的‘8/1:’,‘8/2:’,‘8/3:’,‘8/4:’都表示一个字符串(即用一对单引号括起来的一串字符),对于字符串,只输出字符串的内容(即引号内的字符),而引号不会输出。

赋值语句 例3-4 有三个小朋友甲、乙、丙。甲有50粒糖果,乙有43粒糖果,丙有13粒糖果。现在他们做一个游戏。从甲开始,将自己的糖分三份,自己留一份,其余两份分别给乙与丙,多余的糖果自己吃掉,然后乙与丙也依次这样做。问最后甲、乙、丙三人各有多少粒糖果? 分析: 这个问题中我们关心的是在游戏过程中每个小朋友的糖果个数,且他们所拥有的的糖果数是在变化的。因此可用a、b、c三个变量分别存放甲、乙、丙三个小朋友在某一时刻所拥有的糖果数。对于每个人分糖后,他的糖果数一定为原来的糖果数 div 3(因为分糖过程中,糖果的数目不一定都刚好分完,用整除恰恰可以表示多余的糖自己吃掉)。而其他两人则增加与这个小朋友现在拥有的一样的糖果。

赋值语句 程序可写如下: var A,B,C : integer; begin 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); {输出结果} end. 以上程序的运行结果为: A = 51 B = 35 C = 16

输出语句 32 write(1.2,3.4,5); write(‘My name is Liping’); 输出语句或写语句是每个程序用于显示计算结果的语句,是必不可少的。 一、输出语句的两种格式 1、 write语句 格式Write(表达式1,表达式2,……); 如: write(1,2,3,4); write(1.2,3.4,5); write(‘My name is Liping’); 2、 writeln语句 格式:Writeln(表达式1,表达式2,……)或writeln

输出语句 二、输出语句的功能 计算机执行到某一输出语句时,先计算出输出语句中的每个表达式的值,并将每一个表达式的值一个接一个地输出到屏幕上。 Write语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于,write语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln语句则在输出各个表达式的值(最后值)后换行。 说明: PG-32

输出语句 例如以下两个程序段的输出分别为: write(1,2,3,4);write(5,6); 输出为: 123456 writeln(1,2,3,4);writeln(5,6); 1234 56

输出语句 三、输出语句的输出格式 在pascal语言中输出数据时是可以按照一定格式表示的,对整数隐含的输出形式为按十进制数形式。对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。 事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明, 则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。 1、隐含的输出格式 pascal语言为整型量、实型量、布尔型量和字符串(用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列),一个数据所占的宽度称为“场宽”或“域宽”。系统给出的隐含场宽称为标准场宽。下表给pascal所规定的标准场宽。

输出语句 数据类型 标准场宽 integer 实际长度 real 17 boolean 4或5 char 1.1428571492E+00。 在Turbo Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。而real型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为“E±nn”,中间的12列为尾数部分。如:writeln(4/7); 则输出 1.1428571492E+00。 这种隐含的输出格式不容易看清楚,因此在程序中往往根据实际情况,需要自己定义场宽。

输出语句 二、输出语句的功能 计算机执行到某一输出语句时,先计算出输出语句中的每个表达式的值,并将每一个表达式的值一个接一个地输出到屏幕上。 Write语句与writeln语句格式上都相似,但它们在功能上有所不同,两个语句的区别在于,write语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln语句则在输出各个表达式的值(最后值)后换行。

输出语句 例如以下两个程序段的输出分别为: write(1,2,3,4);write(5,6); 输出为: 123456 writeln(1,2,3,4);writeln(5,6); 1234 56

输出语句 2、指定场宽 在输出语句中输出项允许含有格式符号,其作用就是为了指定场宽。 ⑴指定单场宽 格式:write(表达式:N)或writeln(表达式:N),其中N为整数类型表达式,但多数情况下直接就用自然数表示,一旦指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据实际长度小于指定场宽时,则一律“向右靠齐,左留空格”。 如write(1234:8);write(‘abcdef’:12) 输出结果: □□□□1234□□□□□□abcdef 对于标准实型数据指定单场宽时,如果场宽大于标准场宽时,右靠齐按标准场宽格式输出17位,左留空格。若场宽小于标准场宽时,第一位仍为符号位,最后四位仍为"E±nn",中间部分为尾数显示部分。如果指定的宽度小于8位,则数据按8位格式"*.*E±nn "输出。

输出语句 ⑵指定双场宽 当输出项是实数时,如果希望输出的实数不用科学记数法输出,而用小数形式输出,可以用指定双场宽的方法输出。 双场宽输出格式为:write(实型表达式:m:n),其中m和n都是整型表达式或自然数,m 用以指定整个数据所占的宽度,n指定输出实数的小数位数。 如 : write(8/7):9:4); 输出:□□□1.1429 如果双场宽不能满足输出数据的最低要求, 系统自动突破指定的场宽限制,按实际长度输出。 如:write(8/7:5:4); 要使小数点后有4位数字,而总场宽为5,是不可能的(因为还有一个小数点,小数点前面还有一个数字)。它最低限度要有6列,即输出为:1.1429

输出语句 例:写出下列程序在turbo pascal下的输出结果. Const s = ‘abcdefg’; var  I : integer;  r : real;  c : char; b : boolean; begin  I := 1234; r := 1234.5678;  c := ‘#’; b := true;  writeln(i,i:6,i:3);  writeln(r,r:12:5,r:8:5);  writeln(c,c:5);  writeln(s,s:10,s:5);  writeln(b,b:5,b:3); readln; end. PG-34

输出语句 运行结果如下: 1234□□12341234 □1.2345678000E+03□□1234.567801234.56780 #□□□□# abcdefg□□□abcdefgabcdefg TRUE□TRUETRUE

输出语句 四、应用实例分析 例3-6 已知A=253,B=43,输出A*B的运算式子。即要求输出格式如下: 253*43=10879 253 --------- 759 +1012 10879 分析:    对于该问题,我们只要控制好输出时右靠齐即可。即前四行的总宽度一样(例如为12),第五行总宽度比前面少1。第六、七行总宽度与前四行一样。

参考程序 253*43=10879 253 * 43 --------- 759 +1012 10879 参考程序如下: var a,b : integer; begin  a := 253; b := 43; writeln(a:10,’*’,b,’=’,a*b);  writeln(a:12);  write(‘*’ :8);writeln(b:4);  writeln(‘--------’ :12);  writeln(a*3:12);  write(‘+’:6);writeln(a*4:5);  writeln(a*b:12); end. 253*43=10879 253 * 43 --------- 759 +1012 10879

思考题 1:编程实现---输入一个四位数,输出它的反向数,如2320---》》0232 2:习题书 PG-12 --》》1 48 1:编程实现---输入一个四位数,输出它的反向数,如2320---》》0232 2:习题书 PG-12 --》》1 PG-18 --》》1--11(6,10,11)

练 习 1、按下列输出格式输出,即1后面空1格,2后面空2格,… … ,5后面空5格,要求方法越多越好。 1 2 3 4 5 练 习 1、按下列输出格式输出,即1后面空1格,2后面空2格,… … ,5后面空5格,要求方法越多越好。 1 2 3 4 5 2、用输出语句输出下列字符图形: \\\|/// \\ - - // ( @ @ ) +--------oOOo-(_)-oOOo--------+ | | | How do you do? | | My name is computer. | | Oooo | +-------- oooO---( )--------+ ( ) ) / \ ( (_/ \_) 3、求出两数相加之和,要求用加法竖式表示。 4357 + 2124 ───── 6481