信息學(xué)奧賽第一講-pascal入門_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Pascal程序設(shè)計基礎(chǔ),,信息學(xué)奧林匹克競賽,信息學(xué)奧林匹克競賽是一項益智性的競賽活動,核心是考查選手的智力和使用計算機解題的能力。選手首先應(yīng)針對競賽中題目的要求構(gòu)建數(shù)學(xué)模型,進而構(gòu)造出計算機可以接受的算法,之后要寫出高級語言程序,上機調(diào)試通過。程序設(shè)計是信息學(xué)奧林匹克競賽的基本功,在青少年朋友參與競賽活動的第一步必須掌握一門高級語言及其程序設(shè)計方法。,兩個誤區(qū),誤區(qū)1信息學(xué)競賽 = “計算機”競賽誤區(qū)2信息學(xué)競賽 = “編程

2、”競賽,信息學(xué)奧林匹克競賽,考查選手以編程語言為工具來解決從具體問題中抽象出來的數(shù)學(xué)模型的能力幾個重要概念編程語言(工具)數(shù)據(jù)結(jié)構(gòu)(理論性工具)算法(理論),,,,,,比爾·蓋茨自小酷愛數(shù)學(xué)和計算機,在中學(xué)時就已成為有名的“電腦迷”。1975年1月,他與好朋友艾倫在哈佛大學(xué)的阿肯計算機中心沒日沒夜地干了8周,為世界上最早的微型計算機Altair配上Basic語言。隨后還創(chuàng)立了微軟公司。蓋茨領(lǐng)導(dǎo)設(shè)計了多種功能強大的軟件

3、,成為計算機軟件的全球霸主,使他最終成為全球首富。學(xué)好信息學(xué)競賽|_____ 專業(yè)素養(yǎng)(數(shù)學(xué)、計算機、英語……)|_____ 非智力因素(毅力、細心、創(chuàng)新……),第一講:初識Pascal語言,計算機解題能力建構(gòu)數(shù)學(xué)模型——設(shè)計算法——寫出程序——上機調(diào)試。,課程目標:熟記Pascal語言的基本概念 熟悉Pascal的上機操作環(huán)境 會讀、會編、會調(diào)試Pascal程序,課程要求:多上機實踐,P

4、ascal語言概述,自然語言 信息交流(地位平等) 有思維、推理能力 語法規(guī)則、句法規(guī)則靈活 (可省略、顛倒) 表達方式多樣,Pascal語言 人機對話(命令方式) 有計算、邏輯判斷的能力 語法句法固定 (按部就班) 算法多樣,學(xué)習(xí)要點:學(xué)會Pascal的語法、句法; 學(xué)會算法分析與算法設(shè)計;,Pascal語言的特點,結(jié)構(gòu)化豐富的數(shù)據(jù)類型能適應(yīng)與數(shù)值運算和非

5、數(shù)值運算Pascal的程序書寫比較自由……因此我們選擇Pascal作為程序設(shè)計課程的教學(xué)語言。,什么是算法?,解決問題的方法怎么描述算法?我們可以用自然語言或者是用流程圖,用自然語言描述算法:,例1 交換A和B的值。,(1)給A和B賦初值;,(2)將A的值給X;,(3)將B的值給A;,(4)將X的值給B;,(5)輸出A和B的值。,例2 將A和B中較大的值給MAX。,(1)給A和B賦初值;,(2)將A的值給MAX;,(3)比較

6、:B>MAX嗎?如果條件成立,則將B的值給MAX;,(4)輸出MAX的值。,Pascal的運行環(huán)境,如何啟動窗口介紹新建程序窗口程序的輸入、編輯、運行程序的保存與打開,Free Pascal語言系統(tǒng)的使用,目前,常用的最新版Pascal語言系統(tǒng)有Turbo PASCAL 7.0 與Free Pascal1.0.10( Lazarus0.9包含F(xiàn)reepass 1.0.10)及Borland Pascal ,下面我們就來學(xué)習(xí)

7、Free Pascal 1.0.10系統(tǒng)的使用。1. 系統(tǒng)的啟動  在運行系統(tǒng)目錄下的bin目錄下,啟動程序FP.EXE,即可啟動系統(tǒng)。屏幕上出現(xiàn)如圖1所示的集成環(huán)境。2. Free Pascal系統(tǒng)集成環(huán)境簡介  最頂上一行為主菜單。中間藍色框內(nèi)為編輯窗口,在它個編輯窗口內(nèi)可以進行程序的編輯。最底下一行為提示行,顯示出系統(tǒng)中常用命令的快捷鍵,如將當前編輯窗口中文件存盤的命令快捷鍵為F2,獲得系統(tǒng)幫助的快捷鍵為F1,等等。,

