版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Pascal語(yǔ)言程序設(shè)計(jì)信息學(xué)奧賽的內(nèi)容:
程序=計(jì)算機(jī)語(yǔ)言+數(shù)據(jù)結(jié)構(gòu)+算法FreePascalC/C++1、觀察和分析問(wèn)題的能力;2、將實(shí)際問(wèn)題轉(zhuǎn)化為數(shù)學(xué)模型的能力;3、靈活地運(yùn)用各種算法的能力;4、熟練編寫(xiě)程序并將其調(diào)試通過(guò)的能力;5、根據(jù)題目的要求,自己設(shè)計(jì)測(cè)試數(shù)據(jù),檢查自己的解法是否正確、是否完備的能力.
6、具有很強(qiáng)的自學(xué)能力,需要學(xué)習(xí)有關(guān)組合數(shù)學(xué)、圖論、基本算法、數(shù)據(jù)結(jié)構(gòu)、人工智能搜索算法及數(shù)學(xué)建模等知識(shí),還要學(xué)會(huì)高級(jí)語(yǔ)言和編程技巧,要具備很強(qiáng)的上機(jī)操作能力.考察的能力:選手應(yīng)具備的條件:前提:綜合成績(jī)突出1、扎實(shí)的數(shù)學(xué)基礎(chǔ)。2、很強(qiáng)的自學(xué)能力。3、與同學(xué)之間的密切友好的合作與交流。4、持之以恒,堅(jiān)持不懈的學(xué)習(xí)。5、耐得住枯燥與寂寞。6、不能以參加競(jìng)賽為理由而耽誤了其他課程的學(xué)習(xí)。7、堅(jiān)決抵制玩游戲、上網(wǎng)聊天。
要將一張100元的大鈔票,換成等值的10元、5元、2元、1元一張的小鈔票,每次換成40張小鈔票,每種至少1張。如,有一種換法:
10元:1張
5元:5張
2元:31張
1元:3張問(wèn):一共有多少種換法。問(wèn)題舉例:【引例1】:換錢(qián)問(wèn)題已知:
s=1+1/2+1/3+…+1/n求:使s的值大于10時(shí)最小的n?!疽?】:求最小的n枚舉
已知正整數(shù)a和b,a<b,求a除以b的值,精確到小數(shù)點(diǎn)后1000位?!疽?】:除法問(wèn)題高精度n個(gè)客人圍著一個(gè)桌子吃飯,每一個(gè)人都至少認(rèn)識(shí)其他的2個(gè)客人。請(qǐng)?jiān)O(shè)計(jì)程序求得n個(gè)人的一種坐法,使得每個(gè)人都認(rèn)識(shí)他左右的客人。【引例4】:安排座位12435模型轉(zhuǎn)化:構(gòu)造一個(gè)圖:人看成頂點(diǎn),認(rèn)識(shí)關(guān)系看成一條邊。目標(biāo):找一個(gè)環(huán),包含所有的點(diǎn)。哈密頓回路
有兩個(gè)無(wú)刻度標(biāo)志的水杯,分別可裝滿x升和y升的水。設(shè)另一個(gè)水缸,可以用來(lái)向水杯灌水或從水杯向水缸里倒水,兩個(gè)水杯之間也可以相互倒水。已知x升的水杯開(kāi)始是盛滿水的,y升的杯子是空的,問(wèn)如何通過(guò)倒水和灌水操作,用最少的步數(shù)能在y升的杯子里量出z升水。YX水缸(足夠的水,未滿)X=20Y=15Z=10?Y—>10【引例5】:倒水問(wèn)題開(kāi)始:200step1:515step2:015step3:150step4:1515step5:2010XY算法:廣度優(yōu)先搜索數(shù)據(jù)結(jié)構(gòu):隊(duì)列【引例6】:解n元一次方程組N<=100,給定系數(shù)aij和常數(shù)bi,求出方程組的解得情況。第一講Pascal語(yǔ)言基礎(chǔ)一程序的基本結(jié)構(gòu)
程序的上機(jī)調(diào)試和運(yùn)行語(yǔ)言基礎(chǔ)一例1:要將一張100元的大鈔票,換成等值的10元、5元、2元、1元一張的小鈔票,每次換成40張小鈔票,每種至少1張。如,有一種換法:10元:9張5元:1張2元:2張1元:1張問(wèn):一共有多少種換法。程序的上機(jī)調(diào)試和運(yùn)行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時(shí)最小的n。vars:real;n:integer;begins:=0;n:=0;whiles<=10dobeginn:=n+1;s:=s+1/n;end;writeln(n);end.例3、編一個(gè)程序,從鍵盤(pán)輸入一個(gè)真分?jǐn)?shù)的分子和分母,輸出它的小數(shù)形式,精確到小數(shù)點(diǎn)后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.上機(jī)調(diào)試運(yùn)行步驟:1、運(yùn)行:FreePascal2、filenew:新建文件3、compilemake:編譯,找錯(cuò)誤。4、run—〉run:運(yùn)行5、debugoutput(Alt+F5):察看結(jié)果program程序名;{可以省略}
var變量說(shuō)明;
begin
語(yǔ)句;
語(yǔ)句;
……
語(yǔ)句;
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)
一、變量的定義說(shuō)明:二、Pascal數(shù)據(jù)類型(整型、實(shí)型)三、基本語(yǔ)句(賦值語(yǔ)句、輸入語(yǔ)句read、輸出語(yǔ)句write)四、算術(shù)運(yùn)算符和算術(shù)表達(dá)式五、標(biāo)準(zhǔn)函數(shù)(數(shù)值型函數(shù))語(yǔ)言基礎(chǔ)一一、變量的定義說(shuō)明:在程序中用到的所有變量必須事先定義。格式:Var<變量表>
:
<變量類型>;
┆
<變量表>
:
<變量類型>;如:輸入3個(gè)整數(shù),求這3個(gè)數(shù)的平均值。Vara,b,c:integer;aver:real;說(shuō)明:1)、同一類型的變量可以放在一起,也可分開(kāi)寫(xiě),不同類型的不能放在一起。2)、變量名:可以是一個(gè)字母,也可以是多個(gè)字母和數(shù)字的組合,但字母開(kāi)頭。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的值。整型、實(shí)型、(字符型和布爾型)1、整型
類型數(shù)值范圍占字節(jié)數(shù)
Byte0..2551Word0..655352Shortint-128..1271
Integer-32768..32767;2
Longint-2147483648..21474836474Longword0..42949672954
Int64-9223372036854775808..
92233720368547758078QWord0..1844674407370955161582、實(shí)數(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.?例:輸入:兩個(gè)整數(shù)a、b(<=3000),輸出它們的乘積c,商d。實(shí)數(shù)的定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)T=63.123write(t);6.312300000000E+01write(t:6:2);63.12write(t:6:5);63.12300如果要求小數(shù)點(diǎn)后精確2位小數(shù).Writeln(x:0:2);a,b:integer;C:longint;d:real;Writeln(d:0:2);字符類型Char類型用單引號(hào)括起來(lái)一個(gè)單個(gè)字符。字母作為字符型時(shí),大小寫(xiě)是不等價(jià)的,并且字符型只允許單引號(hào)中有一個(gè)字符,否則就是字符串。Vars:char;s:=‘B’布爾類型Boolean類型一個(gè)布爾型數(shù)據(jù)用來(lái)存放邏輯值(布爾值)。
只有兩個(gè)真和假,分別用標(biāo)準(zhǔn)常量true和False來(lái)表示。布爾類型的運(yùn)算符有:not(非)、and(與)、or(或)vara,b:boolean;A:=4>3;b:=2>3;1、賦值語(yǔ)句
賦值語(yǔ)句是最簡(jiǎn)單的語(yǔ)句.
1)、賦值語(yǔ)句的格式變量名:=表達(dá)式;其中“:=”稱為賦值號(hào)。
2)、執(zhí)行過(guò)程計(jì)算機(jī)先計(jì)算賦值號(hào)右邊表達(dá)式的值,然后將表達(dá)式的值賦給變量名代表的變量。如:A:=(9*8)-(2-1);
A:=A+1
三、基本語(yǔ)句2、輸入語(yǔ)句read和readln功能:從鍵盤(pán)讀入數(shù)據(jù)項(xiàng),并把它存到變量中去,使該數(shù)據(jù)能在以后的計(jì)算中使用。輸入語(yǔ)句的一般形式為:
read(v1,v2,…,vn);
readln(v1,v2,…,vn);從鍵盤(pán)逐次讀入數(shù)據(jù),分別賦給變量v1,v2,…,vn,一行輸入多個(gè)變量值時(shí),要求數(shù)據(jù)之間用空格分隔,readln語(yǔ)句要求輸入數(shù)據(jù)后必須回車(chē),使得后繼操作從下一行的頭上開(kāi)始。read語(yǔ)句與readln語(yǔ)句區(qū)別是:
1)read語(yǔ)句是一個(gè)接一個(gè)地讀數(shù)據(jù),在執(zhí)行完本Read語(yǔ)句(讀完本語(yǔ)句中變量所需的數(shù)據(jù))后,下一個(gè)讀語(yǔ)句接著從該數(shù)據(jù)輸入行中繼續(xù)讀數(shù)據(jù),也就是說(shuō),不換行。如:
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,如果后面無(wú)讀語(yǔ)句則數(shù)據(jù)6是多余的,這是允許的。
Readln則不同,在讀完本Readln語(yǔ)句中變量所需的數(shù)據(jù)后,該數(shù)據(jù)行中剩余的數(shù)據(jù)多余無(wú)用,或者說(shuō),在讀完本Readln語(yǔ)句中變量所需數(shù)據(jù)后,一定要讀到一個(gè)回車(chē),否則多余的數(shù)據(jù)無(wú)用。設(shè)有下列語(yǔ)句: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語(yǔ)句與read語(yǔ)句的第二個(gè)區(qū)別是:read后一定要有參數(shù)表,readln可以不帶參數(shù)表,即可以沒(méi)有任何輸入項(xiàng),只是等待讀入一個(gè)換行符(回車(chē))。經(jīng)常用于暫停程序的運(yùn)行,直到輸入一個(gè)回車(chē)3輸出語(yǔ)句write和writeln功能:把程序計(jì)算的結(jié)果,按適當(dāng)?shù)男问捷敵龅狡聊弧?)、write語(yǔ)句格式Write(表達(dá)式1,表達(dá)式2,……);如:write(x,5,a+b);write(‘MynameisLiping’);2)、writeln語(yǔ)句格式:Write(表達(dá)式1,表達(dá)式2,……)或writelnWrite語(yǔ)句與writeln語(yǔ)句格式上都相似,但它們?cè)诠δ苌嫌兴煌?,兩個(gè)語(yǔ)句的區(qū)別在于:write語(yǔ)句將其后括號(hào)中的表達(dá)式一個(gè)接一個(gè)輸出后,沒(méi)有換行。而writeln語(yǔ)句則在輸出各個(gè)表達(dá)式的值后換行。例如以下兩個(gè)程序段的輸出分別為:write(1,2,3,4);write(5,6);輸出為:123456writeln(1,2,3,4);write(5,6);輸出為:1234564實(shí)數(shù)的輸出格式實(shí)數(shù)(real)以浮點(diǎn)型格式輸出。例如805.67對(duì)應(yīng)的浮點(diǎn)數(shù)為8.056700000000E+02。這種實(shí)數(shù)表達(dá)方式很不方便。我們可以通過(guò)下述形式強(qiáng)迫實(shí)數(shù)以定點(diǎn)型格式輸出:實(shí)數(shù)表達(dá)式:域?qū)挘盒?shù)位數(shù)例如,t的值設(shè)為63.123。下面三條輸出語(yǔ)句分別有它們右邊所示的輸出格式:
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.例:輸入兩個(gè)整數(shù)a,b,交換他們的值,并輸出.如:輸入:3034
輸出:3430四、算術(shù)運(yùn)算符和算術(shù)表達(dá)式
1.算術(shù)運(yùn)算符
運(yùn)算符運(yùn)算運(yùn)算對(duì)象結(jié)果類型
+加整型、實(shí)型只要有一個(gè)運(yùn)算對(duì)象是實(shí)型,結(jié)果就
-減整型、實(shí)型是實(shí)型,如果全部的運(yùn)算對(duì)象都是整
*乘整型、實(shí)型型并且運(yùn)算不是除法,則結(jié)果為整型
/除整型、實(shí)型若運(yùn)算是除法,則結(jié)果是實(shí)型。
div整除整型整型
mod取余整型整型2、表達(dá)式是通過(guò)運(yùn)算符把常量、變量、函數(shù)調(diào)用結(jié)合起來(lái)組成的。
3+x1+b除法運(yùn)算1、整除運(yùn)算:運(yùn)算符為“div”
結(jié)果為兩個(gè)整型數(shù)除法的整數(shù)商。例如:10Div4=22、求余數(shù)運(yùn)算:運(yùn)算符為“mod”
結(jié)果為兩個(gè)整型數(shù)除法的余數(shù)。例如:10mod3=13、普通除法:運(yùn)算符為“/”
結(jié)果為兩個(gè)任意數(shù)值相除的商(含小數(shù))。例如:10/4=2.5整數(shù)的運(yùn)算符有: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.是通過(guò)運(yùn)算符把常量、變量、函數(shù)調(diào)用結(jié)合起來(lái)組成的。
3+x1+bPASCAL表達(dá)式有以下計(jì)算優(yōu)先順序規(guī)則:
1.括號(hào)內(nèi)的表達(dá)式首先計(jì)算;
2.運(yùn)算符的優(yōu)先級(jí)有四級(jí),按其優(yōu)先順序從高到低排列為:
not;*,/,div,mod,and;
+,-,or;
=,<>,>,<,<=,>=,IN;不同優(yōu)先級(jí)的兩運(yùn)算符之間的操作數(shù)先與具有較高優(yōu)先級(jí)的運(yùn)算符進(jìn)行運(yùn)算;
3.同級(jí)的運(yùn)算從左到右進(jìn)行;另外,有一點(diǎn)需要指出的是,因?yàn)殛P(guān)系運(yùn)算符的優(yōu)先級(jí)最低,當(dāng)用關(guān)系式構(gòu)造復(fù)雜的布爾表達(dá)式時(shí),這些關(guān)系式作為初等條件必須放在括號(hào)里。如:(x<y)and(z=y)or(x=0)若不加括號(hào),就是一個(gè)錯(cuò)誤的表達(dá)式。表達(dá)式上機(jī)練習(xí)題目:輸入一個(gè)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.展示實(shí)力1、寫(xiě)出下列表達(dá)式的值。
12*3+6/4= 45div4= 98mod10=2、寫(xiě)出下列程序段的運(yùn)行結(jié)果。
Varmy:real;Beginmy:=18/4-3;Writeln(my:10:2)End.Varn,v:integer;Beginread(n);v:=nmod5;writeln(‘VP=’,v)End.{運(yùn)行時(shí)輸入34}Varw1,w2:integer;Beginwriteln(‘Enter’);Read(w1,w2);W1:=0;W1:=w1+w2;Writeln(w1)End.{運(yùn)行時(shí)輸入15,36}Vark1,k2,fn:integer;BeginRead(k1,k2);fn:=k1+2*k2;Iffn<7thenwriteln(fn)End.{運(yùn)行時(shí)輸入1,2,3}展示實(shí)力3、從鍵盤(pán)輸入一個(gè)字符,然后顯示一個(gè)由該字符組成的圖案。輸入樣例 輸出樣例K k kkk kkkkk4、輸入兩個(gè)整數(shù),讓計(jì)算機(jī)來(lái)求它們的和、差、積、商、整數(shù)商和余數(shù)。輸入樣例 輸出樣例5 18+5=23 18-5=13 18*5=90 18/5=3.60 18div5=3 18mod5=3展示實(shí)力3、從鍵盤(pán)輸入一個(gè)字符,然后顯示一個(gè)由該字符組成的圖案。輸入樣例 輸出樣例K k kkk kkkkk4、輸入兩個(gè)整數(shù),讓計(jì)算機(jī)來(lái)求它們的和、差、積、商、整數(shù)商和余數(shù)。輸入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《種質(zhì)量改進(jìn)工具》課件
- 養(yǎng)老院老人健康飲食營(yíng)養(yǎng)師激勵(lì)制度
- 政府打包拆遷公司框架協(xié)議書(shū)(2篇)
- 打鋼架棚安全合同
- 2024年土地流轉(zhuǎn)與農(nóng)業(yè)廢棄物處理合同示范文本3篇
- 2025年北京貨運(yùn)從業(yè)資格證摸擬考試試題及答案
- 2025年鄂州貨車(chē)上崗證理論模擬考試題庫(kù)
- 2024年新版:房產(chǎn)抵押買(mǎi)賣(mài)協(xié)議3篇
- 2024年版生物醫(yī)藥研發(fā)與技術(shù)轉(zhuǎn)讓合同
- 2024年度電子商務(wù)平臺(tái)拓展合作協(xié)議書(shū)2篇
- 2024年第九屆全國(guó)大學(xué)生預(yù)防艾滋病知識(shí)競(jìng)賽考試題庫(kù)(附答案)
- 企業(yè)食堂員工年終工作總結(jié)
- 實(shí)驗(yàn)室診斷和檢驗(yàn)技術(shù)
- 舞美專業(yè)實(shí)訓(xùn)室可行性方案
- 初中英語(yǔ)教學(xué)中的小組合作學(xué)習(xí)活動(dòng)
- 《透過(guò)奧運(yùn)看中國(guó)》課件
- 江蘇省南京市鼓樓區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末語(yǔ)文試卷
- 分部分項(xiàng)工程劃分表
- 機(jī)要密碼培訓(xùn)課件
- 瑜伽肩頸理療修復(fù)課程設(shè)計(jì)
- 扁桃體切除術(shù)護(hù)理查房課件
評(píng)論
0/150
提交評(píng)論