Bài tập tổng hợp - Lập trình căn bản | Trường đại học Điện Lực
Bài tập tổng hợp - Lập trình căn bản | Trường đại học Điện Lực được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!
Môn: Công nghệ thông tin(CNTT350)
Trường: Đại học Điện lực
Thông tin:
Tác giả:
Preview text:
BÀI TẬP ÔN TẬP CHƯƠNG 1 VÀ CHƯƠNG 2
Bài số 1: Nhập vào từ bàn phím hai số thực a và b. Hiển thị ra màn hình hai số vừa nhập theo mẫu: “Cac so da nhap:
a=(5 ký tự để biểu diễn a)
b=(12 ký tự để biểu diễn b)
Hiển thị ra màn hình tổng hiệu tích thương của hai số a và b theo dạng: a+b=…………… a-b=…………… a*b=…………… a/b=……………
Bài số 2: Nhập vào từ bàn phím số thực a. Hiển thị ra màn hình số thực vừa nhập với dạng:
“So da nhap a=(dùng 10 ký tự biểu diễn a trong đó có 3 ký tự cho phần thập phân)”
Tính và hiển thị ra màn hình giá trị biểu thức B= 5a3 – 4a2 + 3a -2.
Bài số 3: Nhập vào từ bàn phím số nguyên a. Hiển thị số đã nhập ra màn hình với dạng:
“So da nhap a=(6 ký tự để biểu diễn a)
Tính và hiển thị ra màn hình giá trị biểu thức B= .
Bài số 4: Nhập vào từ bàn phím số thực a. Hiển thị ra màn hình số thực vừa nhập với dạng:
“So da nhap a=(dùng 8 ký tự biểu diễn a trong đó có 2 ký tự cho phần thập phân)”
Tính và hiển thị ra màn hình giá trị biểu thức B=lna2 – tang3a
Bài số 5: Nhập vào từ bàn phím một số thực a. Hiển thị ra màn hình số thực vừa nhập với dạng:
“So da nhap a=(dùng 12 ký tự biểu diễn a trong đó có 4 ký tự cho phần thập phân)”
Tính và hiển thị ra màn hình giá trị biểu thức B= 5|a| - a5
Bài số 6: Nhập vào từ bàn phím hai số thực a và b. Hiển thị ra màn hình số thực vừa nhập với dạng: “So da nhap
a=(dùng 5 ký tự biểu diễn a trong đó có 2 ký tự cho phần thập phân)
b=(dùng 5 ký tự biểu diễn b trong đó có 2 ký tự cho phần thập phân)”
Thực hiện hoán vị hai giá trị của a và b. Hiển thị ra màn hình giá trị của a và b sau khi thực hiện hoán vị.
Bài số 7: Nhập vào từ bàn phín số thực a. Hiển thị ra màn hình số thực vừa nhập với dạng:
“a=(dùng 8 ký tự biểu diễn a trong đó có 4 ký tự cho phần thập phân)
Tính và hiển thị ra màn hình giá trị biểu thức B = 5a3 – cos3a2.
Bài số 8: Nhập vào từ bàn phím 3 số thực a, b, c. Hiển thị ra màn hình giá trị của 3 số thực đó với dạng: “Ba so da nhap la:
a=(2 ký tự cho phần thập phân)
b=(3 ký tự cho phần thập phân) c=(để ở dạng chuẩn)
Tính và hiển thị ra màn hình biểu thức .
Bài số 9: Nhập vào từ bàn phím 2 số nguyên a và b. Hiển thị lên màn hình kết quả
của phép tính (a>b) and (b+5!=a2) or (b-5kết quả phép toán như sau: “a>b : (kết quả) b+5=(kết quả) a^2 = (kết quả) b+5!=a^2=(kết quả)
(a>b) and (b+5!=a^2)=(kết quả) b-5=(kết quả)
b-5(a>b) and (b+5!=a^2) or (b-5Thử với a=3, b=7 hoặc a=3, b=2 hoặc a=1, b=8
Bài 10: Nhập từ bàn phím số thực a. Hiển thị ra màn hình số thực vừa nhập với dạng: “So da nhap
a=(dùng 7 ký tự biểu diễn a trong đó có 3 ký tự cho phần thập phân)”
Tính và hiển thị ra màn hình chu vi và diện tích hình tròn có bán kính là a.
BÀI TẬP ÔN TẬP CHƯƠNG 3
Dạng bài cấu trúc if(); if() else; switch () case;
Bài 1: Hãy giải và biện luận nghiệm của phương trình bậc nhất một ẩn (ax+b=0)
Gơi ý: xét nghiệm các trường hợp a=0 và b≠0; a=0 và b=0; a≠0
Bài 2: Hãy giải và biện luận nghiệm của phương trình bậc hai một ẩn (ax2+bx+c=0)
Gợi ý: Xét các trường hợp:
+ a=0 thì phương trình suy biến thành bx+c=0, lại xét nghiệm các trường
hợp b=0 và c=0; b=0 và c≠0; b≠0 + a≠0 thì: + tính delta=b*b-4*a*c;
+ xét nghiệm với delta>0; delta<0; delta=0
Bài 3: Hãy giải và biện luận nghiệm của hệ phương trình bậc nhất hai ẩn
Gợi ý: tính các định thức D=a*e-b*d; Dx=c*e-b*f; Dy=a*f-c*d;
Xét nghiệm các trường hợp: D=0 và Dx=0 và Dy=0; D=0 và (Dx≠0 hoặc Dy≠0) D≠0
Bài 4: Hãy nhập vào từ bàn phím một số nguyên a bất kỳ. Sau đó kiểm tra nếu số
nguyên a là các chữ số (0-9) thì in ra màn hình tên tiếng anh của các chữ số đó.
Nếu số nguyên a không phải là các chữ số thì hiển thị “số a không phải là chữ số”.
Gợi ý: sử dụng cấu trúc câu lệnh switch …. case …. default…
Bài 5: Hãy nhập vào từ bàn phím một số thực x. Kiểm tra số x, nếu x>=0 thì hiển
thị ra màn hình , nếu x<0 thì thông báo “x là số âm không có giá trị căn bậc hai”.
Bài 6: Nhập vào điểm thi của một học sinh (điểm thi là 1 số nguyên). Sau đó kiểm
tra nếu điểm thi là các giá trị 8,9,10 thì thông báo “Đỗ - xếp loại giỏi”; nếu điểm
thi là 7 thì thông báo “Đỗ - xếp loại khá”; nếu điểm thi là 5,6 thì thông báo là “Đỗ -
xếp loại trung bình”; nếu điểm thi là các giá trị 0, 1, 2, 3, 4 thì thông báo “Trượt –
xếp loại kém”; nếu điểm thi là các giá trị khác thì thông báo “điểm không hợp lệ”.
Gợi ý: sử dụng cấu trúc câu lệnh switch …. case ….
Bài 7: Nhập vào từ bàn phím một số thực x. thực hiện tính biểu thức B và in kết quả ra màn hình với
Bài 8: Nhập vào từ bàn phìm 3 số nguyên a,b,c. Kiểm tra nếu 3 số a, b, c là số đo 3
cạnh của một tam giác thì tính chu vi và điện tích của tam giác có độ dài 3 cạnh là a,b,c.
Gợi ý: số đo 3 cạnh của tam giác thỏa mãn là các số dương và tổng 2 cạnh bất kỳ
nhỏ hơn 1 cạnh còn lạo hoặc hiệu 2 cạnh bất kỳ lớn hơn 1 cạnh còn lại Chu vi tam giác: CV=a+b+c;
Diện tích tam giác: với P=CV/2
Tổng 2 cạnh lớn hơn 1 cạnh
(a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0)
Hiệu hai cạnh nhỏ hơn một cạnh
(sabs(a-b)0&&b>0&&c>0)
Bài 9: Nhập vào từ bàn phím 2 số thực a, b. Kiểm tra nếu 2 số a, b là số đo của 2
cạnh của hình chữ nhật thì tính chu vi và diện tích của hình chữ nhật có độ dài 2 cạnh là a, b.
Gợi ý: Số đo hai cạnh của hình chữ nhật thỏa mãn là các số dương và khác nhau. Chu vi hình cn: 2*(a+b)
Diện tích hình chữ nhật: a*b
Bài 10: Nhập vào một ký tự ch từ bàn phím. Kiểm tra điều kiện nếu ch thuộc từ
[a,z] thì hiển thị ra thông báo “Ký tự chữ thường”, nếu ch thuộc từ [A,Z] thì hiển
thị ra thông báo “Ký tự chữ hoa”, nếu ch thuộc từ [0,9] thì hiển thị ra thông báo
“Ký tự chữ số”, nếu ch không thuộc các ký tự trên thì hiển thị ra thông báo “Ký tự đặc biệt”.
Gợi ý: Sử dụng cấu trúc câu lệnh if … else hoặc sử dụng cấu trúc switch … case… default…
Dạng bài cấu trúc lặp không xác định while(điều kiện)lệnh; và do lệnh; while (điều kiện);
Bài 11: Nhập vào từ bàn phím một số nguyên N sao cho N>=0. Sau đó sử dụng
cấu trúc while (điều kiện) lệnh; để hiển thị ra màn hình các số chẵn từ 0 đến N. Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để nhập N sao cho N>=0;
Sử dụng cấu trúc while (điều kiện) lệnh; để in các giá trị i (khởi tạo i=0) với i là số chẵn.
Bài 12: Nhập vào từ bàn phím hai số nguyên dương a,b. Sau đó sử dụng cấu trúc
do lệnh; while (điều kiện); để tìm ước số chung lớn nhất và bội số chung nhỏ nhất của a và b. Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để nhập a và b sao cho a>0 và b>0;
Sử dụng cấu trúc do lệnh; while (điều kiện); để tìm ước số chung lớn nhất
của a và b. Sau đó tính bội số chung nhỏ nhất của a và b theo công thức BSCNN=a*b/USCLN.
Bài 13: Nhập vào từ bàn phím một số thực N sao cho N>=100. Thực hiện phép
toán N=sqrt(N) cho đến khi N<=1.01 thì dừng. Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để nhập N sao cho N>=100;
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để thực hiện phép khai căn.
Bài 14: Nhập vào từ bàn phím một ký tự chữ cái thường (ch ϵ [a, z]). Sau đó
chuyển ký tự thường thành ký tự hoa bằng cách thực hiện ch-32, rồi in ra màn hình ký tự hoa đó. Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để nhập ch sao cho ch ϵ [a, z];
Bài 15: Nhập vào từ bàn phím một số nguyên N>1000. Sau đó thực hiện tách số đó
thành tổng theo dạng thức:
Ví dụ; nhập N=34892 thì tách N=2*10^0+9*10^1+8*10^2+4*10^3+3*10^4 Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); hoặc cấu trúc while (điều kiện)
lệnh; để nhập N sao cho N>1000;
Sử dụng cấu trúc do lệnh; while (điều kiện); để tách lần lượt các số hàng đơn
vị hàng trăm hàng nghìn … bằng lệnh chia lấy dư và chia lấy nguyên.
Bài 16: Sử dụng hàm rand() để sinh số ngẫu nhiên. Sử dụng cấu trúc do lệnh;
while (điều kiện); để đưa ra câu hỏi “Ban co muon sinh so ngau nhien
khong(C/K)?” nếu câu trả lời là có thì sinh số ngẫu nhiên r cho đến khi câu trả lời là không thì dừng. Gợi ý:
Để sinh số ngẫu nhiên cần khai báo thư viện “stdlib.h” cho việc gọi hàm
rand(); khai báo thư viện time.h để gọi hàm time(0); Sử dụng hàm
srand((int)time(0)); để tạo số ngẫu nhiên thay đổi sau mỗi lần chạy.
Sử dụng cấu trúc do lệnh; while (điều kiện); để hỏi lặp đi lặp lại cho đến khi câu trả lời là không
Bài 17: Viết chương trình tính tổng các số nguyên đã nhập cho đến khi nhập số 0 thì dừng Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); để vừa nhập số nguyên vừa tính tổng
Khai báo 1 biến S =0 sau mỗi lần nhập được số nguyên x thì thực hiện S=S+x;
Bài 18: Viết chương trình tính tích các số không âm nhập vào từ bàn phím cho đến
khi người nhập muốn dừng. Gợi ý:
Sử dụng cấu trúc do lệnh; while (điều kiện); để vừa nhập số nguyên vừa tính tích các số không âm
Khai báo 1 biến T =1 sau mỗi lần nhập được số nguyên x>0 thì thực hiện S=S*x;
Dạng bài cấấu trúc lặ p xác định for(bieu thứ c 1; biể u thứ c 2; bi ể u th ứ c 3) l ệ nh;
Bài 19: Nhập vào từ bàn phím một số nguyên dương N. Sau đó tính và hiển thị ra
màn hình tổng các số lẻ từ 0 -> N.
Bài 20: Nhập từ bàn phím một số nguyên dương N. Sau đó tìm và hiển thị lên màn
hình tất cả các ước số của N
Bài 21: Nhập từ bàn phím một số nguyên N. Sau đó tính tổng các số từ N đến 0
nếu N nhập vào nhỏ hơn 0. Tính N! nếu N nhập vào lơn hơn 0.
Bài 22: Nhập vào từ bàn phím một số nguyên dương N. Sau đó hiển thị ra màn
hình tam giác pascal có chiều cao N. Ví dụ N=5 ta có tam giác như sau 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1
Bài 23: Nhập vào từ bàn phím một số nguyên dương N. Sau đó hiển thị ra màn
hình nửa tam giác pascal có chiều cao N. Ví dụ N=5 ta có tam giác như sau 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Bài 24: Nhập vào từ bàn phím một số nguyên dương N và một số thực x. Tính và
hiển thị giá trị biểu thức:
Bài 25: Nhập vào từ bàn phím một số nguyên dương N và một số thực x<0. Tính
và hiển thị giá trị biểu thức:
Bài 26: Nhập vào từ bàn phím một số nguyên dương N (cột) và M (hàng). Hãy
hiển thị lên màn hình ma trận các số như sau: Ví dụ N=3; M =4 1 2 3 2 4 6 3 6 9
4 8 12 (giá trị các phần tử là (chỉ số hàng)* (chỉ số cột)
Bài 27: Nhập vào từ bàn phím một số nguyên dương N (cột) và M (hàng). Hãy
hiển thị lên màn hình ma trận các số như sau: Ví dụ N=3; M =4 2 5 10 5 8 13 10 13 18 17 20 25
(giá trị các phần tử là (chỉ số hàng)2+ (chỉ số cột)2
BÀI TẬP ÔN TẬP CHƯƠNG 4
Dạng bài mảng một chiều với các phần tử là số nguyên:
- Thao tác nhập một mảng với số phần tử biết trước
- Thao tác hiển thị một mảng với số phần tử biết trước
- Thao tác tìm kiếm các phần tử có điều kiện (hiển thị giá trị phần tử, tính
tổng, tính trung bình cộng)
- Thao tác tìm kiếm các phần tử nhỏ nhất hoặc lớn nhất (tìm kiếm nhỏ nhất
hoặc lớn nhất trong mảng; tìm kiếm nhỏ nhất lớn nhất có điều kiện bổ sung)
- Thao tác sắp xếp mảng theo chiều tăng hoặc giảm
- Thao tác tìm kiếm các phần tử đặc biệt (số nguyên tố, số hoàn hảo, số
chính phương) (dạng toán nâng cao)
Dạng bài mảng một chiều với các phần tử là số thực:
- Thao tác nhập một mảng với số phần tử biết trước
- Thao tác hiển thị một mảng với số phần tử biết trước
- Thao tác tìm kiếm các phần tử có điều kiện (hiển thị giá trị phần tử, tính
tổng, tính trung bình cộng)
- Thao tác tìm kiếm các phần tử nhỏ nhất hoặc lớn nhất (tìm kiếm nhỏ nhất
hoặc lớn nhất trong mảng; tìm kiếm nhỏ nhất lớn nhất có điều kiện bổ sung)
- Thao tác sắp xếp mảng theo chiều tăng hoặc giảm
- Thao tác chèn hoặc loại bỏ một phần tử trong một dãy số đã sắp xếp sao
cho dãy vẫn giữ nguyên tính chất mà không sử dụng thuật toán sắp xếp (dạng bài nâng cao)
- Thao tác kiểm tra các dãy số dặc biệt (kiểm tra tính chất tăng hay giảm
của dãy số, kiểm tra tính đối xứng của dãy số,…) (dạng bài nâng cao)
Dạng bài mảng hai chiều (ma trận) với các phần tử là số nguyên:
- Thao tác nhập một ma trận với số hàng số cột biết trước
- Thao tác hiển thị một ma trận dạng bảng với số hàng số cột biết trước
- Thao tác tìm kiếm trong toàn ma trận
- Thao tác tìm kiếm trên hàng hoặc trên cột
- Thao tác sắp xếp trên hàng hoặc trên cột của ma trận
- Thao tác kiểm tra một số tính chất đặc biệt của ma trận (ma trận đơn vị,
ma trận đối xứng, ma trận chuyển vị, tìm điểm yên ngựa trong ma trận…) (dạng bài nâng cao)
- Một số phép toán trên ma trận (phép cộng ma trận, phép trừ ma trận, phép nhân ma trận)
Dạng bài mảng hai chiều (ma trận) với các phần tử là số thực:
- Thao tác nhập một ma trận với số hàng số cột biết trước
- Thao tác hiển thị một ma trận dạng bảng với số hàng số cột biết trước
- Thao tác tìm kiếm trong toàn ma trận
- Thao tác tìm kiếm trên hàng hoặc trên cột
- Thao tác sắp xếp trên hàng hoặc trên cột của ma trận
- Thao tác kiểm tra một số tính chất đặc biệt của ma trận (ma trận đơn vị,
ma trận đối xứng, ma trận chuyển vị, tìm điểm yên ngựa trong ma trận…) (dạng bài nâng cao)
- Một số phép toán trên ma trận (phép cộng ma trận, phép trừ ma trận, phép nhân ma trận) CẤU TRÚC ĐỀ THI:
Đề thi cuối kỳ là đề thực hành với thời gian là 40 phút làm bài
Đề thi có 3 dạng cơ bản: dạng bài toán tính toán; dạng bài toán về mảng một chiều;
dạng bài toán về mảng 2 chiều.
Tổng số đề thi là 40 đề trong đó có 10 đề tính toán, 15 đề mảng một chiều, 15 đề mảng hai chiều.
Mỗi đề thi có 5 câu hỏi:
Câu hỏi số 1 (2 điểm) Nhập một số có điều kiện và hiển thị số đã nhập ra màn hình
Câu hỏi số 2 (2 điểm) Sử dụng các cấu trúc điều khiển trong chương 3 để giải
quyết một yêu cầu cụ thể (ví dụ yêu cầu tính toán đơn giản, yêu cầu nhập mảng
một chiều, yêu cầu nhập mảng 2 chiều)
Câu hỏi số 3 (2 điểm) Sử dụng các cấu trúc điều khiển trong chương 3 để giải
quyết một yêu cầu cụ thể (ví dụ yêu cầu tính toán đơn giản, yêu cầu xuất mảng một
chiều, yêu cầu xuất mảng 2 chiều)
Câu hỏi số 4 (2 điểm) Sử dụng các cấu trúc điều khiển trong chương 3 để giải
quyết một yêu cầu cụ thể (ví dụ yêu cầu tính toán đơn giản, yêu cầu tìm kiếm hoặc
tính toán cơ bản trong mảng một chiều, yêu cầu tìm kiếm hoặc tính toán cơ bản trong mảng 2 chiều)
Câu hỏi số 5 (2 điểm) Sử dụng các cấu trúc điều khiển trong chương 3 để giải
quyết một yêu cầu cụ thể ( ví dụ yêu cầu tính toán phức tạp, yêu cầu tìm kiếm nâng
cao hoặc các thao tác nâng cao trong mảng một chiều, yêu cầu tìm kiếm nâng cao
hoặc các thao tác nâng cao trong mảng hai chiều Mảng số nguyên
Bài toán tìm kiếm: liệt kê ra các phần tử chẵn/lẻ, phần tử âm/dương, các phần tử
có tính chất chia hết, các thao tác tính tổng, đếm phần tử, tính trung bình cộng các phần tử có điều kiện for(int cs=0; cs
if(điều kiện) thao tác;
Bài toán sắp xếp: sắp xếp mảng theo chiều tăng/chiều giảm for(int cst=0;cst for(int css=cst+1;css
if(tenmang[cst] >/< tenmang[css]) { thao tac doi cho/ hoan vi}