Hi all Buổi nay mình sẽ bổ sung thêm 1 số bài tập về cấu trúc lặp,điều kiện,hàm để các bạn có thêm kĩ năng sử dụng thuật toán trong các bài tập.Mình biên soạn lần này khá kĩ,có 2 phần : bài tập lí thuyết. bài tập vận dụng Các từ cơ bản đến nâng cao.Các bạn chăm chỉ làm các bài mình cho,mình tin chắc rằng,các bạn đã có 1 kĩ năng thực về lập trình. lưu ý: Trong 1 số bài tập ,các bạn kiến thức mới lập trình có thể bỏ qua. Trong khi làm bài tập,các bạn có thắc mắc hay khó khăn gì,hãy comment bên dưới ,mình sẽ hỗ trợ thêm về thuật toán và phương pháp giải. CHÚC CÁC BẠN HỌC TẬP TỐT Dưới đây là file mình soạn,các bạn hãy tải về,và tập làm nhé
Facebook:Sách Lập Trình BÀI TẬP NGƠN NGỮ LẬP TRÌNH SỬ DỤNG THUẬT TỐN ❖ Dưới trình bày ngơn ngữ lập trinh C,bạn sử dụng ngơn ngữ lập trình khác như:C++,Java,C# cần kết điều kiện A.Phần lý thuyết ➢ CÁC THAO TÁC VÀO RA CƠ BẢN VÀ CÁC CÂU LỆNH CÓ CẤU TRÚC Cho biết số bước lặp nhỏ câu lệnh while lệnh while? Giả sử s câu lệnh có cấu trúc e1, e2, e3 biểu thức, có khác đoạn mã: for(e1;e2;e3) s; đoạn mã: e1; while(e2){ e2; e3; } Cho biết giá trị x sau thực câu lệnh sau: for (x = 0; x < 100; x++) ; Cho biết giá trị x sau thực câu lệnh sau: for (ctr = 2; ctr < 10; ctr += 3) ; Có ký tự X in sau thực đoạn mã: for (x = 0; x < 10; x++) for (y = 5; y > 0; y ) puts("X"); Cho biết điểm sai đoạn mã sau: record = 0; while (record < 100) { printf( "\nRecord %d ", record ); printf( "\nGetting next number " ); } Cho biết điểm sai đoạn mã sau: BÀI TẬP LẬP TRÌNH NÂNG CAO Page Facebook:Sách Lập Trình 10 11 12 13 14 for (counter = 1; counter < 10; counter++); printf("\nCounter = %d", counter ); Sự khác lệnh break lệnh continue gì? Vòng lặp vơ hạn gì? làm để tạo nó? Hai kiện làm kết thúc việc chạy chương trình? Hàm exit() dùng để làm gì? Câu lệnh làm cho điều khiển chương trình chuyển đến bước lặp lệnh lặp Câu lệnh chuyển điều khiển chương trình đến cuối vòng lặp Có điểm sai đoạn mã sau? switch( answer ) { case 'Y': printf("You answered yes"); break; case 'N': printf( "You answered no"); } 15 Có điểm sai đoạn mã sau? switch( choice ) { default: printf("You did not choose or 2"); case 1: printf("You answered 1"); break; case 2: printf( "You answered 2"); break; } 16 Viết lại câu cách dùng lệnh if 17 Viết vòng lặp vơ hạn while ➢ HÀM 18 Dòng định nghĩa hàm gọi gì, bao gồm thơng tin nào? 19 Hàm trả giá trị? 20 Nếu hàm khơng trả giá trị, kiểu dùng để khai báo hàm? 21 Sự khác định nghĩa hàm nguyên mẫu hàm? 22 Biến địa phương gì? điểm đặc biệt nó? 23 Hàm main() nên đặt đâu? 24 Viết tiêu đề hàm có tên do_it() có đối số kiểu char trả kiểu float BÀI TẬP LẬP TRÌNH NÂNG CAO Page Facebook:Sách Lập Trình Viết tiêu đề hàm có tên print_a_number() có đối số kiểu int khơng trả điều 25 Tìm điểm sai đoạn mã sau sửa lại cho đúng: #include void print_msg( void ); main() { print_msg( "This is a message to print" ); return 0; } void print_msg( void ) { puts( "This is a message to print" ); return 0; } 26 Tìm điểm sai định nghĩa hàm sau đây: int twice(int y); { return (2 * y); } 27 Xem chương trình sau đây: #include int x, y, z; int larger_of( int , int ); main() { puts("Enter two different integer values: "); scanf("%d%d", &x, &y); 17 BÀI TẬP LẬP TRÌNH NÂNG CAO Page Facebook:Sách Lập Trình z = larger_of(x,y); printf("\nThe larger value is %d.", z); return 0; } int larger_of( int a, int b) { if (a > b) return a; else return b; } Hãy viết lại hàm larger_of() chương trình mà dùng câu lệnh return 28 Viết hàm nhận hai đối số kiểu int trả giá trị tích chúng 29 Viết hàm nhận hai đối số kiểu int, hàm trả giá trị thương phép chia đối thứ cho đối thứ hai đối thứ hai khác khơng 30 Viết chương trình có dùng hàm tìm trung bình số thực nhập vào từ bàn phím 31 Viết chương trình có dùng hàm đệ quy để tính lũy thừa B.Phần Bài tập Viết chương trình nhập liệu cho biến kiểu int, long int, float, chuỗi, sau hiển thị hình Viết chương trình minh họa việc khai báo khởi gán biến Cho biết kết chương trình sau đây: #include #include void main() { int m = 3,p = 5; int a1,a2,a3,a4,a5; BÀI TẬP LẬP TRÌNH NÂNG CAO Page Facebook:Sách Lập Trình float x1,x2,x3,x4; clrscr(); printf("\n Tim gia tri gan cho cac bien "); a1 = mm; a4 = m*(p>m ? m:p); a5 = m*(pb ) || ( b++ != 3); printf("A : a = %d b = %d c = %d\n",a,b,c); a = 5; b = ; /* Truong hop */ printf(" B : a = %d b = %d c = %d\n",a,b,c); a = 5; b = ; /* Truong hop */ c = (++a == 3)&&( ++b == 3); printf(" C : a = %d b = %d c = %d\n",a,b,c); a = 5; b = 2; /* Truong hop */ c = (++a == 6)&& ( ++b == 3); printf(" D : a = %d b = %d c = %d\n",a,b,c); getch(); } Viết chương trình khai báo biến kiểu int, hệ có giá trị 345 hệ 16 có giá trị A9, sau nhập liệu cho biến hiển thị hình giá trị biến hệ 8, 16 giá trị hệ 16 Viết chương trình tìm số lớn nhỏ số thực y Viết chương trình tìm x Viết chương trình tính c = a /b, với a b hai số nguyên, c số thực Nếu ta ép kiểu a sang thực kết nào? 10 Viết chương trình tìm c = a/b, với a,b,c nguyên, hiển thị số hệ 8, 16 10 11 Viết chương trình nhập điểm thi từ bàn phím hiển thị kết : điểm từ đến 3; Yếu điểm 4; Trung bình điểm từ đến 6; Khá điểm từ đến 8; Giỏi điểm từ đến 10 12 Viết chương trình nhập điểm thi từ bàn phím hiển thị kết : điểm 0, 1, 3; Yếu điểm 4; Trung bình điểm 6; Khá điểm 8; Giỏi điểm 10 13 Có loại giấy bạc 100đ, 200đ, 500đ,1.000đ,2.000d,5.000d,10.000đ 20.000d Viết chương trình in phương án kết hợp loại giấy bạc cho 1.000.000đ BÀI TẬP LẬP TRÌNH NÂNG CAO Page Facebook:Sách Lập Trình 14 Có loại giấy bạc 1000đ, 2000đ, 5000đ, 10000đ, 20000đ Viết chương trình hiển thị phương án kết hợp loại giấy bạc cho 1000000đ 15 Viết chương trình tính và tổng nghịch đão n số tự nhiên 16 Viết chương trình tìm in số ( 32 Viết chương trình có dùng hàm giải hệ phương trình bậc sau: { 𝑎1 𝑥 + 𝑏1 𝑦 = 𝑐1 𝑎2 𝑥 + 𝑏2 𝑦 = 𝑐2 33 Cho biết kết việc thực chương trình sau: #include #include #include #include int & max(int& a, int& b); void main() { clrscr(); int b =10, a= 7, c= 20; cout