

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Pascal程序設計基礎,,信息學奧林匹克競賽,信息學奧林匹克競賽是一項益智性的競賽活動,核心是考查選手的智力和使用計算機解題的能力。選手首先應針對競賽中題目的要求構建數學模型,進而構造出計算機可以接受的算法,之后要寫出高級語言程序,上機調試通過。程序設計是信息學奧林匹克競賽的基本功,在青少年朋友參與競賽活動的第一步必須掌握一門高級語言及其程序設計方法。,兩個誤區(qū),誤區(qū)1信息學競賽 = “計算機”競賽誤區(qū)2信息學競賽 = “編程
2、”競賽,信息學奧林匹克競賽,考查選手以編程語言為工具來解決從具體問題中抽象出來的數學模型的能力幾個重要概念編程語言(工具)數據結構(理論性工具)算法(理論),,,,,,比爾·蓋茨自小酷愛數學和計算機,在中學時就已成為有名的“電腦迷”。1975年1月,他與好朋友艾倫在哈佛大學的阿肯計算機中心沒日沒夜地干了8周,為世界上最早的微型計算機Altair配上Basic語言。隨后還創(chuàng)立了微軟公司。蓋茨領導設計了多種功能強大的軟件
3、,成為計算機軟件的全球霸主,使他最終成為全球首富。學好信息學競賽|_____ 專業(yè)素養(yǎng)(數學、計算機、英語……)|_____ 非智力因素(毅力、細心、創(chuàng)新……),第一講:初識Pascal語言,計算機解題能力建構數學模型——設計算法——寫出程序——上機調試。,課程目標:熟記Pascal語言的基本概念 熟悉Pascal的上機操作環(huán)境 會讀、會編、會調試Pascal程序,課程要求:多上機實踐,P
4、ascal語言概述,自然語言 信息交流(地位平等) 有思維、推理能力 語法規(guī)則、句法規(guī)則靈活 (可省略、顛倒) 表達方式多樣,Pascal語言 人機對話(命令方式) 有計算、邏輯判斷的能力 語法句法固定 (按部就班) 算法多樣,學習要點:學會Pascal的語法、句法; 學會算法分析與算法設計;,Pascal語言的特點,結構化豐富的數據類型能適應與數值運算和非
5、數值運算Pascal的程序書寫比較自由……因此我們選擇Pascal作為程序設計課程的教學語言。,什么是算法?,解決問題的方法怎么描述算法?我們可以用自然語言或者是用流程圖,用自然語言描述算法:,例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包含Freepass 1.0.10)及Borland Pascal ,下面我們就來學習
7、Free Pascal 1.0.10系統(tǒng)的使用。1. 系統(tǒng)的啟動 在運行系統(tǒng)目錄下的bin目錄下,啟動程序FP.EXE,即可啟動系統(tǒng)。屏幕上出現如圖1所示的集成環(huán)境。2. Free Pascal系統(tǒng)集成環(huán)境簡介 最頂上一行為主菜單。中間藍色框內為編輯窗口,在它個編輯窗口內可以進行程序的編輯。最底下一行為提示行,顯示出系統(tǒng)中常用命令的快捷鍵,如將當前編輯窗口中文件存盤的命令快捷鍵為F2,獲得系統(tǒng)幫助的快捷鍵為F1,等等。,
8、,,3. 新建程序窗口 按F10進行主菜單,選擇FILE菜單,執(zhí)行其中New命令。就可建立一個新的程序窗口(默認文件名為Noname00.pas或Noname01.pas等)。4. 程序的輸入、編輯與運行 在當前程序窗口中,一行一行的輸入程序。事實上,程序窗口是一個全屏幕編輯器。所以對程序的編輯與其它編輯器的編輯方法類似,這里不再重復。 當程序輸入完畢之后,一般要先按Alt+F9(或執(zhí)行compile菜單中compi
9、le命令)對程序進行編譯。如果程序有語法錯誤,則會在程序窗口的第一行處顯示第一個紅色錯誤信息。若無語法錯誤,則窗口正中央會出現一個對話框,提示編譯成功。接下來,我們可以運行程序了。程序的運行可以通過按ALT+R打開RUN菜單中的RUN命令,或直接按快捷鍵CTRL+F9。則可以在用戶窗口中輸出運行結果。通常在程序運行結束后系統(tǒng)回到Pascal系統(tǒng)的集成環(huán)境,因此要查看運行結果,要按ALT+F5將屏幕切換到用戶屏幕。,,5.程序的保存與打
10、開 當我們想把程序窗口中的程序存入磁盤時,可以通過按F2鍵(或執(zhí)行File菜單中的save命令)來保存程序。第一次保存文件時屏幕上會出現一個對話框要求輸入文件名(默認擴展名為.pas)。 當我們要將磁盤上的程序文件中的PASCAL程序裝入窗口時,可按F3(或執(zhí)行File菜單中的Open命令)來裝入程序,此時系統(tǒng)也會彈出一個對話框要求輸入要打開的文件名,或直接在文件對話框列表中選擇所要的文件,然后回到打開文件。,程序運行步驟,
11、FILE?NEW 新建一個PASCAL文件;輸入,編輯源程序;F2 保存源程序,并命名;ALT+F9 編譯源程序,看有無錯誤;如有修改,保存再編譯;CTRL+F9則可以在用戶窗口中輸出運行結果。 要查看運行結果,要按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.,求兩個數的和,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這個數,Program xianshiBegin write(3);End.,Program xianshi;Begin write(3);End.,,Program bill;Begin write(‘Bill Gages’); write(500)End.,,在屏幕上顯
14、示3這個數,在屏幕上顯示比爾·蓋茨的基本信息;,在程序的主體部分有什么共同的語言?,Program 程序名; …… Var…… …… Begin write(3); End.,,,,說明部分,執(zhí)行部分,程序體,,程序首部,1、Pascal程序的基本結構:,你能找出第一個程序的首部與程序體嗎?,2、 常量、變量、數據類型、運算符,(一)常量(1)在程序運行過程中,其值不能被改變的量稱為常量。(2)
15、常量定義出現在說明部分 定義符號常量的一般格式:CONST = 說明:常量說明部分以關鍵字const開頭, 后面的標識符為常量標識符,其中"="號后的常量為整數、實數、字符、 字符串(字符、字符串常量在后面章節(jié)中將作介紹)。而且,在常量說明部分可以將幾個常量說明成符號常量,共用一個關鍵字"const"。例如:,(2)變量:在程序運行過程中,其值可以改變的量變量說明:
16、變量說明出現在說明部分 VAR[,]:; 其中VAR是pascal保留字,表示開始一個變量說明段, 每個變量標識符或由逗號隔開的多個變量標識, 必須在它的冒號后面說明成同一類型。 例如:varage,day:integer; year:integer;amount,average:real; 注意:1、有效變量名稱不能大于8個字符;2、變量名稱必須以字母開頭,其中,Integer(整型)、Real
17、(實型)是標準標識符, 如age和 day 被定義為整型變量,amount和average被定義為實型變量。,(二)數據類型,Pascal語言提供了豐富的類型,可分為以下三大類簡單類型:分標準類型(整型、實型、字符型、布爾型)和用戶自定義型(枚舉型、子界型)構造類型:數組類型、記錄類型、集合類型、文件類型指針類型整型、字符型、布爾型、枚舉型和子界型又稱為順序類型。,整數型,整數型包括:正整數、負整數和零。類型表式符號:inte
18、ger 整數只能由正負號和數字組成,不允許出現其他字符,“+”號可以省略。例:123,0,-256,+234非法:0.1,1A,12.2-32768(minint)~32767(maxint)Free pascal的整數類型:Longint:-2147483648~2147483648此外還有 shortint,byte,word等等,整數型,Pascal規(guī)定了兩個預定義整型常量表識符maxint和maxlonint,
19、他們各表示確定的常數值,maxint為32767, longint為2147483647,他們的類型分別是integer 和longint。,實數類型,實數類型包括正實數、負實數和零。類型標識符為real;兩種方法表式實數:十進制表示:0,0.125,-5.4科學計數法:3.4E3表示3.4*103即3400 3.4E-3表示3.4*10-3即0.0034注意:指數部分不能為小數 整數部分不能省略,字符類型,
20、目前廣泛使用的ascii碼字符集滿足pascal對字符集的要求。字符類型標識符為char;字符類型的數據就是括在兩個單引號之間的Pascal字符集。例如:‘A’,‘1’,‘:’分別表示字符A,數字字符1以及冒號。,布爾類型,布爾類型的數據只有兩個:真和假,分別用標準常量true(真)和false(假)。字符類型標識符為boolean;它是序列的,并且false<true。,(三)算術表達式,⑴定義:是由符合pascal語法規(guī)定
21、的運算對象(包括常量、變量、函數)、算術運算符、圓括號組成的有意義的式子。如:A+3.14159*5/8.4-Abs(-1123)⑵常用的有以下6個算術運算符:①?。?(加) ② - (減) ③?。?(乘)④ / (實數除)得到結果為實型 如5.0/2.0=2.5, 5/2= 2. 5,4/2=2.0而不等于2。⑤ DIV (整除) DIV它要求除數和被除數均為整型, 結果也為整型。如10 DIV 2=5,10
22、DIV 3=3, 5 DIV 10=0. -15 DIV 4= -3。DIV運算只取商的整數部分,參與DIV運算的兩個對象不能為實型。⑥ mod (求余),也只能用于整數運算,結果為整數。例如: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,四、輸入語句,輸入語句的作用是將鍵盤中的數據輸入到程序中(一)輸入語句的兩種格式1、 read語句格式read(變量1,變量2,……);如:wri
24、te(a,b,c);2、 readln語句格式:readln(變量1,變量2,……); (二)輸出語句的功能 計算機執(zhí)行到某一輸入語句時,將鍵盤中輸入的變量數值一個接一個地賦給變量?! ead語句與readln語句格式上都相似,但它們在功能上有所不同,兩個語句的區(qū)別在于,執(zhí)行readln后多余的數據將被忽略,執(zhí)行READ語句后的數據要么被忽略,要么被下一個read或readln語句所讀入,Read(a,b,c);Re
25、ad(I,j,k,l);Read(m,n);輸入數據為:1 2 3 4 5 6 7 8 9 010 20,,,,,格式1:write(輸出項1,輸出項2……); {作用:在同一行輸出各項,最后光標不換行}格式2: writeln(輸出項1,輸出項2……); {作用:在同一行輸出后,光標換到下一行}格式3: writeln {作用:無輸出內容,僅將光
26、標換到下一行}注意: write語句至少有一個輸出項。,輸出語句的三種格式,五、輸出語句,輸出語句的作用是將程序運算的結果輸出到屏幕或打印機等輸出設備。這里通常是指輸出到屏幕。(一)輸出語句的兩種格式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 {作用:無輸出內容,僅將光標換到下一行}注意: 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四、應用例,writeln語句,如果要輸出的是固定的字符(如Bill Gates),則要用單引號引住;如果要輸出的是數值(如500)或式子的值,就不要引住它。例:wr
29、iteln(‘America’) writeln(314),請思考:writeln(‘I am ‘, 9,’ years old’)的顯示結果.,I am 9 years old,二、輸出語句的說明:,1.所有的輸出內容都放在圓括號內,多個輸出項時,兩項間用逗號分隔;2.輸出項是一個數值或用單引號引著的一串字符時,會把內容原樣輸出;當輸出項是一個式子時,則會先計算式子的值再輸出;3.每個輸出項可設場寬,場寬表示輸出的
30、內容要用多少個字符位顯示。,試一試,例:寫出語句的運行結果 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支筆,你能編程序讓計算機算算小雄的書包中有多少件學習用品嗎?請按以下格式輸出結果: shu zuoye bi zon
32、gshu 3 5 2 10 (學習用品總數要計算后輸出,設定寬度為5位),提示: Writeln(‘ shu zuoye bi zongshu’) Writeln(3:2,5:5,2:5,3+5+2:5),請完善并編寫調試此程序,展示實力P11,1.嚴格按輸出格式寫出以下兩段程序的運行結果(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、練習,例1:查看程序運行結果Program p3-1(input,output);Const a=1; b=2;Begin writeln(6); writeln(a); writeln(sqr(3)); writeln(a+b); writeln(‘a+b=‘,a+b); write(‘pi=‘); writeln(3.14);End.,6 1 9 3 a+b=3 Pi=3.14,例2:輸出兩個
35、自然數相除的商和余數,例2:編程計算5×7,并輸出算式,program chenshi(input,output); const a=5; b=7; var c:integer; begin c:=a*b; write(a,’*’,b,’=’,c); end.,,,下面請同學們在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. 請輸入上面的程序,并練習將其存盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論