Docstoc

BT pas tham khao

Document Sample
BT pas tham khao Powered By Docstoc
					BÀI TẬP PASCAL THAM KHẢO Bài 1 : Nhập 3 số a , b , c bất kì . Hãy kiểm tra xem ba số đó có thể là độ dài ba cạnh của một tam giác hay không ? Thông báo lên màn hình „ Thỏa mãn „, „ Không thỏa mãn trong từng trường hợp tương ứng . Bài 2 : Nhập N số bất kì . Đếm các số lớn hơn 10 và nhỏ hơn 20 và tính tổng của chúng . Sau đó , đưa ra màn hình : So cac so >10 và <20 la : ( gia tri ) Tong cua chung la : ( gia tri ) Bài 3 : Nhập bốn số a , b , c , d . Hãy tìm giá trị lớn nhất của chúng và gán giá trị lớn nhất đó cho biến Max . Bài 4 : Đọc ngày tháng năm , sau đó viết ra màn hình đó là ngày thứ mấy trong tuần . Bài 5 : Viết chương trình : Nhâp số báo danh Nhập điểm văn , toán , ngoại ngữ In ra màn hình dưới dạng : _ Phiếu điểm : _ Số báo danh : _ Điểm văn : _ Điểm toán : _ Điểm ngoại ngữ : _ Tổng số điểm : Bạn đã trúng tuyển ( hoặc Bạn đã không trúng tuyển ) với điều kiện Tổng số điểm >= 15 hay ngược lại . Bài 6 : Viết chương trình nhập hai số thực . Sau đó hỏi phép tính cần thực hiện và in kết quả của phép tính đó . Nếu là “+” , in kết quả của tổng lên màn hình . Nếu là “-” , in kết quả của hiệu lên màn hình . Nếu là “/” , in kết quả của thương lên màn hình . Nếu là “*” , in kết quả của tích lên màn hình . Nếu là “+” , in kết quả của tổng lên màn hình . Nếu là “+” , in kết quả của tổng lên màn hình . Bài 7 : Giải và biện luận phương trình : x2 + ( m – 2 ) x + 1 = 0 ở đây m là tham số thực tuỳ ý . Bài 8 : Viết chương trình nhập hai số tự nhiên N, M và thông báo „Dung„ nếu N , M cùng tính chẵn lẽ , trong trường hợp ngược lại thì thông báo „Sai„. Bài 9 : Lập trình tính tích các số tự nhiên từ 1 tới 10 . Bài 10 :

Viết chương trình đếm số lần xuất hiện của các kí tự thuộc bảng chữ cái trong 50 lần gõ kí tự bằng bàn phím (không phân biệt a với A, b với B …, dùng hàm Upcase để chuyển đổi chữ thường với chữ hoa) . Bài 11 : Cho số tự nhiên n , hãy lập trình để tính các tổng sau : a. a. 1 + 1/22 + 1/32 + … + 1/n2 b. b. 1 + 1/2! + 1/3! + … + 1/n Bài 12 : Tính giá trị của biểu thức sau : ( 1 + 1/12 ) ( 1 + 1/22 ) … ( 1 + 1/n2 ) Bài 13 : Lập trình tính tổng : A = 1 + 1/2 + 1/3 + … + 1/n ở đây n là số tự nhiên được nhập vào từ bàn phím . Bài 14 : Tính hàm lũy thừa a n , ở đây a thực và n tự nhiên được nhập vào từ bàn phím . Bài 15 : Viết chương trình nhập một dãy số tối đa 100 số , sau đó in ra màn hình các số khác nhau . Bài 16 : Viết chương trình nhập một dãy số tối đa 100 số , sau đó sắp xếp lại theo thứ tự tăng dần . Bài 17 : Cho một dãy số được nhập từ bàn phím . Hãy viết chương trình nhập một số a rồi liệt kê tất cả các phần tử trong dãy lớn hơn a. Bài 18 : Viết chương trình nhập một dãy số tối đa 50 số rồi in ra màn hình các số trùng nhau của dãy . Bài 19 : Bạn có 1000 đ đem gửi ngân hàng với lãi suất 8%/tháng . Sau mỗi tháng tiền lãi được nhập vào để tính lãi suất tháng sau . Bạn muốn để dành cho đến khi số tiền tăng lên là x . Vậy phải để trong bao lâu Bài 20 : Viết chương trình tìm ƯSCLN của N số được nhập từ bàn phím . Bài 21 : Giải hệ phương trình tuyến tính hai ẩn dùng ma trận : a11 x + a12 y = c1 a21 x + a22 y = c2 Bài 22 : Lập phương trình tạo ra một mảng chứa bảng cửu chương . Bài 23 : Viết chương trình nhập hai số nguyên dương m , n . Sau đó tính trung bình cộng bình phương các số nguyên từ m đến n . Bài 24 : Viết chương trình nhập từ bàn phím các phần tử của một mảng hai chiều . Kích thước của mảng được nhập trước từ bàn phím . Bài 25 : Dãy số sau được gọi là dãy Fibonaci : a1 = 1

