




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Pascal語言程序設(shè)計信息學(xué)奧賽的內(nèi)容:
程序=計算機語言+數(shù)據(jù)結(jié)構(gòu)+算法FreePascalC/C++1、觀察和分析問題的能力;2、將實際問題轉(zhuǎn)化為數(shù)學(xué)模型的能力;3、靈活地運用各種算法的能力;4、熟練編寫程序并將其調(diào)試通過的能力;5、根據(jù)題目的要求,自己設(shè)計測試數(shù)據(jù),檢查自己的解法是否正確、是否完備的能力.
6、具有很強的自學(xué)能力,需要學(xué)習(xí)有關(guān)組合數(shù)學(xué)、圖論、基本算法、數(shù)據(jù)結(jié)構(gòu)、人工智能搜索算法及數(shù)學(xué)建模等知識,還要學(xué)會高級語言和編程技巧,要具備很強的上機操作能力.考察的能力:選手應(yīng)具備的條件:前提:綜合成績突出1、扎實的數(shù)學(xué)基礎(chǔ)。2、很強的自學(xué)能力。3、與同學(xué)之間的密切友好的合作與交流。4、持之以恒,堅持不懈的學(xué)習(xí)。5、耐得住枯燥與寂寞。6、不能以參加競賽為理由而耽誤了其他課程的學(xué)習(xí)。7、堅決抵制玩游戲、上網(wǎng)聊天。
要將一張100元的大鈔票,換成等值的10元、5元、2元、1元一張的小鈔票,每次換成40張小鈔票,每種至少1張。如,有一種換法:
10元:1張
5元:5張
2元:31張
1元:3張問:一共有多少種換法。問題舉例:【引例1】:換錢問題已知:
s=1+1/2+1/3+…+1/n求:使s的值大于10時最小的n?!疽?】:求最小的n枚舉
已知正整數(shù)a和b,a<b,求a除以b的值,精確到小數(shù)點后1000位?!疽?】:除法問題高精度n個客人圍著一個桌子吃飯,每一個人都至少認(rèn)識其他的2個客人。請設(shè)計程序求得n個人的一種坐法,使得每個人都認(rèn)識他左右的客人?!疽?】:安排座位12435模型轉(zhuǎn)化:構(gòu)造一個圖:人看成頂點,認(rèn)識關(guān)系看成一條邊。目標(biāo):找一個環(huán),包含所有的點。哈密頓回路
有兩個無刻度標(biāo)志的水杯,分別可裝滿x升和y升的水。設(shè)另一個水缸,可以用來向水杯灌水或從水杯向水缸里倒水,兩個水杯之間也可以相互倒水。已知x升的水杯開始是盛滿水的,y升的杯子是空的,問如何通過倒水和灌水操作,用最少的步數(shù)能在y升的杯子里量出z升水。YX水缸(足夠的水,未滿)X=20Y=15Z=10?Y—>10【引例5】:倒水問題開始:200step1:515step2:015step3:150step4:1515step5:2010XY算法:廣度優(yōu)先搜索數(shù)據(jù)結(jié)構(gòu):隊列【引例6】:解n元一次方程組N<=100,給定系數(shù)aij和常數(shù)bi,求出方程組的解得情況。第一講Pascal語言基礎(chǔ)一程序的基本結(jié)構(gòu)
程序的上機調(diào)試和運行語言基礎(chǔ)一例1:要將一張100元的大鈔票,換成等值的10元、5元、2元、1元一張的小鈔票,每次換成40張小鈔票,每種至少1張。如,有一種換法:10元:9張5元:1張2元:2張1元:1張問:一共有多少種換法。程序的上機調(diào)試和運行program
ex1;varx1,x2,x3,x4,n:integer;beginn:=0;forx1:=1to10doforx2:=1to20doforx3:=1to50doforx4:=1to100doif(10*x1+5*x2+2*x3+x4=100)and(x1+x2+x3+x4=40)then
n:=n+1;writeln(n);end.例2
、已知:
s=1+1/2+1/3+…+1/n求:使s的值大于10時最小的n。vars:real;n:integer;begins:=0;n:=0;whiles<=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.例3、編一個程序,從鍵盤輸入一個真分?jǐn)?shù)的分子和分母,輸出它的小數(shù)形式,精確到小數(shù)點后1000位。varn,m,r,q,i:integer;beginread(n,m);r:=n;write('0.');i:=1;whilei<=1000dobeginq:=10*rdivm;r:=10*rmodm;write(q);i:=i+1;end;end.上機調(diào)試運行步驟:1、運行:FreePascal2、filenew:新建文件3、compilemake:編譯,找錯誤。4、run—〉run:運行5、debugoutput(Alt+F5):察看結(jié)果program程序名;{可以省略}
var變量說明;
begin
語句;
語句;
……
語句;
end.Pascal程序的基本結(jié)構(gòu)
vars:real;n:integer;begins:=0;n:=0;whiles<=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.示例:程序的基本結(jié)構(gòu)
一、變量的定義說明:二、Pascal數(shù)據(jù)類型(整型、實型)三、基本語句(賦值語句、輸入語句read、輸出語句write)四、算術(shù)運算符和算術(shù)表達式五、標(biāo)準(zhǔn)函數(shù)(數(shù)值型函數(shù))語言基礎(chǔ)一一、變量的定義說明:在程序中用到的所有變量必須事先定義。格式:Var<變量表>
:
<變量類型>;
┆
<變量表>
:
<變量類型>;如:輸入3個整數(shù),求這3個數(shù)的平均值。Vara,b,c:integer;aver:real;說明:1)、同一類型的變量可以放在一起,也可分開寫,不同類型的不能放在一起。2)、變量名:可以是一個字母,也可以是多個字母和數(shù)字的組合,但字母開頭。3)、不能重復(fù)定義變量。二、Pascal數(shù)據(jù)類型Vara,b,c:integer;Beginreadln(a);readln(b);c:=a+b;writeln(c):End.12020010000200002000030000試以下3組數(shù)據(jù):輸入整數(shù)a和b,輸出a+b的值。整型、實型、(字符型和布爾型)1、整型
類型數(shù)值范圍占字節(jié)數(shù)
Byte0..2551Word0..655352Shortint-128..1271
Integer-32768..32767;2
Longint-2147483648..21474836474Longword0..42949672954
Int64-9223372036854775808..
92233720368547758078QWord0..1844674407370955161582、實數(shù)
類型范圍有效位數(shù)占用字節(jié)
Real2.9e-39..1.7e38
11..126
Single1.5E-45..3.4E387-84Double5.0E-324..1.7E30815-168Extended1.9E-4951..1.1E493219-2010Comp-2E64+1..2E63-119-208Varbeginread(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例:輸入:兩個整數(shù)a、b(<=3000),輸出它們的乘積c,商d。實數(shù)的定點型格式輸出:實數(shù)表達式:域?qū)挘盒?shù)位數(shù)T=63.123write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300如果要求小數(shù)點后精確2位小數(shù).Writeln(x:0:2);a,b:integer;C:longint;d:real;Writeln(d:0:2);字符類型Char類型用單引號括起來一個單個字符。字母作為字符型時,大小寫是不等價的,并且字符型只允許單引號中有一個字符,否則就是字符串。Vars:char;s:=‘B’布爾類型Boolean類型一個布爾型數(shù)據(jù)用來存放邏輯值(布爾值)。
只有兩個真和假,分別用標(biāo)準(zhǔn)常量true和False來表示。布爾類型的運算符有:not(非)、and(與)、or(或)vara,b:boolean;A:=4>3;b:=2>3;1、賦值語句
賦值語句是最簡單的語句.
1)、賦值語句的格式變量名:=表達式;其中“:=”稱為賦值號。
2)、執(zhí)行過程計算機先計算賦值號右邊表達式的值,然后將表達式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1);
A:=A+1
三、基本語句2、輸入語句read和readln功能:從鍵盤讀入數(shù)據(jù)項,并把它存到變量中去,使該數(shù)據(jù)能在以后的計算中使用。輸入語句的一般形式為:
read(v1,v2,…,vn);
readln(v1,v2,…,vn);從鍵盤逐次讀入數(shù)據(jù),分別賦給變量v1,v2,…,vn,一行輸入多個變量值時,要求數(shù)據(jù)之間用空格分隔,readln語句要求輸入數(shù)據(jù)后必須回車,使得后繼操作從下一行的頭上開始。read語句與readln語句區(qū)別是:
1)read語句是一個接一個地讀數(shù)據(jù),在執(zhí)行完本Read語句(讀完本語句中變量所需的數(shù)據(jù))后,下一個讀語句接著從該數(shù)據(jù)輸入行中繼續(xù)讀數(shù)據(jù),也就是說,不換行。如:
Read(a,b);Read(c,d);Read(e);
如果輸入數(shù)據(jù)行如下:1□2□3←┘4□5□6□←┘則a,b,c,d,e的值分別為1,2,3,4,5,如果后面無讀語句則數(shù)據(jù)6是多余的,這是允許的。
Readln則不同,在讀完本Readln語句中變量所需的數(shù)據(jù)后,該數(shù)據(jù)行中剩余的數(shù)據(jù)多余無用,或者說,在讀完本Readln語句中變量所需數(shù)據(jù)后,一定要讀到一個回車,否則多余的數(shù)據(jù)無用。設(shè)有下列語句:read(a,b,c);readln(d,e);readln;readln(f,g);其中,所有變量均為整型。設(shè)輸入的數(shù)據(jù)如下:
1□2←┘3□4□5□6□7□8←┘9□10←┘11□12□13←┘
Vara,b,c,d,e,f,g:integer;beginread(a,b,c);readln(d,e);readln;readln(f,g);writeln(a,‘',b,‘',c,‘',d,‘',e,‘',f,‘',g);end.2)readln語句與read語句的第二個區(qū)別是:read后一定要有參數(shù)表,readln可以不帶參數(shù)表,即可以沒有任何輸入項,只是等待讀入一個換行符(回車)。經(jīng)常用于暫停程序的運行,直到輸入一個回車3輸出語句write和writeln功能:把程序計算的結(jié)果,按適當(dāng)?shù)男问捷敵龅狡聊弧?)、write語句格式Write(表達式1,表達式2,……);如:write(x,5,a+b);write(‘MynameisLiping’);2)、writeln語句格式:Write(表達式1,表達式2,……)或writelnWrite語句與writeln語句格式上都相似,但它們在功能上有所不同,兩個語句的區(qū)別在于:write語句將其后括號中的表達式一個接一個輸出后,沒有換行。而writeln語句則在輸出各個表達式的值后換行。例如以下兩個程序段的輸出分別為:write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:1234564實數(shù)的輸出格式實數(shù)(real)以浮點型格式輸出。例如805.67對應(yīng)的浮點數(shù)為8.056700000000E+02。這種實數(shù)表達方式很不方便。我們可以通過下述形式強迫實數(shù)以定點型格式輸出:實數(shù)表達式:域?qū)挘盒?shù)位數(shù)例如,t的值設(shè)為63.123。下面三條輸出語句分別有它們右邊所示的輸出格式:
write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300write(t:0:0);var
a,b,t:integer;
begin
read(a,b);
t:=a;
a:=b;
b:=t;
writeln('a=',a,'b=',b)
end.例:輸入兩個整數(shù)a,b,交換他們的值,并輸出.如:輸入:3034
輸出:3430四、算術(shù)運算符和算術(shù)表達式
1.算術(shù)運算符
運算符運算運算對象結(jié)果類型
+加整型、實型只要有一個運算對象是實型,結(jié)果就
-減整型、實型是實型,如果全部的運算對象都是整
*乘整型、實型型并且運算不是除法,則結(jié)果為整型
/除整型、實型若運算是除法,則結(jié)果是實型。
div整除整型整型
mod取余整型整型2、表達式是通過運算符把常量、變量、函數(shù)調(diào)用結(jié)合起來組成的。
3+x1+b除法運算1、整除運算:運算符為“div”
結(jié)果為兩個整型數(shù)除法的整數(shù)商。例如:10Div4=22、求余數(shù)運算:運算符為“mod”
結(jié)果為兩個整型數(shù)除法的余數(shù)。例如:10mod3=13、普通除法:運算符為“/”
結(jié)果為兩個任意數(shù)值相除的商(含小數(shù))。例如:10/4=2.5整數(shù)的運算符有:DIV(整除)、mod(取余)。15Div6=2
(-15)div6=-2
15Div(-6)=-2
(-15)div(-6)=215mod6=3
(-15)mod6=-3
15mod(-6)=3
(-15)mod(-6)=-3Programex1_5;Consta=128;Varb,d:integer;c:real;Beginb:=adiv16;c:=a/b;d:=a;write(a:4,b:4,c:4,d:4);end.是通過運算符把常量、變量、函數(shù)調(diào)用結(jié)合起來組成的。
3+x1+bPASCAL表達式有以下計算優(yōu)先順序規(guī)則:
1.括號內(nèi)的表達式首先計算;
2.運算符的優(yōu)先級有四級,按其優(yōu)先順序從高到低排列為:
not;*,/,div,mod,and;
+,-,or;
=,<>,>,<,<=,>=,IN;不同優(yōu)先級的兩運算符之間的操作數(shù)先與具有較高優(yōu)先級的運算符進行運算;
3.同級的運算從左到右進行;另外,有一點需要指出的是,因為關(guān)系運算符的優(yōu)先級最低,當(dāng)用關(guān)系式構(gòu)造復(fù)雜的布爾表達式時,這些關(guān)系式作為初等條件必須放在括號里。如:(x<y)and(z=y)or(x=0)若不加括號,就是一個錯誤的表達式。表達式上機練習(xí)題目:輸入一個3位的正整數(shù),輸出他們的各位數(shù)字之和與乘積。如:輸入:436輸出:1372varn,a,b,c,x,y:integer;beginreadln(n);a:=ndiv100;b:=(ndiv10)mod10;c:=nmod10;x:=a+b+c;y:=a*b*c;writeln(x);writeln(y);end.展示實力1、寫出下列表達式的值。
12*3+6/4= 45div4= 98mod10=2、寫出下列程序段的運行結(jié)果。
Varmy:real;Beginmy:=18/4-3;Writeln(my:10:2)End.Varn,v:integer;Beginread(n);v:=nmod5;writeln(‘VP=’,v)End.{運行時輸入34}Varw1,w2:integer;Beginwriteln(‘Enter’);Read(w1,w2);W1:=0;W1:=w1+w2;Writeln(w1)End.{運行時輸入15,36}Vark1,k2,fn:integer;BeginRead(k1,k2);fn:=k1+2*k2;Iffn<7thenwriteln(fn)End.{運行時輸入1,2,3}展示實力3、從鍵盤輸入一個字符,然后顯示一個由該字符組成的圖案。輸入樣例 輸出樣例K k kkk kkkkk4、輸入兩個整數(shù),讓計算機來求它們的和、差、積、商、整數(shù)商和余數(shù)。輸入樣例 輸出樣例5 18+5=23 18-5=13 18*5=90 18/5=3.60 18div5=3 18mod5=3展示實力3、從鍵盤輸入一個字符,然后顯示一個由該字符組成的圖案。輸入樣例 輸出樣例K k kkk kkkkk4、輸入兩個整數(shù),讓計算機來求它們的和、差、積、商、整數(shù)商和余數(shù)。輸入
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CACE 066-2022基于項目的溫室氣體減排量核證程序要求
- T/CA 108-2019多媒體設(shè)備充電線、數(shù)據(jù)線通用規(guī)范
- 藥物性皮炎常見護理診斷
- 車工工藝與技能課件:切斷
- 房地產(chǎn)市場庫存去化壓力解析:2025年營銷策略調(diào)整與渠道優(yōu)化報告
- 新生兒結(jié)膜炎護理常規(guī)
- 工業(yè)互聯(lián)網(wǎng)平臺入侵檢測系統(tǒng):2025年網(wǎng)絡(luò)安全政策與標(biāo)準(zhǔn)優(yōu)化
- 常見病照護課件:消化系統(tǒng)常見疾病的照護
- 腎小球腎炎的護理筆記
- 塑料泡沫包裝設(shè)計作業(yè)
- MOOC 數(shù)字邏輯電路實驗-東南大學(xué) 中國大學(xué)慕課答案
- 2023CSCO免疫檢查點抑制劑相關(guān)的毒性控制指南(全文)
- 五年級下冊分?jǐn)?shù)加減混合運算練習(xí)400題及答案
- 不同行業(yè)安全管理的特點與要求
- 醫(yī)學(xué)人文素質(zhì)教育的跨學(xué)科研究與創(chuàng)新
- 社區(qū)居民滿意度調(diào)查問卷
- 異常子宮出血護理查房的課件
- 醫(yī)院基建科招聘筆試題目
- 無創(chuàng)血糖儀行業(yè)營銷策略方案
- 答案-國開電大本科《當(dāng)代中國政治制度》在線形考(形考任務(wù)一)試題
- 國際經(jīng)貿(mào)新形勢下我國外貿(mào)高質(zhì)量發(fā)展的挑戰(zhàn)及對策
評論
0/150
提交評論