




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
/第七課:pascal專題-pascal語言語法大全與應用配套視頻★qq語音課主講內(nèi)容★:1.pascal語法專用字符:a~z,a~z,0~9,+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,’,^;
【解說】
a~z:大寫的26個英文字母;
a~z:小寫的26個英文字母;
0~9:10個數(shù)字;
+:加法運算符;
-:減法運算符;
*:乘法運算符;
/:除法運算符;
=:比較運算符:等于;
<>:比較運算符:不等于;
<=:比較運算符:小于等于;
>=:比較運算符:大于等于;
<:比較運算符:小于;
>:比較運算符:大于;
(,):優(yōu)先級和參數(shù)表達符:左右括號;
[,]:索引號表達符:中括號;
{,}:段落屏蔽和備注符:大括號;
:=:賦值運算符;
,:排列式表達符:逗號;
;:代碼(功能)行結(jié)束符;
.:主從代碼分隔符:點號;
::變量定義分隔符:冒號;
..:子界定義表達符;
’:字符串標識符:單引號;
^:指針定義符:尖號。
2.pascal語法保留字:and,array,begin,case,const,div,do,downto,else,end,,function,goto,if,in,label,mod,nil,not,of,or,packed,procedure,program,record,repeat,set,then,to,type,until,var,while,with,exports,shr,string,asm,object,unit,constructor,implementation,destructor,uses,inherited,inline,interface,library,xor,shl;
【解說】
and:邏輯運算符:邏輯與;
array:數(shù)組定義符:arrayof…;
begin:程序“塊”的開始標識符;
case:多條件分支語句的開始標識符;
const:常量定義符;
div:算術運算符:除法取整數(shù)結(jié)果;
do:執(zhí)行命令;
downto:單步反循環(huán)語句中的命令;Else:分支語句中的命令,“否則”的意思;
end:“結(jié)束”標識符;
file:類型文件標識符;
for:單步循環(huán)語句的開始標識符;
function:函數(shù)定義的命令符;
goto:跳轉(zhuǎn)指令:
if:單條件分支語句的開始標識符;
in:集合運算符;
label:定義標號;
mod:算術運算符:除法取余數(shù)結(jié)果;
nil:一個表示“空值”的常量;
not:邏輯運算符:邏輯非;
of:多種組合命令的輔助符,arrayof…,caseof…等;
or:邏輯運算符:邏輯或;
packed:用于壓縮和打包的指令;
procedure:過程定義符;
program:delphi工程文件標識符;
record:記錄類型標識符;
repeat:循環(huán)語句標識符;
set:集合定義符;
then:組合命令的輔助符,if…Then…Else…;
to:組合命令的輔助符,for…To…Do…;
type:類型定義符;
until:循環(huán)語句中的輔助符,repeat…Until…;
var:變量定義符;
while:循環(huán)語句定義符;while…Do…;
with:組合命令的定義符:with…Dobegin…End;
exports:動態(tài)鏈接庫輸出項目定義符;
shr:二進制右移運算符;
string:字符串類型標識符;
asm:匯編語言標識符;
object:對象標識符;
unit:單元標識符;
constructor:構造函數(shù)定義符;
implementation:單元中“實現(xiàn)部分開始”的標識符;
destructor:析構函數(shù)定義符;
uses:單元引用標識符;
inherited:類繼承指令;
inline:過程和函數(shù)的調(diào)用指令;
interface:單元中“聲明部分開始”的標識符;
library:dll工程定義符;
xor:二進制位運算符:異或;
shl:二進制位運算符:按位左移。
3.pascal語法中的標識符;
【解說】
標識符是objectpascal語言中各種成員的名稱,這些成員包括變量(var)、常量(const)、類型(type)、過程(procedure)、函數(shù)(function)、方法(method)、單元(unit)等。標識符可以分為三類:標準標識符、自定義標識符和限定標識符。1)標準標識符(1)標準常量,如false、nil、true等;(2)標準類型,如boolean、char、real等;(3)標準函數(shù),如sin、cos、abs、arctan等;(4)標準過程,如dispose、get、new、pack、put等;(5)標準文件,如input、output等。2)自定義標識符程序員根據(jù)程序設計的需要,自己定義的常量、變量、類型、函數(shù)、過程等所取的名字。自定義標識符可以由任意長的一個不帶空格的字符串組成,包括字母a~z、a~z、數(shù)字0~9和下劃線“_”等。定義標識符需要遵循以下規(guī)則:(1)標識符不區(qū)分大小寫;(2)標識符只能以字母或下劃線開頭,不能以數(shù)字開頭;(3)標識符可任意長度,但只有前225個字符有效;(4)標識符中間不允許有空格;(5)不允許使用objectpascal語言的保留字作為自定義標識符。3)限定標識符在delphi程序中可引用多個單元,而各個單元中全局變量、函數(shù)、過程等可能會同名,在引用時需用限定標識符來區(qū)分它們:vary:real;
beginy:=system.cos(pi);
end;其中system稱為限定符,而system.cos稱為限定標識符。
4.pascal語法中的表達式;
【解說】
表達式的定義pascal語言中的算術表達式是由符合pascal語法規(guī)定的運算對象(包括常量、變量、函數(shù))、算術運算符、圓括號組成的有意義的式子。如:a+3.14159*5/8.4-abs(-13)。1)算術運算符常用的有以下6個算術運算符:+、-、*、/,(實數(shù)除)得到結(jié)果為實型。如5.0/2.0=2.5,5/2=2.5,4/2=2.0而不等于2。div(整除),div它要求除數(shù)和被除數(shù)均為整型,結(jié)果也為整型。如10div3=3,5div10=0,-15div4=-3。Div運算只取商的整數(shù)部分,參與div運算的兩個對象不能為實型。mod(求余),也只能用于整數(shù)運算,取除后的余數(shù),結(jié)果為整數(shù)。例如:10mod4=2,-17mod4=-1,4mod(-3)=1,-4mod3=-1,即amodb=a-(adivb)*b。2)關系運算符:>、<、>=、<=、=、<>3)邏輯運算符:not、and、or4)運算優(yōu)先順序:如果一個表達式里出現(xiàn)兩個或兩個以上的運算符,則必須規(guī)定它們的運算次序。Pascal語言規(guī)定運算優(yōu)先級如下:①表達式中相同優(yōu)先級的運算符,按從左到右順序計算②表達式中不同優(yōu)先級的運算符,從高到低進行計算③括號優(yōu)先級最高,從內(nèi)到外逐層依次降低④not優(yōu)先級為4⑤*、/、div、mod、and優(yōu)先級為3⑥+、-、or優(yōu)先級為2⑦=、<>、<、>=、<=、in優(yōu)先級為1
5.pascal語法中的常量(const)與變量(var);
【解說】
a.什么是變量?
變量代表了一個存儲單元,其中的值是可變的,故稱為變量。即在程序運行過程中,其值可以改變的量,稱為變量。變量有三個要素是:變量名、變量類型、變量值。一個程序中可能要使用到若干個變量,為了區(qū)別不同的變量,必須給每個變量(存貯單元)取一個名(稱為變量名),該變量(存貯單元)存放的值稱為變量的值,變量中能夠存放值的類型為變量的“類型”。1)變量名用一個合法的標識符代表一個變量。如m,rot,total等都是合法變量名。在程序中用到的變量必須在說明部分加以說明?!白远x標識符”的命名規(guī)則為:自定義標識符必須以字母(包含下劃線"_")開頭,后面的字符可以是字母或數(shù)字。標識符長度不超過63個字符。變量名應遵循自定義標識符的命名規(guī)則,并注意“見名知義”的原則,即用一些有意義的單詞作為變量名。2)變量的類型常量是有類型的數(shù)據(jù),變量在某一固定時刻用來存放一個常量,因此也應有相應的類型。如整型變量用來存放整數(shù),實型變量用來存放實數(shù)。3)變量說明在程序中若要使用變量,變量的名稱與類型在程序的變量說明部分加以定義,變量的值則在程序的執(zhí)行部分中才能賦給。變量說明的一般格式:Var<變量標識符>[,<變量標識符>]:<類型>;(中括號內(nèi)部分表示可省)其中var是pascal保留字,表示開始一個變量說明段,每個變量標識符或由逗號隔開的多個變量標識,必須在它的冒號后面說明成同一類型。一個程序中,可以說明許多不同類型的變量,每種類型變量之間用分號隔開,共用一個var符號。例如:Varage,day:integer;average:real;其中,integer(整型)、real(實型)是標準標識符,它們是“類型標識符”,代表了確定的類型,如age和day被定義為整型變量,average被定義為實型變量。一旦定義了變量,就確定了它的類型,也就是說,就確定了該變量的取值范圍和對該變量所能進行的運算。B.什么是常量?
在程序運行過程中,其值不能被改變的量稱為常量。如12,14.8,'abc',true等。Pascal中有一個標準標識符maxint,它代表所使用的計算機系統(tǒng)允許的最大整型數(shù),而最小的整型數(shù)即為-maxint-1。Turbopascal還定義了長整數(shù)常量maxlongint,其值為2147483647。字符常量:是由字符組成,所有字符來自ascii字符集,共有256個字符。在程序中,通常用一對單引號將單個字符括起來表示一個字符常量。如:'a','a','0'等。對于ascii字符集中,按每個字符在字符集中的位置,將每個字符編號為0-255,編號稱為對應字符的序號。符號常量:一個常量即可以直接表示(稱為直接常量,如124,156.8),也可以用一個標識符來代表一個常量,稱為“符號常量”。但符號常量必須在程序中的說明部分先定義,后使用。定義符號常量的一般格式:const<常量標識符>=<常量>說明:常量說明部分以關鍵字const開頭,后面的標識符為常量標識符,其中"="號后的常量為整數(shù)、實數(shù)、字符、字符串。例如:ConstPi=3.14159;Zero=0;Varr,s,c:real;則在程序中pi和zero作為符號常量,分別代表實數(shù)3.14159和整數(shù)0。也就是說,常量說明部分既定義了常量名與其值,又隱含定義了常量的類型。Pi(function函數(shù))為3.14932385
有關“ascii字符集”的知識請參見百度百科:
6.pascal語法中的賦值語句;
【解說】
對程序已經(jīng)創(chuàng)建的變量,如何取值?通常使用賦值語句來給變量提供數(shù)據(jù),它具有計算我賦值功能,程序中所進行的各種運算,大多數(shù)是在賦值語句中實現(xiàn)的。格式:變量標識符:=表達式;語義:賦值語句的執(zhí)行是“先計算,后賦值”。如a:=(9*8)-(2-1);a:=a+1。說明:
(1)“:=”與關系運算符“=”不能混淆。(2)賦值號兩邊類型應該相同。只有一點例外,當表達式的值為整型時,它可以自動轉(zhuǎn)化為實型后賦給一個實型變量。(3)一個賦值語句只能給一個變量賦值,變量可以進行多次賦值,賦值后的變量將在程序中一直保持不變,址到該變量重新賦值面其他的值。(4)被賦值的變量本身可以作為因子參加運算,如n:=n-1,s:=s+x。例:下面程序執(zhí)行后變量abcd的值各是多少?Programex1;Consta=256;Varb,d:double;c:real;Beginb:=adiv16;c:=a/b;d:=a;End.Programex2;Vara,b:integer;Begina:=3;b:=a;b:=a+1;a:=a+1;b:=b+1;End.
7.pascal語法中的輸入語句;
【解說】
要使變量獲得一個確定的值,固然可以使用賦值語句,但更多的情況是:程序中需要賦值的變量往往很多或變量的值經(jīng)常變化。如果要使輸入數(shù)據(jù)有所改變的時候,程序不必進行修改就可得到所要處理的不同結(jié)果,那么賦值語句就顯得不合適了,需要一個靈活的提供數(shù)據(jù)的語句,能在程序運行后從鍵盤輸入變量的值,這就是我們要介紹的語句--輸入語句:格式:read(變量名表);readln(變量名表);語義:執(zhí)行該語句時系統(tǒng)處于等待狀態(tài)。從鍵盤上讀入的數(shù)據(jù)將賦給變量名表中的變量,其中變量名表是一串用逗號隔開的變量標識符。Readln后可以沒有變量名表,作用表示僅讀入一個回車符。
案例:在delphi下file->new,然后選consoleapplication然后在加入代碼,例如:Programproject2;{$apptypeconsole}Usessysutils;Varstr1:string;beginwrite('inputtext:');//這個是輸出語句readln(str1);//這個是輸入語句writeln('youinput:',str1);//這個是輸出語句writeln('pressanyonekeytoexit');//這個是輸出語句readln;//這個是輸入語句End.
8.pascal語法中的輸出語句;
【解說】
格式:write(輸出項);writeln<(輸出項)>;說明:
1)輸出項可以是字符串:用單引號引起來的一串字符,如wrtie(‘***’);數(shù)值常量:如write(8)變量:輸出變量的值,注意變量必須要先定義再賦值,然后才可以輸出值,如write(a);表達式:輸出表達式的值,表達式必須正確,如write(a+b)2)可以有多個不同類型的輸出項,之間用逗號隔開。如write(‘a(chǎn)=’,a);write(x,x+2,y,z);
案例:請參考上例的輸入語句的例子。學員練習:Programtixing;Vara,b,h,s:real;Beginwrite('inputa,bandh:');read(a,b,h);s:=(a+b)*h/2;writeln('mianji:',s);
readln;End.9.pascal語法中的復合語句:begin…End;
【舉例】
1)例1:VarStr1:string;BeginStr1:=’中國人’;End;2)例2:
varStr1,str2:string;BeginStr1:=edit1.text;Ifstr1=’中國人’thenBeginShowmessage(‘您輸入的是:’+str1);End;End;
10.pascal語法中的if語句;
【舉例】
varX,y:integer;BeginX:=1;Y:=2;Ifx>ythenShowmessage(‘x大于y!’)ElseShowmessage(‘x不大于y!’);End;
11.pascal語法中的case語句;
【舉例】
var
i:integer;
beginI:=strtoint(edit1.text);
caseiof1:Showmessage(‘您輸入的數(shù)字是:1’);2:
showmessage(‘您輸入的數(shù)字是:2’);3:
showmessage(‘您輸入的數(shù)字是:3’);
else
showmessage(‘您輸入的數(shù)字是:1~3之外的數(shù)字!’);
end;
12.pascal語法中的while語句;
【舉例】
varW:integer;
beginW:=0;Whilew<=10doBeginW:=w+1;End;Shomessage(inttostr(w));End;
13.pascal語法中的repeat語句;
【舉例】
格式:Repeat……{被循環(huán)執(zhí)行的語句};Until……{循環(huán)結(jié)束條件};執(zhí)行時會重復執(zhí)行被循環(huán)執(zhí)行的語句,直到循環(huán)結(jié)束條件為真時退出循環(huán)。例如,執(zhí)行下列程序:Vari:integer;Begini:=0;repeati:=i+1;showmessage(inttostr(i));untili=10;showmessage(inttostr(i));End.會得到輸出結(jié)果:12345678910
14.pascal語法中的for語句;
【舉例】
var
i:integer;
begin
fori:=1to10do
begin
showmessage(inttostr(i));
end;End;
15.pascal語法中的goto語句;
【解說】
goto語句為無條件轉(zhuǎn)移語句Goto語句的一般形式為:Goto<標號>(之前必須加)Label<標號名表>例如:Proceduretform1.button1click(sender:tobject);Label10;BeginGoto10;Showmessage('0');10:showmessage('1');End;
運行結(jié)果:執(zhí)行的第二個。
16.pascal語法中的halt語句;
【解說】
halt可以運用在程序的任何位置,表示結(jié)束程序。
例如:BeginHalt;End;
執(zhí)行結(jié)果:程序被退出。
17.pascal語法中的exit語句;
【解說】
exit是退出當前的子過程,如果它用在主程序里,就和halt等效。
例如:
varBeginShowmessage(‘1’);Exit;Showmessage(‘2’);End;
執(zhí)行結(jié)果:第二個不會執(zhí)行。
18.pascal語法中的break語句;
【解說】
break是用在循環(huán)里面,表示跳出當前的循環(huán)。
例如:
varI:integer;Begin
fori:=1to10do
beginifi=2thenbreak;End;
執(zhí)行結(jié)果:i只能循環(huán)到2。
19.pascal語法中的continue語句;
【解說】
continue也是用在循環(huán)里面,但它并不是跳出,而是跳過這一次循環(huán),直接進入下一個循環(huán)。
例如:
var
i,ans:integer;
begin
fori:=1to10do
beginifimod2=0thencontinue;ans:=ans+i;End;End;
執(zhí)行結(jié)果:i就把1~10中的奇數(shù)都計算了一遍。
20.pascal語法中的with…Do語句;
【解說】
本語句的功能是:使用“某對象”來執(zhí)行某些“操作”。用途是簡化代碼。
例如:Withbutton1doBeginCaption:=’保存’;
left:=200;Top:=200;
end;
21.pascal語法中的try…Except…End語句;
【解說】
保護機制,強制執(zhí)行預定的代碼。
例如:
tryShowmessage(‘1’);
except
showmessage(‘try后面的語句執(zhí)行失敗,才執(zhí)行本句,否則不執(zhí)行本句!’);End;
22.pascal語法中的try…Finally…End語句;【解說】
保護機制,強制執(zhí)行預定的代碼。
例如:
tryShowmessage(‘1’);
finally
showmessage(‘不管try后面的語句是否執(zhí)行成功,都執(zhí)行本句!’);End;
★視頻實戰(zhàn)課主講內(nèi)容★:1.演示pasca標識符的運用;
【例子】
1)變量(var):
varStr1:string;BeginStr1:=edit1.text;Showmessage(str1);End;
2)常量(const):
proceduretform1.button2click(sender:tobject);Constw:integer=10;Beginshowmessage(inttostr(w));End;
3)類型(type):
typetform1=class(tform)private{privatedeclarations}public{publicdeclarations}end;
4)過程(procedure):
proceduremyproc1;…
Proceduretform1.myproc1;Beginshowmessage('這是一個過程!');End;
2.演示pascal表達式的運用;
【例子】
1)+、-、*、/:
varX,y,z:double;
beginX:=1;
y:=2;Z:=(x+y)*100/5;
end;
2)=、<>、>、>=、<、<=:
varX,y,z:integer;
beginX:=1;
y:=2;Ifx>=ythenz:=x+y;
end;3)or、and、not:
varX,y,z:integer;
beginX:=1;
y:=2;
z:=3;Ifnot((x>=y)or(x>z))thenz:=x+y;
end;
3.演示常量與變量的應用;
proceduretform1.button1click(sender:tobject);VarX,y:integer;Constz:integer=10;BeginX:=5;Y:=x+z;Showmessage(inttostr(y));End;
4.演示一個賦值語句;
【例子】
var
str1:string;
begin
str1:=edit1.text;Showmessage(str1);
end;
5.演示一個輸入語句;
6.演示一個輸出語句;
【例子】
在delphi下file->new,然后選consoleapplication然后在加入代碼,例如:Programproject2;{$apptypeconsole}Usessysutils;Varstr1:string;beginwrite('inputtext:');readln(str1);writeln('youinput:',str1);writeln('pressanyonekeytoexit');readln;End.
7.演示一個復合語句:begin…End;
8.演示一個if語句;
【例子】
var
x,y:integer;BeginX:=1;
y:=2;Ifx>ythenBeginShowmessage(‘x大于y!’);End;End;
9.演示一個case語句;
【例子】
var
i:integer;
beginI:=strtoint(edit1.text);
caseiof1:Showmessage(‘您輸入的數(shù)字是:1’);2:
showmessage(‘您輸入的數(shù)字是:2’);3:
showmessage(‘您輸入的數(shù)字是:3’);
else
showmessage(‘您輸入的數(shù)字是:1~3之外的數(shù)字!’);
end;
10.演示一個while語句;
【例子】
varW:integer;
beginWhilew<=10doBeginW:=w+1;End;End;
11.演示一個repeat語句;
【例子】
vari:integer;Begini:=0;repeati:=i+1;write(i);untili=10;showmessage(inttostr(i)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工智能語音識別軟件開發(fā)合同
- 安全與保密措施表格(特定行業(yè))
- 廣東省深圳市福田區(qū)2024-2025學年七年級上學期期末生物學試題(含答案)
- 《中學語文文學鑒賞與實踐活動教案》
- 清潔能源工程項目建設合同
- 框架協(xié)議合同
- 關于調(diào)整辦公時間的內(nèi)部通知流程說明
- 機械工程材料性能分析知識要點
- 關于職場禮儀的普及
- 物流配送策略對比表
- GB/T 4292-2017氟化鋁
- GB/T 41-20161型六角螺母C級
- GB/T 3811-2008起重機設計規(guī)范
- CB/T 615-1995船底吸入格柵
- 11471勞動爭議處理(第10章)
- 2022年河南省對口升學計算機類專業(yè)課考試真題卷
- 人工智能賦能教育教學變革的研究
- 經(jīng)營性公墓建設標準
- 患教-頸動脈斑塊課件
- 審計部組織架構及崗位設置
- 流行性乙型腦炎PPT課件
評論
0/150
提交評論