a2 = 1 a3 = 2 a4 = 3 ... a n = a n-1 + a n-2 Viết chương trình tính 20 số Fibonaci đầu tiên và đưa ra kết quả vào một mảng 20 phần tử . Bài 26 : Dãy số a n được định nghĩa như sau : a1 = 1 a2 = 2 ... a n = 2a n-1 + a n-2 ( n > 2 ) Hãy lập chương trình tính và gán giá trị của dãy vào biến mảng . Bài 27 : Nhập số tự nhiên N và viết chương trình tạo mảng bao gồm N số nguyên tố đầu tiên . Bài 28 : Viết chương trình nhập một bảng số 3 x 3 với điều kiện các số được nhập sẽ hiện trên màn hình đúng tại vị trí của mình trên bảng số . Bài 29 : a. a. Viết chương trình nhập dữ liệu từ dãy đối xứng vào mảng một chiều . b. b. Viết chương trình nhập dữ liệu là ma trận đối xứng vào mảng hai chiều .
Bài tập tham khảo Pascal phần 2

Bài 1 : Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str . Bài 2 : Cho số tự nhiên n và xâu có độ dài n . Hãy biến đổi xâu đã cho bằng cách thay đổi trong đó : a. a. Tất cả các dấu ! bằng dấu chấm . b. b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm . c. c. Một nhóm các dấu chấm đứng liền nhau bằng dấu ba chấm . Bài 3 : Cho số tự nhiên n và một dãy các kí tự S1 , S2 , … , Sn . Hãy tìm số tự nhiên I đầu tiên sao cho các kí tự Si , Si+1 đều là chữ cái a . Nếu trong dãy không có những cặp như vậy thì thông báo . Bài 4 : Cho số tự nhiên n và dãy các kí tự S1 , S2 , … , Sn . Biết rằng trong dãy có ít nhất một dấu phẩy . Hãy tìm số tự nhiên i sao cho : a. a. Si là dấu phẩy đầu tiên . b. b. Si là dấu phầy cuối cùng . Bài 5 : Viết chương trình nhập một xâu kí tự , sau đó chỉ ra xem xâu đó có phải là xâu đối xứng không ( xâu đối xứng là xâu có các kí tự giống nhau và đối xứng nhau qua điểm giữa xâu , ví dụ „ABBA‟ hoặc „ABCBA‟ ) . Bài 6 :

