【正文】
och:=ord(ch)。 y:=sh(1+sh(x))/(sh(2*x)+sh(3*x))。 VAR x,y:real。函數(shù)體對(duì)形式參數(shù)進(jìn)行處理,處理結(jié)果賦給函數(shù)名,作為函數(shù)結(jié)果傳給調(diào)用它的程序。 BEGIN sh:=(exp(t)exp(t))/2 END。Qi Ta Fu Hao Ge Shu: 39。 END。 BEGIN ZiMu:=0。Friday39。)。Sunday39。 readln(a) write(“San Jiao Xing Gao:”)。有六個(gè)關(guān)系運(yùn)算符,它們是__、=、=、=、__。(3)Pascal程序可以分為三個(gè)部分,請(qǐng)將這三個(gè)部分的名稱(chēng)填入下面括號(hào)中(3)PROGRAM circle(input,output)。每一行的第一個(gè)值應(yīng)往左移3格,最大數(shù)是3位整數(shù),每個(gè)數(shù)之間留3個(gè)空格,因此輸出值的場(chǎng)寬可以定義為6。+39。 END。)。 END。使得even=p+q即1+1問(wèn)題。將4~2*s(s≤1000)中的所有偶數(shù)分別用兩個(gè)素?cái)?shù)之和表示。 END。PROGRAM T75_007。用……去除,如果都除不盡,則i是素?cái)?shù)。T75_007 求1~100之間的素?cái)?shù)(質(zhì)數(shù)).素?cái)?shù)是大于1,且除了1和它本身外,不能被其它任何整數(shù)所整除的整數(shù)。算法可以自頂向下、由粗到細(xì),逐步求精。如果數(shù)據(jù)定義有錯(cuò),描述算法是困難的,甚至是不可能的?!璻ead(ch)。當(dāng)一開(kāi)始布爾表達(dá)式就為假時(shí),循環(huán)體根本不執(zhí)行。,Fu,39。 Ling:=0。 IF maximaln THEN maximal:=n。 VAR i:integer。 VAR s,n,a:integer。 BEGIN sum:=0。 VAR s,n:integer。 VAR n,i,sum:integer。 FOR n:=1 TO 10 DO s:=s+n。有時(shí)是難以完成的。28real57。l:=2*PI*r。XT3_8 輸入x、y及象限,計(jì)算z。XT3_3 輸入某學(xué)生成績(jī),若成績(jī)?cè)?5分以上,輸出very good,若成績(jī)?cè)?0分到85分之間,輸出good,若成績(jī)低于60分,輸出no good。 writeln(39。 CONST PI=。 2:IF(year MOD 4 = 0) AND (year MOD 100 0) OR (year MOD 400 = 0) THEN days:=29 ELSE days:=28 END。閏年的條件可以寫(xiě)成如下的布爾表達(dá)式:(year MOD 4 = 0) AND (year MOD 100 0) OR (year MOD 400 = 0)PROGRAM L3_5。值表是一些由逗號(hào)分開(kāi)的常數(shù)。例如語(yǔ)句:IF (條件1) THEN IF (條件2) THEN (語(yǔ)句1) ELSE (語(yǔ)句2)我們可以認(rèn)為ELSE與后一個(gè)THEN配對(duì),其流程圖如圖3_8(1)所示。,x:8:2,39。y=?39。例L3_3 讀兩個(gè)數(shù),將大數(shù)存于x,小數(shù)存于y。 IF ab THEN a:=b。 write(39。在條件為假時(shí),不執(zhí)行THEN后的語(yǔ)句,在兩種情況下的后繼語(yǔ)句都是IF語(yǔ)句的下一個(gè)語(yǔ)句。weight=39。輸出pay。若超過(guò)50kg。我們稱(chēng)這種程序結(jié)構(gòu)為選擇結(jié)構(gòu)(或稱(chēng)判定結(jié)構(gòu))。XT2_10 輸入一個(gè)三位整數(shù),將它們反向輸出。y4 (2)sin2(x+)+3cos(2x+4)+tan1x (3)u0(1+)(4) (5) (6)(7) (8)|3exln(1+x)| (9) (10)XT2_4 寫(xiě)一程序讀入三角形的三個(gè)邊a,b,c,計(jì)算并打印三角形的面積S。 write(bool)。x=?39。圓環(huán)如圖所示。 write(39。 VAR ch,pch,sch:char。 VAR a,b,alfa,c,s:real。在這里,場(chǎng)寬是指輸出值的位數(shù)。它的一般形式是write(輸出表)其中輸出表是一些由逗號(hào)分開(kāi)的輸出項(xiàng)。標(biāo)識(shí)符的長(zhǎng)度一般不要超過(guò)8個(gè)字符。 writeln(A1 AND A1)。如‘0’對(duì)應(yīng)48,‘1’對(duì)應(yīng)49,‘A’對(duì)應(yīng)65,‘B’對(duì)應(yīng)66。在PASCAL,實(shí)數(shù)有兩種表示方法:小數(shù)表示法和指數(shù)表示法(或稱(chēng)科學(xué)表示法)。被小括號(hào)及星號(hào)(* *)括起來(lái)的內(nèi)容也是注釋。PROGRAM circle(input,output)。 (*第11行:輸出語(yǔ)句*) END. (*第12行:*)程序的第一行為程序首部,每個(gè)PASCAL程序都必須以PROGRAM 開(kāi)頭;circle是本程序的名字,每個(gè)程序的名字可以不同;圓括號(hào)里的內(nèi)容稱(chēng)為程序的參數(shù),程序參數(shù)指明程序與外部聯(lián)系的文件名,input是標(biāo)準(zhǔn)輸入文件,例如鍵盤(pán)打字機(jī),output是標(biāo)準(zhǔn)輸出文件,指屏幕顯示器或打印機(jī),為了讀入數(shù)據(jù)和輸出結(jié)果,必須寫(xiě)上文件參數(shù)input和output。讓我們先來(lái)看一個(gè)PASCAL程序,通過(guò)這個(gè)程序了解PASCAL的規(guī)則。該系統(tǒng)由通信網(wǎng)絡(luò)、信息設(shè)備、信息資源和信息環(huán)境組成。人工智能:利用計(jì)算機(jī)來(lái)模仿人類(lèi)的智力活動(dòng)。馮信息學(xué)奧林匹克競(jìng)賽培訓(xùn)教案(PASCAL語(yǔ)言)授課:陳浩Email:hao_ch :651764546第1章 計(jì)算機(jī)的發(fā)展與應(yīng)用 計(jì)算機(jī)發(fā)展簡(jiǎn)史 第一臺(tái)電子計(jì)算機(jī)的誕生1946年,世界上第一臺(tái)數(shù)字式電子計(jì)算機(jī)由美國(guó)賓夕法尼亞大學(xué)的物理學(xué)家約翰諾依曼型計(jì)算機(jī)是采用存儲(chǔ)程序方式進(jìn)行工作。自動(dòng)控制:利用計(jì)算機(jī)對(duì)動(dòng)態(tài)的過(guò)程進(jìn)行控制、指揮和協(xié)調(diào)。 我國(guó)的“三金”工程金橋工程即國(guó)家公用經(jīng)濟(jì)信息通信網(wǎng)絡(luò)工程,是我國(guó)信息化建設(shè)的基礎(chǔ)設(shè)施之一。例L1_1 已知半徑,求圓周長(zhǎng)和面積的程序PROGRAM circle(input, output)。從第三行到最后一行為程序的分程序。 CONSTPI=。注釋除了給人看,以增加程序的可讀性外,對(duì)編譯和運(yùn)行都不起作用,一個(gè)程序可以包含多個(gè)出現(xiàn)在不同地方的注釋?zhuān)部梢詻](méi)有注釋。,以科學(xué)表示法表示這些數(shù),可以寫(xiě)成,+2,0e0,1e2在科學(xué)表示法中,e后的數(shù)字代表10的冪。與字符有關(guān)的幾個(gè)函數(shù)函數(shù)功能舉例ord()返回與字符對(duì)應(yīng)的序號(hào)ord(‘A’)=65chr()返回與數(shù)字對(duì)應(yīng)的字符chr(65)=’A’pred()返回前一字符pred(‘B’)=Asucc()返回后一字符succ(‘A’)=B用函數(shù)可取得對(duì)應(yīng)的序號(hào),用布爾型(boolean)布爾類(lèi)型的值只有兩個(gè):false(假)和true(真)。 writeln(A0 or A0)。標(biāo)識(shí)符的選取最好有一定意義,這樣便于記憶,也增加了程序的可讀性。例如:write(x,y,x+y,x*y)若x的值為2,y的值為3(整數(shù)類(lèi)型),則輸出結(jié)果為:2 3 5 6為了標(biāo)記輸出結(jié)果,可輸出相應(yīng)的字符串。數(shù)據(jù)類(lèi)型場(chǎng)寬實(shí)型以科學(xué)表示法輸出,占16位整型12位字符型1位布爾型輸出true或false,分別占5位和4位當(dāng)輸出值不滿(mǎn)規(guī)定場(chǎng)寬時(shí),左面用空格代替。 BEGIN read(a,b,alfa)。 num:integer。pch:39。討論:如圖所示,若下式1≤x2+y2≤4成立則在圓環(huán)內(nèi),否則在圓環(huán)外。)。 END.習(xí)題XT1_1 判斷下列標(biāo)識(shí)符,哪些是合法的?哪些是非法的?x3,3x,a17,p5q,π,β,ε,abcd,x2,XT1_2 輸入三個(gè)數(shù),計(jì)算并輸出它們的平均值以及三個(gè)數(shù)的乘積,寫(xiě)出程序。可利用下列公式計(jì)算。例如輸入127,輸出應(yīng)為721。PASCAL中有兩個(gè)語(yǔ)句可實(shí)現(xiàn)選擇結(jié)構(gòu):IF語(yǔ)句(條件語(yǔ)句)和CASE語(yǔ)句(情況語(yǔ)句) IF語(yǔ)句 IF語(yǔ)句的兩種形式條件語(yǔ)句2語(yǔ)句1假真IF語(yǔ)句又稱(chēng)如果語(yǔ)句(或稱(chēng)條件語(yǔ)句)。現(xiàn)輸入托運(yùn)行李重量,要求計(jì)算并輸出托運(yùn)費(fèi)。其中第2步需求精。)。例L3_2 讀入三個(gè)數(shù),找出并打印其中的最大數(shù)。b=?39。 IF ac THEN a:=c。解:PROGRAM L3_3。)。,y=39。但是,我們也可以認(rèn)為ELSE與前一個(gè)THEN配對(duì),其流程圖如圖3_8(2)所示。表達(dá)式所有可能的值必須在值表中出現(xiàn),且每個(gè)值只能出現(xiàn)一次。 VAR year,month,days:integer。 writeln(‘year=’,year,’,month=’,month,’,days=’days) END.例L3_6 輸入兩個(gè)運(yùn)算量及一個(gè)運(yùn)算符,輸出運(yùn)算結(jié)果。 VAR x,y,z:real。x=39。XT3_4 輸入3個(gè)數(shù),將其中最小數(shù)輸出。z的計(jì)算公式同XT3_7題,要求用CASE語(yǔ)句編程序。s:=PI*r*r。29round四舍五入,取其整數(shù)在第1題例中,語(yǔ)句write與writeln有何不同__________________。循環(huán)結(jié)構(gòu)程序設(shè)計(jì)可以幫助我們有效地解決這一難題。 writeln(‘s=’,s) END.T75_012 計(jì)算n!(n!=123…n)T75_013 輸入10個(gè)任意整數(shù),求它們的和PROGRAM T75_001。 BEGIN read(n)。 BEGIN s:=0。 FOR i:=1 TO 10 DO BEGIN read(n)。 BEGIN s:=0。 BEGIN writeln()。 END。 FOR i:=1 TO 20 DO BEGIN read(n)。 Ling You: 39。在WHILE語(yǔ)句中一定要有能改變布爾表達(dá)式值的語(yǔ)句,否則循環(huán)將不會(huì)結(jié)束。IF (ch=a) AND (ch=z)…IF ch=’a’ AND ch=’z’…IF ‘a(chǎn)’=ch=’z’…三種循環(huán)語(yǔ)句的相同點(diǎn)與不同點(diǎn)FORWHILEREPEAT語(yǔ)句格式FOR 循環(huán)變量:=初值 TO 終值 DO 語(yǔ)句WHILE 布爾表達(dá)式 DO循環(huán)體REPEAT循環(huán)體UNTIL 布爾表達(dá)式循環(huán)變量賦值布爾表達(dá)式無(wú)循環(huán)變量循環(huán)次數(shù)確定,由初值和終值決定不確定,由循環(huán)體前的布爾表達(dá)式?jīng)Q定,當(dāng)值為“假”時(shí),結(jié)束循環(huán)。 定義數(shù)據(jù)要求清楚地了解問(wèn)題。描述問(wèn)題由粗到細(xì)的過(guò)程,一般可以分為三步:一級(jí)算法二級(jí)求精寫(xiě)出程序四、多重循環(huán)如果一個(gè)循環(huán)結(jié)構(gòu)的內(nèi)部(循環(huán)體)又包括一個(gè)循環(huán)結(jié)構(gòu),就稱(chēng)為多重循環(huán)結(jié)構(gòu)。討論:根據(jù)素?cái)?shù)的定義可知1117等是素?cái)?shù)。這是因?yàn)?,如果小于等于的?shù)都除不盡i,則大于的數(shù)也不能除盡i。 VAR i,n,yn,counter:integer。{WHILE} IF yn0 THEN BEGIN counter:=counter+1。例如s=50,則輸出4=2+26=3+38=3+5……100=3+97討論:哥德巴赫猜想是一個(gè)古老而著名的數(shù)學(xué)難題。此問(wèn)題還未得到最后的證明。3n:=2WHILE nsqrt(q) DO BEGIN n:=n+1。 read(even)。{WHILE1} n:=1。,q)。這是一個(gè)二重循環(huán)問(wèn)題,且內(nèi)循環(huán)n的次數(shù)依賴(lài)于外循環(huán)m(對(duì)應(yīng)每行輸出不同的個(gè)數(shù))。 CONSTPI=。有三個(gè)邏輯運(yùn)算符,它們是__AND、OR、NOT___。 readln(h)。)。 3:writeln(39。)。 ShuZi:=0。 writeln(39。,FuHao) END.第10課 函數(shù)(一)20080414以前我們用過(guò)由PASCAL系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù),例如sqrt()(開(kāi)方)、ord()(取數(shù)字)、pred()(取前導(dǎo)字符)、abs()(絕對(duì)值)等。函數(shù)首部函數(shù)語(yǔ)句部分(函數(shù)體)函數(shù)說(shuō)明部分函數(shù)分程序按此寫(xiě)出的雙曲正弦函數(shù)說(shuō)明如下:函數(shù)說(shuō)明的第一行稱(chēng)函數(shù)首部。此例中沒(méi)有說(shuō)明部分。 FUNCTION sh(t:real):real。 writeln(39。pch:=pred(ch)。如下面PASCAL語(yǔ)句:c:=sqrt(a*a+b*b2*a*b*cos(alfa))。,x:6:2