210 likes | 479 Views
PASCAL 程序设计. 学会计算机的语言. —— 语句篇. 语句是执行部分的内容!也就是向计算机下达的指令。. 一个完整的程序. 程序首部 ; 说明部分 ; 执行部分. Program mianji(input,output); Var chang,kuan,mj:integer; Begin readln(chang,kuan); mj:=chang*kuan; writeln(mj); End. 基本语句. 输入 赋值 输出. 名称. 基本格式. 作用及执行特点.
E N D
PASCAL程序设计 学会计算机的语言 ——语句篇
语句是执行部分的内容!也就是向计算机下达的指令。语句是执行部分的内容!也就是向计算机下达的指令。 一个完整的程序 • 程序首部; • 说明部分; • 执行部分. Program mianji(input,output); Var chang,kuan,mj:integer; Begin readln(chang,kuan); mj:=chang*kuan; writeln(mj); End.
基本语句 • 输入 • 赋值 • 输出 名称 基本格式 作用及执行特点 • Read(变量表); • Readln(变量表); • Readln; • 变量:=表达式; • Write(输出项表); • Writeln(输出项表); • Writeln; • 从键盘输入数据; • 从键盘输入数据,输入一个回车; • 输入一个回车; • 把表达式的结果放入变量中; • 在屏幕上输出所有输出项目; • 在屏幕上输出所有输出项目并输出回车; • 在屏幕上输出回车;
请写出相应的语句——lx1 • 1.输入两个数分别放入A1,A2两个变量中; • 2.输入三个数分别放入A,B,C三个变量中,并输入一个回车; • 3.输入一个回车; Read(a1,a2); Readln(a,b,c); Readln; Read(a1),(a2); Read(a1a2);
请写出相应的语句——lx3 1.在屏幕上输出x,y的值; 2.输出X+Y+3的结果;3.输出A的值并输出一个回车; 4.输出一个‘+’号并输出一个回车; 5.输出一个回车; Write(x.y); Write(x+y+3); Writeln(‘+’); Writeln; Write(xy); Write(x+y+3) Writeln(+); Write;
最简单的构造语句 • 判断 名称 基本格式 作用及执行特点 • If 布尔表达式 then 子语句; • If 布尔表达式 then 子语句1 else 子语句2; • 根据布尔表达式的值来选择子语句是否执行。 If 布尔表达式 then 子语句; If 布尔表达式 then 子语句1 else 子语句2; • 根据布尔表达式的值来选择执行哪一条子语句。
begin 主要程序段 主要程序段 begin 输入a,b Max:=a; 输入a,b f f t t B>max a>b maxb Na; Nb; 输出n 输出max end end 请编写程序 • 输入两个数,找出最大数。 Readln(a,b); Readln(a,b); max:=a; If a>b then n:=a else n:=b; If b>max then max:=b; write(max); write(n); 两两比较 打擂法
begin 输入a,b,c Max:=a; begin Readln(a,b,c); f t 主要程序段 B>max max:=a; 输入a,b If b>max then max:=b; maxb Max:=a; f t B>max f t c>max maxb write(max); maxc 输出max 输出max end end 打擂法 • 输入三个数,找出最大数。 If c>max then max:=c;
请编写程序 • 输入四个数,找出最大数。 • 输入四个数,找出最小数。
嵌套的if语句(构造语句) If 布尔表达式 then 子语句; If 布尔表达式 then 子语句1 else 子语句2; 任何一种语句都可以用。 此处的语句如果又是一个判断语句,那么就形成了大层判断套小层判断。 If 布尔表达式 then if语句; If 布尔表达式 then if 语句1 else if 语句2;
else Case的结束标记 表达式 常数表1 常数表n 常数表2 …… Pascal程序语言——语句(五) 语义:根据表达式的值在各类常数表中寻找匹配项目,找到后根据常数表对应的语句进行执行,若未找到匹配项目则执行else后的语句。 • case语句 格式: Case 表达式 of 常数表1:语句1; 常数表2:语句2; …… 常数表n:语句n; else 语句 n+1 End;
循环算法的要素 • 对于一个需要用循环解决的问题,有两个要素: • 循环内容(要重复做什么)(语句) • 循环条件(要重复到什么时候)(条件P)
For语句 • 格式1: For 循环控制变量:=初值 to 终值 do • 格式2: For 循环控制变量:=初值 downto 终值 do
编写程序 1.猴子吃枣子 猴子摘了一堆枣,第一天吃了一半,还嫌不过瘾,又吃了一个;第二天吃了剩下的一半零一个;以后每天如此。到第十天,猴子一看只剩下一个枣子了,问最初有多少个枣子? n:=1; for i:=1 to 9 do n:=(n+1)*2;
N 条件p 语句; N Y 条件P 语句; Y …… 循环结构 • 根据条件的成立与否选择是否重复某些步骤执行。 直到型循环 当型循环 While 条件p do 语句; repeat 语句 until 条件P;
While循环 • While 条件 do • 循环体 • 如果循环体中有多条语句,要用begin和end. • 当条件满足时,执行循环体.
直到型循环语句 • Repeat • 循环体 • Until 条件 • 循环体中有两条语句. • 每执行一次循环体,I的值加1,并检查是否超过终值,如超过,停止循环,执行下面的语句,否则,继续。 repeat begin writeln(‘hello’) i:=i+1; end; until i>=10
从计数循环( for语句)转变成当型循环 Begin read(n) S:=0; for L:=1 to n Do Begin S:=S+L; End; Writeln(s) End. Begin read(n); S:=0;L:=1; While L<=n Do Begin S:=S+L; L:=L+1; End; Writeln(s) End. For语句自动改变循环变量的值,但WHILE语句必须有相应的语句,每次次变化可以修改。
从计数循环( for语句)转变成直到型循环 Begin read(n) S:=0; for L:=1 to n Do Begin writeln(‘*’:L); End; End. Begin read(n); S:=0;L:=0; repeat L:=L+1; writeln(‘*’:L); until L=n End.
练习: • 计算1+2+3+4+……+50之和。 • 求1*2*3*...*n (n=5) • 求1+3+5+...+99 • 求12+22+32+…+1002 • 编程求1+1/2+1/3+...+1/100
趣味题(lucky52.pas) • 猜价格:中央电视台的“幸运52”栏目深受观众喜爱,其中的“猜商品价格”的节目更是脍炙人口,现在请你编一个程序模拟这一游戏:由计算机随机产生100以内的一个整数,作为某件商品的价格,然后由你去猜是多少,若你猜的数大了,则计算机输出提示“Gao”,若你猜的数小了,则计算机输出提示“Di”,然后你根据提示继续猜,直到你猜对了,计算机会提示“Ok”,并统计你猜的总次数。(1)请画出流程图,(2)根据流程图写出相应程序。 Randomize; Random(100);