Pascal順序結構程序設計作業(yè)(含答案)參考_第1頁
Pascal順序結構程序設計作業(yè)(含答案)參考_第2頁
Pascal順序結構程序設計作業(yè)(含答案)參考_第3頁
Pascal順序結構程序設計作業(yè)(含答案)參考_第4頁
Pascal順序結構程序設計作業(yè)(含答案)參考_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、文檔供參考,可復制、編制,期待您的好評與關注! 第1題:完善下列程序:問題:給出半徑R=100,高H=30,求圓周長、圓面積、圓柱全面積。源程序: program lx1(input,output); var (1):real; begin len:=2*pi*r; s:=(2); qs:=len*h+2*s; writeln('len=',len,'s=',sm,'qs=',qs); end.解:我們可以看到變量pi,r,s,qs,len,h均未定義。則(1)為pi,r,s,qs,len,h 由圓面積公式可以很容易得到(2):pi*r*r 注:

2、這一題題目有錯,pi,r,h變量未定義。同學們可以自行加上,但不可以不加。 如在begin下加 pi:=3.1415926; r:=100;h:=30; 第2題:編寫一程序,當程序執(zhí)行時,輸入以秒為單位的時間,輸出形式為:“小時:分:秒”解:這一題用到兩個標準函數:mod和div,mod指取余,div指取整商。用puts表輸入,用hours表小時,用minutes表分鐘,用seconds表秒。程序如下: program name; var puts,hours,minutes,seconds:integer; begin read(puts); hours:=puts mod 360

3、0; puts:=puts div 3600; minutes:=puts mod 60; seconds:=puts div 60; writeln(hours,':',minutes,':',seconds) end. 同學們可以看到puts是輸入變量,也是臨時變量,變了兩次值,仔細想想是如何變化的。 第3題:編寫一程序,輸入一個三位數的正整數,輸出時反向輸出。如:輸入456,輸出654。解:這一題如果學了數組很簡單,沒有的話就要用mod和div函數,請同學們在理解上一題的基礎上看下面的程序。 program name; var three:int

4、eger; begin read(three); for i:=1 to 3 do begin write(three mod 10); three:=three div 10; end; end.本程序用到一個for循環(huán),指循環(huán)執(zhí)行三次。同學們想一想最后three的值是什么?對了!是0! 第4題:編寫一個程序,輸入兩個實數a,b,求a,b的乘積。(尤其當a,b兩數比較大時,看一下輸出結果。)解:這一題主要是范圍問題。 program name; var a,b:real; begin read(a,b); write(a*b); end.雖然實數范圍很大可達到10-38-10+38

5、之間,但更大則會:Floating point overflow.例5已知上底、下底和高,求梯形的面積。問題分析()明確問題。求梯形的面積,已知上底、下底和高,由公式得:          梯形面積(上底下底)高/()分析問題。如果梯形的上底用a表示,下底用b表示,高用h表示,梯形面積用s表示,用梯形面積公式為:s=(a+b)*h/2根據題意,算法可以這樣設計:.輸入梯形的上底a、下底b和高h;2.求出梯形面積s=(a+b)*h/2;3.輸出結果s.()設定變量的類型。這里使用的變量a、b、h、

6、s都應設定為實型數。()程序編制如下:program p4-9(input,output);    var        a,b,h,s:real;    begin        writeln('input a, b,h:');        readln(a

7、,b,h);        s:=(a+b)*h/2;        writeln('s=',s:12:6);        readln    end.運行結果:input a,b,h:3 5 4s=16.000000例6鍵盤輸入兩個數,交換后輸出。問題分析()明確問題。通過鍵盤輸入兩個變量a,b的

8、值,再將a,b的值相交換,然后輸出a,b的值。如輸入后變量a的值為,變量b的值為,經過交換a的值為5,b的值為。()分析問題。如果輸入的兩個數舍為a,b,在交換前要設定一個變量c作為交換時的過度變量,以防止變量a或b的值在賦值時丟失。設計算法如下:.輸入a,b;2.交換變量的值c:=a a:=b b:=c;3.輸出a,b.()設定變量的類型。這里使用的變量a、b、c應設定為整型數。()程序編制如下:program p4-10(input,output);    var    a,b,c:integer; 

9、   begin         writeln('輸入兩個數');         read(a,b);         c:=a;         a:=b;   

10、60;     b:=c;         writeln('交換后的值是:',a:5,b:5)end.運行結果:請輸入兩個數:5   交換后的值是:請思考:如果不用過度變量,只有變量a和b,能否完成交換?例7隨機產生一個三位自然數,分離出它的百位、十位與個位上的數字。問題分析()明確問題。由計算機隨機產生一個三位數,例如產生的三位數是:579,分離的百位、十位與個位上的數字分別是:、。()分析問題。讓計算機隨機產生一個

11、數字時,應該先明確這個數字的范圍和它的類型。一個三位自然數,它在100999之間,產生100999內隨機整數的方法是:trunc(random*900)+100.假設隨機產生三位數是x,個位、十位、百位上的數字分別為:ge,shi,bai, 則有:ge:=x mod 10bai:=x div 100shi:=(x-bai*100) div 10設計算法如下:.隨機產生一個三位數x2.輸出x3.ge:=x mod 104.bai:=x div 1005.shi:=(x-bai*100) div 106.輸出bai,shi ,ge()設定變量的類型。這里使用的變量x,ge,shi,bai都應設定為

12、整型數。program p4-11(input,output);var    x,ge,shi,bai:integer;begin    randomize;    x:=trunc(random*900)+100;    writeln('x=',x);    ge:=x mod 10;    bai:=x div 100;    shi:=(x-bai*100) div 10;    writeln('bai=',bai);    writeln('shi=',shi)

溫馨提示

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

評論

0/150

提交評論