Cho một xâu kí tự S . Hãy viết chương trình tính xem trong S có bao nhiêu loại kí tự khác nhau ( phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 . Bài 7 : Viết chương trình nhập một xâu kí tự và biến đổi chúng thành toàn chữ in hoa . Bài 8 : Họ tên một học sinh được nhập từ bàn phím . Bạn hãy viết chương trình điều chỉnh lại các kí tự đầu của các từ đơn trong tên của học sinh ấy trở thành chữ in hhoa . Bài 9 : Viết chương trình nhập xãu kí tự từ bàn phím , sau đó gọt xâu lại bằng cách cách xoá đi các kí tự trống ở hai đầu của xâu . Ví dụ nếu nhập xâu “ Ha noi “ , thì kết quả sẽ là “Ha noi” . Bài 10 : Dùng thủ tục chuyển một số tự nhiên n cho trước sang hệ cơ số 2 . Bài 11 : Dùng thủ tục giải phương trình bậc hai ax2 + bx + c = 0 Bài 12 : Hãy viết lại thủ tục Insert đối với một chuỗi kí tự cho trước tùy ý . Bài 13 : Viết chương trình thực hiện lần lượt các công việc sau : _ Lập thủ tục nhập ba số thực dương a , b , c từ bàn phím . _ Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không ? _ Viết thủ tục tính diện tích của tam giác . _ Viết thủ tục tính các trung tuyến của tam giác . _ Viết hoàn thiện chương trình chính . Bài 14 : Giải phương trình x + y + z = 12 trong phạm vi số nguyên không âm với điều kiện x < 4 . Bài 15 : Cho trước các số N , a , b , c tự nhiên . Giải phương trình sau trong phạm vi số nguyên không âm x + y + z = N với điều kiện x < a , y < b , z < c . Bài 16 : Viết thủ tục Compare ( S1 , S2 : String ; Var Kq : String ) thực hiện công việc sau : so sánh hai xâu S1 và S2 , tìm tất cả các kí tự có trong cả hai xâu trên . Xâu Kq sẽ chứa tất cả các kí tự đó , mỗi kí tự chỉ được nhớ một lần . Bài 17 : Viết hàm tính D (St1 , St2) , với U, V là hai xâu kí tự bất kì , là tổng số các kí tự không giống nhau trong hai xâu trên , mỗi loại kí tự chỉ được nhớ một lần . Ví dụ D („aabba‟ , „bcdd‟) = 2 vì chỉ có hai kí tự a và d là không giống nhau trong các xâu trên . Bài 18 : Viết chương trình hoàn chỉnh thực hiện các công việc của thực đơn sau : 1. 1. Nhập dữ liệu ( nhập số tự nhiên n ) . 2. 2. Phân tích ra thừa số nguyên tố ( phân tích n thành tích các số nguyên tố ) . 3. 3. Thoát khỏi chương trình . 1. Viết chương trình nhập từ bàn phím 3 số tự nhiên a, b, c và kiểm tra xem chúng có phải là ?

a. Ba cạnh của một tam giác vuông hay không. b. Ba cạnh của một tam giác tù hay không. c. Ba cạnh của một tam giác nhọn hay không. HD: a. a2=b2+c2 or b2=a2+c2 or c 2=b2+a2 b.a2>b2+c2 or b2>a2+c2 or c2>b2+a2 c. a22+c2 or b22+c2 or c22+a2 2. Viết chương trình nhập từ bàn phím 3 số tự nhiên a, b, c và kiểm tra xem chúng có phải là số hạng của một cấp số cộng hay không? HD: (2a=b+c) o r (2b=c+a) or (2c=b+a) 3. Viết chương trình nhập từ bàn phím 4 số tự nhiên a, b, c, d và kiểm tra xem 4 số trên có lập thành 4 cạch của một tú giác hay không? HD: (a< a+b+x) 4. Viết chương trình nhập từ bàn phím 4 số tự nhiên a, b, c, d và kiểm tra xem chúng có có tạo thành một cấp số cộng hay không? HD: (b-a=c-b) and (cb=d-c) 5. Viết chương trình nhập từ bàn phím 4 số tự nhiên a, b, c, d và kiểm tra xem chúng có có tạo thành một cấp số nhân hay không? HD: (a/b=c/b) and (c/b=d/c) 6. Số tự nhiên N được gọi là số Palindrom nếu cách viết thập phân của số đó là đối xứng, Thí dụ: 2112, 353. Cho trước số tự nhiên N<10000. Hãy kiểm tra xem số đó là số Palindrom hay không? Var N,a1,a2,a3,a4: integer Check boolean; Begin Write(‘Nhap so N’);readln(n); If (n>10) and (n<=99) then Begin a1:= N mod 10; N:=N Div 10; a2:=N mod 10; if a1=a2 then check:=true; End; If (n>=100) and (n<=999) then Begin a1:= N mod 10; N:=N Div 10; a2:=N mod 10; N:=n div 10; a:=n mod 10; if a1=a3 then check:=true; End; If (n>=1000) and (n<=9999) then Begin a1:= N mod 10; N:=N Div 10; a2:=N mod 10; n:=n div 10 a3= n mod 10; n:=n div 10

a3:=n; if (a1=a2) and (a2=a3) then check:=true; End; If check=true then Write(‘N la so Palindrom’) Else Write(‘N Khong phai so Palindrom’); Realn; End. 7. Viết chương trình nhập từ bàn phím 3 số a, b, c tương ứng 3 cạnh của một tam giác và tính diện tích tam giác đó theo công thức HD: s=sqrt(p(p-a)(p-b)(p-c)), và p=(a+b+c)/2 8. Cho số tự nhiên N và số tự nhiên K. Tính chữ số thứ K trong biểu diễn thập phân của số N (thí dụ N=23456 và k=1) kết quả là 6, k=4 kết quả là 3 HD: For i:=1 to k do Begin D:= n mod 10; N:=n div 10; End. 9. Nếu biết giây từ lúc nữa đêm, hãy viết chương trình tính giờ, phút, giây hiện tại. P2208 10. Biết rằng ngày 1/1/1998 là ngày thứ t, Cho trước số tự nhiên N, (1<365). Hãy viết chương trình xem trong ngày đầu tiên của năm 1998 có bao nhiêu ngày chữ nhật. P2209 11. Giải bài toán, trăm trâu trăm cỏ, trâu đứng ăn năm, trâu nằm ăn ba, trâu già ba con ăn 1. Hỏi có bao nhiêu trâu mỗi loại? P2309 12. Viết chương trình nhập vào số nguyên dương rồi in ra màn hình tất cả các ước số chẳn của nó. P2312 13. Dãy số sau được gọi là dãy Fibinica a1=1, a2=1, a3=2, a n=an-1+an-2 Viết chương trình tính 20 số Fibonica đầu tiên P2318 14. Nhập số tự nhiên N và viết chương trình tạo mảng bao gồm N số nguyên tố đầu tiên. P2322 15. Cho số tự hiên N, lập chương trình tính a. N có bao nhiêu chữ số b. Tính tổng các chữ số của N P2414 16. Nhập từ bàn phím một dãy số N phần tử và hãy sắp xếp dãy đã cho theo thứ tự tăng dần. 17. Cho số tự nhiên N. Viết chương trình tính ước số thực lớn nhất của N, P2511 18. Cho số tự nhiên N. Viết chương trình tính ước số nhỏ nhất của N không phải là hàng đơn vị, P2512 19. Nhập 2 số tự nhiên N, M (NP2607 20. Hãy chỉ ra trong 100 số tự nhiên đầu tiên những số chí có đúng hai ước số nguyên tố P2612 21. Cho trước số tự nhiên N. Viết chương trình in ra tất cả các ước số khác nhau của N P2804 22. Viết chương trình nhập vào một số tự nhiên N từ bàn phím và kiểm tra xem có phải là một số chính phương hay không ? P2810 23. Viết chương trình nhập vào một số tự nhiên N từ bàn phím và kiểm tra xem có phải là một số lập phương hay không ? P2811 24. Cho số tự nhiên N. Viết chương trình in ra ước số nguyên tố lớn nhất của N. P2816

25. Cho số tự nhiên N. Viết chương trình in ra ước số thực lớn nhất của N. P2817 26. Cho số tự nhiên N. Viết chương trình in ra số nguyên tố lớn nhất không vượt quá N. P2818 27. Cho số tự nhiên N. Viết chương trình in ra số nguyên tố nhỏ nhất không nhỏ hơn N. P2819 28. Em hãy viết chương trình kiểm chứng giả thiết sau với n chẳn <1000 Mọi số tự nhiên chẳn đều có thể biểu diễn thành tổng của 2 số nguyên tố. 29. Viết chương trình nhập tối đa 100 số. Sau đó in ra màn hình các số khác nhau. P3106 30. Hãy viết chương trình nhận biết một số có phải là số nguyên tố hay không ? P3201 31. Cho trước số tự nhiên N, hãy tìm và in ra tất cả các số nguyên tố từ 2 đến N P3202 32. Cho trước số tự nhiên N, lập trình phân tích N thành tích các thừa số nguyên tố P3203 33. Cho trước số tự nhiên N nhập từ bàn phím lập chương trình kiểm tra xem n có phải là số hòan chỉnh hay không. Số hoàn chỉnh là số bằng tổng tất cả các ước số thực của mình P3208 34. Lập chương trình tìm USCLN của 2 số a và b bất kì P3210 35. Lập chương trình tìm BSCNN của 2 số a và b bất kì P3212 36. Nhập 2 số tự nhiên từ bàn phím và kiểm tra xem chúng có phải là hai số nguyên tố cùng nhau không (hai số gọi là 2 số nguyên tố cùng nhau nếu USCLN của chúng bằng 1) P3215 37. Cho trứơc số N, hãy viết chương trình tính tổng các ước số nguyên tố của N, P3217 38. Viết chương trình tìm tất cả các cặp số nguyên tố sinh đối nhỏ hơn 1000000 P3218 39. Số tự nhiên N được gọi là số Amstrong nếu nó bằng tổng lập phương của chữ số của mình Viết chương trình tìm tất cả các số Amstrong có 4 chữ số P3712 40. Hai số tự nhiên n và M được gọi là thân thiện nếu số này bằng tổng các ước số của số thứ 2. Hãy tìm tất cả các cập số thân thiện nhỏ hơn 10000 P3713 41. Ta có 357 là một cập số cộng bao gồm toàn các số nguyên tố. Em hãy víêt chương trình kiểm tra xem trong phạm vi các số tự nhiên <10000 còn có cặp số cộng nào khác bao gồm 3 phần tử và là số nguyên tố hay không? 42. Hai số tự nhiên được gọi là nguyên tố tương đương nếu chúng có chung các ước số nguyên tố. Cho trước 2 số tự nhiên n,m Hãy viết chương trình kiểm tra xem chúng có phải là nguyên tố tương đương không ? P3811