8、,,3. 新建程序窗口  按F10進行主菜單,選擇FILE菜單,執(zhí)行其中New命令。就可建立一個新的程序窗口(默認文件名為Noname00.pas或Noname01.pas等)。4. 程序的輸入、編輯與運行  在當前程序窗口中,一行一行的輸入程序。事實上,程序窗口是一個全屏幕編輯器。所以對程序的編輯與其它編輯器的編輯方法類似,這里不再重復(fù)?! ‘敵绦蜉斎胪戤呏?,一般要先按Alt+F9(或執(zhí)行compile菜單中compi

9、le命令)對程序進行編譯。如果程序有語法錯誤,則會在程序窗口的第一行處顯示第一個紅色錯誤信息。若無語法錯誤,則窗口正中央會出現(xiàn)一個對話框,提示編譯成功。接下來,我們可以運行程序了。程序的運行可以通過按ALT+R打開RUN菜單中的RUN命令,或直接按快捷鍵CTRL+F9。則可以在用戶窗口中輸出運行結(jié)果。通常在程序運行結(jié)束后系統(tǒng)回到Pascal系統(tǒng)的集成環(huán)境,因此要查看運行結(jié)果,要按ALT+F5將屏幕切換到用戶屏幕。,,5.程序的保存與打

10、開  當我們想把程序窗口中的程序存入磁盤時,可以通過按F2鍵(或執(zhí)行File菜單中的save命令)來保存程序。第一次保存文件時屏幕上會出現(xiàn)一個對話框要求輸入文件名(默認擴展名為.pas)?! ‘斘覀円獙⒋疟P上的程序文件中的PASCAL程序裝入窗口時,可按F3(或執(zhí)行File菜單中的Open命令)來裝入程序,此時系統(tǒng)也會彈出一個對話框要求輸入要打開的文件名,或直接在文件對話框列表中選擇所要的文件,然后回到打開文件。,程序運行步驟,

11、FILE?NEW 新建一個PASCAL文件;輸入,編輯源程序;F2 保存源程序,并命名;ALT+F9 編譯源程序,看有無錯誤;如有修改,保存再編譯;CTRL+F9則可以在用戶窗口中輸出運行結(jié)果。 要查看運行結(jié)果,要按ALT+F5將屏幕切換到用戶屏幕。,一個簡單的pascal例子,Program exam1; {程序的首部} var r,c,s:integer; {程序的說明部分}Begin readln(

12、r); {讀入圓的半徑r} c:=3*2*r; {求圓的周長c} s:=3*r*r; {求圓的面積s} writeln(c,s); {輸出圓的周長與面積}End.,求兩個數(shù)的和,Program qiuhe;Var a,b,c:integer; Begin a:=3; b:=4; c:=a+b; Write(c); end.,Program qiuhe

13、;Var a,b,c:integer;BeginReadln(a,b)C:=a+b;Write(c);End.,在屏幕上顯示3這個數(shù),Program xianshiBegin write(3);End.,Program xianshi;Begin write(3);End.,,Program bill;Begin write(‘Bill Gages’); write(500)End.,,在屏幕上顯

14、示3這個數(shù),在屏幕上顯示比爾·蓋茨的基本信息;,在程序的主體部分有什么共同的語言?,Program 程序名; …… Var…… …… Begin write(3); End.,,,,說明部分,執(zhí)行部分,程序體,,程序首部,1、Pascal程序的基本結(jié)構(gòu):,你能找出第一個程序的首部與程序體嗎?,2、 常量、變量、數(shù)據(jù)類型、運算符,(一)常量(1)在程序運行過程中,其值不能被改變的量稱為常量。(2)

15、常量定義出現(xiàn)在說明部分 定義符號常量的一般格式:CONST = 說明:常量說明部分以關(guān)鍵字const開頭, 后面的標識符為常量標識符,其中"="號后的常量為整數(shù)、實數(shù)、字符、 字符串(字符、字符串常量在后面章節(jié)中將作介紹)。而且,在常量說明部分可以將幾個常量說明成符號常量,共用一個關(guān)鍵字"const"。例如:,(2)變量:在程序運行過程中,其值可以改變的量變量說明:

16、變量說明出現(xiàn)在說明部分 VAR[,]:;  其中VAR是pascal保留字,表示開始一個變量說明段, 每個變量標識符或由逗號隔開的多個變量標識, 必須在它的冒號后面說明成同一類型。 例如:varage,day:integer; year:integer;amount,average:real;  注意:1、有效變量名稱不能大于8個字符;2、變量名稱必須以字母開頭,其中,Integer(整型)、Real

