50 bài pascal nâng cao tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh...
Trang 1MỘT SỐ BÀI THI TỔNG HỢP
Bài 1: Số tự nhiên N được gọi là số chính phương nếu n thể hiện được ở dạng
bình phương của một số tự nhiên khác
VD: 1 là số chính phương vì 1=12
4 là số chính phương vì 4=22
a/ Nhập vào từ bàn phím số tự nhiên N (0<n<255) in ra n số chính phương đầu tiên bắt đầu từ số 1
b/ nhập vào từ bàn phím số tự nhiên m, kiểm tra xem m có phải là số chính phương hay không Nếu m là số chính phương thì thông báo ra màn hình m là số chính phương, ngược lại in ra màn hình số chính phương nhỏ nhất lớn hơn m
Bài 2:
a/ Nhập vào từ bàn phím hai số nguyên dương có giá trị không vượt quá
65000, in ra màn hình ước chung lớn nhất và bội chung nhỏ nhất của chúng b/ In ra màn hình tất cả các ước chung của hai số trên
(Không xét các trường hợp giá trị nhập vào không hợp lệ)
Bài 3: Tính và in ra màn hình kết quả của các dãy số sau với số nguyên
dương n nhập từ bàn phím, (0<n<13) nếu nhập n không đúng yêu cầu thì buộc phải nhập lại
a/ S1=1/2 + 2/3 + 3/4 +…+ n/(n+1)
b/ S2=1+ 1/2! + 1/3! +…+ 1/n!
(n!=1.2.3 … n) (Tổng S1, S2 lấy 3 số thập phân)
Bài 4: Viết CT nhập vào số nguyên N Tính tổng các số nguyên tố nhỏ hơn n
Vd: Nhập vào số nguyên 4( các số nguyên tố nhỏ hơn 4 là 2,3 ) xuất ra S=5
Bài 5: Hãy tạo 2 dãy số nguyên A, B có có cùng số phần tử là N (được sinh
ngẫu nhiên, N nguyên dương) Cho trước giá trị của phần tử lớn nhất trong cả
Trang 22 dãy không quá 1000 Hãy tạo ra 1 dãy C có kết quả là hòa hai dãy A và B sao cho các phần tử trong C cũng có giá trị tăng dần ? In kết quả từng dãy ra màn hình
Vd : ta có A=[2 4 6 9 24 30]
B=[1 4 7 10 15 21]
Kết quả C=[1 2 4 4 6 7 9 10 15 21 24 30]
Bài 6: Viết chương trình nhập vào chuỗi bất kì S sau đó in ra màn hình 2 kết
quả: chuỗi con gồm các ký tự trong chuỗi S và Tổng các giá trị của các ký tự
là số trong chuỗi S
Vd: S=’A312BC24DE’
S1= ABCDE
Tổng =3+1+2+2+4=12
Bài 7: Viết chương trình nhập vào bán kính của hình tròn In ra màn hình
diện tích và chu vi của nó
Bài 8:
Cho một mảng số nguyên gồm n phần tử Tìm dãy con gồm m phần tử
(m<=n) sao cho dãy con này có tổng lớn nhất (Dãy con là dãy các phần tử lien tiếp nhau trong mảng)
VD: Nhập n, nhập các phần tử trong dãy, nhập m, in ra dãy con có m phần tử
n= 8
4 3 5 2 8 7 9 6
m= 3
8 7 9
Bài 9 Viết chương trình giải phương trình bậc 1 (ax + b = 0)
Bài 10: Viết chương trình Nhập vào ba số a,b,c bất kì Kiểm tra xem nó có thể
là độ dài ba cạnh hay không? nếu không thì in ra màn hình ' Không là ba cạnh của một tam giác' Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình
Trang 3Bài 11: Viết chương trình Nhập vào ba số a,b,c bất kì Kiểm tra xem nó có thể
là độ dài ba cạnh hay không? nếu không thì in ra màn hình ' Không là ba cạnh của một tam giác' Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình
Bài 12: (6 điểm):
Viết chương trình nhập 3 số a, b, c là 3 cạnh của tam giác Tính diện tích
(theo công thức p *( p a − )*( p b − )*( p c − ) ), chu vi, các đường cao tương ứng với các góc Đưa giá trị tính được ra màn hình
Bài 13: (Tên file chương trình là BL1.pas)
Cho số tự nhiên N Hãy viết chương trình nhập số tự nhiên xem N (N≤109) từ bàn phím đếm xem N có bao nhiêu chữ số
VD Nhâp N=12
In ra màn hình: 2
Bài 14: (Tên file chương trình là BL2.pas)
Nhập vào hai số nguyên dương a và b từ bàn phím In ra ước chung lớn nhất của hai số a và b
VD Nhâp a=10 b=8
UOC CHUNG LON NHAT: 2
Bài 15: (Tên file chương trình là BL3.pas)
Một số đọc từ trái sang phải giống hệt như đọc từ phải sang trái gọi là số đối xứng Số 14541 là số đối xứng còn số 66667 không là số đối xứng
Viết chương trình nhập vào từ bàn phím số n (10<n≤109) Kiểm tra xem n
có là số đối xứng hay không và in kết quả theo mẫu sau
VD Nhập n=1111,
1111 LA SO DOI XUNG
Trang 4Nhập n=100
100 KHONG LA SO DOI XUNG
Bài 16: (Tên file chương trình là BL4.pas)
Số siêu nguyên tố là số nguyên tố mà khi bỏ một số tuỳ ý các chữ số bên phải
của nó thì phần còn lại vẫn tạo thành một số nguyên tố
Ví dụ 7331 là một số siêu nguyên tố có 4 chữ số vì 733, 73, 7 cũng là các số
nguyên tố
Viết chương trình nhập dữ liệu vào là một số nguyên N(10<N≤105) và đưa ra kết quả các số siêu nguyên tố nhỏ hơn N
Ví dụ: khi chạy chương trình:
Nhap so N: 30
In ra màn hình: 23 29
Bài 17: (6 điểm) Viết chương trình cho phép nhập vào số nguyên n
(1≤n≤10000) In ra màn hình giá trị của biểu thức:
1 1 1 1
1
2 3 4
T
n
(Kết quả làm tròn 2 chữ số ở phần thập phân)
Ví dụ:
Dữ liệu vào (bàn
phím) Dữ liệu ra (màn hình)
Bài 18: Viết CT cho phép nhập vào dãy số nguyên gồm n phần tử (1≤n≤100)
a) Tính trung bình cộng của các phần tử lớn hơn 0 có trong dãy số
(Kết quả làm tròn 2 chữ số ở phần thập phân)
b) Hiện ra màn hình các số nguyên tố có trong dãy số trên
Trang 5Vớ dụ:
Dữ liệu vào (bàn
phớm) Dữ liệu ra (màn hỡnh)
12 -6 5 14 11 31
-7 5 11 3114.600
32 -9 -7 7 3 -23 14.000
7 3
Bài 19: Nhập vào 1 số tự nhiờn N với (0 < N ≤ 65535)
a) Hóy cho biết chữ số lớn nhất của số tự nhiờn vừa nhập
b) Kiểm tra xem số đú cú đối xứng khụng
Vớ dụ:
Dữ liệu vào (bàn
phớm) Dữ liệu ra (màn hỡnh)
Khong doi xung
Doi xung
Bài 20: Viết CT nhập vào một xâu kí tự S H y viết CT 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= “Pascal” ta có đáp số là 5
Bài 21: Viết chơng trình nhập vào từ bàn phím bán kính R (R>0) và chiều cao h (h>0) của
hình trụ đứng Sau đó tính diện tích toàn phần STP và thể tích V của hình lăng trụ đó Ví dụ nhập vào bán kính R = 5 và chiều cao h = 7 Đáp án là: “Dien tich toan phan = 376,80” “The tich = 549,50” Sau đó lu với tên là “BT_02.pas”
Bài 22: 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 theo thứ tự tăng dần Ví dụ nhập vào 6 số: 12; 45; 15; 12; 45; 16 Ta có đáp số là: “12; 15; 16; 45” Sau đó lu với tên là “BT_03.pas”
Trang 6Tạo Folder mang tên là số báo danh của thí sinh và lưu theo đường dẫn: D:\SBD-K9 Các file sau khi thực hiện phải lưu vào Folder vừa tạo
Bài 23: Cho số tự nhiên n (0 < n ≤ 100000) Hãy viết chương trình thực
hiện các công việc sau:
Đếm xem số n có bao nhiêu chữ số
Tính tổng các chữ số của số n
Tìm chữ số đầu và chữ số cuối của số n
Bài 24: Dãy nhị phân được gọi là điều hòa nếu dãy chỉ có một phần tử hoặc
các phần tử 0 và 1 xen kẽ đều nhau
Ví dụ :
Dãy: {0}; {1} ; {1 0 1 0 1} là những dãy điều hòa
Nhập vào từ bàn phím số nguyên n (1≤n≤100) và dãy nhị phân b1, …bn Hãy viết CT để kiểm tra xem dãy đã cho có điều hòa không Nếu không là dãy điều hòa hãy chèn vào dãy đã cho một phần tử có giá trị 1 để được một dãy điều hòa Nếu không thể chèn để có dãy điều hòa thì chèn phần tử này vào vị trí [n/2] Đưa ra màn hình dãy đã cho và dãy nhận được
Ví dụ:
Nhập vào dãy: {1 0 1 0 0}, kết quả cho ra dãy : {1 0 1 0 1 0}
Hoặc nhập vào dãy: {1 0 0 0 1 1 1 1}, kết quả cho dãy: {1 0 0 1 0 1 1 1 1}
Bài 25: Để kiểm tra việc học tiếng Việt của Nga, cô Hương yêu cầu Nga
nhận biết và chỉ ra các nguyên âm, phụ âm có trong đoạn văn bản V với độ dài k (1≤ k ≤255) kí tự Em hãy viết chương trình giúp Nga thực hiện việc:
Đếm sự xuất hiện của các nguyên âm và phụ âm có trong đoạn văn bản V Tách tất cả các nguyên âm và phụ âm có trong đoạn văn bản V
Trang 7Dữ liệu vào là đoạn văn bản V được viết hoa, không dấu, chứa trong file văn bản mang tên: INPUT.TXT
Dữ liệu ra gồm có: dòng 1 lần lượt hiển thị số lượng nguyên âm, phụ âm xuất hiện trong văn bản; các dòng tiếp theo lần lượt hiển thị các nguyên âm
và phụ âm tạo nên văn bản; các kí tự viết cách nhau ít nhất một khoảng trắng
Ví dụ:
Dữ liệu vào là đoạn văn bản:
“ CHUM NHO LUNG LANG TREN CANH
CAO TIM MOI CACH HAI AN DO THEM"
Dữ liệu ra: 17 30
A E I O U
C D G H L M N R T
Bài 26: Hãy viết chương trình đổi tờ giấy bạc có mệnh giá n (Việt Nam đồng) ra ba loại giấy bạc có mệnh giá 500, 200, 100 (Việt Nam đồng) sao cho
số tờ gấy bạc phải sử dụng là ít nhất (n được nhập từ bàn phím)
Bài 27: Tuổi của cha hiện nay là b tuổi, tuổi của con là c tuổi (b-c > 0 và b, c
là các số nguyên dương) Hãy viết chương trình (với b, c được nhập từ bàn phím) để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì đưa ra màn hình thông báo “hiện nay tuổi cha gấp đôi tuổi con”; trường hợp ngược lại, hãy tính số năm n (trước đó hoặc sau đó) tuổi cha gấp đôi tuổi con
và đưa ra màn hình thông báo “n năm trước đây tuổi cha gấp đôi tuổi con” hay “sau n năm tuổi cha sẽ gấp đôi tuổi con”
Bài 27.1: Hàng tháng, các hộ dân sử dụng điện đều nhận được một hóa đơn
thanh toán tiền điện Giá tiền điện phải trả được tính như sau:
Trang 8+ 100 số đầu tiên, mỗi số phải trả 550 đồng,
+ Từ số 101 đến số 150, mỗi số phải trả 1100 đồng,
+ Từ số 151 đến số 200, mỗi số phải trả 1470 đồng,
+ Từ số 201 trở đi, mỗi số phải trả 1600 đồng
Số tiền điện mà mỗi hộ dân phải trả ở hóa đơn là tổng số tiền điện mà người đó đã sử dụng với 10% thuế VAT
Hãy viết chương trình tính số tiền điện mà người tiêu dùng phải trả trong tháng với a là số KW điện mà người tiêu dùng đã sử dụng và được nhập từ bàn phím
Bài 28: Viết chương trình:
Nhập vào số tự nhiên n (0 < n < 10) và hai mảng số nguyên A, B có n phần tử đại diện cho hai tập hợp theo yêu cầu không có hai phần tử trùng nhau trong cùng một tập hợp (Do đó, trong quá trình nhập nếu phần tử vừa nhập vào đã có trong mảng thì không bổ sung vào mảng) In ra màn hình tập hợp A, tập hợp B và các phần tử là giao của hai tập hợp A và B
Tạo Folder mang tên là số báo danh của thí sinh và lưu theo đường dẫn: D:\SBD_K9 Các file trong bài được đặt tên lần lượt là BAI1.PAS, BAI2.PAS, BAI3.PAS và lưu vào Folder vừa tạo
Bài 29: Hai số tự nhiên n, m được gọi là nguyên tố tương đương nếu chúng có chung các ước số nguyên tố Hãy viết chương trình nhập vào hai số n, m và kiểm tra chúng có là nguyên tố tương đương với nhau hay không.
Ví dụ: số 75 và số 15 là nguyên tố tương đương
75= 3x5x5; 15= 3x5; vì chúng có cùng các ước số nguyên tố
là 3 và 5 Tuy nhiên 12 và 60 ko nguyên tố tương đương vì
Trang 912=2^2*3 và 60=2^2*3*5, 60 có ước số nguyên tố 5 trong khi
12 không có.
Bài 30: Cho hệ phương trình bậc nhất hai ẩn:
= +
=
+
' '
a
c by
ax
(I) Hãy viết chương trình giải hệ phương trình trên, đồng thời xác định vị trí tương đối của hai đường thẳng d: ax+by=c và d’=a’x+b’y =c’ đã tạo nên hệ phương trình (I)
Bài 31: Cho hai xâu X, Y chứa các kí tự số từ 0 đến 9 và được biểu diễn
như sau:
X = x1, x2, x3…xn ; Y= y1, y2, y3…ym (n,m ≤ 250) Hãy viết chương trình tạo
ra xâu ST thoả mãn các điều kiện sau:
- Gồm các kí tự số vừa có mặt ở xâu X, vừa có mặt ở xâu Y;
- Các kí tự số trong xâu ST chỉ xuất hiện duy nhất một lần;
- Giá trị xâu ST nhận được là một số đạt giá trị lớn nhất
Dữ liệu vào cho bởi file INPUT.INP chứa giá trị xâu X và xâu Y, mỗi xâu nằm trên một dòng
Dữ liệu ra chứa ở file OUTPUT.OUT là số lớn nhất nhận được
Ví dụ: Xâu X= ‘19012304’; xâu Y= ‘034012’, kết quả là 43210
Trang 10Bài 32: Một số mà đọc từ trái sang phải giống hệt như đọc từ phải sang
trái gọi là số đối xứng Số 14541 là số đối xứng còn số 6667 không là số đối xứng Hiển nhiên số 0330 không là số đối xứng (do số 0 đứng ở vị trí đầu tiên bên trái)
Hãy tìm tất cả các số đối xứng từ 1 đến N Biết rằng N là một số nguyên dương lớn hơn 1 được nhập vào từ bàn phím
Bài 33: Tìm tất cả các số nguyên tố trong một mảng hai chiều A gồm N
hàng và M cột
Yêu cầu :
− N, M là hai số nguyên dương lớn hơn hoặc bằng 2
− Mảng A chứa các số nguyên dương lớn hơn hoặc bằng 2
− Trong chương tình có kiểm tra dữ liệu nhập vào Nếu người sử dụng nhập dữ liệu không đúng yêu cầu thì chương trình sẽ đưa ra thông báo và cho phép người sử dụng nhập lại dữ liệu khác
Bài 34:
Tính tổng của hai số tự nhiên lớn (chứa tối đa 255 chữ số) được nhập vào từ bàn phím
Bài 35: In ra các từ trong một xâu ký tự được nhập vào từ bàn phím Mỗi từ
in trên một hàng
Chú ý : Tạo thư mục với tên của mỗi học sinh, lưu các tập tin chương
trình vào thư mục đó với tên tương ứng là BAI1, BAI2 BAI3, BAI4 (Phần mở rộng PAS sẽ được đặt tự động khi lưu chương trình)
Trang 11
Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm tích lũy riêng của mình Số điểm tích lũy của mỗi học sinh là một số nguyên dương K (0 < K ≤ 2×109) Đội tuyển của trường THCS Tài Năng có N học sinh tham gia dự thi (2 ≤ N ≤ 100) Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng điểm tích lũy của mỗi học sinh đều chia hết cho Q
Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất.
Dữ liệu vào: Cho trong file văn bản PT.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N là số lượng học sinh
- Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các
số được ghi cách nhau ít nhất một dấu cách
Dữ liệu ra: Ghi ra file văn bản PT.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương Q tìm được
Ví dụ:
5
15 24 45 36 27 3
Thời gian thực hiện chương trình không quá 1 giây cho mỗi bộ dữ liệu vào
Cu Tí thường xuyên tham gia thi lập trình trên mạng Vì đạt được thành tích cao nên Tí được gửi tặng một phần mềm diệt virus Nhà sản xuất phần mềm cung cấp cho Tí một mã số là một số nguyên dương N có không quá 255 chữ số Để cài đặt được phần mềm, Tí phải nhập vào mật khẩu của phần mềm Mật khẩu là một số nguyên dương M được tạo ra bằng cách tính tổng giá trị các chữ số của N
Yêu cầu: Hãy tìm số nguyên dương M.
Trang 12Dữ liệu vào: Cho trong file văn bản MK.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N
Dữ liệu ra: Ghi ra file văn bản MK.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương M tìm được
Ví dụ:
MK.INP MK.OUT 849153882
Trang 13Bài 38: Tần suất TS.PAS
Cho tập hợp S có N phần tử nguyên dương {s1, s2,…, sN}
(1 ≤ N ≤ 32000; 0 < si ≤ 32000; 1 ≤ i ≤ N)
Yêu cầu: Hãy liệt kê các phần tử trong S có số lần xuất hiện lớn hơn một lần.
Dữ liệu vào: Cho trong file văn bản TS.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N
- Dòng 2: Ghi N số nguyên dương là giá trị các phần tử của tập hợp S, các số được ghi cách nhau ít nhất một dấu cách
Dữ liệu ra: Ghi ra file văn bản TS.OUT trên nhiều dòng, dòng thứ i ghi 2 số si
di, hai số cách nhau một dấu cách Trong đó si là phần tử xuất hiện trong S lớn hơn một lần và di tương ứng là số lần si xuất hiện
Ví dụ:
7
2 5 5 3 5 3 9
3 2
5 3
Viết chương trình nhập năm dương lịch in ra năm âm lịch tương ứng, biết rằng chia năm dương lịch cho 10 và 12 ta có CAN CHI tương ứng với số dư là:
Số
Can Canh Tân Nhâm Quý Giáp Ất Bính Đinh Mậu Kỷ
Chi Thân Dậu Tuất Hợi Tí Sửu Dần Mão Thìn Tỵ Ngọ Mùi
Ví dụ:
Năm 2011 là năm Tân Mão
Năm 2012 là năm Nhâm Thìn
Viết CT in ra màn hình các số có 4 chữ số, sao cho tổng các lũy thừa 4 của 4 chữ số thì bằng chính nó
Trang 14Bài 41: Đặt tên: Bai3.*
Viết CT nhập vào một số nguyên dương N, Với 2<=N<=100 In ra màn hình N số nguyên tố đầu tiên
Ví dụ: N= 4
So nguyen to thu 1 la: 2
So nguyen to thu 2 la: 3
So nguyen to thu 3 la: 5
So nguyen to thu 4 la: 7
Viết CT nhập vào một dãy số nguyên khác 0 các số cách nhau bởi dấu cách kết thúc bằng số 0 Từ dãy vừa nhập in ra màn hình:
• Dãy các số chẵn trong dãy Tổng các số chẵn trong dãy
• Dãy các số lẽ trong dãy Tổng các số lẽ trong dãy
• Sắp xếp dãy nhập vào theo thứ tự không giảm
Viết chương trình nhập vào một dãy N số nguyên dương lớn hơn 2 In ra màn hình ước số chung lớn nhất của lần lượt từng số từ số thứ 2 đến số N với
số đầu tiên
Ví dụ:
Với N = 5 Nhap day so: 3 6
13 22 9
Cac uoc lan luot la:
3 1 1 3
Bài 44: Phân số
Yêu cầu:
- Nhập vào từ bàn phím hai phân số, nếu mẫu số không hợp lệ yêu cầu nhập lại mẫu số Xuất ra màn hình hai phân số đã nhập ở dạng tối giản