Bài ôn tập ngôn ngữ lập trình Pascal

20 15 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

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õ.[r]

(1)……………………………………………………………………………………………………… BÀI ÔN TẬP NGÔN NGỮ LẬP TRÌNH PASCAL PHẦN CƠ SỞ I PHẦN LÝ THUYẾT Các danh hiệu pascal nào đây là hợp lệ ?  Xray  PDQ123  SM  X-Ray  PS:175  ZZZZZZ  Jeremiah  X  night  R2D2   ng  3M  N/4  to day Cho biết nào đây là nguyên, thực không phải nguyên/thực:     12 -3.7 0.357E4 000001     12 3.7 24E0 1.2 x 10         12.0 -1.024 E3 -(-1) ‘12’ +1 five 0E0     8+4 $3.98 3E.5 ½ Các chuỗi nào đây hợp lệ ?  ‘X’  ‘isnt’ ‘t’  ’’’twas’  ‘123’  ‘constant’  ‘A’‘B’‘C’  YS’  ‘S1.98’  ‘tooyet’  ‘DO’’ESNT’  ‘DON’T’  ‘12+34’ Hãy viết các đoạn biến để khai báo biến: a b c d e Item, Number và Job kiểu real ShoeSize kiểu integer Mileage kiểu real, Cost và Distance kiểu integer Alpha và Beta kiểu integer, Code kiểu char, Root kiểu real, và RootExists kiểu boolean Hãy viết các đoạn đặt tên cho các với tên tương ứng: a b c d 1.25 với tên Coefficient 40.0 với tên RegHours và 1.5 với tên OvertimeFactor 1776 với tên Year, ‘F’ với Female và ký tự trắng với Blank True với tên Exists, với Zero, * với Asterisk, dấu nháy đơn với Apostrophe và chuỗi CPSC151A với Course Tìm trị các biểu thức sau và giải thích biểu thức không hợp lệ: a b c d e f g 9-5-3 div 3+3/5 div 2/5 9/2 div 2.0/4 (2+3) mod mod mod Lop8.net (2) h i j k l m n o p q r s t u v w x (7 mod 5) mod mod (5 mod 3) (7 mod mod 3) 25*1/2 25*1 div 25*(1 div 2) -3.0*5.0 5.0*-3.0 12/2*3 ((12+3) div 2)/(8-(5+1)) ((1`2+3) div 2)/(8-5+1) (12+3 div 2)/(8-5+1) sqrt(sqr(4)) sqrt(sqr(-4)) sqr(sqrt(4)) sqr(sqrt(-4)) trunc(8/5)+round(8/5) 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 b c d e f g h R1 + R2 + R2 I3 div I3/3 (R1+R2) * I1 I3 div I2 * 5.1 Sqr(I1) / sqr(R1) Sqr(I2) / sqr(R1) Sqrt(R1 + R2 + I1) Viết biểu thức Pascal để tính: a 10 + 5B - 4AC b Ba lần hiệu 4-n chia cho lần m2+n2 c Căn bậc hai a+3b2 d Căn bậc hai trung bình cộng m và n e |A / (m+n)| ( |x| là trị tuyệt đối x) f Lượng thực Amount làm tròn đến phần trăm gần 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 đây hợp lệ Nếu không hợp lệ hãy giải thích a b c d e f g xValue := 2.71828 := Number Grade := ’B+’ Number := Number+1 xValue := Greade := A Number+1 := Number Lop8.net (3) h i j k l m n o Xvalue := ’1’ Found := Grade yValue := yValue xValue := A Grade := Grade+10 Found := ’True’ xValue := Number 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 các trường hợp sau cho biết lý mệnh đề không hợp lệ: a b c d e f g h i j k l m n o p xCoord := (R1+R2) * R2 xCoord := R2+R1/R3) * xCoord := I1 / I2+5 I3 := I1 div I2 + xCoord := sqr(I2) / sqr(I1) I3 := sqr(I2) / sqr(I1) Symbol := Symbol := Numeral Symbol := ’4’ Symbol := R3 R1 := R1 := ’2’ R1 := Numeral I1 := I1 + I3 := + Numeral I3 := round(sqr(I1 mod I2)/R3) 11 Viết lệnh gán thay đổi trị biến nguyên Number với các trường hợp sau: a b c d e Tăng Number lên 77 Giảm Number bớt Tăng Number lên gấp hai lần Cộng ký số cực phải Number vào Number Giảm Number bớt trị là phần nguyên số thực x 12 Viết mệnh đề gán Pascal cho các trường hợp sau để tính trị biểu thức và gán trị cho biến tương ứng Giả định tất các biến thuộc kiểu real, trừ trường hợp có ghi rõ a b c d e Distance Rate lần Time X tăng lên lượng DeltaX Resistance bằng1/(1/R1 + 1/R2 + 1/R3) TArea là diện tích hình tam giác có cạnh đáy là b, chiều cao là h Price ba ký số cuối cùng số nguyên StockNumber với dấu chấm thập phân trước hai ký số cuối (ví dụ StockNumber là 1758316 thì Price gán trị 3.16) f Tax làm tròn tới trị nguyên gần Lop8.net (4) 13 Với trường hợp đây, hãy xác định trị các biến nguyên a, b và c 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 các trường hợp sau và giải thích 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 : : ) ; writeln ; writeln; writeln (Rho : , Alpha : : 2) ; h writeln ( 10 * Alpha : : , trunc (10 * Alpha) : , round ( 10 * Alpha ) :8 ) ; writeln ( sqr ( Rho div 100 ) : , sqrt ( Rho div 100 ) : ) ; i writeln ( ‘ Rho =’ : , Rho : : ) ;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 các trường hợp sau : a b writeln( ‘ Newbalance = ‘ : I , X : J : ) ; writeln( C : I mod 10 , Y : J : J – ) ; 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 ) 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 kết xuất 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 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í sai (nếu có) thực các lệnh sau với trị nhập tương ứng : Lop8.net (5) a readln (A, B, C, X, Y, Z ) ; b readln (A, B, C) ; readln (X, Y, Z) ; c read (A, X) ; read (B, Y) ; read (C, Z) ; d read (A, B, C) ; readln (X, Y, Z) ; e read (A); readln (B, C); read (X, Y) ; readln (Z); f readln (A); read (B, C) ; readln (X, Y); read (Z); g read (A, B); readln ; read (C); readln(X); readln ; readln (Y); readln ; readln (Z); nhập: nhập: nhập: nhập: nhập: 5.5 6.6 2.2 4.4 6.6 2.2 4.4 6.6 5.5 6.6 nhập: 5.5 6.6 nhập: 10 13 5.5 8.8 11.11 14.14 6.6 9.9 12.12 15.15 II PHẦN THỰC HÀNH Gõ vào máy và thực 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); writeln( ‘ Day la mot so thuc ( dang dong ) : ‘ ,123.45 ); writeln( ‘ Day la mot so thuc ( dang tinh ) : ‘ ,123.45:7:3); Lop8.net (6) writeln ; write( ‘ xem xong bam Enter ; ) ; readln ; End Hướng dẫn (Trong môi trường Windows) Kích hoạt chương trình Windows Explorer để tạo folder dùng lưu trữ các file chương trình Pascal (Ví dụ: C:\BT_PAS) Kích hoạt chương trình Borland Pascal (Thực Run: \\BP\BIN\BP.EXE) Thông qua menu [Options] -> [Directories] xác lập giá trị C:\BT_PAS cho mục [EXE and TPU directories] -> [OK] Thông qua menu [File]-> [Change Dir] chọn thư mục làm việc là C:\BT_PAS Thông qua menu [Options] -> [SAVE BP.TP] để lưu lại các xác lập trên Mở cửa sổ soạn thảo ([File]-> [New]) 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) 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 có thay đổi văn chương trình) Thực nào việc biên dịch thành công 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 chương trình BT1_2.PAS sau: Program BT1_2; (* Date :dd/mm/yyyy Notes : Nhap so nguyen va chuoi roi xuat 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 Notes : Nhap so thuc , cong, tru, nhan, chia so roi hien thi ( so thu hai khac 0) *) Lop8.net (7) 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 chuơng trình BT1_4.pas sau Program:BT_4; (* Date:dd/mm/yyyy Notes:hien thi 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 biết chiều dài và chiều rộng, kết 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 Dien tich la : xxxxxxxx Hướng dẫn Lop8.net (8) Nhập: Dai ,Rong Xuất : Dien tich Giải thuật Nhap Dai va Rong Tính Dien tich = Dai * Rong 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 biết bán kính, kết 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 Dien tich :xxxxxx.x :xxxxxx.x Hướng dẫn: Nhập:Ban kinh Xuất: Chu vi Dien tich Giải thuật: Nhập bán kính Tính chu vi =2*ban kinh*pi Dien tich =ban kinh*chu vi*pi (pi là trị định nghĩa sẳn Unit CRT) 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ư hai số nguyên, kết 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: Nhập: So1, So2 Tính Tong = So1+So2 Hieu = So1-So2 Tich = So1*So2 Thuong = So1/So2 Lop8.net (9) Du = So1 MOD So2 Xuất Tong, Hieu, Tich, Thuong, Du Lop8.net (10) LỆNH RẺ NHÁNH I PHẦN LÝ THUYẾT Giả sử a,b,c là các biến Bool, dùng bảng thật (chân trị) để tính trị các biểu thức Bool sau với trị a,b,c a c e a or not b not a or not b a and (b or c) b d f not (a and b) a and True or (1+2 = 4) (a and b) or (a and c) Viết biểu thức Bool biểu thị các điều kiện sau: a b c d e f g h i x lớn y và R âm và Z dương Alpha và Beta dương Alpha và Beta cùng dấu (dương âm) -5 < x < a nhỏ hay lớn p=q=r Chỉ hai trường hợp: x nhỏ y nhỏ 3 Cho biến Bool a, b và c, hãy viết biểu thức Bool để a Đúng và a và b đúng, c sai b Đúng và a đúng v à ít b hay c đúng c Đúng nếu a b đúng Viết lệnh đọc ba số thực và gán trị True false cho các biến Bool sau: a Triangle: True ba số thực có thể biểu thị chiều dài các cạnh tam giác và false không (Tổng hai số phải lớn số thứ ba ) b Equilateral: True Triangle là True và tam giác là (ba cạnh ) c Isoceles: True Triangle là True và tam giác là cân (ít có hai cạnh ) d Scalene: True Triangle là True và tam giác là lệch ( không có hai cạnh ) Viết mệnh đề Pascal cho trường hợp sau: a b c d Nếu TaxCode là ‘T’ tăng Price cách cộng TaxRate vào nó Nếu Code là 1, đọc trị vào x và y , tính và in tổng x và y Nếu A và ,cho B 1/ A2 , không cho B A2 Gán trị True cho biến Bool LeapYear biến nguyên Year có trị là năm nhuần (Năm nhuần là bội số , là bội số 100 thì phải là bội số 400 ) e Gán trị cho Cost tương ứng với trị Distance theo bảng sau : Distance đến 100 Lớn 100 không lớn 500 Lớn 500 nhỏ 1000 1000 Cost 5.00 8.00 10.00 12.00 10 Lop8.net (11) f Hiển thị số ngày tương ứng với trị tháng Month (1,2,…,12) Dùng phần (d) để xác định số ngày trị số Month là 2, giả định Year đã có trị Hãy cho biết kết xuất đoạn chương trình sau: Number : = 4; Alpha : = -1.0; If Number > then If Alpha > then Writeln(‘First writeln’) Else Writeln(‘Second writeln’); Writeln(‘Third writeln’); Một sinh viên dùng lệnh if sau chương trình: If Honors = True then If Awards = True then GoodStudent:=False Else if Honors = false then GoodStudent:=False; a Hãy viết mệnh đề if tương đương với lệnh trên b Viết mệnh đề gán tương đương với mệnh đề if trên Viết mệnh đề case các trường hợp sau: a Nếu trị biến ký tự TransCode là ‘D’, tăng.Balance lên trị Amount ,nếu TransCode là ‘W’ giảm bớt Balance trị là Amount; Nếu TransCode là ‘P’, hiển thị trị Balance b Hiển thị tên tháng thông báo sai tương ứng với trị tháng biến Month c Hiển thị số ngày tương ứng số Month II PHẦN THỰC HÀNH Gõ vào máy và thực chương trình BT2_ 1.pas sau: Progam BT2_1; (* Date: dd/mm/yyyy Notes: Nhap hai so nguyen va cho biet so nao nho hon *) Uses crt; Var num1,num2:real; C:char; Begin Clrscr; { Nhap hai so -} Write(‘Cho biet so thu nhat:’); readln(num1); Write(‘Cho so thu hai:’)readln; readln(num2); Writeln; { - Kiem tra } If (num1<num2) then Writeln(‘so thu nhat nho hon so thu hai’); 11 Lop8.net (12) { - Ket thuc } Gotoxy(28,25); { đưa điểm nháy trên màn hình đến vị trí cột 28, dòng 25} Write(‘ xem xong nhấn nút bất kỳ”); C:=readkey; {hàm readkey chờ nhấn phím và có trị là kí tự đã nhấn} End Gõ vào máy và thực chương trình BT2_2.PAS sau: Program BT2_2; (* Date:dd/mm/yyyy Notes:Nhap hai so nguyen va cho biet so nao nho hon Tuong tu nhu BT2_1 nhung co cai tien *) Uses Crt; Var num1,num2:real; c:char; begin clrscr; {Nhap hai so} write(‘cho so thu nhat:’); readln(num1); write(‘cho so thu hai:’); readln(num2); writeln; {kiem tra} if (num1<num2) then Writeln(‘So thu nhat nho hon o thu hai’) Else Writeln(‘So thu nhat lon hon so thu hai hay bang so thu hai’); {ket thuc} gotoxy(28,25); {dưa diểm nháy trên màn hình đến vị trí cột 28,dòng 25} write(‘Xem xong nhan nut bat ky.’); c:=readkey; {hàm readkey chờ phím và có trị là ký tự đã nhấn } end Gõ vào máy và thực chương trìnhBT2_3.PAS sau: Program:BT2_3; (* Date:dd/mm/yyyy Notes:nhap hai so nguyen va cho biet so nao nho hon Tuong tu nhu BT2_2 nhung co cai tien *) Uses CRT; Var Num1,Num2: real; C :char; Begin Clrscr; (*_ _ _Nhap hai so_ _ _*) 12 Lop8.net (13) Write(‘Cho so thu nhat:’); readln(Num1); Write(‘Cho so thu hai:’); readln(Num2); Writeln; (*_ _ _Kiem tra_ _ _ *) If (Num1<Num2) then Writeln(‘So thu nhat nho hon so thu hai’) Else If (Num1> Num2) then Writeln(‘So thu nhat lon hon so thu hai’) Else Writeln(‘So thu nhat bang so thu hai’); (* _ _ _Ket thuc_ _ _ *) Gotoxy(28,25); (* đưa điểm nháy trên màn hình đến vị trí cột 28, dong 25 *) Write(‘xem xong nhan nut bat ky’); C :=readkey; (* hàm readkey chờ nhấn phím và có trị là kí tự đã nhấn *) End Viết chương trinh BT2_4.PAS nhập vào số nguyên và cho biết đó là chẵn hay lẻ Kết trên màn hình có dạng: ====================== KIEM TRA MOT SO LA CHAN HAY LE ====================== Cho mot so nguyen: 1234 Do la so chan Hướng dẫn Nhập:So Xuất: Thông báo Giải thuật: Nhập so Nếu so MOD = Hiển thi thông báo ” Đó là số chẳn” Nếu không hiển thị thông báo ”Đó là số lẻ” Viết chương trìng BT2_5.PAS nhập vào họ tên và tuổi học viên, so sánh biết lớn tuổi (hoặc ) Kết trên màn hình có dạng: ================= SO SANH TUOI HAI HOC VIEN ================= Hoc vien 1-> Ho ten : XXXXXXXX Tuoi : XX Hoc vien 2-> Ho ten: YYYYYYYY Tuoi : YY Hoc vien XXXXXXXX lon tuoi hon YYYYYYY Hướng dẫn Nhập : Ho Ten 1,Tuoi1, Ho Ten2 ,Tuoi2 Xuất : Thông báo 13 Lop8.net (14) Giải thuật: Nhập HoTen1, Tuoi1, HoTen2, Tuoi2 Nếu Tuoi1>Tuoi2 hiển thị thông báo “Hoc vien”, HoTen1, “lon tuoi hon”, HoTen2 Nếu không Nếu Tuoi2>Tuoi1 hiển thị thông báo “Hoc vien”, HoTen2, “lon tuoi hon” HoTen1 Nếu không Hiển thị thông báo “Hoc vien” , HoTen1 “bang tuoi”, HoTen2 Viết chương trình BT2_6.PAS nhập vào số và cho biết số lớn và nhỏ là bao nhiêu Kết trên màn hình có dạng: ============================ TIM SO LON NHAT & NHO NHAT TRONG BA SO ============================ Cho so thứ nhất:1234 Cho số thứ hai :56 Cho số thứ ba :78 Số lớn là 1234 và nhỏ là 56 Hướng dẫn Nhập:số(là số) Xuất: SoMax (số lớn nhất), SoMin (số nhỏ nhất) Giải thuật: Gán 1.7E+38 cho số và -1.7E+38 cho số max Nhập So (thứ nhất) Nếu So > SoMax thì gán So cho SoMax Nếu So < SoMin thì gán So cho SoMin Nhập Số (thứ hai) Nếu So > SoMax thì gán So cho SoMax Nếu So < SoMin thì gán So cho SoMin Nhập số (thứ ba) Nếu So > SoMax thì gán So cho SoMax Nếu So < SoMin thì gán So cho SoMin Hiển thị SoMax và SoMin Viết chương trình BT2_7.PAS nhập vào số và cho biết đó là cạnh tam giác không? Kết trên màn hình có dạng: ================== XAC DINH CANH TAM GIAC ================== Cho số thu nhat: xx Cho số thứ hai : xx Cho số thứ ba: xx Ba số trên không phải là cạnh tam giac Hướng dẫn 14 Lop8.net (15) Nhập: so1,so2,so3 Xuất: Thông báo Giải thuật: Nhập so1, so2, so3 Nếu so1+so2>so3 và so2+so3>so1 và so3+so1>so2 Hiển thị “Đó là tam giác” Nếu không Hiển thị” Đó không phải là tam giác” Viết chương trình BT2_8.PAS nhập vào trị năm dương lịch và cho biết đó có phải là năm nhuần hay không Kết in màn hinh có dạng: ================= XAC DINH NAM LA NHUAN ================= Cho biet nam duong lich (4 so): XXXX la nam nhuan XXXX Hướng dẫn Nhập:Year Xuất: thông báo Giải thuật: Nhập year Nếu (year MOD 4= 0) ((year MOD100<> 0) và (year MOD 400=0)) Hiển thị” yyyy là năm nhuần” Nếu không Hiển thị” yyyy là năm thường” Viết chương trình BT2_9.PAS đọc mã số nhân viên, làm việc, mức lương và tính lương Nếu làm việc trên 40 thì tính mức lương 1.5 mức bình thường Kết trên màn hình có dạng: =================== CHUONG TRINH TINH LUONG =================== Cho biet ma nhan vien : 1234 So gio lam viec: 42 Muc luong gio: 10 Tienluong = 440 Hướng dẫn Nhập : MaNV, GioLV, MLGio Xuất : TienLuong Giải thuật : Nhập MaNV, GioLV, MLGio Nếu GioLV<=40 TienLuong = GioLV x MLGio Nếu không 15 Lop8.net (16) Tienluong=(MLGio x 40)+1.5 x MLGio x (GoiLV – 40) Hiển thị TienLuong Viết chưong trình BT2_10.PAS tính lương bài tậpBT2_9.PAS sửa đổi lại sau: Nếu mã nhân viên lớn hay 1000 thì chương trình đọc lương năm và tính lương tuần cách chia lương năm cho 52 Nếu mã nhỏ 1000 thì tính lương theo bài tập Kết trên màn hình có dạng: CHUONG TRINH TINH LUONG Cho biet ma nhan vien : Nhap luong nam : Luong tuan = Cho biet ma nhan vien : So gio lam viec : Muc luong gio : Luong tuan = 1234 52000 1000 999 42 10 440 Hướng dẫn Nhap:MaNV,GioLV,MLGio,LuongNam xuất: TienLuong Giải thuật : Nhập MaNV Nếu MaNV>=1000 Nhập LuongNam Tính TienLuong=Luongnam/52 Nếu không Nhập MLGio, GioLV a Nếu GioLv<=DMGio TienLuong=GioLV x MLGio b Nếu không TienLuong=(MLGio x 40) + 1.5 x MLGio x (GioLV -40) Hiển thị TienLuong Gõ chương trình BT2_11.PAS sau vào máy và thi hành: {= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =} { program : BT2_11.PAS } { Date :20/11/98 } { Notes :Go mot phim va hien thi thong bao cho biet la phim chu, so hai dau } {= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =} uses CRT; var KyTu : char ; begin clrscr ; (* - - - Go mot phim- - - *) write (‘Hay nhan mot phim bat ky :’) ; KyTu:=readkey; (* - - - kiem tra va xuat thong bao - - - *); writeln; 16 Lop8.net (17) Case KyTu of ‘A’ ’Z’,’a’ ’z’ :writeln(‘Ban vua nhan mot chu!’); ‘0’ ’9’ :writeln(‘Ban vua nhan mot sô!’); else :writeln(‘ Ban vua nhan mot dau!’); end; (* - kết thúc - *) Gotoxy(28,25); (* đưa điểm nháy trên màn hình đén vị trí cột 28, dòng 25 *) Write(‘Xem xong nhan nut bat ky’); C:= readkey; (*hàm readkey chờ nhấn phím và có trị là kí tự đã nhấn*) End Viết chương trình BT2_12.PAS nhập tháng, năm in số ngày tháng đó Kết trên màn hình có dạng: Xin cho biết tháng: Xin cho biết năm: 1960 Tháng năm 1960 co 29 ngày Hướng dẫn Nhập: Thang, Nam Xuất: SoNgay Giải thuật: a Nhập: Thang, Nam b Tính NamNhuan=(Nam MOD =0) OR ((Nam MOD 100<>0) AND (Nam MOD 400 =0)) c Trường hợp tháng là: 1,3,5,7,8,10,12 : SoNgay = 31 4,6,9,11: SoNgay = 30 2: Nếu NamNhuan SoNgay = 29 Nếu không SoNgay = 28 d Hiển thị SoNgay 17 Lop8.net (18) VÒNG LẶP I PHẦN LÝ THUYẾT Giả sử I, J và K là các biến nguyên, cho biết kết xuất các đoạn chương trình sau: a K := 5; I := 2; While (I<=K) Begin I := I+2; K := K-1; Writeln(I+K:2) End; (* while *) b Number:=4; While (Number>=0) Begin Number := Number – 1; Writeln(Number:1); Writeln; End; Writeln(‘* * * * *’); Viết mệnh đề Pascal a In trị x và giảm x bớt 0.5 chừng nào x còn dương b Đọc trị a,b và c và in tổng chúng, lặp lại không có a,b c âm c In bình phương 100 số nguyên dương đầu tiên theo thứ tự tăng d In lập phương 50 số nguyên dương đầu tiên theo thứ tự giảm e In bật hai 25 số nguyên dương lẻ đầu tiên f Tính và in bình phưong các số nguyên dương liên tiếp hiệu bình phương với số bình phương trước đó lớn 50 g In danh sách các điểm (x,y) trên đồ thị y = x3-3x+1 với x biến thiên từ -2 đến +2 bước nhảy là 0.1 Hãy cho biết kết xuất đoạn chương trình sau: Number:=4; While (Number>0) Number:=number-1; Writeln(number:1); Writeln; Writeln(‘* * * * *’); Cho biết kết xuất thực đoạn chương trình sau: a For I:= -2 to Writeln(I:1,’Binh phuong = ‘,sqr(I):1); b For I:=1 to Begin Writeln(I:1); For J:=I downto writeln(J:1) End; 18 Lop8.net (19) c K:=5; For I:=-2 to Begin Writeln(I+K:2); K:=1; End; d I:=0; Repeat K:=I*I*I-3*I+1; Writeln(I:3,K:3); Until (I>2); e I:=0; Repeat J:=I*I*I; Write(I:3); Repeat K:=I+2*J; Write(J:3,K:3); J:=J+2; Until (K>10); Writeln; I:=I+1; Until J>5; II PHẦN THỰC HÀNH Gõoõ chöông trình BT3_1.PAS sau vaøo maùy vaø thi haønh: Program BT3_1; (* Date : dd/mm/yyyy Note : Hien thi 10 so ngau nhien co vi tri tu den 100 *) Uses CRT; Var I :integer; Begin Clrscr; Randomize; (* Phat sinh hat giong ngau nhien*) Writeln(‘ ‘); Writeln(’10 so ngau nhien -100’); Writeln(‘ ‘); Writeln; For I:=1 to 10 writeln(‘So thu ’,I:2,’ la ’,1+random(100):3); Gotoxy(28,25); write(‘Xem xong nhan phim bat ky!’); Repeat Until Keypressed; (* Hàm Keypressed co tri True phim bat ky duoc nhan *) End 19 Lop8.net (20) Goõ chöông trình BT3_2.PAS sau vaøo maùy vaø thi haønh: Program BT_2; (* Date : dd/mm/yyyy Note : hien thi 10 so nguyen co tri tu den *) Uses CRT; Var I :integer; Begin Clrscr; Writeln(‘ ‘); Writeln(’10 so nguyen tu den 0’); Writeln(‘ ‘); Writeln; For I :=9 downto Writeln(‘So thu’,10-I:2,’la’,I:3); Gotoxy(28,25); write(‘Xem xong nhan phim bat ky!’); Repeat Until Keypressed; End Viết chương trình BT3_3.PAS tính tổng các số nguyên từ đến n nhập từ bàn phím Kết quaû treân maøn hình coù daïng: Tinh tong cac so nguyen tu den n -Xin cho biet n: Tong tu den la 15 Hướng dẫn Nhaäp : N Xuaát : Tong Giaûi thuaät: Nhaäp N Cho Tong=0 Cho I chạy từ đến N: Tính Tong=Tong+I Hieån thò Tong Vieát chöông trình BT3_4.PAS in doøng daáu * coù daïng: ****** ***** **** *** ** * Giải thuật: Đặt Cot = 35, Dong = 10 20 Lop8.net (21)

Ngày đăng: 29/03/2021, 17:26

Từ khóa liên quan

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

Tài liệu liên quan