17、(實型)是標準標識符, 如age和 day 被定義為整型變量,amount和average被定義為實型變量。,(二)數(shù)據(jù)類型,Pascal語言提供了豐富的類型,可分為以下三大類簡單類型:分標準類型(整型、實型、字符型、布爾型)和用戶自定義型(枚舉型、子界型)構(gòu)造類型:數(shù)組類型、記錄類型、集合類型、文件類型指針類型整型、字符型、布爾型、枚舉型和子界型又稱為順序類型。,整數(shù)型,整數(shù)型包括:正整數(shù)、負整數(shù)和零。類型表式符號:inte

18、ger 整數(shù)只能由正負號和數(shù)字組成,不允許出現(xiàn)其他字符,“+”號可以省略。例:123,0,-256,+234非法:0.1,1A,12.2-32768(minint)~32767(maxint)Free pascal的整數(shù)類型:Longint:-2147483648~2147483648此外還有 shortint,byte,word等等,整數(shù)型,Pascal規(guī)定了兩個預(yù)定義整型常量表識符maxint和maxlonint,

19、他們各表示確定的常數(shù)值,maxint為32767, longint為2147483647,他們的類型分別是integer 和longint。,實數(shù)類型,實數(shù)類型包括正實數(shù)、負實數(shù)和零。類型標識符為real;兩種方法表式實數(shù):十進制表示:0,0.125,-5.4科學(xué)計數(shù)法:3.4E3表示3.4*103即3400 3.4E-3表示3.4*10-3即0.0034注意:指數(shù)部分不能為小數(shù) 整數(shù)部分不能省略,字符類型,

20、目前廣泛使用的ascii碼字符集滿足pascal對字符集的要求。字符類型標識符為char;字符類型的數(shù)據(jù)就是括在兩個單引號之間的Pascal字符集。例如:‘A’,‘1’,‘:’分別表示字符A,數(shù)字字符1以及冒號。,布爾類型,布爾類型的數(shù)據(jù)只有兩個:真和假,分別用標準常量true(真)和false(假)。字符類型標識符為boolean;它是序列的,并且false<true。,(三)算術(shù)表達式,⑴定義:是由符合pascal語法規(guī)定

21、的運算對象(包括常量、變量、函數(shù))、算術(shù)運算符、圓括號組成的有意義的式子。如:A+3.14159*5/8.4-Abs(-1123)⑵常用的有以下6個算術(shù)運算符:①?。?(加) ② - (減)  ③?。?(乘)④ / (實數(shù)除)得到結(jié)果為實型 如5.0/2.0=2.5, 5/2= 2. 5,4/2=2.0而不等于2。⑤ DIV (整除) DIV它要求除數(shù)和被除數(shù)均為整型, 結(jié)果也為整型。如10 DIV 2=5,10

22、DIV 3=3, 5 DIV 10=0. -15 DIV 4= -3。DIV運算只取商的整數(shù)部分,參與DIV運算的兩個對象不能為實型。⑥ mod (求余),也只能用于整數(shù)運算,結(jié)果為整數(shù)。例如:10 mod 4=2 , -17 mod 4= -1 , 4 mod (-3)=1, - 4 mod 3= -1,即 a mod b=a-(a div b)*b。,,,三、賦值語句,變量既然代表一個存儲單元,其值是可變的,那么其中的值是怎么提供

23、的,又是怎么改變的呢?可以通過賦值語句來進行。1、 賦值語句的格式變量名:=表達式;其中":="稱為賦值號。2、 執(zhí)行過程計算機先計算賦值號右邊表達式的值,然后將表達式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1); A:=A+1,四、輸入語句,輸入語句的作用是將鍵盤中的數(shù)據(jù)輸入到程序中(一)輸入語句的兩種格式1、 read語句格式read(變量1,變量2,……);如:wri

24、te(a,b,c);2、 readln語句格式:readln(變量1,變量2,……); (二)輸出語句的功能  計算機執(zhí)行到某一輸入語句時,將鍵盤中輸入的變量數(shù)值一個接一個地賦給變量?! ead語句與readln語句格式上都相似,但它們在功能上有所不同,兩個語句的區(qū)別在于,執(zhí)行readln后多余的數(shù)據(jù)將被忽略,執(zhí)行READ語句后的數(shù)據(jù)要么被忽略,要么被下一個read或readln語句所讀入,Read(a,b,c);Re

25、ad(I,j,k,l);Read(m,n);輸入數(shù)據(jù)為:1 2 3 4 5 6 7 8 9 010 20,,,,,格式1:write(輸出項1,輸出項2……); {作用:在同一行輸出各項,最后光標不換行}格式2: writeln(輸出項1,輸出項2……); {作用:在同一行輸出后,光標換到下一行}格式3: writeln {作用:無輸出內(nèi)容,僅將光

26、標換到下一行}注意: write語句至少有一個輸出項。,輸出語句的三種格式,五、輸出語句,輸出語句的作用是將程序運算的結(jié)果輸出到屏幕或打印機等輸出設(shè)備。這里通常是指輸出到屏幕。(一)輸出語句的兩種格式1、 write語句格式Write(表達式1,表達式2,……);如:write(1,2,3,4); write(1.2,3.4,5); write(‘My name is Liping’);2、 writeln

27、語句格式:Write(表達式1,表達式2,……)格式3: writeln {作用:無輸出內(nèi)容,僅將光標換到下一行}注意: write語句至少有一個輸出項。(二)輸出語句的功能  計算機執(zhí)行到某一輸出語句時,先計算出輸出語句中的每個表達式的值,并將每一個表達式的值一個接一個地輸出到屏幕上?! rite語句與writeln語句格式上都相似,但它們在功能上有所不同,兩個語句的區(qū)別在于,writ

28、e語句將其后括號中的表達式一個接一個輸出后,沒有換行。而writeln語句則在輸出各個表達式的值后換行。,write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:123456四、應(yīng)用例,writeln語句,如果要輸出的是固定的字符(如Bill Gates),則要用單引號引住;如果要輸出的是數(shù)值(如500)或式子的值,就不要引住它。例:wr

29、iteln(‘America’) writeln(314),請思考:writeln(‘I am ‘, 9,’ years old’)的顯示結(jié)果.,I am 9 years old,二、輸出語句的說明:,1.所有的輸出內(nèi)容都放在圓括號內(nèi),多個輸出項時,兩項間用逗號分隔;2.輸出項是一個數(shù)值或用單引號引著的一串字符時,會把內(nèi)容原樣輸出;當輸出項是一個式子時,則會先計算式子的值再輸出;3.每個輸出項可設(shè)場寬,場寬表示輸出的

30、內(nèi)容要用多少個字符位顯示。,試一試,例:寫出語句的運行結(jié)果 writeln(‘1+2+3+4=’:12,1+2+3+4),writeln(‘TS=‘,39,’+’,15,’=‘,15+39),1+2+3+4=10,TS=39+15=54,程序分析,程序1:Begin writeln(‘Time:’7,’ years’:6); writeln(‘Money:’,100:4,’million’:8)End.程序2:

31、Begin write(‘Time:’,7); writeln(‘ years’:6); Write(‘‘Money:’,100:4,’million’:8); WritelnEnd.,運行并分析兩個程序的輸出格式,例3 P10 已知小雄的書包中放了3本書、5本作業(yè)本和2支筆,你能編程序讓計算機算算小雄的書包中有多少件學(xué)習(xí)用品嗎?請按以下格式輸出結(jié)果: shu zuoye bi zon

32、gshu 3 5 2 10 (學(xué)習(xí)用品總數(shù)要計算后輸出,設(shè)定寬度為5位),提示: Writeln(‘ shu zuoye bi zongshu’) Writeln(3:2,5:5,2:5,3+5+2:5),請完善并編寫調(diào)試此程序,展示實力P11,1.嚴格按輸出格式寫出以下兩段程序的運行結(jié)果(1) begi

33、n write(‘I am’); write(9:3, ‘ years old’) end.Begin write(‘7*9=‘); write(7*9:5); writeln; writeln(8*9:10) end.,程序拓展

34、練習(xí),例1:查看程序運行結(jié)果Program p3-1(input,output);Const a=1; b=2;Begin writeln(6); writeln(a); writeln(sqr(3)); writeln(a+b); writeln(‘a(chǎn)+b=‘,a+b); write(‘pi=‘); writeln(3.14);End.,6 1 9 3 a+b=3 Pi=3.14,例2:輸出兩個

35、自然數(shù)相除的商和余數(shù),例2:編程計算5×7,并輸出算式,program chenshi(input,output); const a=5; b=7; var c:integer; begin c:=a*b; write(a,’*’,b,’=’,c); end.,,,下面請同學(xué)們在PASCAL集成環(huán)境

36、中編輯并運行下列程序:會提示輸入一個圓的半徑,然后計算出輸出圓的周長和面積。program ex1;ConstPi=3.14159;varR,c,s:real;beginwrite('r=');readln(r);C:=2*pi*r;S:=pi*r*r;writeln('c=',c);writeln('s=',s);end.   請輸入上面的程序,并練習(xí)將其存盤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論