Mời các bạn cùng tham khảo tài liệu để nắm chi tiết 25 câu hỏi, bài tập về lập trình cơ bản, hỗ trợ sinh viên củng cố và ôn luyện kiến thức hiệu quả.
BÀI TẬP PHẦN LẬP TRÌNH CƠ BẢN Viết chương trình cho phép nhập vào hệ số a, b c giải phương trình bậc hai a*x2+b*x+c = Viết chương trình cho phép nhập vào hệ số a1, b1, c1, a2, b2, c2 giải hệ bậc sau: a1* x + b1* y = c1 a2* x + b2* y = c2 Viết chương trình cho phép nhập vào ba số thực a, b, c kiểm tra xem chúng có phải số đo cạnh của: 1) tam giác; 2) tam giác vuông; 3) tam giác cân; 4) tam giác hay không? In kết hình Viết chương trình gán sẵn toạ độ tâm O bán kính r hình trịn, nhập vào toạ độ điểm M từ bàn phím, cho biết vị trí tương đối M so với đường tròn: trong, hay ngồi đường trịn? Viết chương trình cho phép nhập vào hai số a, b ký tự k, k bốn ký tự biểu diễn phép tốn ‘+’, ‘-‘, ‘*’, ‘/’ thực phép cộng, trừ, nhân, chia a b in kết hình Tên năm âm lịch cấu tạo từ hai thành phần can chi, ví dụ năm 2010 tương ứng với năm âm lịch Canh Dần Canh can Dần chi Có tất 10 can Giáp, Ất, Bính, Đinh, Mậu, Kỷ, Canh, Tân, Nhâm, Quý 12 chi Tí, Sửu, Dần, Mão, Thìn, Tỵ, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi Viết chương trình cho phép nhập vào năm dương lịch (ví dụ 2015) đưa tên âm lịch tương ứng năm biết phần can chi lấy xoay vòng (hết cuối chuyển đầu) theo thứ tự kể Giả sử biết ngày đầu tháng (nào đó) ngày thứ tuần, viết chương trình cho phép nhập vào ngày tháng cho biết ngày thứ tuần Ví dụ ngày (của tháng đó) Thứ ngày (của tháng đó) Thứ Viết chương trình cho phép nhập vào tháng/năm, cho biết số ngày tháng/năm năm Biết tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày; tháng 4, 6, 9, 11 có 30 ngày; tháng năm thường có 28 ngày, năm nhuận có 29 ngày Những năm không chia hết cho năm chẵn kỷ không chia hết cho 400 năm thường, ví dụ năm 1996, 2000 năm nhuận; năm 1900 hay 2002 không nhuận (*) Giả sử biết ngày năm (nào đó) ngày thứ tuần, viết chương trình cho phép nhập vào ngày, tháng, năm (của năm đó) cho biết ngày thứ tuần Ví dụ, ngày 1/1/2014 ngày Thứ ngày 3/6/2014 ngày Thứ 10 (*) Viết chương trình cho phép nhập vào ngày/tháng/năm bắt đầu ngày/tháng/năm kết thúc, tính in số ngày tính từ ngày/tháng/năm bắt đầu đến ngày/tháng/năm kết thúc Ví dụ ngày bắt đầu 1/1/1970 ngày kết thúc 15/6/2014 số ngày tính 16236 11 (*) Viết chương trình cho phép nhập vào ngày/tháng/năm bắt đầu số nguyên n, tính in hình ngày/tháng/năm ngày sau ngày bắt đầu n ngày Ví dụ ngày bắt đầu 1/1/1970 n = 16236 ngày 15/6/2014 12 (*) Viết chương trình cho phép nhập vào ngày tháng (nào đó), chuyển ngày thành dạng chữ in kết hình Ví dụ nhập vào ngày = dạng chữ “ngày sáu”, nhập vào ngày = 31 dạng chữ “ngày ba mươi mốt” 13 (*) Viết chương trình cho phép nhập vào tháng năm (nào đó), chuyển tháng thành dạng chữ in kết hình Ví dụ nhập vào tháng = dạng chữ “tháng ba”, nhập vào tháng = 11 dạng chữ “tháng mười một” 14 (*) Viết chương trình cho phép nhập vào năm (nào đó) nhỏ 2100, chuyển năm thành dạng chữ in kết hình Ví dụ nhập vào năm = 1989 dạng chữ “năm nghìn chín trăm tám mươi chín” 15 (**) Viết chương trình cho phép nhập vào giá trị ngày, tháng, năm dạng số; thực việc chuyển giá trị ngày, tháng, năm thành dạng chữ Ví dụ nhập vào ngày = 24, tháng = 6, năm = 2014 dạng chữ giá trị “Ngày hai mươi tư tháng sáu năm hai nghìn khơng trăm mười bốn” 16 (*) Viết chương trình cho phép chuyển số tiền nguyên (dạng số) dạng chữ số tiền in kết hình, ví dụ với số tiền 125050 dạng chữ “Một trăm hai mươi lăm nghìn khơng trăm năm mươi đồng” 17 (**) Viết chương trình cho phép chuyển số tiền (dạng số) có độ xác sau dấu phảy chữ số dạng chữ số tiền in kết hình, ví dụ với số tiền 125050,35 dạng chữ “Một trăm hai mươi lăm nghìn khơng trăm năm mươi phảy ba mươi lăm đồng” 18 Viết chương trình cho phép tìm in hình nghiệm nguyên dương hệ phương trình sau: X + Y + Z = 100 5X + 3Y + Z/3 = 100 19 Viết chương trình cho phép nhập vào số nguyên dương n, tìm tất số nguyên dương a, b, c cho a2+b2 = c2 với a ≤ b ≤ c ≤ n in kết hình 20 Viết chương trình cho phép in hình n số Fibonacci với n nhập từ bàn phím Số Fibonacci thứ k, kí hiệu Fk, định nghĩa sau: Fk = Fk-1 + Fk-2, với F0 = 0, F1 = 21 Viết chương trình cho phép in hình tất số nguyên tố nhỏ n, với n số nguyên dương nhập từ bàn phím 22 Giả sử tiền gửi tiết kiệm tính với lãi suất m% tháng, sau n tháng tiền lãi cộng vào gốc Viết chương trình cho phép tính in hình số tiền lãi có sau K tháng gửi tiết kiệm với số tiền gốc ban đầu T Các giá trị m, n, K, T nhập từ bàn phím 23 Viết chương trình cho phép nhập vào hai số nguyên dương a b, tính in ước số chung lớn (USCLN) bội số chung nhỏ (BSCNN) hai số 24 Gọi TongN (tổng N) số nguyên dương tổng chữ số số ngun đó, ví dụ TongN(3205) = 3+2+0+5 = 10 Viết chương trình cho phép nhập vào số nguyên, tính in TongN số nguyên 25 (*) Nếu giá trị TongN (bài tập 24) số nguyên dương có nhiều chữ số người ta tiếp tục tính TongN giá trị lặp lại giá trị tính cuối cịn chữ số, giá trị cuối gọi tổng triệt để số nguyên Ví dụ với số nguyên 3205 ta có TongN(3205)=3+2+0+5 = 10, 10 có chữ số nên tính tiếp TongN(10) = 1+0 = 1, tổng triệt để 3205 Viết chương trình cho phép nhập vào số ngun, tính in tổng triệt để số nguyên BÀI TẬP PHẦN MỘT SỐ CẤU TRÚC DỮ LIỆU CƠ BẢN Cho dãy có n số nguyên A1, , An, đếm số phần tử có giá trị x xuất dãy Cho dãy có n số nguyên A1, , An, tìm phần tử lớn đếm xem phần tử xuất lần dãy Cho dãy có n số nguyên A1, , An, tìm in dãy đại diện Dãy đại diện dãy chứa giá trị không lặp lại dãy ban đầu, ví dụ với dãy {1, 2, 3, 2, 4} dãy đại diện {1, 2, 3, 4} (*) Cho dãy có n số nguyên A1, , An, tìm in dãy liên tiếp khơng giảm có nhiều phần tử Ví dụ với dãy {6, 1, 5, 2, 7, 6, 8, 6, 4, 8, 9} dãy liên tiếp khơng giảm có nhiều phần tử {4, 8, 9} Cho dãy có n số nguyên A1, , An, xếp theo thứ tự tăng dần in kết hình Cho hai ma trận A[m,n], B[m,n], tính in hình ma trận tổng Cho hai ma trận A[m,n], B[n,m], tính in hình ma trận tích Cho ma trận vng A[n,n] tính định thức ma trận A, det(A) Cho ma trận vuông A[n,n], định thức ma trận A, det(A)0 tìm in ma trận nghịch đảo A-1 ma trận A 10 (*) Giải hệ phương trình tuyến tính phương pháp khử Gauss 11 Sử dụng liệu dạng trỏ thực tập từ đến 10 12 (*) Viết chương trình cho phép nhập vào xâu ký tự đếm xem xâu ký tự có ký tự (không kể ký tự trống), từ (từ hiểu chuỗi ký tự bảng chữ nằm hai dấu trống xâu) Ví dụ xâu “Ky thuat lap trinh” có 15 ký tự (khơng kể dấu trống) có từ 13 (*) Viết chương trình cho phép nhập vào xâu ký tự họ tên người Việt, chuẩn hóa xâu vào cho: hai từ chứa dấu trống, chữ đầu tất từ viết hoa chữ khác viết thường, dấu trống đầu cuối xâu 14 (*) Xâu họ tên người Việt gồm từ đầu Họ, từ cuối Tên từ Họ Tên phần Đệm Viết chương trình cho phép tách in phần Họ, Đệm, Tên xâu họ tên người Việt dòng khác 15 Viết chương trình cho phép nhập vào xâu ký tự, kiểm tra xem có từ bị viết sai tả hay khơng, từ hiểu sai tả khơng chứa phụ âm 16 (*) Viết chương trình cho phép nhập vào xâu ký tự chuẩn hóa xâu vào cho: dấu ngắt câu (dấu phảy, dấu chấm, dấu chấm phảy, dấu hỏi, dấu chấm tham) dính liền với từ trước nó, sau dấu ngắt câu có dấu trống ngăn cách từ kế tiếp, đầu cuối xâu khơng chứa dấu trống 17 Viết chương trình cho phép nhập vào xâu ký số nguyên n, in hình xâu ký tự vào nhiều dịng với dịng khơng có nhiều n ký tự 18 (**) Viết chương trình cho phép nhập vào xâu ký số nguyên n, in hình xâu ký tự vào nhiều dịng với dịng khơng có nhiều n ký tự nhiên việc ngắt dòng thực vị trí dấu trống (khơng ngắt từ) 19 (*) Viết chương trình tạo dịng chữ “Ky thuat lap trinh - Khoa CNTT” chạy từ trái qua phải hình dịng cố định dòng khác lần bắt đầu cạnh bên phải 20 Hãy mô tả phân số kiểu ghi, viết chương trình cho phép thực phép tốn cộng, trừ, nhân, chia hai phân số 21 Hãy mô tả số phức kiểu ghi, viết chương trình cho phép thực phép toán cộng nhân hai số phức 22 Hãy mô tả tọa độ điểm mặt phảng kiểu ghi, viết chương trình cho phép nhập vào tọa độ điểm tam giác, tính diện tích tam giác 23 Hãy mơ tả tọa độ điểm mặt phảng kiểu ghi, dùng mảng để lưu tọa độ đỉnh liên tiếp đa giác, tính diện tích đa giác 24 Hãy mơ tả vector khơng gian chiều dạng ghi, viết chương trình thực phép cộng, trừ, tích vơ hướng hai vector Làm tương tự không gian chiều 25 Hãy mô tả liệu ngày (bao gồm ngày, tháng, năm) kiểu ghi, viết chương trình cho phép nhập vào ngày sinh người ngày tại, tính xem người sống ngày BÀI TẬP HÀM VÀ CẤU TRÚC CHƯƠNG TRÌNH Cho bốm điểm A, B, C M nằm mặt phẳng Nếu A, B, C đỉnh tam giác, tính diện tích tam giác ABC cho biết vị trí tương đối M so với tam giác ABC bên trong, bên hay cạnh Tổ chức chương trình dạng hàm Cho bốm điểm A, B, C M nằm mặt phẳng Nếu A, B, C đỉnh tam giác M không nằm cạnh tam giác đó, tìm số lớn R cho vịng trịn tâm M, bán kính R, không cắt cạnh không chứa tam giác ABC Tổ chức chương trình dạng hàm (*) Cho ba điểm A, B, C mặt phẳng Hãy tìm tâm bán kính hình trịn nhỏ chứa ba điểm A, B, C Tổ chức chương trình dạng hàm Viết hàm tìm số lớn ba số Viết hàm tìm số nhỏ ba số Viết hàm tìm giá trị lớn mảng Giá cước hãng Taxi tính sau: Km (giá mở cửa) 14000đ, từ Km thứ đến Km thứ 20 12000đ, từ Km thứ 21 trở 10000đ Viết hàm tính giá cước Taxi hãng xe nói Giá điện sinh hoạt tháng tính sau: từ 0-50kWh giá 92% giá trung bình (GTB), từ 51-100kWh giá 95% GTB, từ 101-200kWh giá 110% GTB, từ 201-300kWh giá 138% GTB, từ 301-400 kWh giá 154% GTB, từ 401 trở lên giá 159% GTB Viết hàm tính tiền điện sinh hoạt biết số điện sử dụng tháng giá trung bình Nếu khoản tiền tính thuế thu nhập cá nhân theo tháng T thuế suất tính thuế thu nhập cá nhân tháng tính sau: Khi T triệu t huế suất 5%, triệu < T 10 triệu thuế suất 10%, 10 triệu < T 18 triệu thuế suất 15%, 18 triệu < T 32 triệu thuế suất 20%, 32 triệu < T 52 triệu thuế suất 25%, 52 triệu < T 80 triệu thuế suất 30%, T > 80 triệu thuế suất 35% Ví dụ T = 17 (triệu), thuế thu nhập cá nhân tháng phải nộp Thuế TN = 55% + (10 - 5) 10% + (17-10)18% = 1.8 (triệu) Viết hàm tính thuế thu nhập cá nhân tháng biết khoản tiền tính thuế tháng Viết hàm cho phép đếm số từ có xâu ký tự, từ hiểu chuỗi ký tự bảng chữ nằm hai dấu trống xâu Ví dụ với xâu “Ky thuat lap trinh” hàm trả giá trị 10 (*) Cho hai xâu ký tự ST1 ST2, viết hàm cho phép trả vị trí bắt đầu xuất xâu ST2 xâu ST1, ST2 khơng có ST1 hàm trả giá trị -1 11 Viết hàm tính số ngày từ ngày/tháng/năm bắt đầu đến ngày/tháng/năm kết thúc Ví dụ ngày bắt đầu 1/1/1970 ngày kết thúc 15/6/2014 hàm trả số ngày 16236 12 Viết hàm tính ngày/tháng/năm biết ngày/tháng/năm bắt đầu số nguyên n, ngày/tháng/năm ngày sau ngày/tháng/năm bắt đầu n ngày Ví dụ ngày bắt đầu 1/1/1970 n = 16236 hàm trả ngày 15/6/2014 13 Viết hàm cho phép trả dạng chữ ngày/tháng/năm Ví dụ ngày/tháng/năm 24/06/2014 hàm trả giá trị “Ngày hai mươi tư tháng sáu năm hai nghìn khơng trăm mười bốn” 14 (*) Viết hàm cho phép trả dạng chữ số tiền nguyên (dạng số), ví dụ với số tiền 125050 hàm trả giá trị “Một trăm hai mươi lăm nghìn khơng trăm năm mươi đồng” 15 (**) Viết hàm cho phép trả dạng chữ số tiền có độ xác sau dấu phảy chữ số Ví dụ với số tiền 125050,35 hàm trả giá trị “Một trăm hai mươi lăm nghìn khơng trăm năm mươi phảy ba mươi lăm đồng” 16 Viết hàm cho phép trả xâu họ tên chuẩn hóa xâu họ tên người Việt Xâu tự họ tên người Việt chuẩn hóa là: hai từ chứa dấu trống, chữ đầu tất từ viết hoa chữ khác viết thường, dấu trống đầu cuối xâu 17 (*) Xâu họ tên người Việt gồm từ đầu Họ, từ cuối Tên từ Họ Tên phần Đệm Viết hàm cho phép tách trả Họ, Đệm Tên từ xâu họ tên người Việt 18 (*) Mật mã Caesar: Với bảng gồm n chữ cái, với khóa k (0kn) phương pháp mã hóa Caesar thay ký tự văn gốc ký tự cách k vị trí bảng chữ Việc giải mã làm ngược lại Viết hàm cho phép mã giải mã dạng mật mã Caesar 19 (**) Mật mã Vigenère: Với bảng gồm n chữ cái, với m khóa k1, k2, , km (0kin, i = m) phương pháp mã hóa Vigenère thay ký tự thứ văn gốc ký tự cách k1 vị trí bảng chữ cái, ký tự thứ ký tự cách k2 vị trí, ký tự thứ m ký tự cách km vị trí bảng chữ Dùng lặp lại m khóa k1, k2, , km mã hóa hết ký tự văn gốc Việc giải mã làm ngược lại Viết hàm cho phép mã giải mã dạng mật mã Vigenère 20 (**) Cho dãy có n +1 đánh số từ đến n Một quân cờ đứng ô số Mỗi nước quân cờ lên phía trước khơng q k Một cách quân cờ xuất phát từ ô số quân cờ phải đến ô thứ n Với hai số nguyên dương n k, tính số cách quân cờ Ví dụ, với n=3 k=2 có cách quân cờ với nước 1+1+1, 1+2 2+1 21 (*) Một sân hình chữ nhật chia thành mn vng có kích thước nhau, với m n 50 Mỗi ô chơn mìn Nếu nổ mìn ơ(i,j), hàng i cột j, gây nổ cho xung quanh (i+1,j), (i-1,j), (i,j+1), (i,j-1) có mìn Hãy nhập vào vị trí có mìn vị trí bị nổ, in danh sách ô bị nổ 22 Gọi tổng triệt để số nguyên dương n tổng chữ số n giá trị có chữ số; trường hợp ngược lại tiếp tục tính tổng chữ số giá trị giá trị tính có chữ số Viết chương trình sử dụng hàm dạng đệ quy để tính tổng triệt để số nguyên dương 23 (**) Bài toán mã tuần: Quân mã đặt ô bàn cờ vua (88) trống phải di chuyển theo quy tắc cờ vua để qua ô bàn cờ lần Viết chương trình tìm thể lời giải toán 24 (**) Bài toán tám hậu: Đặt tám hậu bàn cờ vua (88) trống cho khơng có qn hậu ăn qn hậu khác Viết chương trình tìm thể lời giải tốn 25 Viết chương trình quản lý sinh viên với hoạt động: Thêm sinh viên, tìm sinh viên, sửa sinh viên, in danh sách sinh viên Tổ chức chương trình dạng hàm; sinh viên dạng ghi gồm thơng tin Họ tên, ngày sinh, giới tính, điểm trung bình chung ... để 3205 Viết chương trình cho phép nhập vào số nguyên, tính in tổng triệt để số nguyên BÀI TẬP PHẦN MỘT SỐ CẤU TRÚC DỮ LIỆU CƠ BẢN Cho dãy có n số nguyên A1, , An, đếm số phần tử có giá trị x... Việt gồm từ đầu Họ, từ cuối Tên từ Họ Tên phần Đệm Viết chương trình cho phép tách in phần Họ, Đệm, Tên xâu họ tên người Việt dịng khác 15 Viết chương trình cho phép nhập vào xâu ký tự, kiểm tra... chương trình tìm thể lời giải toán 24 (**) Bài toán tám hậu: Đặt tám hậu bàn cờ vua (88) trống cho khơng có qn hậu ăn quân hậu khác Viết chương trình tìm thể lời giải tốn 25 Viết chương trình