bài ôn tập ngôn ngữ lập trình pascal

38 511 0
bài ôn tập ngôn ngữ lập trình pascal

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 ……………………………………………………………………………………………………… (Trích dẫn có hiệu đính và bổ sung từ bộ bài tập Pascal của Trường Đại học Khoa học tự nhiên Thành Phố Hồ Chí Minh) Vƣơng Đức Bình BÀI ÔN TẬP NGÔN NGỮ LẬP TRÌNH PASCAL. PHẦN CƠ SỞ. I. PHẦN LÝ THUYẾT 1. Các danh hiệu pascal nào dƣới đây là hợp lệ ?  Xray  X-Ray  Jeremiah  R2D2  3M  PDQ123  PS:175  X  4  N/4  SM  ZZZZZZ  night  ng  to day 2. Cho biết hằng nào dƣới đây là nguyên, thực hoặc không phải nguyên/thực:  12  12.  12.0  „12‟  8+4  -3.7  3.7  -1.024  +1  $3.98  0.357E4  24E0  E3  five  3E.5  .000001  1.2 x 10  -(-1)  0E0  ½ 3. Các hằng chuỗi nào dƣới đây hợp lệ ?  „X‟  „123‟  YS‟  „tooyet‟  „DO‟‟ESNT‟  „isnt‟ „t‟  „constant‟  „S1.98‟  „DON‟T‟  „12+34‟  ‟‟‟twas‟  „A‟„B‟„C‟ 4. Hãy viết các đoạn biến để khai báo biến: a. Item, Number và Job kiểu real. b. ShoeSize kiểu integer. c. Mileage kiểu real, Cost và Distance kiểu integer. d. Alpha và Beta kiểu integer, Code kiểu char, e. Root kiểu real, và RootExists kiểu boolean. 5. Hãy viết các đoạn hằng đặt tên cho các hằng với tên tƣơng ứng: a. 1.25 với tên Coefficient. b. 40.0 với tên RegHours và 1.5 với tên OvertimeFactor. c. 1776 với tên Year, „F‟ với Female và ký tự trắng với Blank. d. True với tên Exists, 0 với Zero, * với Asterisk, dấu nháy đơn với Apostrophe và chuỗi CPSC151A với Course. 6. Tìm trị các biểu thức sau và giải thích tại sao biểu thức không hợp lệ: a. 9-5-3 b. 2 div 3+3/5 c. 9 div 2/5 d. 9/2 div 5 2 e. 2.0/4 f. (2+3) mod 2 g. 7 mod 5 mod 3 h. (7 mod 5) mod 3 i. 7 mod (5 mod 3) j. (7 mod 5 mod 3) k. 25*1/2 l. 25*1 div 2 m. 25*(1 div 2) n. -3.0*5.0 o. 5.0*-3.0 p. 12/2*3 q. ((12+3) div 2)/(8-(5+1)) r. ((1`2+3) div 2)/(8-5+1) s. (12+3 div 2)/(8-5+1) t. sqrt(sqr(4)) u. sqrt(sqr(-4)) v. sqr(sqrt(4)) w. sqr(sqrt(-4)) x. trunc(8/5)+round(8/5) 7. Nếu R1 và R2 kiểu Real, I1 I2 I3 kiểu integer và R1=2.0, R2=3.0, I1=4, I2=5, I3=8, tìm trị của: a. R1 + R2 + R2 b. I3 div 3 c. I3/3 d. (R1+R2) * I1 e. I3 div I2 * 5.1 f. Sqr(I1) / sqr(R1) g. Sqr(I2) / sqr(R1) h. Sqrt(R1 + R2 + I1) 8. Viết biểu thức Pascal để tính: a. 10 + 5B - 4AC b. Ba lần của hiệu 4-n chia cho 2 lần m 2 +n 2 c. Căn bậc hai của a+3b 2 d. Căn bậc hai của trung bình cộng của m và n e. |A / (m+n)| ( |x| là trị tuyệt đối của x) f. Lƣợng thực Amount làm tròn đến phần trăm gần nhất. 9. Giả định Number thuộc kiểu integer, xValue và yValue kiểu Real, Grade kiểu char, Found kiểu boolean. Hãy xác định mệnh đề gán Pascal nào dƣới đây hợp lệ. Nếu không hợp lệ hãy giải thích tại sao. a. xValue := 2.71828 b. 3 := Number c. Grade := ‟B+‟ d. Number := Number+1 3 e. xValue := 1 f. Greade := A g. Number+1 := Number h. Xvalue := ‟1‟ i. Found := Grade j. yValue := yValue k. xValue := A l. Grade := Grade+10 m. Found := ‟True‟ n. xValue := Number o. Number := yValue 10. R1, R2, R3 và xCoord là các biến thực với R1 =0, R2 =3.0, R3 =4.0; I1, I2 và I3 là các biến nguyên với I1 =8, I2 =5; Numeral và Symbol là các biến ký tự với Numeral =‟2‟. Hãy cho biết trị gán cho các biến trong các trƣờng hợp sau hoặc cho biết lý do mệnh đề không hợp lệ: a. xCoord := (R1+R2) * R2 b. xCoord := R2+R1/R3) * 2 c. xCoord := I1 / I2+5 d. I3 := I1 div I2 + 5 e. xCoord := sqr(I2) / sqr(I1) f. I3 := sqr(I2) / sqr(I1) g. Symbol := 4 h. Symbol := Numeral i. Symbol := ‟4‟ j. Symbol := R3 k. R1 := 2 l. R1 := ‟2‟ m. R1 := Numeral n. I1 := I1 + 2 o. I3 := 1 + Numeral p. I3 := round(sqr(I1 mod I2)/R3) 11. Viết lệnh gán thay đổi trị của biến nguyên Number với các trƣờng hợp sau: a. Tăng Number lên 77 b. Giảm Number bớt 3 c. Tăng Number lên gấp hai lần d. Cộng ký số cực phải của Number vào Number e. Giảm Number bớt một trị là phần nguyên của số thực x 12. Viết mệnh đề gán Pascal cho các trƣờng hợp sau để tính trị của biểu thức và gán trị cho biến tƣơng ứng. Giả định tất cả các biến thuộc kiểu real, trừ trƣờng hợp có ghi rõ. a. Distance bằng Rate lần Time b. X đƣợc tăng lên một lƣợng DeltaX c. Resistance bằng1/(1/R1 + 1/R2 + 1/R3) d. TArea là diện tích hình tam giác có cạnh đáy là b, chiều cao là h. e. Price bằng ba ký số cuối cùng của số nguyên StockNumber với dấu chấm thập phân ở trƣớc hai ký số cuối (ví dụ nếu StockNumber là 1758316 thì Price đƣợc gán trị 3.16) 4 f. Tax đƣợc làm tròn tới trị nguyên gần nhất. 13. Với mỗi trƣờng hợp dƣới đây, hãy xác định trị của các biến nguyên a, b và c sao cho hai biểu thức có trị khác nhau: a. A * (b div c) và a * b div c b. a div b và a * (1/b) c. (a + b) div c và a div c + b div c 14. Giả sử Alpha và Beta là biến thực có trị là -567.392 và 0.004, Rho là biến nguyên có trị 436. Hãy cho biết chính xác kết xuất trong các trƣờng hợp sau và giải thích tại sao bị lỗi (nếu có): a. writeln(Rho); writeln(Rho+1); writeln(Rho+2); b. write(Rho); write(Rho+1); writeln(Rho+2); c. write(„Alpha=‟); write(Alpha:9:3); write(„Beta=‟:7); writeln(Beta:7:4); d. writeln(Rho:5, 2*Rho:5); writeln ;writeln(Beta:10:5); e. writeln(Alpha:8:1,Rho:5); writeln(„Tolerance:‟ Beta:8:5); f. writeln(„Alpha=‟,Alpha:12:5); writeln(„Beta=‟,Beta:6:2,‟:4,‟Rho=‟,Rho:6); writeln(Alpha+4.0+Rho:15:3); g. write („Tolerance =‟ :8 ) ; writeln (Beta : 5 : 3 ) ; writeln ; writeln; writeln (Rho : 2 , Alpha : 4 : 2) ; h. writeln ( 10 * Alpha : 8 : 1 , trunc (10 * Alpha) : 8 , round ( 10 * Alpha ) :8 ) ; writeln ( sqr ( Rho div 100 ) : 5 , sqrt ( Rho div 100 ) : 5 ) ; i. writeln ( „ Rho =‟ : 7 , Rho : 8 : 2 ) ;writeln ( „ * * * * * „ ) ; j. write (Alpha : 10 ) ; write ; writeln ( Beta : 10 ); 15. Giả sử I, J là biến nguyên với I = 15 , J = 8, C và D là biến ký tự với C = „C‟ và D = „ – „ , X và Y là biến thực với X = 2559.50 và Y = 8.015 . Hãy cho biết chính xác kết xuất trong các trƣờng hợp sau : a. writeln( „ Newbalance = „ : I , X : J : 2 ) ; writeln( C : I mod 10 , Y : J : J – 6 ) ; b. write( „ I = „ , I ) ; write( I : I ) ; writeln( „ J = „ : J , J : J ) ;writeln ; writeln( I : J , J : I ) ; writeln( trunc ( X / J ) : J , J – Y : I : J , D : J div 7 ) 16. Giả sử N1 và N2 là biến nguyên có giá trị là 39 và –5117, R1, R2 là biến thực có giá trị là 56 . 7173 và –0.00247 , C là biến ký tự có giá trị là „F‟ . Hãy viết lệnh để đƣợc các kết xuất trong từng trƣờng hợp sau : a. __ 56.7173 __ F __ 39 -5117PDQ-0.00247__ b. __56.717___-0.0025 * * * 39__F ___56.72___39-5117__________ c. ROOTS_ARE__56.717_AND_-0.00247 d. APPROXIMATE_ANGLES:__56.7_AND_______-0.0 MAGNITUDES_ARE_______39___AND______5117 5 17. Giả sử A, B, C là biến nguyên , X, Y, Z là biến thực. Hãy cho biết trị nào (nếu có ) gán cho biến nào và giải thích lí do sai (nếu có) khi thực hiện các lệnh sau với trị nhập tƣơng ứng : a. readln (A, B, C, X, Y, Z ) ; nhập: 1 2 3 4 5.5 6.6 b. readln (A, B, C) ; nhập: 1 readln (X, Y, Z) ; 2 3 4 5 6 c. read (A, X) ; nhập: 1 2.2 read (B, Y) ; 3 4.4 read (C, Z) ; 5 6.6 d. read (A, B, C) ; nhập: 1 2.2 readln (X, Y, Z) ; 3 4.4 5 6.6 e. read (A); nhập: 1 2 3 readln (B, C); 4 5.5 6.6 read (X, Y) ; readln (Z); f. readln (A); nhập: 1 2 3 read (B, C) ; 4 5.5 6.6 readln (X, Y); read (Z); g. read (A, B); nhập: 1 2 3 readln ; 4 5.5 6.6 read (C); 7 8.8 9.9 readln(X); 10 11.11 12.12 readln ; 13 14.14 15.15 readln (Y); readln ; readln (Z); II. PHẦN THỰC HÀNH Gõ vào máy và thực hiện chương trình BT1_1 . PAS sau: { = = = = = = = = = = = = = = = = = = = = = = = = = = = } { Program : BT1_1. PAS } { Date : dd/mm/yyyy } { Notes : hien thi hang chuoi , nguyen va thuc } { = = = = = = = = = = = = = = = = = = = = = = = = = = = } Begin writeln( „ Day la chuong trinh dau tien cua toi „) ; writeln ; writeln( „ Day la mot chuoi „ ); writeln( „ Day la mot so nguyen : „ , 12345); 6 writeln( „ Day la mot so thuc ( dang dong ) : „ ,123.45 ); writeln( „ Day la mot so thuc ( dang tinh ) : „ ,123.45:7:3); writeln ; write( „ xem xong bam Enter ; ) ; readln ; End. Hướng dẫn (Trong môi trường Windows) 1. Kích hoạt chƣơng trình Windows Explorer để tạo một folder sẽ dùng lƣu trữ các file chƣơng trình của Pascal (Ví dụ: C:\BT_PAS) 2. Kích hoạt chƣơng trình Borland Pascal (Thực hiện Run: \\BP\BIN\BP.EXE) 3. Thông qua menu [Options] -> [Directories] xác lập giá trị C:\BT_PAS cho mục [EXE and TPU directories] -> [OK]. 4. Thông qua menu [File]-> [Change Dir] chọn thƣ mục làm việc mới là C:\BT_PAS. 5. Thông qua menu [Options] -> [SAVE BP.TP] để lƣu lại các xác lập trên. 6. Mở cửa sổ soạn thảo mới ([File]-> [New]). 7. Gõ chƣơng trình với nội dung trên vào cửa sổ soạn thảo. Gõ xong nhấn F2 (để lƣu lên đĩa với tên BT1_1.PAS). 8. Nhấn phím F9 để biên dịch chƣơng trình trên. Nếu có lỗi thì sửa lỗi (nhớ nhấn F2 để Save lại mỗi khi có thay đổi văn bản chƣơng trình). Thực hiện cho đến khi nào việc biên dịch thành công. 9. Nhấn Ctrl_F9 (giữ phím Ctrl và nhấn F9) để chạy chƣơng trình. Gõ vào máy và thực hiện chương trình BT1_2.PAS sau: Program BT1_2; (* Date :dd/mm/yyyy Notes : Nhap so nguyen va chuoi roi xuat ra man hinh *) Uses crt; (* Thu vien CRT chua thu tuc CLRSCR xoa man hinh *) Var I: integer; S: string[20]; (* khai bao chuoi s co chieu dai 20 *) Begin Clrscr; Write(„Hay go vao mot so nguyen‟); Readln(i); Writeln(„so cua ban la‟,i); Write(;‟Hay go vao mot chuoi:‟); Readln(s); Write(„chuoi cua ban la‟,s); Writeln; Write(„xem xong bam Enter‟):readln; End. Gõ vào máy và thực hịện chương trình BT1_3.PAS sau: Program: BT1_3; (* Date :dd/mm/yyyy 7 Notes : Nhap 2 so thuc , cong, tru, nhan, chia 2 so roi hien thi ( so thu hai khac 0) *) Uses crt; Var so1, so2, cong, tru, nhan , chia:real; Begin Clrscr; Write(„cho so thu nhat :‟); readln(so1); Write(„cho so thu hai :‟); readln(so2); Cong:=so1+so2; Tru:=so1-so2; Nhan:=so1*so2; Chia:=so1/so2; Writeln; Writeln(„so1+so2=‟,cong); Writeln(„so1-so2=‟,tru); Writeln(„so1*so2=‟,nhan); Writeln(„so1/so2=‟,chia); Writeln; Writeln(„so1+so2=‟,cong:10:3); Writeln(„so1-so2=‟,tru:10:3); Writeln(„so*so2=‟,nhan:10:3); Writeln(„so1/so2=‟,chia:10:3); Writeln; Write(„Nhan xet va xem xong bam Enter‟); readln; End. Gõ vào máy và thưc hiện chuơng trình BT1_4.pas sau Program:BT_4; (* Date:dd/mm/yyyy Notes:hien thi 3 hinh tam giac *) uses crt; Begin clrscr; write(„ * * * * * * * * * ‟); write(„ * * * * * * * * * * * „ ); write(„ * * * * * * * * * * * * * „); write(„ * * * * * * * * * * * * * * *‟); write(„xem xong bam enter‟);readln; End. Viết chương trình BT_5 .PAS tính diện tích hình chữ nhật khi biết chiều dài và chiều rộng, kết quả trên màn hình có dạng: = = = = = = = = = = = = = = = = == = = TINH DIEN TICH HINH CHU NHAT = = = = = = == = == = = = = = = = = = Xin cho biet chieu dai : xxxx Xin cho biet chieu rong : xxxx 8 Dien tich la : xxxxxxxx Hướng dẫn. Nhập: Dai ,Rong Xuất : Dien tich Giải thuật 1. Nhap Dai va Rong 2. Tính Dien tich = Dai * Rong 3. Xuất Dien Tich Viết chương trình BT_6.PAS tính diện tích và chu vi hình tròn khi biết bán kính, kết quả trên màn hình có dạng. = = = = = = = = = = = = = = = = = = = = = = = TINH DIEN TICH & CHU VI HINH TRON = = = = = = = = = = = = = = = = = = = = = = = Xin cho biet ban kinh:xxx.x Chu vi :xxxxxx.x Dien tich :xxxxxx.x Hướng dẫn: Nhập:Ban kinh Xuất: Chu vi Dien tich Giải thuật: 1. Nhập bán kính 2. Tính chu vi =2*ban kinh*pi 3. Dien tich =ban kinh*chu vi*pi (pi là hằng trị đƣợc định nghĩa sẳn của Unit CRT) 4. Xuất Chu vi,Dien tich Viết chương trình BT1_7.PAS tính tổng, hiệu, tích, thương và dư của hai số nguyên, kết quả trên màn hình có dạng: = = = = = = = = = = = = = == = == = = = == = = = = = = = = = = = = TINH TONG, HIEU, TICH, THUONG, DU CUA HAI SO NGUYEN = = = = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cho biet so thu nhat: xx Cho biet so thu hai: xx Tong = XXXX Hieu = XXXX Tich = XXXX Thuong = XXXX Du = XXXX Hướng dẫn Nhập:So1, So2 Xuất: Tong, Hieu, Tich, Thuong,Du Giải thuật: 1. Nhập: So1, So2 2. Tính Tong = So1+So2 Hieu = So1-So2 9 Tich = So1*So2 Thuong = So1/So2 Du = So1 MOD So2 3. Xuất Tong, Hieu, Tich, Thuong, Du 10 LỆNH RẺ NHÁNH I. PHẦN LÝ THUYẾT 1. Giả sử a,b,c là các biến Bool, dùng bảng sự thật (chân trị) để tính trị các biểu thức Bool sau với mọi trị của a,b,c. a. a or not b b. not (a and b) c. not a or not b d. a and True or (1+2 = 4) e. a and (b or c) f. (a and b) or (a and c) 2. Viết biểu thức Bool biểu thị các điều kiện sau: a. x lớn hơn 3 b. y giữa 2 và 5 c. R âm và Z dƣơng d. Alpha và Beta đều dƣơng e. Alpha và Beta cùng dấu (dƣơng hoặc âm) f. -5 < x < 5 g. a nhỏ hơn 6 hay lớn hơn 5 h. p = q = r i. Chỉ một trong hai trƣờng hợp: x nhỏ hơn 3 hoặc y nhỏ hơn 3 3. Cho 3 biến Bool a, b và c, hãy viết biểu thức Bool để a. Đúng nếu và chỉ nếu a và b đúng, c sai b. Đúng nếu và chỉ nếu a đúng v à ít nhất b hay c đúng c. Đúng nếu chỉ nếu hoặc a hoặc b đúng 4. Viết lệnh đọc ba số thực và gán trị True hoặc false cho các biến Bool sau: a. Triangle: True nếu ba số thực có thể biểu thị chiều dài các cạnh của một tam giác và false nếu không . (Tổng của hai số phải lớn hơn số thứ ba ) b. Equilateral: True nếu Triangle là True và tam giác là đều (ba cạnh bằng nhau ) c. Isoceles: True nếu Triangle là True và tam giác là cân (ít nhất có hai cạnh bằng nhau ) d. Scalene: True nếu Triangle là True và tam giác là lệch ( không có hai cạnh bằng nhau ) 5. Viết mệnh đề Pascal cho mỗi trƣờng hợp sau: a. Nếu TaxCode là „T‟ tăng Price bằng cách cộng TaxRate vào nó. b. Nếu Code là 1, đọc trị vào x và y , tính và in tổng của x và y . c. Nếu A ở giữa 0 và 5 ,cho B bằng 1/ A 2 , nếu không cho B bằng A 2 . d. Gán trị True cho biến Bool LeapYear nếu biến nguyên Year có trị là năm nhuần . (Năm nhuần là bội số của 4 , nếu là bội số của 100 thì phải là bội số của 400 ) . e. Gán trị cho Cost tƣơng ứng với trị của Distance theo bảng sau : Distance Cost 0 đến 100 Lớn hơn 100 nhƣng không lớn hơn 500 Lớn hơn 500 nhƣng nhỏ hơn 1000 1000 hoặc hơn 5.00 8.00 10.00 12.00 [...]... tên tắt của tháng Abbrev nhƣ ở bài tập 1 và tìm hậu tử thứ n của Abbrev Hậu tử thứ 0 của Abbrev chính là Abbrev; với n>0, hậu tử thứ n của Abbrev là thánh thứ n sau Abbrev Ví dụ hậu tử thứ tƣ của Aug là Dec và thứ sáu của Aug là Feb Bài tập 5 Nhƣ bài tập 4 nhƣng với hàm hoặc thủ tục đệ qui Bài tập 6 Viết hàm có các tham đối là một tháng kiểu MonthAbbrev (xem nhƣ bài tập 1) và năm trong khỏang từ 1538... ứng kiểu Numeral.( Hƣớng dẫn: dùng hàm ord và chr) Bài tập 3 Cho kiểu MonthAbbrev ở bài tập 1, tìm trị của các biểu thức sau: (a) Jan . bộ bài tập Pascal của Trường Đại học Khoa học tự nhiên Thành Phố Hồ Chí Minh) Vƣơng Đức Bình BÀI ÔN TẬP NGÔN NGỮ LẬP TRÌNH PASCAL. PHẦN CƠ SỞ. I. PHẦN LÝ THUYẾT 1. Các danh hiệu pascal. Windows) 1. Kích hoạt chƣơng trình Windows Explorer để tạo một folder sẽ dùng lƣu trữ các file chƣơng trình của Pascal (Ví dụ: C:BT_PAS) 2. Kích hoạt chƣơng trình Borland Pascal (Thực hiện Run:. so chan Hướng dẫn Nhập:So Xuất: Thông báo Giải thuật: 1. Nhập so 2. Nếu so MOD 2 = 0 3. Hiển thi thông báo ” Đó là số chẳn” 4. Nếu không hiển thị thông báo ”Đó là số lẻ” Viết chương

Ngày đăng: 26/11/2014, 08:54

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan